(Fx_create_frame): Doc fix.
[bpt/emacs.git] / src / ChangeLog
1 2001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
3 * xfns.c (Fx_create_frame): Doc fix.
4
5 * coding.c: Change doc-string comments to `new style' [w/`doc:'
6 keyword].
7
8 * eval.c (top_level_value, top_level_set): Remove commented and
9 #ifdef'd-out code.
10 (Fdefvar): Fix usage in doc-string.
11
12 2001-11-03 Richard M. Stallman <rms@gnu.org>
13
14 * xfns.c: Include unistd.h, if it exists.
15
16 * editfns.c: Move the include of ctype.h after unistd.h.
17
18 * gmalloc.c: Test BROKEN_PROTOTYPES.
19
20 2001-11-03 Ken Raeburn <raeburn@gnu.org>
21
22 * lisp.h (CHECK_STRING_CAR): New macro.
23 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
24 treating XCAR and XCDR as lvalues.
25 (openp): Use CHECK_STRING_CAR.
26 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
27
28 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
29
30 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
31 (SIGMASKTYPE): Define.
32
33 * syssignal.h (sigunblock): Don't define if already defined.
34
35 2001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
36
37 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
38 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
39 Fix typos in comments.
40
41 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
42 and #ifdef'd-out code.
43 Fix and reindent comments.
44
45 * mocklisp.h: Remove comment which is a copy of comment in
46 mocklisp.c.
47
48 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
49 argument `i' in macros.
50
51 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
52 `i' in macros.
53
54 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
55 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
56 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
57 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
58 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
59 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
60 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
61 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
62 in macros.
63
64 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
65 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
66 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
67 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
68 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
69 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
70 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
71 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
72 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
73 (remove unused second argument).
74
75 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
76
77 * syntax.c (describe_syntax): New wrapper.
78 (Finternal_describe_syntax_value): Rename from describe_syntax.
79 Don't insert space at front and \n at the end.
80 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
81
82 * regex.c (re_wctype): Try to fix some warnings.
83 (regcomp, regexec): Don't forget the __restrict.
84
85 2001-11-02 Richard M. Stallman <rms@gnu.org>
86
87 * textprop.c (Fget_char_property): Doc fix.
88
89 2001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
90
91 * process.c (Fstart_process): Add usage to doc-string.
92
93 * data.c (Fsetq_default): Ditto.
94
95 * callint.c (Finteractive): Ditto.
96
97 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
98
99 * macros.c: Don't include keymap.h any more.
100
101 2001-11-01 Richard M. Stallman <rms@gnu.org>
102
103 * data.c (Fmake_local_variable): Doc fix.
104
105 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
106 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
107
108 * keymap.c (Fdescribe_buffer_bindings): Print character property
109 bindings along with or instead of the buffer local map.
110 Make the overriding maps override what they should.
111
112 2001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
113
114 * window.c (grow_mini_window): Fix typo in comment.
115
116 2001-11-01 Gerd Moellmann <gerd@gnu.org>
117
118 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
119 (XTset_vertical_scroll_bar): Likewise.
120
121 * xfns.c (x_build_heuristic_mask): Use four_corners_best
122 instead of IMAGE_BACKGROUND.
123
124 * xfns.c (four_corners_best): Reindent.
125
126 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
127 Handle :box so that it is possible to specify sexprs.
128
129 2001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
130
131 * xfaces.c (Finternal_merge_in_global_face): Reindent.
132 (Fface_font): Ditto.
133 (Finternal_set_alternative_font_registry_alist): Ditto.
134 (Ftty_suppress_bold_inverse_default_colors): Ditto.
135
136 * xfns.c (x-get-resource): Reindent.
137
138 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
139
140 * s/hpux11.h: New file.
141
142 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
143
144 * emacs.c (USAGE1): Show command line option --no-window-system
145 instead of --no-windows in usage.
146 (standard_args): Rename --no-windows to --no-window-system.
147 (bug_reporting_address): Follow Emacs coding conventions.
148
149 * eval.c (Fcommandp): Doc fix.
150 Change doc-string comments to `new style' [w/`doc:' keyword].
151
152 * frame.c (Fframe_live_p): Doc fix.
153
154 * buffer.c (selective-display-ellipses): Doc fix.
155
156 2001-10-31 Gerd Moellmann <gerd@gnu.org>
157
158 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
159
160 * xfaces.c (realize_x_face): If C is not a single-byte character,
161 set the face's colors_copied_bitwise_p instead of the defaulted_p
162 members which have a different meaning.
163 (free_face_colors): Do nothing for a face whose colors have been
164 copied bitwise.
165
166 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
167
168 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
169
170 * marker.c, mocklisp.c: Change doc-string comments to `new style'
171 [w/`doc:' keyword].
172
173 2001-10-31 Gerd Moellmann <gerd@gnu.org>
174
175 * fns.c (require_unwind): Return Lisp_Object.
176
177 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
178
179 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
180 (last-input-char): Revert doc-string to be the same as the
181 doc-string of `last-input-event'.
182
183 * xdisp.c: Fix typos in comments.
184
185 2001-10-31 Gerd Moellmann <gerd@gnu.org>
186
187 * window.c (grow_mini_window): Handle case that the root
188 window is already smaller than the nominal mininum height.
189
190 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
191
192 * emacs.c (main): Don't call keys_of_macros any more.
193
194 * lisp.h (keys_of_macros): Remove.
195
196 * macros.c (keys_of_macros): Remove.
197
198 * xfaces.c (Fface_attribute_relative_p): Declare args.
199
200 2001-10-30 Jason Rumney <jasonr@gnu.org>
201
202 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
203 (enum_font_cb2): Ignore fonts with vertical orientation.
204
205 2001-10-30 Richard M. Stallman <rms@gnu.org>
206
207 * keyboard.c (Finput_pending_p): Doc fix.
208
209 2001-10-30 Gerd Moellmann <gerd@gnu.org>
210
211 * xterm.c (x_after_update_window_line): Don't run the code
212 clearing in borders for rows whose visible height is 0.
213
214 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
215 resized_p flag is set. If not set, use the much less flickering
216 method previously used.
217
218 * dispnew.c (change_frame_size_1): Set frame's resized_p.
219
220 * frame.h (struct frame) <resized_p>: New member.
221
222 * lread.c (to_multibyte): Ensure read_buffer is at least twice
223 as large as the number of bytes to convert.
224
225 * lread.c (to_multibyte): New function.
226 (read1): Use it.
227
228 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
229
230 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
231
232 2001-10-30 Gerd Moellmann <gerd@gnu.org>
233
234 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
235 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
236 if the row's fill_line_p is set and drawing the last glyph with
237 DRAW_IMAGE_{RAISED,SUNKEN}.
238
239 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
240
241 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
242
243 * xmenu.c: Include coding.h and charset.h.
244 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
245 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
246 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
247 Explicitly set wv->help. Use `TRUE' rather than `True'.
248 (menu_help_callback): Use empty_string.
249
250 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
251 (Fx_popup_dialog): Explicitly init f.
252 (w32_menu_display_help): Use empty_string.
253
254 2001-10-29 Richard M. Stallman <rms@gnu.org>
255
256 * fns.c (Frequire): Detect recursive try to require the same
257 feature 3 or more levels deep, and get error.
258 (require_unwind): New subroutine.
259 (require_nesting_list): New variable.
260 (syms_of_fns): Init and staticpro it.
261
262 * print.c (print_object): Clarify indication of insertion type.
263
264 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
265
266 * coding.c (syms_of_coding): Document that locale-coding-system is
267 used for decoding input on X.
268
269 * window.c (Fscroll_left, Fscroll_right): Doc fix.
270
271 2001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
272
273 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
274 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
275
276 2001-10-29 Gerd Moellmann <gerd@gnu.org>
277
278 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
279 use NO_CURSOR if cursor_in_non_selected_windows is false.
280
281 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
282 the slant attribute if FRAME is t.
283
284 * xfns.c (x_set_internal_border_width): Set frame garbaged
285 when X window doesn't exist yet.
286
287 * xterm.c (x_after_update_window_line): Clear internal border
288 in different circumstances.
289
290 * xterm.c (XTread_socket) <KeyPress>: Don't use
291 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
292 <handa@etl.go.jp>.
293
294 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
295
296 * m/ibms390.h: New file. From Adam Thornton
297 <athornton@sinenomine.net>.
298
299 2001-10-28 Gerd Moellmann <gerd@gnu.org>
300
301 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
302
303 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
304 a loop counter.
305
306 2001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
307
308 * emacs.c: Use argv[0] instead of emacs when -t was specified.
309
310 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
311 keyword].
312 Fix typos in comments.
313
314 * emacs.c (bug_reporting_address): New function.
315 Use it when displaying usage message.
316
317 * minibuf.c (read_minibuf): Remove unused external declaration of
318 variable `Qread_only'.
319
320 * keymap.c (access_keymap): Remove unused variable `charset'.
321
322 2001-10-28 Miles Bader <miles@gnu.org>
323
324 * xfaces.c (merge_face_heights): Handle TO being relative as well.
325 Remove #ifdef'd-out code.
326 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
327 (syms_of_xfaces): Initialize them.
328
329 2001-10-27 Jason Rumney <jasonr@gnu.org>
330
331 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
332 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
333 position using the system caret.
334
335 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
336 (w32_system_caret_height, w32_system_caret_x)
337 (w32_system_caret_y): New variables for tracking system caret.
338 (w32_initialize): Initialize them.
339 (x_display_and_set_cursor): Make system caret follow the active cursor.
340
341 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
342 New messages types.
343
344 * w32term.c (note_mouse_highlight): Clear old help_echo.
345
346 2001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
347
348 * xterm.c: Fix typo in a comment.
349
350 * emacs.c: Fix typos in comments.
351 Remove unnecessary spaces.
352 Change doc-string comments to `new style' [w/`doc:' keyword].
353 (USAGE2): Fix typos in usage string.
354
355 * xterm.c: Fix typo in a comment.
356
357 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
358 emacs.c.
359
360 2001-10-27 Gerd Moellmann <gerd@gnu.org>
361
362 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
363 instead of 1/2 line_height in the heuristic for skipping
364 farther backward when target_y was not reached.
365
366 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
367 Display errno only if non-zero.
368 (sound_warning): New function.
369 (vox_configure): Don't treat failing to set sample rate as error.
370 (various places): Improve error messages.
371
372 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
373
374 * fileio.c (Faccess_file): Run the argument filename through
375 Fexpand_file_name, before using it.
376
377 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
378 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
379
380 2001-10-26 Gerd Moellmann <gerd@gnu.org>
381
382 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
383
384 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
385 Fix clearing in the case of scroll bars on the right.
386
387 2001-10-26 Juanma Barranquero <lektu@terra.es>
388
389 * w32gui.h (XImage): Add a dummy typedef.
390
391 2001-10-26 Gerd Moellmann <gerd@gnu.org>
392
393 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
394
395 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
396
397 * frame.c (Fframe_parameter): Fix last change.
398
399 * fileio.c: Revert last change (which removed old commented-out
400 version of expand-file-name). Add a comment that explains why
401 this old version should not be removed.
402
403 2001-10-25 Gerd Moellmann <gerd@gnu.org>
404
405 * frame.c (Fframe_parameter): Fix a bug whereby some
406 ``artificial'' frame parameters, like `minibuffer' were not
407 obtained by calling Fframe_parameters.
408
409 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
410 cursor differently.
411
412 * xdisp.c (move_it_vertically_backward): Compute line height
413 differently. Add heuristic to try to be more compatible to 20.x.
414
415 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
416
417 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
418
419 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
420 boolean.
421
422 2001-10-25 Miles Bader <miles@gnu.org>
423
424 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
425 BG is a pointer to a structure, not a structure.
426 (gif_format, png_format): Add missing commas.
427
428 2001-10-24 Richard M. Stallman <rms@gnu.org>
429
430 * xfaces.c (Fface_attributes_as_vector): New function.
431 (syms_of_xfaces): Defsubr it.
432
433 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
434
435 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
436 variable `area'.
437
438 2001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
439
440 * search.c (scan_newline): Remove unused variable `selective_display'.
441
442 2001-10-25 Miles Bader <miles@gnu.org>
443
444 * dispextern.h (struct image): Add `background',
445 `background_valid', and `background_transparent' fields.
446 (image_background, image_background_transparent): New declarations.
447 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
448 * xfns.c (image_background, image_background_transparent)
449 (four_corners_best): New functions.
450 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
451 (gs_format): Add `:background' entry.
452 (lookup_image): Set IMG's background color if specified.
453 (pbm_load, xbm_load_image, png_load): Set IMG's background field
454 when appropriate.
455 (x_clear_image_1): Reset `background_valid' and
456 `background_transparent_valid' fields.
457 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
458 calculating it here. Set IMG's background_transparent field.
459 (enum xpm_keyword_index): Add XPM_BACKGROUND.
460 (enum png_keyword_index): Add PNG_BACKGROUND.
461 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
462 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
463 (enum gif_keyword_index): Add GIF_BACKGROUND.
464 (enum gs_keyword_index): Add GS_BACKGROUND.
465 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
466 Pre-calculate image background color where necessary.
467 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
468 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
469 color to use for image glyph reliefs.
470
471 2001-10-24 Gerd Moellmann <gerd@gnu.org>
472
473 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
474 in full-width rows.
475
476 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
477 Fix clearing of area not covered by scroll bar.
478
479 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
480
481 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
482 and `real_start'.
483 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
484 (glyph_rect): Remove unused variable `area'.
485
486 2001-10-24 Gerd Moellmann <gerd@gnu.org>
487
488 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
489
490 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
491 (row_containing_pos): Take additional argument DY.
492 Treat rows ending in middle of char differently.
493 (display_line): Handle tabs on window systems differently.
494
495 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
496 with additional argument.
497
498 * dispextern.h (row_containing_pos): Adjust prototype.
499
500 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
501 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
502 (try_window_id, try_window_reusing_current_matrix)
503 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
504 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
505
506 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
507
508 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
509 gnuemacs).
510 (HAVE_BOXES): Fix typo in comment.
511 (push_menu_pane): Fix typo in comment.
512
513 * xdisp.c: (display_prop_string_p): Remove unused local declaration
514 of `Qwhen'.
515 (single_display_prop_string_p): Remove unused local declarations
516 of `Qwhen' and `Qmargin'.
517 (string_buffer_position): Remove unused variable `around'.
518 (store_frame_title): Remove unused variable `width'.
519
520 * window.c: Don't define max.
521 (coordinates_in_window): Remove unused variable `uy'.
522
523 * widget.c: Don't define max.
524
525 * process.c: Don't define max.
526 (create_process): Remove unused variable `buffer'.
527
528 2001-10-23 Gerd Moellmann <gerd@gnu.org>
529
530 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
531
532 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
533
534 * xfaces.c (Finternal_set_lisp_face_attribute)
535 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
536 frame is on a windowed display.
537
538 2001-10-23 Gerd Moellmann <gerd@gnu.org>
539
540 * dispnew.c (sync_window_with_frame_matrix_rows):
541 Fix handling of windows which aren't full-width, fix handling
542 of marginal areas.
543
544 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
545
546 2001-10-23 Andreas Schwab <schwab@suse.de>
547
548 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
549 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
550
551 2001-10-23 Gerd Moellmann <gerd@gnu.org>
552
553 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
554 REAL_END. Notice if cursor gets overwritten.
555 (notice_overwritten_cursor): Take X positions as parameters.
556 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
557 around call to x_draw_glyphs.
558
559 2001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
560
561 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
562 instead of C) and usage.
563
564 * editfns.c (char-to-string): Fix argument names (use CHAR instead
565 of C) and usage.
566
567 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
568 `left', `max_width' and `max_height'.
569
570 2001-10-23 Gerd Moellmann <gerd@gnu.org>
571
572 * xdisp.c (display_line): For a tab continued to the next line,
573 set row's ends_in_middle_of_char_p.
574
575 2001-10-22 Gerd Moellmann <gerd@gnu.org>
576
577 * xdisp.c (display_line): Fix computation of continuation lines
578 width for TABs.
579
580 2001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
581
582 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
583 `Qlaplace'.
584
585 * fileio.c: Remove unused code.
586
587 2001-10-22 Miles Bader <miles@gnu.org>
588
589 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
590 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
591 Remove `DOC_STRINGS_IN_COMMENTS' cases.
592
593 2001-10-21 Jason Rumney <jasonr@gnu.org>
594
595 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
596
597 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
598
599 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
600 (Finsert_string): Avoid the multi-line string literals warning.
601
602 2001-10-22 Miles Bader <miles@gnu.org>
603
604 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
605 (Fdocumentation): Don't use it.
606 (syms_of_doc): Don't initialize it.
607
608 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
609 * print.c (Fwith_output_to_temp_buffer): Likewise.
610 * window.c (Fsave_window_excursion): Likewise.
611 * editfns.c (Fsave_excursion, Fsave_current_buffer)
612 (Fsave_restriction): Likewise.
613 * eval.c (Frun_hooks, Frun_hook_with_args)
614 (Frun_hook_with_args_until_failure)
615 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
616 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
617 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
618 (Funwind_protect, Fcondition_case): Likewise.
619 * coding.c (Ffind_operation_coding_system): Likewise.
620 * keyboard.c (Ftrack_mouse): Likewise.
621
622 2001-10-21 Miles Bader <miles@gnu.org>
623
624 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
625 (Fmake_hash_table): Add usage: string to doc string.
626 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
627 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
628 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
629 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
630 (Fml_prefix_argument_loop): Likewise.
631
632 2001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
633
634 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
635
636 * sysdep.c (init_sys_modes): Change doc-string comments to `new
637 style' [w/`doc:' keyword].
638
639 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
640 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
641 comments to `new style' [w/`doc:' keyword].
642
643 2001-10-21 Jason Rumney <jasonr@gnu.org>
644
645 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
646
647 * w32term.c (remember_mouse_glyph): New function.
648 (w32_mouse_position): Use it.
649 (note_mouse_movement): If the mouse moved off the glyph, remember
650 its new position.
651
652 * w32term.h (struct w32_output): Correct spelling of x_compatible.
653 (w32_display_info): Add mouse_face_overlay.
654
655 * w32term.c (notice_overwritten_cursor): Renamed from
656 note_overwritten_text_cursor. Rewritten to take glyph widths into
657 account.
658 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
659 (fast_find_string_pos): New function.
660 (fast_find_position): Return the correct vpos. Add parameter
661 STOP. In the final row, stop before glyphs having STOP as object.
662 Don't consider glyphs that are not from a buffer.
663 (fast_find_position) [0]: Add a presumably more correct version
664 for after 21.1.
665 (expose_window_tree, expose_frame): Don't compute intersections here.
666 (expose_window): Do it here instead.
667 (expose_window_tree, expose_window, expose_line): Return 1 when
668 overwriting mouse-face.
669 (expose_window): If W is the window currently being updated, mark
670 the frame garbaged.
671 (expose_frame): If mouse-face was overwritten, redo it.
672 (x_use_underline_position_properties): New variable.
673 (syms_of_xterm): DEFVAR_BOOL it.
674 (x_draw_glyph_string): Add comment to use it in future.
675 (x_draw_glyph_string): Restore clipping after drawing box.
676 Fix a computation of the underline position.
677 (w32_get_glyph_string_clip_rect): Minor cleanup.
678 (x_fill_stretch_glyph_string): Remove an assertion.
679 (x_produce_glyphs): Don't convert multibyte characters
680 to unibyte characters in unibyte buffers.
681 (cursor_in_mouse_face_p): New function.
682 (x_draw_stretch_glyph_string): Use it to choose a different GC
683 when drawing a cursor within highlighted text. Don't draw
684 background again if it has already been drawn.
685 (x_draw_glyph_string_box): Don't draw a full-width
686 box just because the glyph row's full_width_p flag is set.
687 (x_draw_glyphs): Fix computation of rightmost x for
688 full-width rows.
689 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
690 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
691 change bottom shadow accordingly. Some cleanup.
692 (x_update_window_end): Handle overwritten mouse face
693 also for tool bar windows.
694 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
695 DRAW is DRAW_IMAGE_RAISED.
696 (clear_mouse_face): Return 1 if text with mouse face was
697 actually redrawn. Make the function static. Reset
698 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
699 optimize away highlighting if we pass over that same overlay again.
700 (note_mouse_highlight): Call mouse_face_overlay_overlaps
701 to detect a case where we have to highlight a different region
702 despite not having left the currently highlighted region.
703 Set mouse_face_overlay in the x_display_info. Avoid changing the
704 mouse pointer shape when show_mouse_face has already done it, or
705 there is no need. Handle mouse-face and help-echo in strings.
706 (glyph_rect): New function.
707 (w32_mouse_position): Use it to raise the threshold for mouse
708 movement event generation.
709 (w32_initialize_display_info): Initialize the x_display_info's
710 mouse_face_overlay.
711 (w32_set_vertical_scroll_bar): Don't clear a zero height
712 or width area.
713 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
714 a widget to zero height.
715
716 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
717 Protect unibyte strings created by replacing their multibyte
718 equivalents in menu_items.
719 (w32_menu_show): Don't overwrite an item's name with its key
720 description in case the description is a multibyte string.
721 (single_submenu): Some cleanup.
722
723 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
724 (postprocess_image): New function.
725 (lookup_image): Call it for all image types except PostScript.
726 (x_kill_gs_process): Call postprocess_image.
727 (tiff_error_handler, tiff_warning_handler): New functions.
728 (tiff_load): Install them as handlers.
729 (x_kill_gs_process): Recognize if someone has cleared the image
730 cache under us.
731 (valid_image_p): Protect better against invalid image
732 specifications. Previous code could signal an error.
733 (Fx_hide_tip, Fshow_tip): Doc fix.
734 (Fv_max_tooltip_size): New variable.
735 (syns_of_xfns): DEFVAR_LISP it.
736 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
737 window buffer to *tip* right after creating the frame. Set frame's
738 window_width. Use a maximum tooltip size specified by
739 Vx_max_tooltip_size, if that has valid contents.
740 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
741 Make sure the tooltip is completely visible.
742 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
743 (Fx_create_frame): Adjust the frame's height for presence
744 of the tool bar before calling x_figure_window_size.
745 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
746 when the window gets smaller.
747 (x_set_foreground_color): Set frame's cursor_pixel.
748 (x_set_foreground_color, x_set_background_color): Cleaned up.
749 (x_set_font): Handle case of x_new_fontset returning the same name
750 as before, although there was a change in fontsets.
751
752 2001-10-21 Miles Bader <miles@gnu.org>
753
754 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
755 (Flogxor): Add usage: string to doc string.
756 * charset.c (Fstring): Likewise.
757 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
758 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
759
760 2001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
761
762 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
763
764 * alloc.c: Reindent DEFUNs with doc: keywords.
765
766 * abbrev.c (Finsert_abbrev_table_description): Reindent.
767
768 * frame.c: Change doc-string comments to `new style' [w/`doc:'
769 keyword].
770
771 2001-10-20 Gerd Moellmann <gerd@gnu.org>
772
773 * (Version 21.1 released.)
774
775 2001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
776
777 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
778
779 * xdisp.c (invisible_text_between_p): Put prototype inside #if
780 0 because unused.
781
782 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
783 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
784 Change doc-string comments to `new style' [w/`doc:' keyword].
785
786 2001-10-20 Miles Bader <miles@gnu.org>
787
788 The following changes remove the glyph_row `inverse_p' field,
789 which is never set anymore, due to other changes:
790
791 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
792 (reassert_line_highlight, change_line_highlight): Declarations removed.
793 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
794 (line_hash_code, row_equal_p, fake_current_matrices)
795 (build_frame_matrix_from_leaf_window, update_frame_line)
796 (update_frame_line, update_frame_line, update_frame_line):
797 Don't use `inverse_p' field.
798 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
799 change_line_highlight_hook.
800 (XTreassert_line_highlight, x_change_line_highlight):
801 Functions removed.
802 (x_fix_overlapping_area, x_write_glyphs, expose_area)
803 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
804 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
805 `inverse_p' field.
806 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
807 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
808 (w32_reassert_line_highlight, x_change_line_highlight):
809 Functions removed.
810 * w32console.c (reassert_line_highlight, change_line_highlight):
811 Functions removed.
812 (initialize_w32_display): Don't set reassert_line_highlight_hook
813 or change_line_highlight_hook.
814 (hl_mode): Function removed.
815 (reset_terminal_modes, set_terminal_modes, update_begin)
816 (update_end, w32_face_attributes, initialize_w32_display):
817 (clear_frame, ins_del_lines): Don't call it.
818 * termhooks.h (reassert_line_highlight_hook)
819 (change_line_highlight_hook): Declarations removed.
820 * term.c (reassert_line_highlight_hook)
821 (change_line_highlight_hook): Variables removed.
822 (reassert_line_highlight, change_line_highlight): Functions removed.
823 * msdos.c (IT_reassert_line_highlight)
824 (IT_change_line_highlight): Functions removed.
825 (internal_terminal_init): Don't set reassert_line_highlight_hook
826 or change_line_highlight_hook.
827 (highlight): Variable removed.
828 (IT_set_face, IT_update_begin, IT_update_end)
829 (IT_set_terminal_modes): Don't set or use it.
830
831 The following changes remove inverse-video support for terminals
832 that use a `magic cookie' standout mode. Due to changes in the
833 way mode-lines are displayed, such support no longer works
834 anyway, and it's probable that almost no one uses such terminals
835 anymore:
836
837 * term.c (standout_requested): Variable removed.
838 (update_end, highlight_if_desired): Don't use it.
839 (chars_wasted, copybuf): Variables removed.
840 (write_standout_marker): Function removed.
841 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
842 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
843 Don't use `chars_wasted' or `copybuf'.
844 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
845 Set `costs_set' to true.
846 (cursor_to, clear_end_of_line): Test `costs_set' instead of
847 `chars_wasted'.
848 (clear_end_of_line): Function removed.
849 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
850 (clear_to_end): Call `clear_end_of_line' instead of
851 `clear_end_of_line_raw'.
852 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
853 (term_init): Don't set them.
854 Turn off any standout/underline modes that require magic cookies.
855 (ins_del_lines, highlight_if_desired, background_highlight)
856 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
857 Remove special processing for magic-cookie standout modes.
858 (turn_off_face, turn_on_face): Remove special processing for
859 underline magic-cookie glitch.
860
861 2001-10-19 Richard M. Stallman <rms@gnu.org>
862
863 * eval.c (syms_of_eval): Doc fixes.
864
865 2001-10-19 Gerd Moellmann <gerd@gnu.org>
866
867 * xdisp.c (redisplay_internal): Don't clear echo area if the
868 mini-window is selected.
869
870 2001-10-19 Miles Bader <miles@gnu.org>
871
872 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
873 doesn't take precedence if the affected property's value is nil.
874
875 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
876
877 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
878 with fields and suggest using `forward-line' to avoid them.
879 * editfns.c (Fline_beginning_position, Fline_end_position):
880 Clarify documentation.
881
882 2001-10-18 Stefan Monnier <monnier@cs.yale.edu>
883
884 * keymap.c (current_minor_maps): `override' only shadows its
885 correspondent in minor-mode-map-alist, not the whole tail.
886
887 2001-10-18 Andrew Innes <andrewi@gnu.org>
888
889 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
890 optimization. The fontp->encoding array was not being initialized
891 correctly when compiled with optimizations by MSVC.
892
893 2001-10-18 Gerd Moellmann <gerd@gnu.org>
894
895 * xdisp.c (display_line): Indicate empty lines in active mini-window.
896
897 2001-10-17 Andrew Innes <andrewi@gnu.org>
898
899 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
900
901 * w32fns.c (w32_load_system_font): Cache codepage for font, in
902 font_info.charset field.
903
904 * w32term.c (w32_encode_char): Get cached codepage from font_info,
905 rather than working it out by calling w32_codepage_for_font for
906 every glyph.
907
908 2001-10-17 Andrew Innes <andrewi@gnu.org>
909
910 * w32term.c (w32_read_socket): Determine clipping rectangle for
911 the entire frame, including areas covered by scrollbars and the
912 menubar. This avoids internal arguments about whether a frame is
913 fully obscured or not.
914
915 2001-10-17 Gerd Moellmann <gerd@gnu.org>
916
917 * xdisp.c (try_window_id): Undo last change. Give up if
918 window ends in strings.
919
920 * xdisp.c (try_window_id): Don't display lines after the window
921 end if the rest of the window after the window end was already blank.
922
923 * xdisp.c (try_window_id): Remove code that was only there
924 for the release of 21.1.
925
926 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
927
928 2001-10-17 Miles Bader <miles@gnu.org>
929
930 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
931 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
932 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
933 Change doc-string comments to `new style' [w/`doc:' keyword].
934 (DOC_STRINGS_IN_COMMENTS): Macro removed.
935 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
936 out make-docfile.
937
938 2001-10-16 Miles Bader <miles@gnu.org>
939
940 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
941
942 2001-10-16 Gerd Moellmann <gerd@gnu.org>
943
944 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
945 *scratch*.
946
947 2001-10-16 Ken Raeburn <raeburn@gnu.org>
948
949 Avoid the assumption that car and cdr slots of cons cells are
950 addressable lvalues; this allows for easier experimentation with
951 other lisp implementations that may not permit such accesses for
952 various reasons. Not quite complete -- buffer.c still needs some
953 work, and w32/mac files need rechecking -- so compile-time
954 enforcement is left disabled for now.
955
956 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
957 gcc with a union-based Lisp object rep. Redefine as no-op for now.
958 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
959 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
960 (XSETCAR, XSETCDR): New macros.
961 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
962 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
963 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
964 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
965 XSETCDR.
966 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
967 * buffer.c (record_buffer, Fbury_buffer)
968 (swap_out_buffer_local_variables, recenter_overlay_lists)
969 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
970 fields of a cons cell respectively.
971 * callint.c (quotify_args, Fcall_interactively): Likewise.
972 * ccl.c (Fregister_code_conversion_map): Likewise.
973 * coding.c (detect_coding_system): Likewise.
974 * composite.c (get_composition_id, make_composition_value_copy):
975 Likewise.
976 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
977 (swap_in_symval_forwarding, set_internal, Fset_default)
978 (Fmake_variable_buffer_local, Fmake_local_variable)
979 (Fmake_variable_frame_local): Likewise.
980 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
981 * keymap.c (Fset_keymap_parent, store_in_keymap)
982 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
983 * minibuf.c (get_minibuffer): Likewise.
984 * search.c (Fmatch_data): Likewise.
985 * textprop.c (extend_property_ranges): Likewise.
986 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
987 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
988 Likewise.
989 * w32term.c (x_delete_display): Likewise.
990 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
991 Likewise.
992 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
993 * doc.c (store_function_docstring): Use XSETCARFASTINT.
994 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
995 (Fread_file_name): Use XSETCAR.
996 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
997 CHECK_NUMBER_CDR.
998 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
999 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1000 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1001 CHECK_NUMBER_CDR.
1002 * keyboard.c (read_char): Alter list traversal to avoid taking the
1003 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1004 (parse_menu_item): Use XSETCAR and XSETCDR.
1005 (reach_char_x_menu_prompt): Use XSETCAR.
1006 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1007 (Fcommand_execute): Use XSETCDR.
1008 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1009 (openp): Change list traversal to avoid using XCAR as lvalue.
1010 (read_list): Use XSETCDR.
1011 * process.c (wait_reading_process_input): Change wait_for_cell
1012 handling to avoid taking addresses of cons cell slots.
1013 * xselect.c (x_own_selection, x_handle_selection_clear)
1014 (x_clear_frame_selections): Use XSETCDR.
1015 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1016 (x_handle_property_notify, x_get_foreign_selection)
1017 (x_handle_selection_notify): Use XSETCAR.
1018
1019 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1020
1021 * buffer.c: Put doc strings in comments.
1022
1023 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
1024
1025 2001-10-15 Sam Steingold <sds@gnu.org>
1026
1027 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1028
1029 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1030
1031 * process.c (process-inherit-coding-system-flag)
1032 (get-buffer-process): Do not confuse make-docfile with doc strings
1033 in comment.
1034
1035 * editfns.c (Fchar_to_string): Make doc string consistent with
1036 arguments. Put doc strings in comments.
1037
1038 * abbrev.c, minibuf.c: Put doc strings in comments.
1039
1040 2001-10-15 Gerd Moellmann <gerd@gnu.org>
1041
1042 * window.c (window_loop): Don't check for Fother_buffer returning nil.
1043
1044 * window.c (select_window_1): Unfreeze window start. Remove a
1045 doubled test for WINDOW being live.
1046
1047 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1048
1049 * fns.c (Fmapconcat): Fix typo in a doc string.
1050
1051 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1052
1053 2001-10-15 Gerd Moellmann <gerd@gnu.org>
1054
1055 * xterm.c (x_draw_glyph_string): Restore clipping after
1056 drawing box.
1057
1058 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1059
1060 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
1061
1062 2001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1063
1064 * indent.c (skip_invisible): Use new retval of
1065 TEXT_PROP_MEANS_INVISIBLE.
1066
1067 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1068 If a parent is reached and noinherit is set, exit immediately.
1069 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1070
1071 * s/ms-w32.h (EXEC_SUFFIXES):
1072 * s/msdos.h (EXEC_SUFFIXES):
1073 * process.h (EXEC_SUFFIXES): Remove.
1074
1075 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1076 (decode_suffixes): Remove.
1077
1078 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
1079 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1080 (invisible_ellipsis_p): Remove.
1081
1082 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1083 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1084 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
1085 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1086 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
1087
1088 2001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1089
1090 * lisp.h (Ftop_level): Add prototype.
1091
1092 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1093 (XTread_socket): Improve style of comments to follow other
1094 comments.
1095
1096 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1097 is already prototyped in included lisp.h).
1098
1099 * frame.c (Fset_mouse_position): Improve style of comment to
1100 follow other comments.
1101 (Fset_mouse_pixel_position): Improve style of comment to follow
1102 other comments.
1103 (Fmake_frame_visible): Doc fix and typo in comment.
1104 (Fmake_frame_invisible): Doc fix and typo in comment.
1105 (Ficonify_frame): Fix typo in comment.
1106
1107 2001-10-14 Gerd Moellmann <gerd@gnu.org>
1108
1109 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
1110 * term.c, alloc.c: Put doc strings in comments.
1111
1112 2001-10-13 Gerd Moellmann <gerd@gnu.org>
1113
1114 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1115 Provide definitions for doc strings in comments.
1116
1117 * fns.c: Put doc strings in comments.
1118
1119 2001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1120
1121 * dired.c (file_name_completion): Ignore a candidate directory if
1122 it matches an element in completion-ignored-extensions that ends
1123 in a slash.
1124 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1125 feature in the doc string.
1126 (Ffile_name_completion): Ditto.
1127
1128 2001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1129
1130 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1131
1132 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1133
1134 * lisp.h (Fprovide): Update prototype.
1135 (Ffeaturep, invisible_p): Remove.
1136
1137 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
1138 (DOLIST, LOOP_PROPVAL): New macros.
1139 (invisible_p, invisible_ellipsis_p): Use them.
1140 (invisible_noellipsis_p): New function.
1141 (syms_of_xdisp): Use empty_string.
1142
1143 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1144
1145 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1146 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1147
1148 * print.c (Fwith_output_to_temp_buffer): Align with
1149 internal_with_output_to_temp_buffer.
1150 (print_preprocess): Use traverse_intervals_noorder.
1151 (print_object): Update call to traverse_intervals.
1152
1153 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1154 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1155
1156 * intervals.c (traverse_intervals_noorder): New function.
1157 (search_for_interval, count_intervals): Use it.
1158 (traverse_intervals): Use less stack space and drop `depth' arg.
1159
1160 * fns.c (Ffeaturep): Add new `subfeature' arg.
1161 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1162 (Qsubfeatures): New var.
1163 (syms_of_fns): Initialize it.
1164
1165 * keymap.c (Fkey_description): Use empty_string.
1166 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1167 (syms_of_keymap): Setup inheritance between maps.
1168 Don't export Sdescribe_bindings_internal any more.
1169
1170 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1171
1172 2001-10-12 Gerd Moellmann <gerd@gnu.org>
1173
1174 * xterm.c (notice_overwritten_cursor): Renamed from
1175 note_overwritten_text_cursor. Rewritten to take glyph widths into
1176 account.
1177
1178 2001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1179
1180 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1181 multi-line strings without a trailing "\n\".
1182
1183 2001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1184
1185 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1186 defined.
1187
1188 2001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1189
1190 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1191
1192 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1193 * w32proc.c (sys_spawnve):
1194 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1195 * w32.c (check_windows_init_file):
1196 * sound.c (Fplay_sound):
1197 * emacs.c (init_cmdargs):
1198 * process.c (Fstart_process): Update calls to openp.
1199
1200 * callproc.c (Vexec_suffixes): New var.
1201 (Fcall_process): Update call to openp.
1202 (decode_suffixes): New function.
1203 (syms_of_callproc): Init exec-suffixes.
1204
1205 * lread.c (Vload_suffixes, default_suffixes): New vars.
1206 (openp): Take a lisp list of suffixes.
1207 Check for file-name-handlers even if the file was absolute already.
1208 (syms_of_lread): Declare load-suffixes.
1209 (Fload): Fix up call to openp.
1210 Don't bother checking for file-name-handler at the very beginning.
1211
1212 * keymap.h (Fcopy_keymap): Don't export.
1213
1214 * lisp.h (empty_string): Declare.
1215 (Vload_suffixes, Vexec_suffixes): Declare.
1216 (openp): Update prototype.
1217
1218 * emacs.c (empty_string): New var.
1219 (syms_of_emacs): Initialize it.
1220
1221 * search.c (wordify): Use it.
1222
1223 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1224 selected window if it's not displayed there. Handle the case
1225 when the window is dedicated.
1226 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1227
1228 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1229
1230 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1231 Remove left_ok and right_ok.
1232 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1233 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1234 new meaning of b_property.
1235
1236 * syntax.c (update_syntax_table): Simplify.
1237 (Fforward_comment): Don't skip quoted chars when going backward.
1238
1239 2001-10-11 Gerd Moellmann <gerd@gnu.org>
1240
1241 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1242 in case I is of some unsigned type, in which case
1243 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1244 comparison becomes bogus.
1245
1246 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1247 (Fuser_full_name): Fix bug treating a float as a fixnum.
1248
1249 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1250
1251 * lisp.h (make_fixnum_or_float): New macro.
1252
1253 * lisp.h (circular_list_error): Add prototype.
1254
1255 * data.c (Qcircular_list): New variable.
1256 (circular_list_error): New function.
1257 (syms_of_data): Initialize it Qcircular_list.
1258
1259 2001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1260
1261 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1262 casefiddle.c, buffer.c: Include keymap.h.
1263
1264 2001-10-10 Gerd Moellmann <gerd@gnu.org>
1265
1266 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1267 options. From Dave Love <d.love@dl.ac.uk>.
1268
1269 2001-10-09 Gerd Moellmann <gerd@gnu.org>
1270
1271 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1272 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1273
1274 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1275 unsigned char.
1276 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1277
1278 2001-10-08 Andrew Innes <andrewi@gnu.org>
1279
1280 * lisp.h [max]: Undef min and max before redefining them.
1281
1282 * w32gui.h: Do not undef min and max.
1283
1284 * w32heap.h: Do not undef min and max.
1285
1286 * s/ms-w32.h: Do not undef min and max.
1287
1288 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1289
1290 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1291
1292 2001-10-08 Sam Steingold <sds@gnu.org>
1293
1294 * keymap.c (current-active-maps): Quote newlines (compilation error).
1295
1296 2001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1297
1298 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1299 bindings.elc, since otherwise doc strings in bindings.el get wrong
1300 offsets in etc/DOC.
1301
1302 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1303
1304 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1305
1306 * keyboard.h (map_prompt): Remove.
1307
1308 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
1309 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
1310
1311 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1312
1313 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1314
1315 * keyboard.c (map_prompt): Remove.
1316 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1317 Use Fkeymap_prompt.
1318
1319 * keymap.h: New file. Extracted from lisp.h.
1320
1321 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1322 (accessible_keymaps_1): New function.
1323 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1324 (Fwhere_is_internal): Use Fcurrent_active_maps.
1325 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1326 Insert in current buffer rather than standard-output.
1327 Don't call `help-mode'. Export to elisp.
1328 (describe_buffer_bindings): New wrapper.
1329 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1330 and Sdescribe_buffer_bindings.
1331
1332 2001-10-08 Gerd Moellmann <gerd@gnu.org>
1333
1334 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
1335 Remove code setting signal handler.
1336
1337 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
1338 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1339
1340 2001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1341
1342 * keyboard.c: Don't define min/max.
1343
1344 2001-10-08 Gerd Moellmann <gerd@gnu.org>
1345
1346 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
1347 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
1348 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
1349 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
1350 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
1351 Don't define min/max.
1352
1353 * lisp.h (min, max): New macros.
1354
1355 * puresize.h (BASE_PURESIZE): Increase to 725000.
1356
1357 2001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1358
1359 * xfaces.c (free_frame_menubar): Add prototype.
1360
1361 * lisp.h (init_window): Add prototype.
1362
1363 * editfns.c: Include ctype.h.
1364
1365 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
1366 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
1367 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1368 variable `sb'.
1369
1370 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1371 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1372 `popup_activated_flag' and `title'.
1373
1374 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1375
1376 * emacs.c (main): Remove extra `;'.
1377
1378 * atimer.h (struct atimer): Fix typos in a comment.
1379
1380 * atimer.c: Fix typo.
1381
1382 * Makefile.in: Fix typo.
1383
1384 * README: Remove obsolete part mentioning removed VMS file.
1385
1386 2001-10-07 Miles Bader <miles@gnu.org>
1387
1388 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1389
1390 2001-10-07 Ken Raeburn <raeburn@gnu.org>
1391
1392 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1393 Lisp_Object.
1394
1395 * lisp.h (Ffield_end): Declare.
1396
1397 2001-10-07 Gerd Moellmann <gerd@gnu.org>
1398
1399 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1400
1401 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1402
1403 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1404
1405 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1406
1407 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1408 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1409
1410 * alloc.c (inhibit_garbage_collection): Simplify.
1411 (Fmemory_use_counts): Ditto.
1412
1413 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1414 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1415 most-negative-fixnum.
1416
1417 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1418 (FIXNUM_OVERFLOW_P): New macros.
1419
1420 2001-10-06 Miles Bader <miles@gnu.org>
1421
1422 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1423 scroll_bar_bottom_shadow_pixel fields.
1424 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1425 for the shadows, and tell the toolkit about them if we succeed.
1426 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1427 Free scroll-bar shadow colors.
1428 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1429 Free scroll-bar shadow colors when the background color changes.
1430 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1431 Initialize scroll-bar shadow-color fields.
1432
1433 2001-10-05 Gerd Moellmann <gerd@gnu.org>
1434
1435 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1436
1437 2001-10-05 Miles Bader <miles@gnu.org>
1438
1439 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1440 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
1441 New functions (were in simple.el).
1442 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
1443 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1444 (syms_of_minibuf): Initialize them.
1445
1446 2001-10-05 Gerd Moellmann <gerd@gnu.org>
1447
1448 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1449 (tiff_load): Install them as error and warning handler.
1450
1451 2001-10-04 Andrew Innes <andrewi@gnu.org>
1452
1453 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1454 (w32_load_system_font): Don't believe what GetLanguageFontInfo
1455 says; query codepage info directly to determine if font is double byte.
1456 (x_to_w32_charset): Handle private format for unknown charsets.
1457 Handle wildcards in charset spec, by ignoring them.
1458 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1459 "*-" prefix from charset.
1460 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1461 handle the truncated font spec form constructed by font_list_1, so
1462 that we correctly identify the charset fields. Don't remove "*-"
1463 prefix from charset.
1464 (w32_list_synthesized_fonts): Fix argument to alloca.
1465
1466 2001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1467
1468 * window.h (MINI_WINDOW_P): Use NILP.
1469
1470 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1471
1472 * termhooks.h (struct input_event): Use proper type for `kind'.
1473
1474 2001-10-04 Gerd Moellmann <gerd@gnu.org>
1475
1476 This handles unknown keysyms better than before. For example,
1477 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1478 Emacs formerly completely ignored F5. With the change, it derives
1479 a key symbol from the name of the X keysym, `ccaron' in this case.
1480 Reported by Martin Buchholz.
1481
1482 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1483 unknown keysyms.
1484
1485 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1486 that EVENT->code isn't a function key, use the keysym's name.
1487
1488 2001-10-04 Gerd Moellmann <gerd@gnu.org>
1489
1490 FOREACH is a macro that should make it easier to loop over Lisp
1491 lists with checks for cycles and proper lists.
1492
1493 * lisp.h (LIST_END_P, FOREACH): New macros.
1494
1495 2001-10-04 Gerd Moellmann <gerd@gnu.org>
1496
1497 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1498 called for a lost connection. Prevent dumping core in this case.
1499 Instead print the X error, and exit. On user request.
1500
1501 * xterm.c (error_msg): New variable.
1502 (x_fatal_error_signal): New function.
1503 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1504 as fatal_error_signal_hook around the call to XtCloseDisplay.
1505
1506 * emacs.c (fatal_error_signal_hook): New variable.
1507 (fatal_error_signal): Call that function.
1508
1509 2001-10-04 Gerd Moellmann <gerd@gnu.org>
1510
1511 With this, Emacs prints how much pure storage it will
1512 approximately need in case pure storage overflows while dumping.
1513
1514 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1515 New variables.
1516 (init_alloc_once): Initialize new variables.
1517 (PURE_POINTER_P): Use new variables.
1518 (pure_alloc): If pure storage overflows, allocate from the heap.
1519 (check_pure_size): New function.
1520 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1521
1522 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1523 (check_pure_size): Add prototype.
1524
1525 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1526
1527 2001-10-04 Gerd Moellmann <gerd@gnu.org>
1528
1529 This adds a post-gc-hook that's run with GC inhibited.
1530 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1531
1532 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1533 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1534 (Fgarbage_collect): Run post-gc-hook.
1535
1536 2001-10-04 Gerd Moellmann <gerd@gnu.org>
1537
1538 This adds `defvaralias' and `indirect-variable'. Changes not
1539 directly related to this feature are there to gain the same
1540 performance again as before variable aliases.
1541
1542 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1543 code to get and set symbol values, to take defvaralias into account.
1544
1545 (Note: the new `constant' bit-flag in symbols would make it
1546 possible to define arbitrary read-only variables, e.g. with
1547 `defconst'.)
1548
1549 Documentation is in lispref/variables.texi. Added to NEWS.
1550
1551 * lisp.h (enum symbol_interned): New enumeration.
1552 (struct Lisp_Symbol): Remove member `obarray', add
1553 `indirect_variable', `constant', and `interned'.
1554 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1555 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1556 (indirect_variable): Add prototype.
1557
1558 * print.c (print_preprocess, print_object): Test internedness of
1559 symbols differently.
1560
1561 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1562 bit-fields.
1563 (init_obarray): Likewise for t and nil.
1564
1565 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1566 (Fdefvaralias): New function.
1567 (specbind): Simplify the test if symbol is a constant.
1568 (syms_of_eval): Defsubr Fdefvaralias.
1569
1570 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1571 (Qcyclic_variable_indirection): New variable.
1572 (Fkeywordp): Check for internedness differently.
1573 (Fmakunbound): Simplify the test if symbol is a constant.
1574 (indirect_variable, Findirect_variable): New functions.
1575 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1576 aliased symbol.
1577 (let_shadows_buffer_binding_p): Check for variable aliases.
1578 (set_internal): Simplify the test if SYMBOL is a constant.
1579 If SYMBOL has a buffer-local value and is an alias, use the aliased
1580 symbol instead.
1581 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1582 Sindirect_variable.
1583
1584 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1585 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1586 set directly.
1587
1588 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1589
1590 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1591 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1592 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1593
1594 2001-10-04 Gerd Moellmann <gerd@gnu.org>
1595
1596 * Branch for 21.1.
1597
1598 2001-10-03 Miles Bader <miles@gnu.org>
1599
1600 * callproc.c (syms_of_callproc): Explicitly state in the
1601 documentation for `process-environment' that earlier entries take
1602 precedence over later ones.
1603
1604 2001-10-02 Miles Bader <miles@gnu.org>
1605
1606 * textprop.c (Fnext_char_property_change)
1607 (Fprevious_char_property_change): Remove reference to non-existant
1608 argument OBJECT from doc-string.
1609
1610 2001-10-01 Gerd Moellmann <gerd@gnu.org>
1611
1612 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1613 (try_window_id): Skip back over lines ending in a newline from a
1614 string.
1615
1616 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1617 New bit flag
1618
1619 2001-10-01 Richard M. Stallman <rms@gnu.org>
1620
1621 * search.c (Freplace_match): Doc fix.
1622
1623 2001-09-28 Andrew Innes <andrewi@gnu.org>
1624
1625 * w32menu.c (set_frame_menubar): Take into account that
1626 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1627 <raeburn@gnu.org>.
1628
1629 2001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1630
1631 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1632
1633 2001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1634
1635 * s/gnu-linux.h: Fix a typo in comment.
1636
1637 2001-09-28 Andreas Schwab <schwab@suse.de>
1638
1639 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1640 nocombreloc, in case -z combreloc is the default.
1641
1642 2001-09-28 Gerd Moellmann <gerd@gnu.org>
1643
1644 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1645 really going on here.
1646
1647 2001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1648
1649 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1650
1651 2001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1652
1653 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1654 utf-8, menu-bar, and latin-N.
1655 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1656 unconditionally now.
1657 (lisp): Add latin-N, since they are preloaded.
1658
1659 2001-09-27 Gerd Moellmann <gerd@gnu.org>
1660
1661 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1662 to the left. Some cleanup.
1663
1664 * xdisp.c (display_mode_element): One more case where a string's
1665 multibyteness should be used for display.
1666
1667 2001-09-26 Gerd Moellmann <gerd@gnu.org>
1668
1669 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1670 reading at EOF.
1671
1672 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
1673 of the only temporarily set echoing flag for deciding when
1674 the cancel echoing.
1675
1676 * keyboard.c (echo_kboard): Make externally visible.
1677
1678 * lisp.h (echo_kboard): Declare extern.
1679
1680 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
1681 fonts_changed_p if we need larger matrices due to vscrolling.
1682 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1683 this round of redisplay if make_cursor_line_fully_visible fails.
1684 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
1685 (try_cursor_movement, try_scrolling): Use them instead of integers.
1686
1687 * dispextern.h (required_matrix_width, required_matrix_height):
1688 Add prototypes.
1689
1690 * dispnew.c (required_matrix_width, required_matrix_height):
1691 New functions.
1692 (allocate_matrices_for_window_redisplay)
1693 (allocate_matrices_for_frame_redisplay: Use them.
1694 Remove parameters CH_DIM.
1695
1696 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1697 and selected_window to the frame of the window whose mode-lines
1698 are displayed, and to the window itself.
1699 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
1700 here.
1701
1702 2001-09-25 Gerd Moellmann <gerd@gnu.org>
1703
1704 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1705 the image cache under us.
1706
1707 * xdisp.c (display_mode_element): If the mode element is a symbol
1708 with a string value, use that string's multibyteness for displaying.
1709
1710 * keyboard.c (read_char): Don't clear a message for a switch-frame
1711 event. From Stefan Monnier <monnier@cs.yale.edu>.
1712
1713 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1714 version for after 21.1.
1715
1716 * xdisp.c (row_containing_pos): Make externally visible.
1717
1718 * dispextern.h (row_containing_pos): Add prototype.
1719
1720 * process.c (send_process): Disable composition if from_byte < 0.
1721 From Kenichi Handa <handa@etl.go.jp>.
1722
1723 2001-09-24 Gerd Moellmann <gerd@gnu.org>
1724
1725 * xterm.c (refreshicon): Function removed.
1726
1727 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1728
1729 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1730
1731 * xterm.c (toplevel): Remove includes in #if 0.
1732
1733 * process.c (sigchld_handler) [LINUX]: Don't return from
1734 the signal handler at the end of the loop.
1735
1736 2001-09-21 Gerd Moellmann <gerd@gnu.org>
1737
1738 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1739 Terminate only if kill returns -1, and errno is ESRCH.
1740
1741 2001-09-21 Markus Rost <rost@math.ohio-state.edu>
1742
1743 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1744
1745 2001-09-20 Gerd Moellmann <gerd@gnu.org>
1746
1747 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1748 since this function can be called during GC.
1749
1750 * callproc.c (Fcall_process): Handle errors from pipe(2).
1751 (child_setup): Delete code in #ifdef vipc.
1752
1753 2001-09-19 Gerd Moellmann <gerd@gnu.org>
1754
1755 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1756 (display_mode_element): Display the string from decode_mode_spec
1757 depending on its multibyteness.
1758
1759 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1760
1761 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1762
1763 2001-09-18 Gerd Moellmann <gerd@gnu.org>
1764
1765 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1766 recursive_edit_unwind.
1767 (recursive_edit_unwind): Set kboard state according to
1768 SINGLE-KBOARD.
1769
1770 * buffer.c (modify_overlay): Don't do nothing if START == END;
1771 This can still be a modification, for example when an overlay has
1772 a before-string or after-string.
1773 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1774 an overlay with before-string or after-string.
1775
1776 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1777 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1778
1779 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1780 first_unchanged_at_end_row is in front of
1781 last_unchanged_at_beg_row. This code should be removed after the
1782 release of 21.1.
1783
1784 2001-09-17 Gerd Moellmann <gerd@gnu.org>
1785
1786 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1787 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1788
1789 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1790 versions >= 2.95.
1791
1792 2001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1793
1794 * dired.c (Ffile_attributes): Doc fix.
1795
1796 2001-09-14 Gerd Moellmann <gerd@gnu.org>
1797
1798 * fileio.c (Ffile_symlink_p): Fix last change.
1799
1800 * filelock.c (current_lock_owner): Fix last change.
1801
1802 2001-09-13 Gerd Moellmann <gerd@gnu.org>
1803
1804 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1805 take that to mean that the buffer is too small.
1806
1807 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1808 that to mean that the buffer is too small.
1809
1810 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1811 current buffer's multibyteness when discarding the iterator's
1812 stack.
1813
1814 * xfns.c (Fx_window_property): Handle case that property gets
1815 deleted between the two calls to XGetWindowProperty.
1816
1817 2001-09-11 Gerd Moellmann <gerd@gnu.org>
1818
1819 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
1820
1821 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1822 in addition to read-only.
1823
1824 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1825 to t in addition to read-only.
1826
1827 * lisp.h (Qinhibit_modification_hooks): Declare.
1828
1829 * insdel.c (Qinhibit_modification_hooks): New variable.
1830 (syms_of_insdel): Initialize and staticpro it.
1831
1832 * textprop.c (verify_interval_modification): Don't run
1833 modification-hooks if inhibit_modification_hooks.
1834
1835 * dispnew.c (set_window_cursor_after_update): Fix code
1836 finding glyph row containing cursor when cursor_in_echo_area
1837 is >= 0.
1838
1839 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1840 (add_to_log): Use bcopy instead of strcpy.
1841 (init_from_display_pos): Use an explicit loop over bytes in
1842 overlay strings instead of calling index.
1843
1844 2001-09-10 Gerd Moellmann <gerd@gnu.org>
1845
1846 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1847
1848 * dispnew.c (direct_output_for_insert): Don't change IT's
1849 stop_charpos to something in front of its current position.
1850
1851 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1852 `format'.
1853
1854 2001-09-10 Richard M. Stallman <rms@gnu.org>
1855
1856 * frame.c (Fmouse_position): Doc fix.
1857
1858 2001-09-07 Gerd Moellmann <gerd@gnu.org>
1859
1860 * xdisp.c (init_from_display_pos): Don't compare the result
1861 of calling index with NULL.
1862
1863 2001-09-06 Gerd Moellmann <gerd@gnu.org>
1864
1865 * xfns.c (x_set_background_color): Don't change the colors
1866 of the X window of scroll bar widgets.
1867
1868 2001-09-05 Andrew Innes <andrewi@gnu.org>
1869
1870 * w32fns.c (w32_createwindow): Undo last change.
1871
1872 2001-09-05 Gerd Moellmann <gerd@gnu.org>
1873
1874 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1875
1876 * xdisp.c (string_buffer_position): Use *single_char_property*
1877 functions instead of the *single_property* functions.
1878
1879 2001-09-04 Andrew Innes <andrewi@gnu.org>
1880
1881 * w32term.c (w32_read_socket): Add more information to debugging
1882 output.
1883
1884 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1885 from Emacs frames, so that calls to GetClipBox in w32term.c
1886 correctly report when part of a frame is visible (including
1887 scrollbars, etc). This prevents repeated redrawing of frames when
1888 only a scrollbar is visible.
1889 (w32_wnd_proc): Add more frame information to debugging output.
1890
1891 2001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1892
1893 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1894
1895 2001-09-03 Gerd Moellmann <gerd@gnu.org>
1896
1897 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1898 help-echo for a string which doesn't have help-echo itself, use
1899 get-char-property to obtain the help-echo from the string's buffer
1900 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1901 have mouse-face, look ``under'' the string for mouse-face from an
1902 overlay.
1903 (fast_find_position): Add parameter STOP. In the final row, stop
1904 before glyphs having STOP as object. Don't consider glyphs that
1905 are not from a buffer.
1906
1907 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1908
1909 2001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1910
1911 * fns.c (Fmd5): Doc fix.
1912
1913 2001-08-31 Gerd Moellmann <gerd@gnu.org>
1914
1915 * composite.c (update_compositions): Do nothing if
1916 inhibit-modification-hooks is set.
1917
1918 2001-08-30 Gerd Moellmann <gerd@gnu.org>
1919
1920 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
1921 and check_message_stack if terminating abnormally. We want
1922 glyph matrices etc. in a core dump.
1923
1924 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1925 (syms_of_xdisp): Initialize them.
1926 (handle_single_display_prop): Don't change point, bind `object',
1927 `position', and `buffer-position' instead to the object having the
1928 `display' property, position in the object and position in the buffer.
1929
1930 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1931 of the buffer if REPLACE is non-nil.
1932
1933 2001-08-29 Gerd Moellmann <gerd@gnu.org>
1934
1935 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1936
1937 2001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1938
1939 * w32term.c (x_set_glyph_string_background_width)
1940 (show_mouse_face): Track the last changes in xterm.c.
1941
1942 2001-08-28 Gerd Moellmann <gerd@gnu.org>
1943
1944 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1945 string's background width so that multi-line mouse-face is drawn
1946 to the right edge of the window.
1947 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1948 glyphs.
1949
1950 * dispnew.c (direct_output_for_insert): Set updated_area
1951 before inserting/writing glyphs.
1952
1953 * xdisp.c (display_mode_element): Use string_byte_to_char to
1954 determine character positions in strings, use chars_in_text
1955 instead of strwidth.
1956 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1957 a matrix as parameter; this is easier to use from GDB.
1958
1959 2001-08-28 Miles Bader <miles@gnu.org>
1960
1961 * textprop.c (Fprevious_single_char_property_change)
1962 (Fnext_single_char_property_change): Doc fixes.
1963
1964 2001-08-27 Gerd Moellmann <gerd@gnu.org>
1965
1966 * fileio.c (Finsert_file_contents): Allocate, restore, and
1967 free composition data in the case of REPLACE not being nil.
1968
1969 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1970 there exist overlay strings with newlines at POS.
1971 (text_outside_line_unchanged_p): Return 0 if changes start at
1972 START and overlays exist at START. Likewise for END.
1973 (try_window_id): Give up if init_to_row_end returns 0.
1974
1975 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1976 unconditionally.
1977
1978 2001-08-24 Gerd Moellmann <gerd@gnu.org>
1979
1980 * keymap.c (access_keymap): Return the cdr of the binding of
1981 a generic character instead of its definition (KEY . BINDING).
1982
1983 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1984 to 0 also in the REPLACE case.
1985
1986 2001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1987
1988 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1989 open to determine whether file is readable (as for DOS_NT).
1990
1991 2001-08-23 Gerd Moellmann <gerd@gnu.org>
1992
1993 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1994 coding.type is coding_type_no_conversion or coding_type_raw_text,
1995 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1996 non-nil instead of just setting enable_multibyte_characters in the
1997 buffer to nil.
1998
1999 2001-08-22 Gerd Moellmann <gerd@gnu.org>
2000
2001 * dispextern.h (struct face_cache): Add member
2002 menu_face_changed_p.
2003
2004 * xfaces.c (menu_face_changed_default): New variable.
2005 (menu_face_changed_count): Variable removed.
2006 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2007 the menu_face_changed_default flag, otherwise set the FRAME's
2008 menu_face_changed_p flag if the `menu' face has been changed.
2009 Prevent calling set_font_frame_param if FRAME is t.
2010 (make_face_cache): Initialize cache's menu_face_changed_p
2011 from menu_face_changed_default.
2012 (realize_basic_faces): Look into the frame's face cache to
2013 determine if the menu appearance needs updating.
2014
2015 * keymap.c (access_keymap): Fix last change to not consider
2016 IDX when it has modifiers.
2017
2018 2001-08-21 Gerd Moellmann <gerd@gnu.org>
2019
2020 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2021 . BINDING) exists, where GENERIC-CHAR is the generic character of
2022 the charset of IDX, return BINDING unless there exists a binding
2023 for IDX itself.
2024
2025 2001-08-16 Gerd Moellmann <gerd@gnu.org>
2026
2027 * xrdb.c (SYSV): Don't define on Solaris 2.
2028 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2029
2030 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2031 of the screen line, not text line, containing IT's current position.
2032
2033 2001-08-15 Gerd Moellmann <gerd@gnu.org>
2034
2035 * window.c (window_scroll_pixel_based): Don't recenter if
2036 PT is partially visible in the window.
2037
2038 * xterm.c (expose_window_tree, expose_window, expose_line):
2039 Return 1 when overwriting mouse-face.
2040 (expose_frame): If mouse-face was overwritten, redo it.
2041
2042 * xfaces.c (x_update_menu_appearance): Don't call
2043 set_frame_menubar, let the next redisplay do it.
2044
2045 2001-08-14 Andrew Innes <andrewi@gnu.org>
2046
2047 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2048 drawing glyph string.
2049
2050 2001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2051
2052 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2053 running HI-UX/MPP.
2054
2055 2001-08-14 Gerd Moellmann <gerd@gnu.org>
2056
2057 * xfaces.c (x_update_menu_appearance): Save and restore value of
2058 interrupt_input_blocked.
2059
2060 2001-08-13 Gerd Moellmann <gerd@gnu.org>
2061
2062 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2063 a line start, move back to the line start.
2064
2065 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2066 exactly when a mini-buffer is active.
2067
2068 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2069 in units of 1/8 character on non window-system frames.
2070 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2071
2072 2001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2073
2074 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2075 a doc string.
2076
2077 2001-08-09 Gerd Moellmann <gerd@gnu.org>
2078
2079 * keyboard.c (Vpre_help_message): New variable.
2080 (syms_of_keyboard): Initialize and staticpro it.
2081 (show_help_echo): Record current message before displaying a
2082 help-echo, and restore that message when clearing the help.
2083
2084 * xfns.c (x_create_im): Remove prototype.
2085
2086 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2087
2088 * dispnew.c (adjust_glyph_matrix): Undo last change.
2089
2090 2001-08-08 Gerd Moellmann <gerd@gnu.org>
2091
2092 * dispnew.c (adjust_glyph_matrix): In the optimization for
2093 windows whose height has changed, disable partially visible lines.
2094
2095 2001-08-07 Gerd Moellmann <gerd@gnu.org>
2096
2097 * window.c (Frecenter): If ARG < 0, and on a window system
2098 frame, count in some empty lines when we can't move -ARG lines down.
2099
2100 * xdisp.c (start_display): Don't try to determine the continuation
2101 lines width if lines are truncated. It's superfluous and leads to
2102 incorrect results if POS is not visible in the window after
2103 reseating the iterator at the previous line start.
2104
2105 2001-08-06 Gerd Moellmann <gerd@gnu.org>
2106
2107 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2108
2109 2001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2110
2111 * alloc.c (init_stack): Remove declaration.
2112
2113 2001-08-03 Gerd Moellmann <gerd@gnu.org>
2114
2115 * keyboard.c (read_key_sequence): Check that key is an integer
2116 before comparing it with quit_char.
2117 (add_command_key): Use larger_vector.
2118 (read_char_x_menu_prompt): Instead of converting symbol and
2119 integer events into conses (EVENT . nil), use (EVENT . disabled)
2120 which cannot be confused with valid events.
2121 (read_char): When reading from Vunread_command_events, check for
2122 events of the form (EVENT . disabled) instead of
2123 (EVENT . nil).
2124
2125 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2126 a float, determine the max height from the frame's height.
2127
2128 2001-08-02 Gerd Moellmann <gerd@gnu.org>
2129
2130 * xdisp.c (redisplay_internal): Take message_cleared_p into
2131 account only if minibuf_level == 0.
2132
2133 2001-08-01 Gerd Moellmann <gerd@gnu.org>
2134
2135 * xdisp.c (redisplay_internal): Add a check for the last
2136 displayed message.
2137
2138 * xdisp.c (message_cleared_p): New variable.
2139 (clear_message): Set message_cleared_p when clearing the current
2140 message.
2141 (redisplay_internal): Look at message_cleared_p to capture
2142 the case that the echo area should be cleared.
2143
2144 * keyboard.c (command_loop_1): Fix spelling of
2145 resize_echo_area_exactly.
2146
2147 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
2148
2149 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2150
2151 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2152 current matrix when the window gets smaller.
2153
2154 2001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2155
2156 * print.c (strout): Cast the character passed to insert_char to
2157 unsigned char, to avoid sign extension when it is promoted to int.
2158
2159 2001-07-31 Gerd Moellmann <gerd@gnu.org>
2160
2161 * fileio.c (Finsert_file_contents): Don't treat a return value
2162 of 0 from emacs_read as an IO error.
2163
2164 2001-07-30 Gerd Moellmann <gerd@gnu.org>
2165
2166 * keyboard.c (abs): New macro.
2167 (double_click_fuzz): New variable.
2168 (make_lispy_event): Use it to determine what makes a double-click.
2169 (syms_of_keyboard): DEFVAR_INT it.
2170
2171 * xmenu.c (set_frame_menubar): Take into account that
2172 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2173 <raeburn@gnu.org>.
2174
2175 2001-07-27 Gerd Moellmann <gerd@gnu.org>
2176
2177 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2178
2179 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2180 of row's visible height.
2181
2182 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
2183 deal with the first overlay string having an image `display' property.
2184 (try_window_reusing_current_matrix, compute_line_metrics):
2185 Fix computation of row's visible height for the case that part of the
2186 row is invisible above and part of the row is at the same time
2187 invisible below the window.
2188
2189 2001-07-26 Gerd Moellmann <gerd@gnu.org>
2190
2191 * xfns.c (x-show-tip): Doc fix.
2192
2193 * xfns.c (Vx_max_tooltip_size): New variable.
2194 (syms_of_xfns): DEFVAR_LISP it.
2195 (Fx_show_tip): Set frame's window_width to the width of the
2196 window. Use a maximum tooltip size specified by
2197 Vx_max_tooltip_size, if that has valid contents.
2198 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
2199
2200 2001-07-26 Andrew Innes <andrewi@gnu.org>
2201
2202 * w32term.c (x_display_list): New variable.
2203 (w32_term_init): Set it.
2204
2205 * w32term.h (x_display_list): New extern.
2206
2207 2001-07-26 Gerd Moellmann <gerd@gnu.org>
2208
2209 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
2210 is non-nil, instead of when redisplaying_p is non-zero.
2211 See comment there.
2212 (mark_window_display_accurate_1): Add an assertion.
2213
2214 2001-07-25 Gerd Moellmann <gerd@gnu.org>
2215
2216 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2217
2218 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2219 events so that we get a chance of processing expose events.
2220
2221 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2222
2223 2001-07-24 Gerd Moellmann <gerd@gnu.org>
2224
2225 * xfns.c (valid_image_p): Protect better against invalid image
2226 specifications. Previous code could signal an error.
2227
2228 2001-07-23 Gerd Moellmann <gerd@gnu.org>
2229
2230 * indent.c (current_column): Fix column computation in the
2231 presence of display table entries.
2232 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2233
2234 * dispnew.c (adjust_glyph_matrix): In the optimization for
2235 windows whose height has changed, use the new window height
2236 to compute which rows to invalidate.
2237
2238 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2239 (MAX_10_EXP): New macro.
2240 (Fformat): Use it.
2241
2242 * coding.c (code_convert_region): Handle the multibyte case if
2243 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2244
2245 2001-07-20 Gerd Moellmann <gerd@gnu.org>
2246
2247 * dispextern.h (struct face): Change type of `stipple' to
2248 int; it's an ID.
2249
2250 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2251
2252 2001-07-19 Gerd Moellmann <gerd@gnu.org>
2253
2254 * dispnew.c (update_window): Don't set the cursor at the end
2255 of the update if display update has been paused.
2256
2257 * composite.h (syms_of_composite): Renamed from syms_of_composition.
2258
2259 2001-07-18 Ken Raeburn <raeburn@gnu.org>
2260
2261 * fns.c (Fset_char_table_default): Check that a charset is defined
2262 before checking its dimension.
2263
2264 2001-07-17 Ken Raeburn <raeburn@gnu.org>
2265
2266 * coding.c (setup_coding_system): Don't do any designation based
2267 on reg_bits if charset is not yet defined.
2268
2269 * lisp.h (XVECTOR): Verify correct object type before returning a
2270 pointer, using eassert.
2271
2272 2001-07-17 Gerd Moellmann <gerd@gnu.org>
2273
2274 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2275 Increase to 4096 because of paste problems reported on GNU/Linux.
2276
2277 2001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2278
2279 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2280
2281 2001-07-16 Gerd Moellmann <gerd@gnu.org>
2282
2283 * fileio.c (unwind_read): Function removed.
2284 (read_non_regular, read_non_regular_quit): New functions.
2285 (Finsert_file_contents): When reading from non-regular files,
2286 arrange to catch a `quit' and terminate the loop. Rearrange
2287 code so that a `quit' when reading from a regular file doesn't
2288 insert text in the buffer.
2289
2290 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2291 Clear faces afterwards.
2292 (clear_font_table): Take a x_display_info parameter. Don't free
2293 fonts being the default font of any frame on the given display.
2294
2295 2001-07-13 Gerd Moellmann <gerd@gnu.org>
2296
2297 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2298 instead of CHAR_STRING which can signal an error.
2299
2300 * charset.c (char_to_string_1): Extracted from char_to_string.
2301 Return -1 instead of signaling an error.
2302 (char_to_string): Use it.
2303
2304 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2305
2306 2001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2307
2308 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2309 is t, don't try to append anything to it.
2310
2311 2001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2312
2313 * dired.c (file_name_completion): Pass dp->d_name to
2314 Fstring_match, not elt, which is always nil here.
2315
2316 2001-07-12 Gerd Moellmann <gerd@gnu.org>
2317
2318 * xselect.c (x_decline_selection_request): Handle errors
2319 caused by receivers that have vanished.
2320
2321 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2322 ignoring events on foreign windows in #if 0. Always dispatch
2323 the event after checking it with x_handle_property_notify.
2324
2325 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
2326 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2327 TRACE macros to facilitate debugging. Add additional trace statements.
2328 (toplevel): Add prototypes for file-local functions.
2329 (x_atom_to_symbol): Remove DPYINFO parameter.
2330
2331 2001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2332
2333 * w32menu.c (menubar_selection_callback, w32_menu_show):
2334 Initialize `entry' to nil.
2335 (w32_dialog_show): Remove unused `save_wv' variable.
2336 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2337
2338 2001-07-11 Gerd Moellmann <gerd@gnu.org>
2339
2340 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2341
2342 * fileio.c (unwind_read): Print a message when discarding inserted
2343 text or switching the buffer to unibyte. Change parameter.
2344 (Finsert_file_contents): Don't pass VISIT to unwind_read.
2345
2346 * fileio.c (unwind_read): New function.
2347 (Finsert_file_contents): Record it as unwind-function for
2348 the case that reading is interrupted by C-g.
2349
2350 2001-07-10 Gerd Moellmann <gerd@gnu.org>
2351
2352 * dispnew.c (update_window): Don't skip the header-line
2353 update when scrolling_window returns 0.
2354
2355 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2356
2357 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
2358 for the case that x_decode_color signals an error.
2359
2360 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2361
2362 2001-07-09 Gerd Moellmann <gerd@gnu.org>
2363
2364 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2365 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2366 around ioctls.
2367
2368 2001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2369
2370 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2371 doc string line for dos-timezone-offset.
2372
2373 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2374 inline assembly, to avoid compiler warnings.
2375 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2376 line for dos-unsupported-char-glyph.
2377
2378 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2379
2380 2001-07-05 Gerd Moellmann <gerd@gnu.org>
2381
2382 * sound.c: Include Emacs' header files with #include "...".
2383
2384 * eval.c (specbind): Additionally record the buffer that was
2385 current when a buffer-local or frame-local variable was bound.
2386
2387 2001-07-04 Gerd Moellmann <gerd@gnu.org>
2388
2389 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2390 to unibyte characters in unibyte buffers.
2391
2392 2001-07-03 Gerd Moellmann <gerd@gnu.org>
2393
2394 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2395 the frame on the binding stack. Change format of entries for
2396 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2397 (unbind_to): Handle unbinding a frame-local variable.
2398
2399 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
2400 glyphs and truncation glyphs at the end of a row from its pixel width.
2401 (dump_glyph_row): Print row's continuation_lines_width.
2402 (try_window_id): Take the shortcut if ZV is visible in the
2403 window, but there are actually no changes at ZV.
2404
2405 2001-07-02 Gerd Moellmann <gerd@gnu.org>
2406
2407 * xterm.h (x_free_dpy_colors): Add prototype.
2408
2409 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2410 right number of arguments.
2411
2412 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2413 ($(lwlibdir)TAGS): New target.
2414 (TAGS): Fix dependency list.
2415
2416 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2417 with input blocked.
2418
2419 2001-06-30 Gerd Moellmann <gerd@gnu.org>
2420
2421 * emacs.c (main): Remove extern declaration for sys_nerr, which
2422 isn't used and causes a compilation error with GCC 3.0 on
2423 FreeBSD 4.3.
2424
2425 2001-06-27 Gerd Moellmann <gerd@gnu.org>
2426
2427 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
2428 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
2429 (toplevel): Include <signal.h> and syssignal.h.
2430
2431 * sound.c (vox_configure, vox_close): Turn off atimers
2432 around ioctls.
2433
2434 2001-06-26 Gerd Moellmann <gerd@gnu.org>
2435
2436 * keyboard.c (read_char) <non_reread>: Record the previous idle
2437 start time before calling timer_stop_idle.
2438 (read_char) <reread_first>: After processing a help-echo event,
2439 restore the previous idle start time.
2440
2441 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2442 the start of invisible text.
2443 (setup_for_ellipsis): New function.
2444 (next_overlay_string): After all overlay strings have been
2445 processed, display an ellipsis if necessary.
2446 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2447 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2448
2449 * dispextern.h (struct iterator_stack_entry): Add member
2450 display_ellipsis_p.
2451
2452 2001-06-25 Gerd Moellmann <gerd@gnu.org>
2453
2454 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2455 on the value of the wait-for-wm frame parameter.
2456
2457 * xterm.h (struct x_output): Add member wait_for_wm.
2458
2459 * xfns.c (Qwait_for_wm): New variable.
2460 (x_frame_parms): Add entry for `wait-for-wm".
2461 (x_set_wait_for_wm): New function.
2462 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2463 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2464
2465 * xdisp.c (try_window_id) <all changes below window end>: Don't
2466 take this shortcut if ZV is visible in the window.
2467 (try_window_id): When checking for window start being in changed
2468 text, don't check that the buffer's size has changed.
2469
2470 2001-06-23 Richard M. Stallman <rms@gnu.org>
2471
2472 * minibuf.c (Fcompleting_read): Doc fix.
2473
2474 2001-06-19 Gerd Moellmann <gerd@gnu.org>
2475
2476 * composite.c (Ffind_composition_internal): Accept ZV
2477 and a string's end position as POS.
2478
2479 2001-06-18 Gerd Moellmann <gerd@gnu.org>
2480
2481 * composite.c (Ffind_composition_internal): Check POS
2482 for validity.
2483
2484 2001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2485
2486 * editfns.c (Fmessage_box): If the frame is not under a window
2487 system, output the message in the echo area.
2488
2489 2001-06-14 Richard M. Stallman <rms@gnu.org>
2490
2491 * xdisp.c (try_window_id): When EOB is visible, don't treat
2492 insertion at EOB as if it were "off the bottom of the screen."
2493
2494 2001-06-11 Andrew Innes <andrewi@gnu.org>
2495
2496 * w32proc.c (create_child): Add new parameter is_gui_app.
2497 (w32_executable_type): Add new parameter is_gui_app.
2498 (sys_spawnve): Use it.
2499 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2500 SIGQUIT. This matches better how the signals are interpreted by
2501 MSVC compiled programs.
2502 (syms_of_ntproc): Update docstring.
2503
2504 2001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2505
2506 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2507 well otherwise note_mouse_highlight might optimize away highlighting
2508 if we pass over that same overlay again.
2509
2510 2001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2511
2512 * lread.c (Fload): Document that the argument is run via
2513 substitute-in-file-name.
2514
2515 2001-05-31 Gerd Moellmann <gerd@gnu.org>
2516
2517 * Makefile.in (bootstrap-doc): New target.
2518 (bootstrap-emacs): Depend on it.
2519
2520 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2521 auto-save-list-file-name when shutting down Emacs, because
2522 creating the directory might signal an error, and leaves
2523 Emacs in a strange state.
2524
2525 * term.c: (tty_cursor_hidden): New variable.
2526 (update_begin): Don't call tty_hide_cursor. Clean up.
2527 (update_end, set_terminal_window, set_scroll_region): Clean up.
2528 (ring_bell, reset_terminal_modes): Clean up.
2529 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2530 on tty_cursor_hidden.
2531 (write_glyphs): Call tty_hide_cursor.
2532
2533 2001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2534
2535 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2536
2537 2001-05-30 Gerd Moellmann <gerd@gnu.org>
2538
2539 * xfns.c (enum image_value_type): New enumerator
2540 IMAGE_STRING_OR_NIL_VALUE.
2541 (parse_image_spec): Handle it.
2542 (xbm_format, pbm_format): Use it for :foreground and :background.
2543 (xbm_load, pbm_load): Check for nil color names.
2544
2545 * xterm.c (note_mouse_highlight): If an overlapping overlay
2546 exists, but we find that we highlight the same overlay as before,
2547 don't do the highlighting again.
2548
2549 2001-05-29 Gerd Moellmann <gerd@gnu.org>
2550
2551 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2552 Protect unibyte strings created by replacing their multibyte
2553 equivalents in menu_items.
2554
2555 * keymap.c (Fsingle_key_description): NUL-terminate the string
2556 buffer before calling build_string.
2557
2558 * callproc.c (Fcall_process): Deal with decode_coding returning
2559 CODING_FINISH_INCONSISTENT_EOL.
2560
2561 2001-05-28 Gerd Moellmann <gerd@gnu.org>
2562
2563 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
2564 an item's name with its key description in case the description
2565 is a multibyte string.
2566
2567 * keymap.c (Fsingle_key_description): Create a multibyte string
2568 only if necessary.
2569
2570 * macros.c (Fstart_kbd_macro): Doc fix.
2571
2572 * xterm.c (cursor_in_mouse_face_p): New function.
2573 (x_draw_stretch_glyph_string): Use it to choose a different GC
2574 when drawing a cursor within highlighted text.
2575
2576 * editfns.c (char_property_eq): Put in #if 0.
2577
2578 * indent.c (string_display_width): Put in #if 0.
2579
2580 * lread.c (Fload): Remove unused label.
2581
2582 * termcap.c (speeds): Put in #if 0.
2583
2584 2001-05-18 Gerd Moellmann <gerd@gnu.org>
2585
2586 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2587
2588 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2589 transformation matrix by 10.
2590
2591 2001-05-16 Gerd Moellmann <gerd@gnu.org>
2592
2593 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2594 only if it's equal to the former foreground pixel color.
2595 (x_set_foreground_color, x_set_background_color)
2596 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2597
2598 2001-05-16 Dave Love <fx@gnu.org>
2599
2600 * insdel.c (signal_before_change, signal_after_change): Consider a
2601 local change hook which changes the buffer.
2602
2603 * process.c (read_process_output): Don't call signal_after_change
2604 and update_compositions after insert_from_string_before_markers.
2605
2606 2001-05-16 Gerd Moellmann <gerd@gnu.org>
2607
2608 * xfaces.c (split_font_name): Use the right field when
2609 checking for `[...]' syntax.
2610
2611 * buffer.c (copy_overlays): New function.
2612 (clone_per_buffer_values): Use it.
2613
2614 * buffer.h (OVERLAY_PLIST): New macro.
2615
2616 * keymap.c (Fsingle_key_description): Replace a build_string with
2617 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2618
2619 * fontset.c (Ffontset_info): Check that face is non-null
2620 before accessing its fields.
2621
2622 2001-05-15 Gerd Moellmann <gerd@gnu.org>
2623
2624 * keyboard.c (read_key_sequence): Prevent generating a fake
2625 prefix key twice.
2626
2627 * xfaces.c (split_font_name): Handle `[...]' for the right
2628 font name fields.
2629
2630 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2631 of CCL_STAT_INVALID_CMD.
2632
2633 2001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2634
2635 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2636 in <var> has no default value yet.
2637
2638 * xfaces.c (try_alternative_families): First try the FAMILY.
2639 And if nothing is found in the end, try again with scalable fonts.
2640 (try_font_list): Let try_alternative_families do a bit more of
2641 the work. Only use FAMILY if it is not nil.
2642 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2643
2644 2001-05-14 Gerd Moellmann <gerd@gnu.org>
2645
2646 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2647 pointer shape when show_mouse_face has already done it.
2648
2649 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
2650 full-width rows.
2651
2652 * xfaces.c (split_font_name): Make sure to leave the loop
2653 with the right value of `i'.
2654
2655 * xfaces.c (split_font_name): Handle matrix transformations
2656 in the pixel and point size fields of XLFD font names.
2657 (xlfd_point_size): Likewise.
2658
2659 2001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2660
2661 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
2662 (x_to_w32_font): Add prototype.
2663
2664 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2665 redefining, to avoid compiler warnings.
2666
2667 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2668
2669 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2670 (w32_get_bdf_glyph): Cast between unsigned char and char when
2671 passing arguments to subroutines, to shut up compiler warnings.
2672 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2673 GET_HEX_VAL.
2674
2675 * xfaces.c: Include keyboard.h before frame.h, not after it.
2676
2677 * widget.c: Include keyboard.h before frame.h.
2678
2679 * w32term.h (struct image, struct face): Forward declaration, to
2680 avoid compiler warnings.
2681
2682 2001-05-11 Gerd Moellmann <gerd@gnu.org>
2683
2684 * keyboard.c (read_key_sequence): Don't modify events when
2685 generating fake prefix keys (mode-line, scroll-bar, ...) since
2686 this prevents proper processing of such events when pushed back
2687 into unread-command-events.
2688
2689 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2690 actually redrawn. Make the function static.
2691 (note_mouse_highlight): Fix a case where the mouse cursor
2692 was changed back to the text cursor.
2693
2694 * xterm.h (clear_mouse_face): Remove prototype.
2695
2696 * xdisp.c (try_window_id): Fix the fix and set the right
2697 window_end_vpos.
2698
2699 * xdisp.c (try_window_id): Fix computation of window end in the
2700 case that lines were deleted at the end of the window. Add some
2701 more debug_method_adds.
2702
2703 * xfaces.c (try_alternative_families): New function.
2704 (try_font_list): Use it. If ATTRS specifies a family, check
2705 fonts from that family first.
2706 (choose_face_font): Remove code setting the family part of
2707 the pattern to nil.
2708
2709 2001-05-10 Gerd Moellmann <gerd@gnu.org>
2710
2711 * xdisp.c (try_window_id): Fix case of all changes before
2712 the window start.
2713
2714 * xdisp.c (try_window_id): Add some xasserts.
2715
2716 2001-05-09 Gerd Moellmann <gerd@gnu.org>
2717
2718 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2719
2720 2001-05-09 Dave Love <fx@gnu.org>
2721
2722 * xdisp.c (GIVE_UP): Fix for K&R C.
2723
2724 2001-05-09 Gerd Moellmann <gerd@gnu.org>
2725
2726 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2727
2728 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2729 back to the text cursor shape without need.
2730
2731 2001-05-07 Gerd Moellmann <gerd@gnu.org>
2732
2733 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2734
2735 * dispextern.h (inverse_video): Declare extern.
2736
2737 * keyboard.c (delete_kboard): Handle the case that selected_frame
2738 has been deleted in the course of x_connection_closed.
2739
2740 2001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2741
2742 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2743 Fix the change from 2001-04-30.
2744
2745 2001-05-03 Gerd Moellmann <gerd@gnu.org>
2746
2747 * xfns.c (file_dialog_unmap_cb): New function.
2748 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2749 where a dialog is closed via the window manager.
2750
2751 * xdisp.c (try_window_id): Cases of changes all in front of
2752 the window start or all below the window end mostly rewritten.
2753 (redisplay_window): Move the tests if try_window_id is
2754 applicable to try_window_id.
2755 (GIVE_UP): New macro.
2756
2757 2001-05-02 Gerd Moellmann <gerd@gnu.org>
2758
2759 * xterm.c (expose_window): Return int. If W is the window
2760 currently being updated, mark the frame garbaged.
2761 Fix computation of rows intersecting the exposed rectangle.
2762 (expose_window_tree): Stop when expose_window returns 0.
2763
2764 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2765 again if it has already been drawn.
2766
2767 2001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2768
2769 * syntax.c (update_syntax_table): Check that oldi has the same
2770 properties as old_prop before deciding not to invalidate.
2771
2772 2001-04-30 Gerd Moellmann <gerd@gnu.org>
2773
2774 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2775 read-only text that is so because of text properties.
2776
2777 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
2778 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
2779 windows that are components of a Lucid menu bar.
2780
2781 2001-04-27 Gerd Moellmann <gerd@gnu.org>
2782
2783 * term.c (turn_on_face): Fix reverse video handling on terminals
2784 that don't support colors.
2785
2786 2001-04-26 Gerd Moellmann <gerd@gnu.org>
2787
2788 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2789 a non-buffer.
2790
2791 2001-04-25 Gerd Moellmann <gerd@gnu.org>
2792
2793 * term.c (toggle_highlight): New function.
2794 (turn_on_face): Change handling of reverse video.
2795
2796 * process.c (wait_reading_process_input):
2797 Call record_asynch_buffer_change only if a timer really changed buffers.
2798
2799 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2800 of the number of overlays to check.
2801
2802 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2803
2804 * xdisp.c (try_window_id): Fix a case where window_end_pos
2805 and window_end_bytepos were not adjusted.
2806
2807 2001-04-23 Gerd Moellmann <gerd@gnu.org>
2808
2809 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2810 zero instead of -1.
2811
2812 2001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2813
2814 * process.c (wait_reading_process_input) [!subprocesses]:
2815 Don't reference waiting_for_user_input_p, it's not defined in the
2816 branch without async subprocesses support.
2817
2818 2001-04-19 Gerd Moellmann <gerd@gnu.org>
2819
2820 * keyboard.c (delete_kboard): Prevent a dangling reference
2821 from current_kboard to KB, which is freed.
2822
2823 * process.c (wait_reading_process_input):
2824 Call record_asynch_buffer_change after running timers, to make
2825 read_key_sequence aware of buffer changes from under it.
2826
2827 2001-04-18 Gerd Moellmann <gerd@gnu.org>
2828
2829 * xfaces.c (Qscalable_fonts_allowed): New variable.
2830 (realizing_basic_faces_p): Removed.
2831 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2832 removed.
2833 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
2834 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2835 for scalable-fonts-allowed to t.
2836
2837 * fileio.c (Finsert_file_contents): If the file size returned from
2838 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
2839 read from files on a procfs whose contents are generated dynamically.
2840
2841 2001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2842
2843 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2844 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2845 (__memalign_hook): Make the two prototypes consistent.
2846
2847 2001-04-17 Gerd Moellmann <gerd@gnu.org>
2848
2849 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2850 matrix of mini-windows.
2851
2852 2001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2853
2854 * intervals.c (find_interval): Don't rebalance during signal handling.
2855
2856 2001-04-11 Gerd Moellmann <gerd@gnu.org>
2857
2858 * fns.c: Include blockinput.h.
2859
2860 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2861
2862 2001-04-10 Gerd Moellmann <gerd@gnu.org>
2863
2864 * fns.c (Fcompare_strings): Fix return values.
2865
2866 * window.c (window_scroll): Change the meaning of N to mean
2867 N screen-fulls or N lines.
2868 (window_scroll_pixel_based, window_scroll_line_based)
2869 (scroll_command, Fscroll_other_window): Change accordingly.
2870
2871 * window.c (window_scroll_pixel_based, Frecenter):
2872 Call window_box_height instead of using it.last_visible_y for the
2873 height of the window.
2874
2875 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2876 instead of using it.last_visible_y for the height of the window.
2877
2878 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
2879 From Dan Holmsand <dan@eyebee.com>.
2880
2881 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
2882 able to write to hidden and system files. From Dan Holmsand
2883 <dan@eyebee.com>.
2884
2885 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2886 Holmsand <dan@eyebee.com>.
2887
2888 2001-04-09 Gerd Moellmann <gerd@gnu.org>
2889
2890 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2891
2892 * window.c (window_internal_height): Return 1 less if the
2893 window has a header line.
2894
2895 * xdisp.c (try_window_id): When scrolling on a terminal, take
2896 the change of window_internal_height into account.
2897
2898 2001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2899
2900 * gmalloc.c (align): If the argument SIZE would overflow
2901 __malloc_ptrdiff_t, fail right away.
2902
2903 2001-04-06 Gerd Moellmann <gerd@gnu.org>
2904
2905 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2906 Make sure the tooltip is completely visible.
2907 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2908
2909 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2910
2911 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2912
2913 2001-04-06 Dave Love <fx@gnu.org>
2914
2915 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2916 Fix test of `from'.
2917
2918 2001-04-06 Gerd Moellmann <gerd@gnu.org>
2919
2920 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
2921
2922 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2923
2924 2001-04-05 Gerd Moellmann <gerd@gnu.org>
2925
2926 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2927
2928 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
2929
2930 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2931 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2932
2933 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2934 shell widget's position only if it is non-null.
2935
2936 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2937 Set f->output_data.x->widget to null after destroying it.
2938
2939 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2940 FILENAME to bring it in synch with the documentation.
2941
2942 * xfaces.c (realizing_basic_faces_p): Renamed from
2943 realize_default_face_p.
2944 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2945 (realize_default_face): Don't set the flag.
2946
2947 2001-04-04 Gerd Moellmann <gerd@gnu.org>
2948
2949 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2950
2951 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2952
2953 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2954 the buffer that was used for echoing.
2955
2956 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2957 (first_font_matching): Removed unused function.
2958 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2959 (may_use_scalable_font_p): Remove parameter FONT; rename
2960 parameter NAME to FONT.
2961 (x_face_list_fonts): Fix missing bounds check.
2962 (realizing_default_face_p): New variable.
2963 (realize_default_face): Set and clear that flag.
2964 (x_face_list_fonts): When called during the realization of the
2965 default face, and no matching fonts are found when ignoring
2966 scalable fonts and fonts matching a regexp from
2967 face-ignored-fonts, try without ignoring fonts.
2968
2969 2001-04-03 Gerd Moellmann <gerd@gnu.org>
2970
2971 * xfns.c (postprocess_image): New function.
2972 (lookup_image): Call it for all image types except PostScript.
2973 (x_kill_gs_process): Call postprocess_image.
2974
2975 * xterm.c (x_use_underline_position_properties): New variable.
2976 (x_draw_glyph_string): Use it.
2977 (syms_of_xterm): DEFVAR_BOOL it.
2978
2979 2001-04-02 Gerd Moellmann <gerd@gnu.org>
2980
2981 * xterm.c (x_alloc_nearest_color_1): New function.
2982 (x_alloc_nearest_color): Use it.
2983 (x_color_cells): Take a Display as argument, instead of a frame.
2984 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2985 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2986 (x_initialize): Register cvt_string_to_pixel as resource converter
2987 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2988
2989 2001-03-30 Gerd Moellmann <gerd@gnu.org>
2990
2991 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2992 (set_iterator_to_next): If a string from a display property ends,
2993 consider the case that this might also be the end of an
2994 overlay string having the display property.
2995
2996 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
2997
2998 * xdisp.c (reseat_to_string): Undo last change.
2999
3000 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3001 matrix of a window when the header line changes, when
3002 new rows are allocated, or when the width changes.
3003
3004 2001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3005
3006 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
3007
3008 2001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3009
3010 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3011 deprecated.
3012
3013 2001-03-29 Gerd Moellmann <gerd@gnu.org>
3014
3015 * data.c (Fsubr_interactive_form): New function.
3016 (syms_of_data): Defsubr it.
3017
3018 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3019 (live_float_p, live_misc_p): Return 1 only if the offset of the
3020 pointer in its block is >= 0.
3021
3022 2001-03-28 Paul Eggert <eggert@twinsun.com>
3023
3024 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3025 microseconds calcuation. Avoid double-rounding problem.
3026 In doc string, warn that the result is approximate.
3027
3028 2001-03-28 Gerd Moellmann <gerd@gnu.org>
3029
3030 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3031 bind `inhibit-eval-during-redisplay' to t.
3032
3033 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3034
3035 * xdisp.c (inhibit_eval_during_redisplay)
3036 (Qinhibit_eval_during_redisplay): New variables.
3037 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3038 don't eval, return nil instead.
3039 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3040 Initialize Qinhibit_eval_during_redisplay.
3041
3042 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3043 the iterator's multibyte_p flag.
3044
3045 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3046 instead of setting it to zero; it's incremented for each frame
3047 where the menu face is changed.
3048
3049 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3050 change bottom shadow accordingly.
3051
3052 * xterm.c (expose_window_tree, expose_frame): Don't compute
3053 intersections here.
3054 (expose_window): Do it here instead.
3055 (x_draw_glyph_string): Fix a computation of the underline position.
3056
3057 * bytecode.c (BYTE_CODE_QUIT): New macro.
3058 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3059
3060 2001-03-27 Gerd Moellmann <gerd@gnu.org>
3061
3062 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3063 Give up if matrix starts in an ellipsis.
3064 (init_from_display_pos): Do nothing if POS doesn't specify
3065 a dpvec_index but the iterator has such a position.
3066
3067 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3068
3069 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3070 x/y position is (0, 0) after destroying the menu bar, restore
3071 its original position.
3072
3073 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3074 (init_from_display_pos): Use it.
3075 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3076
3077 2001-03-26 Gerd Moellmann <gerd@gnu.org>
3078
3079 * xdisp.c (try_window_id): Undo last change.
3080
3081 2001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3082
3083 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3084
3085 * buffer.c (syms_of_buffer): Doc fix.
3086
3087 2001-03-26 Gerd Moellmann <gerd@gnu.org>
3088
3089 * xfaces.c (x_update_menu_appearance): Use local variable
3090 popup_path for setting font resources.
3091
3092 2001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3093
3094 * frame.c (Fframe_list): Don't reference tip_frame if
3095 HAVE_WINDOW_SYSTEM is not defined.
3096
3097 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3098 <wl@gnu.org>.
3099
3100 2001-03-25 Gerd Moellmann <gerd@gnu.org>
3101
3102 * xdisp.c (init_from_display_pos): Test invisible property
3103 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
3104
3105 * xdisp.c (redisplay_internal) <update one window>: Make sure
3106 last_arrow_position and last_arrow_string are set.
3107
3108 * frame.c (Fframe_list): Don't return a tooltip frame.
3109
3110 2001-03-23 Gerd Moellmann <gerd@gnu.org>
3111
3112 * xdisp.c (mark_window_display_accurate_1): New function,
3113 extracted from mark_window_display_accurate.
3114 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
3115 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3116 (mark_window_display_accurate): Use it.
3117 (redisplay_internal): Use it for the selected window.
3118 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3119 for the selected frame.
3120
3121 * xdisp.c Use make_number, for readability.
3122 (try_window_id): Disable rows below the window end.
3123 (try_window_reusing_current_matrix): Use cursor_row_p.
3124 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3125 of rows.
3126 (init_from_display_pos): If POS specifies a position in a display
3127 vector, maybe get the iterator set up for that ellipsis.
3128
3129 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3130
3131 2001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3132
3133 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3134
3135 2001-03-23 Gerd Moellmann <gerd@gnu.org>
3136
3137 * xfaces.c (x_update_menu_appearance): Use a different path
3138 for Lucid popup menus.
3139
3140 2001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3141
3142 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3143
3144 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3145 (string_buffer_position): Use `make_number'.
3146
3147 2001-03-22 Gerd Moellmann <gerd@gnu.org>
3148
3149 * xfaces.c (x_update_menu_appearance): Renamed from
3150 x_set_menu_face_resources. Use different resources for popups.
3151
3152 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3153 (GC_CHECK_STRING_BYTES): Don't define.
3154
3155 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3156 Removed, together with subroutines.
3157 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
3158 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
3159
3160 * dispextern.h (x_set_menu_resources_from_menu_face):
3161 Remove prototype.
3162
3163 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
3164 Remove calls to x_set_menu_resources_from_menu_face.
3165
3166 * xfaces.c (xm_set_menu_resources_from_menu_face):
3167 Remove #ifndef LESSTIF_VERSION.
3168
3169 * xmenu.c: Include widget.h.
3170 (single_submenu): Return int. Some cleanup.
3171 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3172
3173 2001-03-21 Gerd Moellmann <gerd@gnu.org>
3174
3175 * xterm.c (x_update_window_end): Handle overwritten mouse face
3176 also for tool bar windows.
3177 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3178 DRAW is DRAW_IMAGE_RAISED.
3179
3180 2001-03-20 Gerd Moellmann <gerd@gnu.org>
3181
3182 * print.c (syms_of_print): Doc fixes.
3183
3184 * fns.c (Fmd5): Doc fix.
3185
3186 2001-03-19 Gerd Moellmann <gerd@gnu.org>
3187
3188 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3189 Clear area of the frame not occupied by the scroll bar.
3190
3191 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3192 tip frame's root window buffer to *tip* right after creating
3193 the frame.
3194
3195 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3196 is an integer don't have to be for space characters.
3197
3198 2001-03-16 Gerd Moellmann <gerd@gnu.org>
3199
3200 * indent.c (current_column, current_column_1, Fmove_to_column)
3201 (compute_motion): Handle characters from display vectors differently.
3202
3203 2001-03-15 Kenichi Handa <handa@etl.go.jp>
3204
3205 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3206 drawing glyph string.
3207
3208 2001-03-15 Gerd Moellmann <gerd@gnu.org>
3209
3210 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3211 (command_loop_1): Undo last change.
3212
3213 * xterm.c (fast_find_position): Return the correct vpos.
3214
3215 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
3216 non-null, set a per-buffer value in BUF instead of the current buffer.
3217 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3218 Call store_symval_forwarding with BUF null.
3219 (set_internal): Call store_symval_forwarding with the BUF
3220 parameter passed to set_internal. Formerly, the value was always
3221 set in the current buffer; the buffer recorded in specbind for
3222 this case wasn't used.
3223 (arith_driver): Reindent.
3224
3225 * buffer.c (swap_out_buffer_local_variables):
3226 Call store_symval_forwarding with BUF null.
3227
3228 * lisp.h (store_symval_forwarding): Change prototype.
3229
3230 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3231
3232 2001-03-14 Gerd Moellmann <gerd@gnu.org>
3233
3234 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3235 FOR_DELETION. Avoid resizing the mini-window of the selected
3236 frame if FOR_DELETION is set.
3237 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3238 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3239 signature.
3240
3241 * window.c (Fset_window_configuration): Change call to
3242 do_switch_frame to new format.
3243
3244 * keyboard.c (quit_throw_to_read_char): Change call to
3245 do_switch_frame to new format.
3246
3247 * lisp.h (do_switch_frame): Change prototype.
3248
3249 * frame.c (Fframe_parameters): In the `buffer-list' frame
3250 parameter, store the buffer list of FRAME, not the list of the
3251 selected frame.
3252
3253 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3254 box just because the glyph row's full_width_p flag is set.
3255
3256 2001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3257
3258 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3259 skip the padding blanks inserted in extend_face_to_end_of_line,
3260 before checking for trailing whitespace.
3261
3262 2001-03-13 Gerd Moellmann <gerd@gnu.org>
3263
3264 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
3265 Remove special handling for LessTif/Motif.
3266 (toplevel): Don't include Xm/Xm.h.
3267
3268 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3269 Remove workaround code for LessTif; it doesn't work anymore.
3270
3271 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
3272 Xm/ScrollBarP.h.
3273
3274 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3275 Don't access private scroll bar data; it's no longer necessary with
3276 contemporary LessTif.
3277
3278 * xfaces.c (xm_set_menu_resources_from_menu_face):
3279 Change #if 0 to #ifndef LESSTIF_VERSION.
3280
3281 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3282 removing button grabs.
3283
3284 2001-03-13 Kenichi Handa <handa@etl.go.jp>
3285
3286 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3287 and clip-large-size-font as obsolete.
3288
3289 * lread.c (read_multibyte): Check the validity of multibyte
3290 sequence. If invalid, return the first byte.
3291
3292 2001-03-12 Gerd Moellmann <gerd@gnu.org>
3293
3294 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3295 before running the command; timer functions or process
3296 filters may have set it.
3297
3298 2001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3299
3300 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3301 Doc fix.
3302
3303 2001-03-12 Gerd Moellmann <gerd@gnu.org>
3304
3305 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3306 to sprintf.
3307
3308 2001-03-09 Gerd Moellmann <gerd@gnu.org>
3309
3310 * dispextern.h (string_buffer_position): Add prototype.
3311
3312 * xdisp.c (string_buffer_position, display_prop_string_p)
3313 (single_display_prop_string_p): New functions.
3314
3315 * xterm.c (note_mouse_highlight): If there's no help-echo on
3316 a string, look at the buffer text ``under'' it.
3317
3318 * keyboard.c (make_lispy_event): Add string info to the event,
3319 analogous to what's done on mode lines.
3320 (read_key_sequence): For a click on a string, consider `local-map'
3321 and `keymap' of that string.
3322
3323 * keyboard.c (make_lispy_event, make_lispy_movement):
3324 Adjust calls to buffer_posn_from_coords to new format.
3325
3326 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3327
3328 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3329 POS; return void.
3330
3331 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3332 flags argument to emacs_open; it seems to conflict with O_EXCL.
3333
3334 2001-03-09 Kenichi Handa <handa@etl.go.jp>
3335
3336 * composite.h (struct composition): Change types of members;
3337 glyph_len to unsigned, width to unsigned short.
3338
3339 2001-03-08 Andrew Innes <andrewi@gnu.org>
3340
3341 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3342 menu titles.
3343
3344 2001-03-08 Gerd Moellmann <gerd@gnu.org>
3345
3346 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3347 instead of nil.
3348
3349 * xterm.c (note_mouse_highlight): Handle mouse-face and
3350 help-echo in strings.
3351 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3352 (fast_find_string_pos): New function.
3353
3354 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3355 (display_string): Call face_at_string_position with new parameter.
3356
3357 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3358 Handle `mouse-face'.
3359
3360 * dispextern.h (face_at_string_position): Change prototype.
3361
3362 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
3363
3364 * keyboard.c (make_lispy_event): Avoid generating drag events
3365 if the mouse hasn't actually moved to another buffer position.
3366
3367 2001-03-08 Dave Love <fx@gnu.org>
3368
3369 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
3370
3371 2001-03-08 Gerd Moellmann <gerd@gnu.org>
3372
3373 * process.c (Fset_process_window_size): Fix a typo.
3374
3375 2001-03-08 Kenichi Handa <handa@etl.go.jp>
3376
3377 * coding.c (detect_coding_sjis): Do more rigid check.
3378 (detect_coding_big5): Likewise.
3379 (decode_coding_sjis_big5): Likewise.
3380 (Fdetect_coding_region): Call detect_coding_system with tailing
3381 anchor byte `\0' for more rigid detection.
3382 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
3383 (Fdetect_coding_string): Likewise.
3384
3385 2001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3386
3387 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3388 a string before extracting its data.
3389
3390 2001-03-07 Gerd Moellmann <gerd@gnu.org>
3391
3392 * window.c (Frecenter): Rewrite code handling negative values
3393 of ARG on graphical frames.
3394
3395 2001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3396
3397 * window.c (displayed_window_lines): If W->start is outside the
3398 accessible portion of the buffer, call start_display with BEGV or
3399 ZV instead of W->start.
3400
3401 2001-03-07 Gerd Moellmann <gerd@gnu.org>
3402
3403 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3404
3405 * process.c (Fset_process_filter): Don't crash if the input
3406 file descriptor of PROCESS is closed.
3407 (Fset_process_window_size): Likewise.
3408
3409 2001-03-06 Kenichi Handa <handa@etl.go.jp>
3410
3411 * xterm.c (XTflash): Make the timeout of select shorter, and call
3412 select repeatedly until the desired time expires.
3413
3414 2001-03-06 Gerd Moellmann <gerd@gnu.org>
3415
3416 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3417
3418 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3419
3420 * lisp.h (Vwindow_list): Declare extern.
3421
3422 2001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3423
3424 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3425
3426 2001-03-06 Gerd Moellmann <gerd@gnu.org>
3427
3428 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3429 to detect a case where we have to highlight a different region
3430 despite not having left the currently highlighted region.
3431 Set mouse_face_overlay in the x_display_info.
3432 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
3433
3434 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3435
3436 * buffer.c (mouse_face_overlay_overlaps): New function.
3437
3438 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3439 (Qmouse_face): Declare extern.
3440
3441 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3442 if face_change_count is non-zero.
3443
3444 2001-03-06 Kenichi Handa <handa@etl.go.jp>
3445
3446 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3447 that the source is unibyte.
3448
3449 2001-03-05 Dave Love <fx@gnu.org>
3450
3451 * xterm.c (XTmouse_position): Fix typo.
3452
3453 2001-03-05 Gerd Moellmann <gerd@gnu.org>
3454
3455 * minibuf.c (read_minibuf): Clean up the binding stack if
3456 called noninteractively.
3457
3458 2001-03-05 Kenichi Handa <handa@etl.go.jp>
3459
3460 * coding.c (syms_of_coding): Docstring modified.
3461
3462 2001-03-05 Kenichi Handa <handa@etl.go.jp>
3463
3464 * charset.c (char_to_string): If a single byte char has modifier
3465 bits that can't be reflected to the character code, ignore them
3466 instead of signaling an error.
3467
3468 2001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3469
3470 * s/msdos.h: Update copyright notice.
3471
3472 * dosfns.h: Update copyright notice.
3473
3474 * dosfns.c: Update copyright notice.
3475
3476 * msdos.c: Update copyright notice.
3477
3478 2001-03-02 Gerd Moellmann <gerd@gnu.org>
3479
3480 * xterm.c (glyph_rect): New function.
3481 (XTmouse_position): Use it to raise the threshold for mouse
3482 movement event generation.
3483
3484 2001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3485
3486 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3487 specifies (reverse . t), reverse the initial screen colors.
3488 (IT_set_frame_parameters): If the property is foreground-color,
3489 but we are reversing the colors, set bg_set, not fg_set.
3490 Likewise for setting background-color and reversing: set fg_set.
3491 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
3492 in effect.
3493
3494 * xfaces.c (Finternal_set_lisp_face_attribute)
3495 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3496 parameters alist.
3497
3498 2001-03-02 Gerd Moellmann <gerd@gnu.org>
3499
3500 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3501 to a single slash in the middle of file names.
3502
3503 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
3504 Accept only alphanumeric time zone names.
3505
3506 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3507 or width area.
3508 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3509 a widget to zero height.
3510
3511 2001-03-01 Gerd Moellmann <gerd@gnu.org>
3512
3513 * window.c (Fwindow_end): Call move_it_past_eol only if
3514 ending up on a partially visible line.
3515
3516 2001-03-01 Dave Love <fx@gnu.org>
3517
3518 * ccl.c (Fccl_execute): Doc fix.
3519
3520 2001-03-01 Gerd Moellmann <gerd@gnu.org>
3521
3522 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3523 of the tool bar before calling x_figure_window_size.
3524
3525 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3526 NULL after destroying it, otherwise XTread_socket can access a
3527 destroyed widget when input is unblocked.
3528
3529 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
3530
3531 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3532 same name as before, although there was a change in fontsets.
3533
3534 2001-02-28 Ken Raeburn <raeburn@gnu.org>
3535
3536 * lisp.h (Fframe_parameter): Declare.
3537
3538 * window.c (set_window_buffer): Field vscroll is an int, not a
3539 Lisp_Object.
3540
3541 2001-02-28 Gerd Moellmann <gerd@gnu.org>
3542
3543 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3544 NULL instead.
3545
3546 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3547 NULL instead.
3548
3549 * alloc.c (toplevel): Include process.h.
3550 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3551 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3552 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
3553 (allocate_vector, allocate_hash_table, allocate_window)
3554 (allocate_frame, allocate_process, allocate_other_vector):
3555 New functions.
3556 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3557 (mark_maybe_pointer): New function.
3558 (mark_memory): Also mark Lisp data to which only pointers
3559 remain and not Lisp_Objects.
3560 (min_heap_address, max_heap_address): New variables.
3561 (mem_find): Return MEM_NIL if START is below min_heap_address or
3562 above max_heap_address.
3563 (mem_insert): Compute min_heap_address and max_heap_address.
3564
3565 * process.c (make_process): Use allocate_process.
3566
3567 * frame.c (make_frame): Use allocate_frame.
3568
3569 * window.c (make_window, make_dummy_parent): Use allocate_window.
3570 (Fcurrent_window_configuration): Use allocate_other_vector.
3571
3572 * lisp.h (allocate_vectorlike): Remove prototype.
3573 (allocate_vector, allocate_other_vector, allocate_frame)
3574 (allocate_window, allocate_process, allocate_hash_table):
3575 Add prototypes.
3576
3577 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3578 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3579
3580 2001-02-27 Kenichi Handa <handa@etl.go.jp>
3581
3582 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3583 treat the produced bytes as a valid multibyte sequence.
3584
3585 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
3586 (ccl_driver) <CCL_WriteMultibyteChar2>:
3587 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
3588 <ccl_finish>: Set ccl->eight_bit_control properly.
3589
3590 * ccl.h (struct ccl_program): New member eight_bit_control.
3591
3592 2001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3593
3594 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3595 accessible_keymaps_char_table.
3596 (accessible_keymaps_char_table): Obey `is_metized'.
3597 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3598 Lisp_Object.
3599
3600 2001-02-26 Gerd Moellmann <gerd@gnu.org>
3601
3602 * dispnew.c: Check HAVE_TERM_H before including term.h.
3603
3604 2001-02-24 Andrew Innes <andrewi@gnu.org>
3605
3606 * makefile.w32-in: Update copyright notice.
3607
3608 2001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3609
3610 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3611
3612 2001-02-24 Kenichi Handa <handa@etl.go.jp>
3613
3614 * Makefile.in (lisp): Add international/utf-8.elc.
3615
3616 * fontset.c (Fnew_fontset): Fix handling of the case that an
3617 element of FONTLIST is a cons of family and registry.
3618
3619 2001-02-23 Jason Rumney <jasonr@gnu.org>
3620
3621 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3622 to height unconditionally.
3623
3624 * w32term.c (x_set_glyph_string_background_width): Extend the
3625 background face to the end of the drawing area in the text area, only.
3626 (x_insert_glyphs): Call window_box_left to obtain the left
3627 x-coordinate of the area to shift.
3628
3629 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3630 safe_run_hooks.
3631
3632 2001-02-22 Andrew Innes <andrewi@gnu.org>
3633
3634 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
3635 ($(BLD)\dispnew.obj):
3636 ($(BLD)\editfns.obj):
3637 ($(BLD)\fileio.obj):
3638 ($(BLD)\filelock.obj):
3639 ($(BLD)\keyboard.obj):
3640 ($(BLD)\w32proc.obj):
3641 ($(BLD)\process.obj):
3642 ($(BLD)\sysdep.obj): Ditto.
3643
3644 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3645 header files.
3646 ($(BLD)/dispnew.$(O)):
3647 ($(BLD)/editfns.$(O)):
3648 ($(BLD)/fileio.$(O)):
3649 ($(BLD)/filelock.$(O)):
3650 ($(BLD)/keyboard.$(O)):
3651 ($(BLD)/w32proc.$(O)):
3652 ($(BLD)/process.$(O)):
3653 ($(BLD)/sysdep.$(O)): Ditto.
3654
3655 2001-02-22 Gerd Moellmann <gerd@gnu.org>
3656
3657 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3658 at the start of the function, check that the \n in it->c is
3659 from the iterator's current position.
3660
3661 * xdisp.c (handle_single_display_prop): Add parameter
3662 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3663 properties which replace the display of text with something else.
3664 (handle_display_prop): Call handle_single_display_prop with
3665 additional argument saying if we already replaced text display
3666 with something else. Use AREF.
3667 (with_echo_area_buffer_unwind_data, display_menu_bar)
3668 (decode_mode_spec_coding): Use AREF and ASIZE.
3669
3670 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3671 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3672 * vmstime.h: Files removed.
3673
3674 * unexencap.c, unexfx2800.c: Files removed.
3675
3676 * dispnew.c (direct_output_for_insert): Give up if we are showing
3677 a message or just cleared the message because we might need to
3678 resize the echo area window or display an empty echo area.
3679
3680 2001-02-21 Gerd Moellmann <gerd@gnu.org>
3681
3682 * xdisp.c (redisplay_internal): Do the
3683 mark_window_display_accurate after all windows have been
3684 redisplayed because this call resets flags in buffers which are
3685 needed for proper redisplay.
3686
3687 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3688 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
3689 the old names.
3690
3691 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3692 busy_window to hourglass_window, busy_p to hourglass_p.
3693
3694 * msdos.h (struct x_output): Rename busy_window to
3695 hourglass_window, busy_p to hourglass_p.
3696
3697 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3698 busy_window to hourglass_window, busy_p to hourglass_p.
3699
3700 * xfns.c: Rename everything containing *busy_cursor* and similar
3701 to *hourglass*.
3702 (syms_of_w32fns): Rename x-busy-pointer-shape to
3703 x-hourglass-pointer-shape, display-busy-cursor to
3704 display-hourglass, busy-cursor-delay to hourglass-delay.
3705
3706 * w32fns.c: Rename everything containing *busy_cursor* and similar
3707 to *hourglass*.
3708 (syms_of_w32fns): Rename x-busy-pointer-shape to
3709 x-hourglass-pointer-shape, display-busy-cursor to
3710 display-hourglass, busy-cursor-delay to hourglass-delay.
3711
3712 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3713 of its busy_p flag.
3714
3715 * dispextern.h (start_hourglass, cancel_hourglass)
3716 (display_hourglass_p): Renamed from *busy_cursor*.
3717
3718 2001-02-20 Gerd Moellmann <gerd@gnu.org>
3719
3720 * keyboard.c (read_char): When an event from unread-command-events
3721 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3722
3723 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3724 equal to the current buffer.
3725
3726 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3727 nil, otherwise we're left with truncate_lines t when a message
3728 is printed with message-truncate-lines bound to t.
3729
3730 2001-02-19 Gerd Moellmann <gerd@gnu.org>
3731
3732 * window.c (Fmove_to_window_line): Undo last change.
3733 (displayed_window_lines): Call line_bottom_y to determine
3734 the line's bottom position.
3735
3736 * dispextern.h (line_bottom_y): Add prototype.
3737
3738 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
3739 (pos_visible_p): Use it.
3740
3741 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3742 set redisplaying_p to 0 here instead of in Frecursive_edit.
3743 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3744 set redisplaying_p.
3745
3746 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
3747 New variables.
3748 (syms_of_xdisp): Initialize new variables.
3749 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3750 Specbind `inhibit-menubar-update' when updating the menu bar.
3751
3752 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3753 safe_run_hooks.
3754
3755 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3756 safe_run_hooks.
3757
3758 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3759 is null.
3760
3761 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3762 to the start of the file.
3763
3764 2001-02-16 Gerd Moellmann <gerd@gnu.org>
3765
3766 * window.c (set_window_buffer): Fix last change.
3767
3768 * window.c (set_window_buffer): Set window's vscroll to 0.
3769
3770 * window.c (coordinates_in_window): Increase width of area
3771 where the vertical line can be dragged.
3772
3773 * xterm.c (x_set_glyph_string_background_width): Extend the
3774 background face to the end of the drawing area in the text
3775 area, only.
3776
3777 * xdisp.c (handle_single_display_prop): Set iterator's position
3778 to where the `display' property starts, like for images.
3779 (dump_glyph): New function.
3780 (dump_glyph_row): Use it. Dump info about marginal areas.
3781
3782 * dispnew.c (direct_output_for_insert): Recognize more cases where
3783 glyphs can be written instead of being inserted.
3784
3785 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3786 the left x-coordinate of the area to shift.
3787
3788 * dired.c (directory_files_internal): Set result list to nil
3789 before retrying.
3790
3791 2001-02-15 Kenichi Handa <handa@etl.go.jp>
3792
3793 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3794 invalid multibyte sequence, treat *SRC as a character of
3795 eight-bit-graphic.
3796
3797 2001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3798
3799 * textprop.c (Fset_text_properties): Doc fix.
3800
3801 2001-02-15 Gerd Moellmann <gerd@gnu.org>
3802
3803 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3804
3805 2001-02-14 Dave Love <fx@gnu.org>
3806
3807 * coding.c: Doc and message fixes.
3808
3809 2001-02-14 Andrew Innes <andrewi@gnu.org>
3810
3811 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3812 Emacs frame above the screen size.
3813
3814 2001-02-14 Gerd Moellmann <gerd@gnu.org>
3815
3816 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3817
3818 2001-02-13 Gerd Moellmann <gerd@gnu.org>
3819
3820 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3821 case that TO ends up beyond ZV after running before-change-functions.
3822
3823 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3824 the selected window if it is showing the buffer in question.
3825
3826 * dired.c (directory_files_internal): Initialize errno.
3827 (toplevel): Include errno.h.
3828
3829 2001-02-13 Kenichi Handa <handa@etl.go.jp>
3830
3831 * xfaces.c (best_matching_font): New parameter width_ratio.
3832 Multiply avgwidth by width_ratio.
3833 (choose_face_font): Call best_matching_font with width_ratio
3834 calculated from the column width of C.
3835
3836 2001-02-12 Andrew Innes <andrewi@gnu.org>
3837
3838 The following changes are to draw box lines inside characters area
3839 if line-width is negative.
3840
3841 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3842 face->box_line_width is negative.
3843 (x_produce_stretch_glyph): Likewise.
3844 (x_produce_glyphs): Likewise.
3845 (x_estimate_mode_line_height): Likewise.
3846 (x_draw_glyph_string_background): Likewise.
3847 (x_draw_glyph_string_foreground): Likewise.
3848 (x_draw_composite_glyph_string_foreground): Likewise.
3849 (x_draw_glyph_string_box): Likewise.
3850 (x_draw_image_foreground): Likewise.
3851 (x_draw_image_relief): Likewise.
3852 (x_draw_image_foreground_1): Likewise.
3853 (x_draw_image_glyph_string): Likewise.
3854
3855 2001-02-09 Kenichi Handa <handa@etl.go.jp>
3856
3857 The following changes are to draw box lines inside characters area
3858 if line-width is negative.
3859
3860 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3861 face->box_line_width is negative.
3862 (x_produce_stretch_glyph): Likewise.
3863 (x_produce_glyphs): Likewise.
3864 (x_estimate_mode_line_height): Likewise.
3865 (x_draw_glyph_string_background): Likewise.
3866 (x_draw_glyph_string_foreground): Likewise.
3867 (x_draw_composite_glyph_string_foreground): Likewise.
3868 (x_draw_glyph_string_box): Likewise.
3869 (x_draw_image_foreground): Likewise.
3870 (x_draw_image_relief): Likewise.
3871 (x_draw_image_foreground_1): Likewise.
3872 (x_draw_image_glyph_string): Likewise.
3873
3874 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3875 and :line-width can be negative.
3876 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
3877
3878 2001-02-09 Jason Rumney <jasonr@gnu.org>
3879
3880 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3881 characters the same as ASCII and latin-1.
3882 (x_display_and_set_cursor): Check for the focus frame's selected
3883 window instead of selected_window.
3884 (x_after_update_window_line): Don't clear if frame's internal
3885 border width is zero.
3886 (x_new_font): Don't change a tooltip's size.
3887 (w32_initialize): Set char_ins_del_ok to 1.
3888
3889 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3890 (x_set_font): If font hasn't changed, avoid recomputing
3891 faces and other things.
3892 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3893 (Fx_create_frame): Add the tool bar height to the frame height.
3894 (x_create_tip_frame): Prevent changing the tooltip's
3895 background color by specifying a color for the default font
3896 in .Xdefaults.
3897 (Qcancel_timer): New variable.
3898 (syms_of_w32fns): Initialize and staticpro it.
3899 (Fx_hide_tip, Fx_show_tip): Use it.
3900 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3901 the timer.
3902 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3903
3904 * w32.c (init_environment): Duplicate local string before putenv.
3905
3906 2001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3907
3908 * charset.c (Fstring): A typo.
3909
3910 2001-02-09 Kenichi Handa <handa@etl.go.jp>
3911
3912 * charset.c (Fstring): If all arguments are less than 256, return
3913 a unibyte string.
3914
3915 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3916 return a unibyte string.
3917
3918 * coding.c (code_convert_region): After detecting a coding, if
3919 nothing found, set coding->composing to COMPOSITION_NO.
3920 (decode_coding_string): Likewise.
3921
3922 2001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3923
3924 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3925 to avoid overflow.
3926
3927 2001-02-07 Kenichi Handa <handa@etl.go.jp>
3928
3929 * charset.c (parse_str_to_multibyte): New function.
3930
3931 * charset.h (parse_str_to_multibyte): Extern it.
3932
3933 * print.c (print_string): If we are going to print a unibyte
3934 string into a multibyte buffer, convert the string to multibyte by
3935 str_to_multibyte.
3936
3937 2001-02-06 Andrew Innes <andrewi@gnu.org>
3938
3939 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3940 been created. It seems we can get sent window messages such as
3941 WM_ERASEBKGND before we properly update a frame.
3942
3943 2001-02-06 Gerd Moellmann <gerd@gnu.org>
3944
3945 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3946 Avoid some unnecessary cursor positioning.
3947
3948 2001-02-05 Gerd Moellmann <gerd@gnu.org>
3949
3950 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
3951 (LFACE_AVGWIDTH): New macro.
3952 (LFACEP): Use AREF.
3953 (check_lface_attrs): Check LFACE_AVGWIDTH.
3954 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3955 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3956 (merge_face_vectors): Check LFACE_AVGWIDTH.
3957 (Finternal_make_lisp_face): Use AREF.
3958 (xm_set_menu_resources_from_menu_face)
3959 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3960 (Finternal_lisp_face_empty_p): Use AREF.
3961 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3962 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3963 Compare average widths..
3964 (best_matching_font): Arrange for comparing average widths.
3965
3966 * dispextern.h (enum lface_attribute_index):
3967 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3968
3969 2001-02-05 Dave Love <fx@gnu.org>
3970
3971 * puresize.h: Revert last change following loadup.el change.
3972
3973 2001-02-05 Andrew Innes <andrewi@gnu.org>
3974
3975 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3976 invocation of temacs, to work with Windows 2000.
3977 (bootstrap-emacs): Ditto.
3978
3979 2001-02-05 Gerd Moellmann <gerd@gnu.org>
3980
3981 * xterm.c (x_display_and_set_cursor): Check for the focus
3982 frame's selected window instead of selected_window.
3983
3984 * xdisp.c (try_scrolling): If point is in the line below the
3985 window, make sure to move the iterator at least a canonical
3986 char height down.
3987
3988 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
3989
3990 2001-02-05 Kenichi Handa <handa@etl.go.jp>
3991
3992 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3993 If invalid, execute CCL_INVALID_CMD.
3994 (ccl_driver): If the CCL program is terminated because of
3995 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3996 destination instead of throwing them away.
3997
3998 2001-02-02 Gerd Moellmann <gerd@gnu.org>
3999
4000 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4001 faces and other things.
4002
4003 * xdisp.c (get_next_display_element): Fix case of empty
4004 display table entry.
4005
4006 2001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4007
4008 * editfns.c (Fconstrain_to_field): Doc fix.
4009
4010 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4011 into `thoroughly', to make it consistent with the doc string.
4012
4013 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4014
4015 2001-02-01 Gerd Moellmann <gerd@gnu.org>
4016
4017 * search.c (search_buffer): Call set_search_regs with a byte
4018 position, not a character position.
4019
4020 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4021 minibuffer-only,
4022
4023 2001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4024
4025 * frame.c (Fmodify_frame_parameters): Doc fix.
4026
4027 2001-01-31 Gerd Moellmann <gerd@gnu.org>
4028
4029 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4030 identifier which is not reserved by Standard C.
4031
4032 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4033
4034 * window.c (enum window_part): New enumeration.
4035 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4036 Qright_bitmap_area.
4037 (coordinates_in_window): Return an enumerator from enum
4038 window_part. Fix handling of right scroll bar.
4039 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4040 `right-fringe' instead of `left-bitmap-area' and
4041 `right-bitmap-area'. Use enumerators from enum window_part
4042 instead of hard-coded integers.
4043 (check_window_containing, window_from_coordinates):
4044 Use enumerators from enum window_part instead of hard-coded integers.
4045 (syms_of_window): Replace Qleft_bitmap_area and
4046 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4047
4048 2001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4049
4050 * editfns.c (Fformat_time_string): Doc fix.
4051
4052 2001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4053
4054 * keymap.c (Fwhere_is_internal): Use the first valid binding
4055 if no ascii binding is found (when firstonly is t).
4056
4057 2001-01-31 Gerd Moellmann <gerd@gnu.org>
4058
4059 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4060 instead of Finteractive_p.
4061
4062 * lisp.h (interactive_p): Add prototype.
4063
4064 * eval.c (interactive_p): New function.
4065 (Finteractive_p): Use it.
4066
4067 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4068
4069 2001-01-31 Dave Love <fx@gnu.org>
4070
4071 * .gdbinit (hook-run): Define to run xreload.
4072
4073 * textprop.c (Fset_text_properties): Fix newline in doc string.
4074
4075 2001-01-30 Gerd Moellmann <gerd@gnu.org>
4076
4077 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4078 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
4079
4080 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
4081 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
4082 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4083
4084 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4085 height.
4086
4087 2001-01-30 Dave Love <fx@gnu.org>
4088
4089 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4090 AFTER_POTENTIAL_GC.
4091
4092 2001-01-29 Gerd Moellmann <gerd@gnu.org>
4093
4094 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4095 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
4096
4097 2001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4098
4099 * textprop.c (Fset_text_properties): Doc fix.
4100
4101 2001-01-29 Gerd Moellmann <gerd@gnu.org>
4102
4103 * xdisp.c (forward_to_next_line_start): Remove xassert.
4104
4105 2001-01-29 Jason Rumney <jasonr@gnu.org>
4106
4107 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
4108 returning without releasing it.
4109
4110 2001-01-29 Kenichi Handa <handa@etl.go.jp>
4111
4112 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4113 for '^', '$', and '\0'.
4114
4115 2001-01-28 Andrew Choi <akochoi@i-cable.com>
4116
4117 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4118 regex for '^', '$', and '\0'.
4119
4120 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4121 only if current_sblock has been initialized.
4122
4123 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4124 terminal frame even if it is the only visible frame.
4125
4126 2001-01-28 Kenichi Handa <handa@etl.go.jp>
4127
4128 * fontset.c (font_family_registry): Even if FONTNAME conform to
4129 XLFD, if it specifies other fields than family and registry,
4130 return FONTANME. New argument FORCE if nonzero cancel that feature.
4131 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
4132 a signle byte character. Don't set FAMILY part to nil here.
4133 It is handled by the caller choose_face_font.
4134 (Fnew_fontset): Call font_family_registry with FORCE 0.
4135 (Fset_fontset_font): Likewise.
4136
4137 2001-01-27 Gerd Moellmann <gerd@gnu.org>
4138
4139 * xdisp.c (display_line): Don't treat a newline as fitting
4140 on the line.
4141
4142 2001-01-26 Gerd Moellmann <gerd@gnu.org>
4143
4144 * window.c (size_window): Set the window's orig_top to nil when
4145 changing heights, so that a future shrink_mini_window won't
4146 restore a bogus height.
4147
4148 * frame.c (do_switch_frame): If selected frame has a mini-window,
4149 resize that to exact size.
4150
4151 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4152
4153 * xdisp.c (display_line): Simplify check for glyphs fitting
4154 entirely in the line.
4155
4156 * xfns.c (xic_style): New variable.
4157 (create_frame_xic): Move static variable to global scope for
4158 the case that `static' gets defined away.
4159
4160 2001-01-26 Kenichi Handa <handa@etl.go.jp>
4161
4162 * coding.c (decode_coding): Set a flag for inhibiting
4163 inconsistent eol.
4164 (code_convert_region): Always set saved_coding_symbol.
4165 (decode_coding_string): Likewise. Update coding->symbol when we
4166 encounter a inconsistent eol by the same way as code_convert_region.
4167
4168 2001-01-25 Gerd Moellmann <gerd@gnu.org>
4169
4170 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4171 XClearArea.
4172
4173 * xterm.c (x_after_update_window_line): Don't clear if frame's
4174 internal border width is zero.
4175 (x_clear_area): New function.
4176 (x_after_update_window_line, x_clear_end_of_line)
4177 (x_scroll_bar_create, x_scroll_bar_set_handle)
4178 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4179 instead of XClearArea.
4180
4181 * xterm.h (x_clear_area): Add prototype.
4182
4183 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4184 which doesn't seem necessary anymore with Lesstif 0.92.
4185
4186 2001-01-25 Dave Love <fx@gnu.org>
4187
4188 * puresize.h (BASE_PURESIZE): Up to 720000.
4189
4190 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4191
4192 2001-01-25 Gerd Moellmann <gerd@gnu.org>
4193
4194 * xdisp.c (echo_area_display): Don't call redisplay_internal
4195 when Emacs is shutting down. We can't run hooks etc. that
4196 would be necessary to do a redisplay.
4197
4198 * lread.c (read_integer): Use type EMACS_INT instead of int.
4199
4200 2001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4201
4202 * ccl.c (ccl_driver): Fix last change.
4203
4204 2001-01-25 Kenichi Handa <handa@etl.go.jp>
4205
4206 * ccl.h (sturct ccl_program): New member suppress_error.
4207
4208 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
4209 insert error message to the output.
4210 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4211
4212 * coding.h (struct coding_system): New member suppress_error.
4213
4214 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4215 (Fset_terminal_coding_system_internal): Set the member
4216 suppress_error to 1.
4217 (Fset_safe_terminal_coding_system_internal): Likewise.
4218
4219 2001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4220
4221 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4222 as if it was a `charset'.
4223
4224 2001-01-24 Gerd Moellmann <gerd@gnu.org>
4225
4226 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4227 value in where_is_cache; the next lookup in the cache returns
4228 something bogus if we do.
4229
4230 2001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4231
4232 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4233 if HAVE_WINDOW_SYSTEM isn't defined.
4234
4235 2001-01-24 Gerd Moellmann <gerd@gnu.org>
4236
4237 * fns.c (sweep_weak_table): Fix code taking items out of
4238 the hash collision chain. Some cleanup.
4239
4240 * xterm.c (x_new_font): Don't change a tooltip's size.
4241
4242 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4243 background color by specifying a color for the default font
4244 in .Xdefaults.
4245
4246 2001-01-24 Kenichi Handa <handa@etl.go.jp>
4247
4248 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4249 a workaround for SunOS 4's cc.
4250 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4251 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4252 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4253 statement.
4254
4255 2001-01-23 Gerd Moellmann <gerd@gnu.org>
4256
4257 * xterm.c (x_set_window_size_1): New function extracted from
4258 x_set_window_size.
4259 (x_set_window_size): Use it.
4260 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4261 doesn't have a widget, like tooltips.
4262
4263 2001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4264
4265 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
4266
4267 2001-01-23 Kenichi Handa <handa@etl.go.jp>
4268
4269 * fns.c (Fset_char_table_default): Fix to make sub char-table
4270 correctly.
4271
4272 2001-01-22 Gerd Moellmann <gerd@gnu.org>
4273
4274 * xdisp.c (build_desired_tool_bar_string): Make sure we have
4275 a desired tool bar string, even if there are no tool bar items.
4276
4277 * xdisp.c (Ftool_bar_lines_needed): New function.
4278 (syms_of_xdisp): Defsubr it.
4279
4280 * editfns.c (Fformat): Don't extend text properties from arguments
4281 to padding chars in the result.
4282
4283 2001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4284
4285 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4286
4287 2001-01-20 Andrew Innes <andrewi@gnu.org>
4288
4289 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
4290 (w32_initialize): Don't set term hooks that aren't actually needed
4291 in windowed mode.
4292
4293 * xfaces.c (realize_default_face):
4294 (realize_face):
4295 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4296
4297 * xdisp.c (handle_single_display_prop): Remove references to
4298 FRAME_W32_CONSOLE_P.
4299
4300 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
4301
4302 * frame.h (output_method): Remove output_w32_console method.
4303 (FRAME_W32_CONSOLE_P): Remove macro.
4304
4305 * frame.c (Qw32_console): Remove variable.
4306 (Fframep): Remove references to it.
4307 (syms_of_frame): Ditto.
4308 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4309
4310 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4311 redefinition.
4312
4313 2001-01-20 Kenichi Handa <handa@etl.go.jp>
4314
4315 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4316
4317 2001-01-19 Andrew Innes <andrewi@gnu.org>
4318
4319 * w32.c (init_environment): Add a version-independent site-lisp
4320 directory to EMACSLOADPATH, after the version dependent one.
4321
4322 2001-01-19 Gerd Moellmann <gerd@gnu.org>
4323
4324 * editfns.c (Fbuffer_substring): Doc fix.
4325
4326 * xdisp.c (message_dolog, message2, message2_nolog):
4327 Rename parameter LEN to NBYTES.
4328
4329 2001-01-19 Kenichi Handa <handa@etl.go.jp>
4330
4331 * charset.c (strwidth): Use c_string_width.
4332 (c_string_width): New function.
4333 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4334 Caller changed.
4335
4336 * charset.h (c_string_width, lisp_string_width): Extern them.
4337
4338 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
4339
4340 * indent.c (check_composition): Check validity of composition.
4341
4342 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4343 characters by calling c_string_width.
4344 (x_consider_frame_title): Get byte length of frame tile string
4345 correctly.
4346 (display_mode_element): Pay attention to width of non-ASCII
4347 characters by calling strwidth.
4348
4349 2001-01-18 Gerd Moellmann <gerd@gnu.org>
4350
4351 * xfns.c (Qcancel_timer): New variable.
4352 (syms_of_xfns): Initialize and staticpro it.
4353 (Fx_hide_tip, Fx_show_tip): Use it.
4354 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4355 the timer.
4356 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4357
4358 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4359
4360 * window.h (WINDOW_LIVE_P): New macro.
4361
4362 * window.c (window_size_fixed): New variable.
4363 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4364 the doc string.
4365
4366 * eval.c (specbind): If binding a per-buffer variable which
4367 doesn't have a buffer-local value in the current buffer, change
4368 the global value by changing the value of the symbol bound in all
4369 buffers not having their own value, to make it consistent with
4370 what happens with other buffer-local variables.
4371
4372 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4373
4374 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4375 when searching for a newline.
4376
4377 2001-01-18 Kenichi Handa <handa@etl.go.jp>
4378
4379 * xdisp.c (display_string): Fix previous change.
4380
4381 2001-01-18 Jason Rumney <jasonr@gnu.org>
4382
4383 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4384 GLYPH_DEBUG is defined.
4385 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4386 true for images with `:ascent 100'.
4387 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4388 meantime, use face MOUSE_FACE_ID.
4389 If first glyph isn't a character glyph, use the ASCII NUL
4390 character to determine the face.
4391 (expose_area): Do not treat left margin specially.
4392 (note_mode_line_highlight): If no local_map, check global keymap.
4393 (note_mouse_highlight): Initialize overlay.
4394 (clear_mouse_face): Don't return if tip_frame is non-nil.
4395 (show_scroll_bars): Remove unused function.
4396 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4397 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4398 Clip to row.
4399 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
4400 (x_free_frame_resources): Unload relief colors.
4401
4402 2001-01-17 Gerd Moellmann <gerd@gnu.org>
4403
4404 * xdisp.c (forward_to_next_line_start): Avoid calling
4405 get_next_display_element when the newline is already found.
4406 This may change the iterator's position, when its current position is
4407 equal to the iterator's stop_charpos.
4408
4409 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4410 zero, use this method only at the end of a line.
4411
4412 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
4413 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4414 if SCALABLE_FONTS_P is set.
4415
4416 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4417 so that scalable fonts are included.
4418
4419 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4420 In the cache, use a key containing the information if scalable
4421 fonts are included.
4422 (x_load_font): Adapt to change of keys in the font cache.
4423
4424 2001-01-17 Kim F. Storm <storm@filanet.dk>
4425
4426 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4427 XListFonts to take advantage of font caching.
4428
4429 * xterm.c (x_list_fonts): Ensure caching font information when
4430 called for a null frame, which is the case frequently when Emacs
4431 starts.
4432
4433 2001-01-17 Gerd Moellmann <gerd@gnu.org>
4434
4435 * xfns.c (QCconversion): Replaces QCalgorithm.
4436
4437 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4438
4439 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4440 of :algorithm.
4441
4442 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4443 not everything could be displayed.
4444
4445 * line.h, x-list-font.c: Files removed because unused.
4446
4447 2001-01-17 Andrew Innes <andrewi@gnu.org>
4448
4449 * dired.c (directory_files_internal): Convert result from readdir
4450 to a unibyte string initially, to avoid possible misinterpretation
4451 of some bytes as the internal form of Emacs characters.
4452
4453 2001-01-17 Kenichi Handa <handa@etl.go.jp>
4454
4455 * fns.c (concat): Be sure to avoid putting the same `composition'
4456 property on the adjacent regions.
4457
4458 2001-01-16 Gerd Moellmann <gerd@gnu.org>
4459
4460 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
4461 (Fscroll_right, Fscroll_left): Set it here instead, if called
4462 interactively.
4463
4464 * buffer.c (Fset_buffer_modified_p): Set buffer's
4465 prevent_redisplay_optimizations_p flag.
4466
4467 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
4468 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4469 with additional arg.
4470
4471 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4472 Change prototype.
4473
4474 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4475 FROM_WHERE, for debugging.
4476
4477 2001-01-16 Kenichi Handa <handa@etl.go.jp>
4478
4479 * ccl.c (Fregister_ccl_program): Handle the return value of
4480 resolve_symbol_ccl_program correctly.
4481 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
4482
4483 2001-01-15 Gerd Moellmann <gerd@gnu.org>
4484
4485 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4486 has gone in the meantime, use face MOUSE_FACE_ID.
4487
4488 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4489 If x_display_info_for_display returns null, don't try to close
4490 the display; we didn't open it.
4491
4492 * dispnew.c (save_or_restore_current_matrices): Function removed.
4493 (save_current_matrix, restore_current_matrix): New functions.
4494 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4495 restore the frame's current matrix. Due to the glyph pointer
4496 setup done in adjust_glyph_matrix, there is no easy way to make
4497 saving the current matrix in the desired matrix generally correct,
4498 so don't try it.
4499
4500 2001-01-15 Kenichi Handa <handa@etl.go.jp>
4501
4502 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4503 truncation glyphs.
4504 (display_line): Optimize for wide characters.
4505 (display_string): Don't try to display a multi-column character
4506 partially. On ttys, produce more than one truncation glyph for
4507 multi-column characters that don't fit on the line.
4508
4509 2001-01-13 Kenichi Handa <handa@etl.go.jp>
4510
4511 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4512 Define it instead of WORDS_BIGENDIAN. Caller changed.
4513
4514 2001-01-13 Jason Rumney <jasonr@gnu.org>
4515
4516 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4517 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
4518 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4519 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
4520
4521 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4522 (x_draw_image_relief, x_draw_image_foreground_1)
4523 (x_draw_image_glyph_string): Adapt to change of image margins.
4524
4525 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4526 variables.
4527
4528 * w32bdf.c (search_file_line, get_cached_font_char)
4529 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4530
4531 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4532
4533 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4534 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4535 (Fw32_send_sys_command): Remove unused variables.
4536 (w32_msg_pump): Add parentheses.
4537
4538 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4539 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4540 Add parentheses.
4541
4542 2001-01-12 Gerd Moellmann <gerd@gnu.org>
4543
4544 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4545 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4546 being a pair of margins.
4547 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4548 to DEFVAR_LISP. Extend doc.
4549
4550 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4551 margins.
4552 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4553 pair of integers `(X . Y)', use X for the horizontal and Y for the
4554 vertical margin.
4555 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4556 (parse_image_spec): Check it.
4557 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4558 (tiff_format, gif_format, gs_format):
4559 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
4560
4561 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4562 (x_draw_image_relief, x_draw_image_foreground_1)
4563 (x_draw_image_glyph_string): Adapt to the change of image margins.
4564
4565 * dispextern.h (struct image): Replace member `margin' with
4566 `hmargin' and `vmargin'.
4567
4568 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4569 and GLYPHS.
4570
4571 * dispnew.c (update_text_area): Put code which decrements the
4572 stop position when the row's face extends to the end of the
4573 line in #if 0.
4574
4575 * xfns.c (x_set_mouse_color): Fix color allocation.
4576
4577 * keyboard.c: Call get_local_map with new argument list.
4578
4579 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4580
4581 * intervals.h (enum map_property): Removed.
4582 (get_local_map): Change prototype.
4583
4584 * keymap.c: Call get_local_map with new argument list.
4585 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4586
4587 2001-01-11 Gerd Moellmann <gerd@gnu.org>
4588
4589 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4590 of the size needed for the tool bar string. For the last image,
4591 use a `display' property that reaches to the end of the string.
4592
4593 * xselect.c (selection_request_dpyinfo): New variable.
4594 (x_handle_selection_request): Set it.
4595 (x_selection_request_lisp_error): Don't call
4596 x_decline_selection_request if selection request's display has
4597 been closed.
4598
4599 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4600 Do the unregister_colors before calling XFreeColors.
4601
4602 2001-01-10 Dave Love <fx@gnu.org>
4603
4604 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4605 ${SOME_MACHINE_LISP}, not ${lisp}.
4606
4607 2001-01-10 Gerd Moellmann <gerd@gnu.org>
4608
4609 * xdisp.c (display_line): On ttys, produce more than one truncation
4610 glyph for multi-column characters that don't fit on the line.
4611
4612 * xselect.c (x_reply_selection_request): Add a comment.
4613
4614 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4615 XkbGetNames instead of XkbGetKeyboard.
4616
4617 2001-01-10 Dave Love <fx@gnu.org>
4618
4619 * sysdep.c (random): Revert the declaration.
4620
4621 2001-01-09 Gerd Moellmann <gerd@gnu.org>
4622
4623 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4624 Call function string_bytes.
4625 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4626
4627 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4628 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4629 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4630 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4631 the current sblock.
4632 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4633 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4634 after sweeping strings, and at the end.
4635 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4636
4637 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4638 ensure that pop_message is called.
4639
4640 * keyboard.c (Fexecute_extended_command): Use a
4641 record_unwind_protect to ensure that pop_message is called.
4642
4643 * lisp.h (push_message_unwind): Add prototype.
4644
4645 * xdisp.c (push_message_unwind): New function.
4646
4647 * fileio.c (do_auto_save_unwind): Do the pop_message here
4648 instead of in Fdo_auto_save.
4649 (Fdo_auto_save): Don't call pop_message.
4650
4651 2001-01-08 Ken Raeburn <raeburn@gnu.org>
4652
4653 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4654 in inner block.
4655
4656 2001-01-08 Gerd Moellmann <gerd@gnu.org>
4657
4658 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4659 when increasing window's vscroll.
4660
4661 * macros.c (Qkbd_macro_termination_hook): New variable.
4662 (syms_of_macros): Initialize and staticpro it.
4663 (pop_kbd_macro): Run kbd-macro-termination-hook.
4664
4665 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4666
4667 2001-01-07 Dave Love <fx@gnu.org>
4668
4669 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4670 arglist, for documentation's sake.
4671
4672 2001-01-06 Andrew Innes <andrewi@gnu.org>
4673
4674 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4675 of *.pdb.
4676
4677 2001-01-05 Andrew Innes <andrewi@gnu.org>
4678
4679 * term.c (update_end): Don't check updating_frame; for some reason
4680 this can be 0 sometimes, such as after dismissing a popup menu,
4681 and isn't necessary given the explicit frame argument.
4682
4683 2001-01-05 Gerd Moellmann <gerd@gnu.org>
4684
4685 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4686 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4687
4688 2001-01-04 Gerd Moellmann <gerd@gnu.org>
4689
4690 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
4691
4692 * xfns.c (x_create_tip_frame): Preserve the value of
4693 face_change_count around the creation of the tip frame.
4694
4695 * xfns.c (last_show_tip_args): New variable.
4696 (compute_tip_xy): New function.
4697 (Fx_show_tip): Reuse an existing tip frame, if possible.
4698 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4699
4700 2001-01-04 Dave Love <fx@gnu.org>
4701
4702 * editfns.c (Fformat): Doc fix.
4703
4704 * systime.h (set_file_times): Prototype.
4705
4706 * widget.h (EmacsFrameSetCharSize_): Prototype.
4707
4708 * sysdep.c (random, srandom): Declare explicitly.
4709
4710 * dispextern.h (move_it_vertically_backward): Declare.
4711
4712 2001-01-04 Gerd Moellmann <gerd@gnu.org>
4713
4714 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4715 like in Fx_create_frame.
4716
4717 * xfaces.c (set_font_frame_param): Don't do anything for
4718 non-graphical frames.
4719
4720 * window.c (Fdelete_other_windows): Set window's window_end_valid
4721 to nil when changing the window's start. Don't change the
4722 window's start when its top position hasn't changed. If we do,
4723 this will set the window's optional_new_start, which act's like a
4724 force_start during redisplay with C-x 1 M-> under particular
4725 circumstances (see report from Per Starback to emacs-pretest-bug
4726 from 2000-12-13.).
4727
4728 2001-01-03 Gerd Moellmann <gerd@gnu.org>
4729
4730 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4731 short cut at the start of the function. Add an assertion.
4732 (reseat_at_next_visible_line_start): Add an assertion.
4733
4734 * window.c (Frecenter): When changing the window start, set the
4735 window's window_end_valid to nil.
4736 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4737
4738 * dispextern.h (move_it_past_eol): Add prototype.
4739
4740 * xdisp.c (move_it_past_eol): New function.
4741
4742 * window.c (Fwindow_end): Doc fix.
4743
4744 2001-01-03 Dave Love <fx@gnu.org>
4745
4746 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
4747
4748 2001-01-03 Gerd Moellmann <gerd@gnu.org>
4749
4750 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4751 the enabled_p flag of the glyph row at window_end_vpos to 0.
4752 (handle_single_display_prop): Fix last change.
4753
4754 2001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4755
4756 * window.c (Frecenter): Doc fix.
4757
4758 2001-01-02 Andrew Innes <andrewi@gnu.org>
4759
4760 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4761
4762 * frame.h (output_method): Add output_w32_console method.
4763 (FRAME_W32_CONSOLE_P): New macro.
4764
4765 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4766 use output_w32_console method.
4767 (Qw32_console): New Lisp_Object.
4768 (Fframep): Return it.
4769 (syms_of_frame): Init it.
4770 (Fframe_parameters): Report w32console as font for w32_console frames.
4771
4772 * xfaces.c (realize_default_face): Set face foreground and
4773 background to unspecified for w32_console frames.
4774 (realize_face): Realize face cache for w32_console frames.
4775 (realize_tty_face): Accept w32_console frames.
4776
4777 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
4778 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4779 necessary, even if running interactively.
4780
4781 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4782 w32_console frames.
4783
4784 * w32term.c (x_update_begin):
4785 (x_update_end):
4786 (x_clear_frame):
4787 (x_ins_del_lines):
4788 (x_change_line_highlight):
4789 (x_delete_glyphs):
4790 (w32_ring_bell):
4791 (x_update_begin):
4792 (x_update_end):
4793 (w32_reassert_line_highlight):
4794 (w32_frame_rehighlight):
4795 (w32_frame_raise_lower): Do nothing if not w32 frame.
4796
4797 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4798
4799 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4800 system doesn't tell us directly.
4801 (Fx_display_visual_class): Implement properly.
4802
4803 2001-01-02 Gerd Moellmann <gerd@gnu.org>
4804
4805 * window.c (Frecenter): Handle centering in graphical frames
4806 specially. Centering on the basis of line counts doesn't work
4807 reliably with variable-height lines.
4808
4809 2001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4810
4811 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4812 and al[].
4813
4814 * composite.c (run_composition_function): Remove unused var `val'.
4815 (update_compositions): Remove unused variable `hook'.
4816
4817 * intervals.c (get_local_map): Remove unused variable `tem'.
4818
4819 * doprnt.c (doprnt1): Remove unused variable `size'.
4820
4821 * fns.c (Flength): Remove unused variable `tail'.
4822 (Fdelete): Remove unused variable `size'.
4823
4824 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4825 and `gcpro2'.
4826
4827 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
4828
4829 * data.c (find_symbol_value): Remove extra 3rd argument in the
4830 call to swap_in_symval_forwarding.
4831
4832 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
4833
4834 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4835 (trivial_regexp_p): Remove unused variable `c'.
4836 (boyer_moore): Remove unused variable `k'.
4837
4838 * indent.c (current_column): Remove unused variable `stopchar'.
4839 (Fcompute_motion): Remove unused variable `contin'.
4840
4841 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4842
4843 * dired.c (directory_files_internal): Fix a typo in a comment.
4844 Remove an unused variable `handler'.
4845 (file_name_completion): Remove unused function-scope variable `dp'.
4846 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4847 on BSD4_2.
4848
4849 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
4850
4851 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4852 and `buf'.
4853 (Fmarker_insertion_type): Remove unused variable `buf'.
4854
4855 * insdel.c (make_gap): Remove unused variable `result'.
4856
4857 * keyboard.c (record_char): Remove unused function-scope var `help'.
4858 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4859 (menu_bar_items): Remove unused function-scope variable `tem'.
4860
4861 * fontset.c (fontset_ref): Remove unused variable `i'.
4862 (fontset_set): Remove unused variables `j' and `tmp'.
4863 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
4864 (make_fontset_for_ascii_face): Remove unused variable `name'.
4865 (fs_load_font): Remove unused variable `font_idx'.
4866 (fs_query_fontset): Remove unused function-local variable `fontset'.
4867 (list_fontsets): Remove unused variable `tail'.
4868 (Fnew_fontset): Remove unused variables `family' and `registry'.
4869 (accumulate_font_info): Remove unused variable `tmp'.
4870 (Ffontset_font): Remove unused variable `id'.
4871 (syms_of_fontset): Remove unused variable `i'.
4872
4873 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4874 to x_term_init.
4875 (lookup_image): Remove unused variable `file'.
4876 (xbm_load): Remove unused variables `bitmap_data', `height', and
4877 `width'. Remove function-local variable `i', leave the
4878 block-local one.
4879 (gif_load): Remove unused variable `inc'.
4880
4881 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
4882 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4883 leave only the one in the inner block.
4884
4885 * xfaces.c (face_fontset, realize_default_face): Remove unused
4886 variable `fontset'.
4887 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4888
4889 * term.c (encode_terminal_code): Remove unused variable `c'.
4890
4891 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4892 char *' instead of `char *'.
4893
4894 * category.c (Fcategory_docstring): Remove unused variable `doc'.
4895 (Fget_unused_category): Remove unused variable `docstring_vector'.
4896 (Fchar_category_set): Remove unused variables `val', `charset',
4897 `c1' and `c2'.
4898
4899 * coding.c (detect_coding_iso2022, setup_coding_system):
4900 Remove unused variable `i'.
4901 (detect_coding_mask): Remove unused variable `idx'.
4902 (detect_coding): Remove unused variable `i'.
4903 (ccl_coding_driver): Remove unused variable `result'.
4904 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
4905 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
4906 (encode_coding_string): Remove unused variables `gcpro1' and
4907 `saved_coding_symbol'.
4908 (Ffind_coding_systems_region_internal): Remove function-local
4909 variable args[], leave only the block-local one.
4910 (code_convert_region1): Remove unused variable `len'.
4911
4912 * charset.c (char_printable_p): Remove unused variable `chars'.
4913 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4914 (str_to_multibyte): Remove unused variable `c'.
4915
4916 * window.c (size_window): Remove block-local variable `min_size'.
4917
4918 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4919 `header_line_height'.
4920 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4921 enum display_element_type.
4922
4923 2001-01-02 Gerd Moellmann <gerd@gnu.org>
4924
4925 * xterm.c (x_connection_closed): Catch X errors around all
4926 statements that call X. Save away the error message in a local copy.
4927
4928 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4929 the start.
4930
4931 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4932 in or at the start of invisible text.
4933
4934 * dispnew.c (update_window): Don't check_current_matrix_flags.
4935
4936 2001-01-01 Jason Rumney <jasonr@gnu.org>
4937
4938 * w32fns.c (x_figure_window_size): Do not allow new_height and
4939 new_width of frame to override specified values.
4940
4941 2000-12-30 Kenichi Handa <handa@etl.go.jp>
4942
4943 * composite.c (find_composition): Fix a code for searching backward.
4944
4945 2000-12-29 Gerd Moellmann <gerd@gnu.org>
4946
4947 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
4948 (update_window) [GLYPH_DEBUG]: Call it.
4949 (scrolling_window): Prevent including current rows which are below
4950 what's displayed in the window.
4951
4952 * xdisp.c (try_window_reusing_current_matrix)
4953 <new start <= old start>: Disable rows in the current matrix
4954 which are below the window after scrolling.
4955
4956 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4957 is zero. It's not worth the complexity.
4958 (invisible_text_between_p): Put in #if 0 because unused.
4959
4960 2000-12-28 Gerd Moellmann <gerd@gnu.org>
4961
4962 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4963 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4964
4965 * keyboard.c (echo_char): If C is an integer, always call
4966 push_key_description. Former code could signal an invalid
4967 character error.
4968
4969 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4970 If set, print multibyte text.
4971 (Fsingle_key_description): Call push_key_description with
4972 FORCE_MULTIBYTE set.
4973 (describe_buffer_bindings): Likewise.
4974
4975 * lisp.h (push_key_description): Add prototype.
4976
4977 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4978 around the call to redisplay_internal.
4979
4980 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4981
4982 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4983
4984 2000-12-28 Kenichi Handa <handa@etl.go.jp>
4985
4986 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4987 (ccl_driver): New local variable `extra_bytes'.
4988
4989 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4990
4991 * coding.c (setup_coding_system):
4992 Initialize coding->spec.ccl.eight_bit_carryover.
4993 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4994
4995 2000-12-28 Kenichi Handa <handa@etl.go.jp>
4996
4997 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4998 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4999 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5000 (decode_composition_emacs_mule): New function.
5001 (decode_coding_emacs_mule): Decode composition sequence by calling
5002 decode_composition_emacs_mule.
5003 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
5004 (encode_coding_emacs_mule): Changed from macro to function.
5005 If a text contains compositions, encode them correctly.
5006 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5007 that decoding and encoding are required.
5008
5009 2000-12-27 Gerd Moellmann <gerd@gnu.org>
5010
5011 * xfaces.c (PT_PER_INCH): New macro.
5012 (xlfd_point_size): Compute real point size from font's pixel size.
5013 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5014 instead of 72.
5015
5016 * .gdbinit: Comment out the line pointing to the Lesstif source
5017 directory.
5018
5019 * window.c (Frecenter): Use displayed_window_lines instead
5020 of window_internal_height.
5021
5022 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5023 instead of x-toolkit-scroll-bars-p.
5024 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5025
5026 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5027 instead of x-toolkit-scroll-bars-p.
5028 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5029
5030 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5031 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
5032 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5033 New variables.
5034 (add_window_display_history, add_frame_display_history)
5035 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5036 (build_frame_matrix_from_leaf_window): Remove unused code.
5037 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5038 redisplay history.
5039 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5040 (update_window) [GLYPH_DEBUG]: Likewise.
5041 (syms_of_display): Defsubr dump-redisplay-history.
5042
5043 2000-12-23 Gerd Moellmann <gerd@gnu.org>
5044
5045 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5046 the end of the prompt. Set echo_after_prompt to the offset
5047 of echoptr in echobuf.
5048
5049 * xdisp.c (init_from_display_pos): Pop until the iterator's
5050 stack is empty; there may be frames for stretch or images
5051 on the stack.
5052
5053 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5054 (save_or_restore_current_matrix): New function for the same
5055 purpose, but more efficient.
5056 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5057
5058 2000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5059
5060 * xdisp.c (syms_of_xdisp): Fix last change.
5061
5062 2000-12-23 Gerd Moellmann <gerd@gnu.org>
5063
5064 * xdisp.c (syms_of_xdisp): Doc fix.
5065
5066 * xdisp.c (redisplay_window): Remove label restore_buffers;
5067 use finish_scroll_bars instead to make sure that scroll bars
5068 are redeemed. If we don't do this, flickering can result from
5069 scroll bars being destroyed and recreated.
5070
5071 2000-12-22 Jason Rumney <jasonr@gnu.org>
5072
5073 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5074 in the wrong colors when the foreground is not black.
5075 (expose_window): Don't redraw the window that's currently being
5076 updated.
5077
5078 2000-12-22 Gerd Moellmann <gerd@gnu.org>
5079
5080 * window.c (size_window): When setting the window's too_small_ok
5081 flag, compare old size with minimum size depending on WIDTH_P,
5082 don't compare with window_min_width.
5083
5084 * window.c (delete_window): Simplify somewhat.
5085 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5086 freeing window matrices. The flag windows_or_buffers_changed is
5087 set, so the next redisplay will consider all windows; this should
5088 suffice.
5089
5090 2000-12-22 Kenichi Handa <handa@etl.go.jp>
5091
5092 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5093
5094 * ccl.h (struct ccl_program): New member cr_consumed.
5095
5096 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5097 (CCL_READ_CHAR): Handle EOL conversion here.
5098 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5099
5100 2000-12-21 Gerd Moellmann <gerd@gnu.org>
5101
5102 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
5103
5104 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5105 otherwise tabs of different size compare equal.
5106
5107 * callint.c (Fcall_interactively): Prevent a compiler warning.
5108
5109 * print.c (print_unwind): Return nil.
5110 (PRINTDECLARE): Initialize all local variables.
5111 (print_preprocess): Add a default case.
5112
5113 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5114
5115 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5116
5117 * window.c (delete_window, Fsplit_window)
5118 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5119
5120 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5121
5122 * dispnew.c (ensure_frame_matrix): Removed.
5123 (save_frame_matrix, restore_frame_matrix): New functions.
5124 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5125
5126 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5127 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5128
5129 2000-12-21 Andrew Innes <andrewi@gnu.org>
5130
5131 * w32term.c (x_update_begin): Regenerate the palette here, rather
5132 than for each window.
5133
5134 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5135 palette is NULL, since this corrupts memory! Also get
5136 display_info reference from frame.
5137
5138 2000-12-21 Jason Rumney <jasonr@gnu.org>
5139
5140 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5141
5142 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5143 to avoid returning without releasing it.
5144
5145 2000-12-21 Kenichi Handa <handa@etl.go.jp>
5146
5147 * keymap.c (push_key_description): Don't convert eight-bit-control
5148 and eight-bit-graphic to multibyte character.
5149
5150 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5151 generic character and CODE1 is nil, return the smallest character
5152 in CHARSET.
5153
5154 2000-12-20 Dave Love <fx@gnu.org>
5155
5156 * s/osf5-0.h (NSIG): Don't redefine.
5157
5158 2000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5159
5160 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5161 excluding menu-bar and tool-bar.
5162 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5163 (menu_item_p): Remove.
5164 (where_is_internal_1): Don't ignore menu-items.
5165
5166 2000-12-20 Gerd Moellmann <gerd@gnu.org>
5167
5168 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5169 into account.
5170
5171 * window.c (make_window): Initialize window's min_hscroll.
5172 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5173 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5174 to zero.
5175 (struct saved_window): New member min_hscroll.
5176 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5177 (Fset_window_configuration): Set window's min_hscroll.
5178 (save_window_save): Save window's min_hscroll.
5179 (compare_window_configurations): Compare min_hscroll values.
5180
5181 * window.h (struct window): New member min_hscroll.
5182
5183 * keyboard.c (echo_prompt): Prevent a compiler warning.
5184
5185 * xdisp.c (try_cursor_movement): Fix last change. The real
5186 condition is that PT is at the end of the row, and should
5187 be displayed at the start of the next row.
5188
5189 * xdisp.c (try_cursor_movement): If we end on a partially
5190 visible line, end we already decided to scroll, return -1.
5191
5192 * dispextern.h (ensure_frame_matrix): Add prototype.
5193
5194 * window.c (delete_window, Fsplit_window)
5195 (Fset_window_configuration): Call ensure_frame_matrix.
5196
5197 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5198 New functions.
5199 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5200 completed, call fake_current_matrices instead of marking frame
5201 garbaged.
5202
5203 2000-12-20 Jason Rumney <jasonr@gnu.org>
5204
5205 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5206
5207 2000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5208
5209 * fns.c (Frequire): Doc fix.
5210
5211 2000-12-19 Gerd Moellmann <gerd@gnu.org>
5212
5213 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
5214
5215 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5216 currently displaying a message.
5217
5218 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5219 xterm.h.
5220 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5221
5222 2000-12-18 Andrew Innes <andrewi@gnu.org>
5223
5224 * w32.c (w32_strerror): New function.
5225
5226 * w32.h (w32_strerror): New extern.
5227
5228 * w32fns.c (Fw32_shell_execute): Use it.
5229
5230 2000-12-18 Gerd Moellmann <gerd@gnu.org>
5231
5232 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5233
5234 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5235
5236 * msdos.c (IT_set_face): Obey inverse_video.
5237
5238 2000-12-18 Kenichi Handa <handa@etl.go.jp>
5239
5240 * dired.c (directory_files_internal): Always return decoded filenames.
5241
5242 2000-12-18 Gerd Moellmann <gerd@gnu.org>
5243
5244 * xterm.c (x_connection_closed): Prevent being called recursively
5245 because of an error condition in XtCloseDisplay.
5246
5247 * xdisp.c (init_iterator): If noninteractive, and the frame's
5248 face cache is null, make one.
5249
5250 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5251
5252 * process.c (wait_reading_process_input): Check for pending
5253 input when running timers.
5254
5255 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5256
5257 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
5258
5259 2000-12-18 Kenichi Handa <handa@etl.go.jp>
5260
5261 * process.c (read_process_output): Don't run a filter if the code
5262 decoder produces nothing but carryover.
5263
5264 2000-12-17 Andrew Innes <andrewi@gnu.org>
5265
5266 * w32.c (sys_rename): Only check errno against EEXIST, and not
5267 EACCES, when determining whether rename failed because the target
5268 exists. This was resulting in indefinite looping on Windows 9x if
5269 the source file was locked by another process.
5270
5271 * w32fns.c (Ffile_system_info): New function.
5272 (syms_of_w32fns): Defsubr it.
5273
5274 2000-12-17 Gerd Moellmann <gerd@gnu.org>
5275
5276 * window.c (coordinates_in_window): Fix computation for
5277 position on vertical line between mode lines.
5278
5279 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5280 Don't alter tip_frame or tip_window.
5281 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5282 was deleted.
5283
5284 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5285 Don't alter tip_frame or tip_window.
5286 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5287 was deleted.
5288
5289 2000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5290
5291 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5292 be consistent with the doc string. Reported by NAKAJIMA Mikio
5293 <minakaji@osaka.email.ne.jp>.
5294
5295 2000-12-16 Kenichi Handa <handa@etl.go.jp>
5296
5297 * xfaces.c (Vface_ignored_fonts): New variable.
5298 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5299 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5300
5301 2000-12-15 Gerd Moellmann <gerd@gnu.org>
5302
5303 * dispnew.c (update_window): Detect pending input every nth line
5304 updated, i.e. do it depending on real work done, and not on the
5305 vpos of the line.
5306
5307 * xterm.c (expose_window): Don't redraw the window that's
5308 currently being updated.
5309
5310 * window.c (Fset_window_point): Remove test for
5311 cursor_in_non_selected_windows.
5312
5313 * lread.c (read1): Recognize end of file after `\\'.
5314
5315 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5316 not unwind_create_frame.
5317
5318 2000-12-15 Dave Love <fx@gnu.org>
5319
5320 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5321 bcopy & al.
5322
5323 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5324
5325 2000-12-15 Kenichi Handa <handa@etl.go.jp>
5326
5327 * coding.c (setup_coding_system): Clear all members of the struct
5328 coding_system at first.
5329 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5330 argument.
5331 (code_convert_region): Don't override coding->src_multibyte and
5332 coding->dst_multibyte.
5333
5334 * fns.c (Fmd5): Docstring improved.
5335
5336 2000-12-15 Miles Bader <miles@gnu.org>
5337
5338 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5339 are actually marked as mode-lines; otherwise use
5340 estimate_mode_line_height.
5341
5342 2000-12-14 Gerd Moellmann <gerd@gnu.org>
5343
5344 * editfns.c (Fformat): Prevent a buffer overrun when the format
5345 specifies a precision.
5346
5347 2000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5348
5349 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5350 argument is outside the range [2..3].
5351
5352 2000-12-14 Andrew Innes <andrewi@gnu.org>
5353
5354 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5355 nothing to do. Bind inhibit-quit.
5356 (tip_frame): Make it a Lisp_Object.
5357 (x_create_tip_frame): Set tip_frame after it has been added to
5358 Vframe_list.
5359 (Fx_show_tip): Don't set tip_frame here.
5360 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
5361 (unwind_create_frame, unwind_create_tip_frame): New functions.
5362 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5363 while a frame is only partially constructed.
5364
5365 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5366 (x_free_frame_resources): New function.
5367 (x_destroy_window): Use it.
5368
5369 2000-12-14 Gerd Moellmann <gerd@gnu.org>
5370
5371 * xfns.c (Fx_backspace_delete_keys_p): New function.
5372 (syms_of_xfns): Defsubr it.
5373
5374 * config.in (HAVE_XKBGETKEYBOARD): Add.
5375
5376 2000-12-14 Kenichi Handa <handa@etl.go.jp>
5377
5378 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5379 Always store string in multibyte representation in echobuf.
5380 (echo_char): Always store string in multibyte representation in
5381 echobuf.
5382 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5383 (read_key_sequence): Adjusted for the change of echo_prompt.
5384
5385 * fns.c (Fmd5): Docstring improved.
5386
5387 * lisp.h (detect_coding_system): Prototype adjusted.
5388
5389 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5390 (detect_coding_emacs_mule, detect_coding_iso2022,)
5391 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
5392 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5393 New argument MULTIBYTEP. Callers changed.
5394 (detect_coding_mask, detect_coding_system): New argument
5395 MULTIBYTEP. Callers changed.
5396 (decode_coding_string): Set coding->src_multibyte and
5397 coding->dst_multibyte before calling detect_coding and detect_eol.
5398 Update them after some coding system is detected.
5399
5400 2000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5401
5402 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5403
5404 * keyboard.c (menu_bar_items, tool_bar_items):
5405 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5406
5407 2000-12-13 Gerd Moellmann <gerd@gnu.org>
5408
5409 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
5410 New variables.
5411 (unwind_create_frame, unwind_create_tip_frame): New functions.
5412 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5413 while a frame is only partially constructed.
5414
5415 * xterm.h (x_free_frame_resources): Declare.
5416
5417 * xterm.c (x_free_frame_resources): New function.
5418 (x_destroy_window): Use it.
5419
5420 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5421 don't interrupt the update for pending input initially, i.e.
5422 update at least some lines.
5423
5424 * keyboard.c (do_mouse_tracking): Make externally visible.
5425
5426 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
5427
5428 * xfns.c (gray_bitmap_bits): Declare `char *'.
5429
5430 2000-12-12 Gerd Moellmann <gerd@gnu.org>
5431
5432 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5433 lines start with a relief line.
5434
5435 2000-12-12 Dave Love <fx@gnu.org>
5436
5437 * window.c (Fdisplay_buffer): Doc fix.
5438 (Fwindow_list): Remove unused var.
5439
5440 * buffer.h (mmap_set_vars): Declare.
5441
5442 * window.h (Fset_window_point): Declare.
5443
5444 2000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5445
5446 * msdos.c (fast_find_position): Don't overstep the last window row.
5447 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5448 variable `area'. When looking for a row under (X,Y), give up if some
5449 of the previous rows is not enabled.
5450
5451 2000-12-12 Gerd Moellmann <gerd@gnu.org>
5452
5453 * window.c (Fset_window_point): If displaying cursors in windows
5454 other than the selected window, make sure redisplay updates
5455 other windows to show the new value of point in the window.
5456
5457 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5458
5459 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5460 the buffer is the sole visible buffer when in the mini-buffer.
5461
5462 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
5463 Bind `inhibit-read-only' to t.
5464 (unwind_with_echo_area_buffer): Use AREF.
5465
5466 * xfns.c (Fx_hide_tip): Simplified.
5467
5468 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5469 instead of `1'.
5470
5471 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5472
5473 2000-12-11 Gerd Moellmann <gerd@gnu.org>
5474
5475 * xfns.c (Fx_hide_tip): Fix last change.
5476
5477 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5478 nothing to do. Bind inhibit-quit.
5479 (tip_frame): Make it a Lisp_Object.
5480 (x_create_tip_frame): Set tip_frame after it has been added to
5481 Vframe_list.
5482 (Fx_show_tip): Don't set tip_frame here.
5483
5484 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5485
5486 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5487 Lisp_Object.
5488
5489 * dispextern.h: Change external declaration of tip_frame.
5490
5491 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5492 return an empty string.
5493
5494 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5495 of the window's update_mode_line flag, since the former is set by
5496 force-mode-line-update, not the latter. This makes
5497 column-number-mode slightly faster.
5498
5499 * xdisp.c (try_window_id) <all changes above window start>:
5500 Set the cursor.
5501
5502 2000-12-11 Paul Eggert <eggert@twinsun.com>
5503
5504 * config.in (HAVE_FTELLO): Remove.
5505 (HAVE_FSEEKO): Add.
5506 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5507 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5508 HAVE_FTELLO.
5509 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5510 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
5511
5512 2000-12-11 Miles Bader <miles@gnu.org>
5513
5514 * window.c (displayed_window_lines): Don't round up when
5515 converting empty space at bottom to lines.
5516 Handle non-newline-terminated final lines properly.
5517 (Fwindow_text_height): New function (used to be in lisp).
5518 (syms_of_window): Initialize it.
5519
5520 2000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5521
5522 * syntax.c (scan_lists): Check that the right quote char has the
5523 right Sstring syntax when jumping over strings.
5524 (init_syntax_once): Use Smax rather than 13.
5525
5526 2000-12-09 Miles Bader <miles@gnu.org>
5527
5528 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5529 with PARTIALLY, inverting the sense.
5530 (window_scroll_pixel_based): Scroll partially visible lines into
5531 place if we hit the beginning or end of the buffer.
5532 (displayed_window_lines): Don't include partially visible lines.
5533 (Fmove_to_window_line): Skip past any partially visible first line.
5534
5535 2000-12-08 Gerd Moellmann <gerd@gnu.org>
5536
5537 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5538
5539 * tparam.c (tparam1): Change the way buffers are reallocated to be
5540 portable and less obfuscated.
5541
5542 * termcap.c (tgetent): Change the way buffers are reallocated to
5543 be portable and less obfuscated.
5544
5545 * macros.c (store_kbd_macro_char): Change the way buffers are
5546 reallocated to be portable and less obfuscated.
5547
5548 * lread.c (read1): Change the way buffers are reallocated to be
5549 portable and less obfuscated.
5550
5551 * doc.c (Fsubstitute_command_keys): Change the way buffers
5552 are reallocated so that it is portable.
5553
5554 2000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5555
5556 * dosfns.c (Ffile_system_info): New function.
5557 (syms_of_dosfns): Defsubr it.
5558
5559 2000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5560
5561 * alloc.c (gc_sweep): Add comment.
5562
5563 2000-12-07 Gerd Moellmann <gerd@gnu.org>
5564
5565 * sound.c (vox_configure): Change order of ioctls.
5566 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
5567 Ignore errors when changing volume.
5568 (vox_close): Don't reset the device.
5569
5570 * process.c (read_process_output): Make sure the process marker's
5571 position is valid when the process buffer is changed in
5572 after-change functions. W3 does that.
5573
5574 * xfns.c (x_free_gcs): New function.
5575
5576 * xterm.h (x_free_gcs): Add prototype.
5577
5578 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5579 freeing GCs here.
5580
5581 * xterm.c (x_destroy_window): Call x_free_gcs so that
5582 resources of non-toolkit X windows will be freed.
5583
5584 2000-12-07 Andrew Innes <andrewi@gnu.org>
5585
5586 * w32fns.c (xlfd_charset_of_font): Fix last change.
5587
5588 2000-12-06 Dave Love <fx@gnu.org>
5589
5590 * md5.h (__P): Don't define -- it comes from config.h.
5591
5592 * strftime.c: Change some #if foo to #ifdef foo.
5593
5594 2000-12-06 Andrew Innes <andrewi@gnu.org>
5595
5596 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5597
5598 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
5599 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
5600 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
5601
5602 2000-12-06 Gerd Moellmann <gerd@gnu.org>
5603
5604 * alloc.c (gc_sweep): Prevent symbols read during loadup
5605 from being freed.
5606
5607 * xdisp.c (underlying_face_id): New function.
5608 (handle_face_prop, face_before_or_after_it_pos): Use it
5609 to determine the face ``under'' a string. Let strings inherit
5610 the face of the buffer under them.
5611
5612 * xfaces.c (face_at_string_position): Update function comment.
5613
5614 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5615 matrix if the window's left position has changed; we need to
5616 redraw it in this case.
5617
5618 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5619
5620 * window.c (coordinates_in_window): Check mouse on mode-line or
5621 header-line first.
5622
5623 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5624 advertized by the function documentation.
5625
5626 * window.c (syms_of_window): Doc fix.
5627
5628 * sound.c (vox_configure): Set volume for left and right channel.
5629 (sound_cleanup): Return nil.
5630
5631 * xdisp.c (move_it_by_lines): Fix paren typo.
5632
5633 * xterm.c (x_load_font): Don't use the font's max_bounds for
5634 computing the height of the font. If max_bounds' ascent or
5635 descent are greater than the font's ascent or descent, this means
5636 glyphs overlap, which should be handled now by redisplay.
5637
5638 * window.c (Veven_window_heights): New variable.
5639 (syms_of_window): DEFVAR_LISP it.
5640 (Fdisplay_buffer): Check Veven_window_heights before evening the
5641 window heights.
5642
5643 2000-12-06 Miles Bader <miles@gnu.org>
5644
5645 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5646 update `default-frame-alist' instead of setting no frame parameters.
5647
5648 2000-12-06 Kenichi Handa <handa@etl.go.jp>
5649
5650 * composite.c (update_compositions): Fix typo (use the correct
5651 variable).
5652
5653 2000-12-05 Jason Rumney <jasonr@gnu.org>
5654
5655 * md5.h: Remove underscores from function declarations.
5656 (__attribute__, __alignof__) [!__GNUC__]: Define.
5657
5658 * md5.c: Delay include of md5.h until after namespace cleaning.
5659
5660 * makefile.w32-in (fns.o): Depend on md5.h
5661 (md5.o): New target.
5662 (sunfns.o): Remove.
5663
5664 * makefile.nt: Likewise.
5665
5666 2000-12-05 Jason Rumney <jasonr@altavista.net>
5667
5668 * w32term.c (expose_area): Complete last change.
5669
5670 2000-12-05 Ken Raeburn <raeburn@gnu.org>
5671
5672 * minibuf.c: Include intervals.h.
5673
5674 2000-12-05 Jason Rumney <jasonr@gnu.org>
5675
5676 * w32term.c (x_produce_glyphs): If a font for a component of
5677 a composition is not found, use 1 pixel dot ascent and 0 dot
5678 descent value to avoid displaying terribly tall empty boxes.
5679 (expose_area): Pass x-coordinate relative to the exposed
5680 area to x_draw_glyphs instead of a window-relative coordinate.
5681
5682 2000-12-05 Gerd Moellmann <gerd@gnu.org>
5683
5684 * xdisp.c (next_element_from_ellipsis): Save face before selective
5685 display in saved_face_id, and set face_before_selective_p.
5686 (reseat_1): Reset face_before_selective_p.
5687 (append_space, extend_face_to_end_of_line): If iterator's
5688 face_before_selective_p is set, use the face from saved_face_id.
5689 (extend_face_to_end_of_line): For tty frames, make sure to
5690 use the right face id when producing spaces at the end of
5691 the line.
5692
5693 * dispextern.h (struct it): Add face_before_selective_p.
5694
5695 * keyboard.c (record_char): Don't record identical help-echo
5696 events in recent_keys.
5697
5698 * xterm.c [USE_X_TOOLKIT]: Close the display.
5699 (xim_close_dpy): Handle case that the display has been closed.
5700
5701 * xterm.c (x_destroy_window): Reset the frame's X window after
5702 destroying it.
5703
5704 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5705 variable window_width.
5706 (line_draw_cost): Fix code skipping over spaces at the end of the
5707 line when must_write_spaces is not set.
5708 (scrolling_window): Fix code inserting runs in list of all runs.
5709
5710 2000-12-05 Kenichi Handa <handa@etl.go.jp>
5711
5712 * coding.c (setup_coding_system): Be sure to initialize
5713 coding->category_idx.
5714
5715 2000-12-04 Gerd Moellmann <gerd@gnu.org>
5716
5717 * xterm.c (PER_CHAR_METRIC): Removed because not used.
5718
5719 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5720 area to x_draw_glyphs instead of a window-relative coordinate.
5721
5722 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5723 error in the message.
5724
5725 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5726 timer after having read a key. It's not good for code reading
5727 several keys in a loop, like an input method.
5728
5729 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5730 record undo information for format-decode.
5731
5732 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5733 current buffer is read-only, not if it isn't.
5734
5735 * keyboard.c (record_char): Record `help-echo' input events
5736 in recent_keys only if they display some help. Don't record
5737 `help-echo' events as macro char.
5738
5739 2000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5740
5741 * editfns.c (save_excursion_restore): Don't move point
5742 in another window if it is showing the wrong buffer.
5743 Avoid the call to Fwindow_live_p, for speed.
5744
5745 2000-12-04 Kenichi Handa <handa@etl.go.jp>
5746
5747 * xfaces.c (struct font_name): New member registry_priority.
5748 (split_font_name): Initialize the above member to zero.
5749 (concat_font_list): New function.
5750 (font_list): Include fonts of all alternative registries.
5751 (FONT_POINT_SIZE_QUANTUM): New macro.
5752 (better_font_p): Ignore point size difference less than
5753 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5754
5755 * xterm.c (x_produce_glyphs): If a font for a component of
5756 a composition is not found, use 1 pixel dot ascent and 0 dot
5757 descent value to avoid displaying terribly tall empty boxes.
5758
5759 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5760
5761 2000-12-03 Ken Raeburn <raeburn@gnu.org>
5762
5763 * coding.h (code_convert_string1): Declare.
5764
5765 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5766
5767 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
5768
5769 2000-12-02 Jason Rumney <jasonr@gnu.org>
5770
5771 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5772 correctly for single byte character case.
5773 (w32_per_char_metric): Do not try to make any assumptions about
5774 the metrics of BDF fonts.
5775 (x_estimate_mode_line_height): If `mode-line' face
5776 hasn't a font, use that of the frame, as drawing glyphs does.
5777 (note_mouse_highlight): Change the cursor shape on the vertical
5778 border between windows [not enabled].
5779
5780 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5781
5782 * w32fns.c (Fx_create_frame): Reintroduce the call to
5783 face-set-after-frame-defaults.
5784 (Vx_window_horizontal_drag_shape): New variable.
5785 (syms_of_xfns): DEFVAR_LISP it.
5786 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5787 enabled].
5788
5789 2000-12-02 Simon Josefsson <simon@josefsson.org>
5790
5791 * fns.c (Fmd5): Use a different logic to decide the coding system
5792 to use.
5793
5794 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5795
5796 2000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5797
5798 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
5799
5800 2000-12-01 Gerd Moellmann <gerd@gnu.org>
5801
5802 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5803 height for YNegative.
5804 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5805 height; also see comment there.
5806
5807 * window.c (coordinates_in_window): Handle computations for
5808 positions on the vertical bar and fringes differently for
5809 window-system frames. Consider some pixels near the vertical bar
5810 as on the bar if the frame doesn't have vertical scroll bars.
5811 Associate positions between mode or header lines with the
5812 right window, the left one.
5813
5814 2000-12-01 Jason Rumney <jasonr@gnu.org>
5815
5816 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5817
5818 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5819 invalid frame.
5820
5821 2000-12-01 Gerd Moellmann <gerd@gnu.org>
5822
5823 * window.c (struct saved_window): Add members orig_top and orig_height.
5824 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5825 (save_window_save, Fset_window_configuration): Save/restore
5826 window's orig_top and orig_height.
5827
5828 2000-12-01 Jason Rumney <jasonr@gnu.org>
5829
5830 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
5831
5832 * w32fns.c (x_set_cursor_color): Fix last change.
5833
5834 2000-11-30 Gerd Moellmann <gerd@gnu.org>
5835
5836 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5837 sure that the next redisplay displays the minibuffer, so that
5838 the cursor will be replaced with what the minibuffer wants.
5839
5840 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5841 #ifndef instead of using #if.
5842 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5843 USE_TOOLKIT_SCROLL_BARS is defined.
5844
5845 2000-11-30 Jason Rumney <jasonr@gnu.org>
5846
5847 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5848 x_display_cursor.
5849
5850 2000-11-30 Gerd Moellmann <gerd@gnu.org>
5851
5852 * fns.c (Fmd5): Doc fix.
5853
5854 2000-11-30 Simon Josefsson <simon@josefsson.org>
5855
5856 * fns.c (Fmd5): New function.
5857 (syms_of_fns): Defsubr md5.
5858
5859 * Makefile.in (obj): Add md5.o
5860
5861 2000-11-30 Gerd Moellmann <gerd@gnu.org>
5862
5863 * md5.h, md5.c: New files, taken from glibc.
5864
5865 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5866
5867 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
5868 hasn't a font, use that of the frame, as drawing glyphs does.
5869
5870 2000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5871
5872 * eval.c (Frun_hooks): Allow 0 arguments.
5873
5874 2000-11-29 Gerd Moellmann <gerd@gnu.org>
5875
5876 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5877 is over the menu bar widget, say it's not on the frame.
5878
5879 * xfns.c (Fx_create_frame): Reintroduce the call to
5880 face-set-after-frame-defaults.
5881
5882 * eval.c (Fsignal): Reset handling_signal.
5883
5884 2000-11-28 Jason Rumney <jasonr@gnu.org>
5885
5886 * w32menu.c (add_menu_item): Reset menu item text when changing
5887 type to radio button.
5888
5889 2000-11-28 Gerd Moellmann <gerd@gnu.org>
5890
5891 * xselect.c: Update copyright.
5892
5893 * window.c (coordinates_in_window): If on a mode or header line,
5894 but sufficiently close to its start, return ``on vertical
5895 border''. This gives us a way to drag windows horizontally when
5896 using toolkit scroll bars.
5897
5898 * xterm.c (note_mouse_highlight): Change the cursor shape
5899 on the vertical border between windows.
5900
5901 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5902
5903 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5904 (syms_of_xfns): DEFVAR_LISP it.
5905 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5906
5907 * textprop.c (text_read_only): New function.
5908 (verify_interval_modification): Use it instead of signaling
5909 `text-read-only'. This makes it easier to catch this error
5910 with a breakpoint.:
5911
5912 * xdisp.c (forward_to_next_line_start): Check for newlines,
5913 not end of line, which includes CR.
5914
5915 2000-11-28 Kenichi Handa <handa@etl.go.jp>
5916
5917 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5918 include no-conversion.
5919
5920 2000-11-27 Jason Rumney <jasonr@gnu.org>
5921
5922 * w32fns.c (w32_load_system_font): Always mark font as double byte
5923 if codepage is unicode.
5924
5925 2000-11-27 Gerd Moellmann <gerd@gnu.org>
5926
5927 * xdisp.c (forward_to_next_line_start): If already on a newline,
5928 just consume it to avoid unintended skipping over invisible text below.
5929
5930 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5931 `vertical-line', `mode-line' and `header-line' events.
5932
5933 * xdisp.c (try_window_id): Avoid starting to display in the middle
5934 of a character, a TAB for instance. This is easier than to set
5935 up the iterator exactly, and it's not a frequent case, so the
5936 additional effort wouldn't really pay off.
5937
5938 2000-11-26 Andrew Choi <akochoi@i-cable.com>
5939
5940 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
5941 init_window_once.
5942
5943 2000-11-25 Jason Rumney <jasonr@gnu.org>
5944
5945 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5946 Args to window_from_coordinates should be pixel coordinates.
5947
5948 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5949 redisplay handles them properly.
5950
5951 2000-11-25 Miles Bader <miles@gnu.org>
5952
5953 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5954
5955 2000-11-24 Jason Rumney <jasonr@gnu.org>
5956
5957 * w32.c (init_environment): Set LANG environment variable based on
5958 locale settings, if not set.
5959
5960 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5961 making tool bar smaller. When clearing the frame, also
5962 clear current matrices. Clear frame when tool bar disappears.
5963 Don't use more lines for the tool-bar than is available.
5964 (x_change_window_heights): New function.
5965
5966 2000-11-24 Gerd Moellmann <gerd@gnu.org>
5967
5968 * xdisp.c (init_from_display_pos): If POS says we're already after
5969 an overlay string ending at POS, make sure to pop the iterator
5970 because it will be in front of that overlay string. When POS is
5971 ZV, we've thereby also ``processed'' overlay strings at ZV.
5972
5973 * xfaces.c (lface_from_face_name): Function comment fix.
5974
5975 2000-11-24 Miles Bader <miles@gnu.org>
5976
5977 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5978 apply `mode-line-inverse-video' -- zero means force display using
5979 the default face, non-zero means display using the specialized face.
5980 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5981
5982 2000-11-23 Kenichi Handa <handa@etl.go.jp>
5983
5984 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5985 hard coded `4'.
5986
5987 2000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5988
5989 * coding.c (decode_coding_emacs_mule): Fix the case of
5990 CODING_EOL_LF, which used uninitialized value of c.
5991
5992 2000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5993
5994 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5995
5996 2000-11-22 Gerd Moellmann <gerd@gnu.org>
5997
5998 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5999 buffer object.
6000
6001 * frame.h (struct frame): Replace desired_tool_bar_items,
6002 current_tool_bar_items, n_desired_tool_bar_items,
6003 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
6004
6005 * frame.c (make_frame): Change initialization of tool bar
6006 items accordingly.
6007
6008 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
6009 Change references to members deleted from struct frame to use the
6010 new ones.
6011
6012 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
6013 references to members deleted from struct frame to use the new ones.
6014
6015 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
6016
6017 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6018
6019 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
6020 (note_tool_bar_highlight): Change references to members deleted
6021 from struct frame to use the new ones.
6022
6023 2000-11-23 Miles Bader <miles@gnu.org>
6024
6025 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6026 the face's inverse-video attribute, rather than overriding it.
6027
6028 2000-11-22 Gerd Moellmann <gerd@gnu.org>
6029
6030 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6031 making tool bar smaller.
6032
6033 2000-11-22 Dave Love <fx@gnu.org>
6034
6035 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6036
6037 2000-11-22 Miles Bader <miles@gnu.org>
6038
6039 * keyboard.c (Vminibuffer_message_timeout): New variable.
6040 (command_loop_1): Use it to determine message timeout.
6041 (syms_of_keyboard): Initialize it.
6042
6043 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
6044
6045 2000-11-22 Kenichi Handa <handa@etl.go.jp>
6046
6047 * sysdep.c: Move the code for declaring h_errno after #include
6048 <netdb.h>.
6049
6050 2000-11-21 Gerd Moellmann <gerd@gnu.org>
6051
6052 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6053 the menu bar when the tooltip is unmapped.
6054
6055 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6056 sole visible buffer when we're currently in the mini-buffer, and
6057 give up if so.
6058
6059 2000-11-21 Jason Rumney <jasonr@gnu.org>
6060
6061 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6062 put on the clipboard.
6063 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6064 copy of what Emacs last put there. If they are the same, do not
6065 use the clipboard copy to avoid losing data due to coding conversions.
6066
6067 2000-11-22 Miles Bader <miles@gnu.org>
6068
6069 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6070 (syms_of_minibuf): Initialize it.
6071 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6072 to prompt, don't make read-only.
6073
6074 2000-11-21 Gerd Moellmann <gerd@gnu.org>
6075
6076 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6077 Add BEFORE/AFTER_POTENTIAL_GC.
6078
6079 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6080
6081 * buffer.c (mmap_free_1): Avoid a compiler warning.
6082
6083 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6084
6085 2000-11-21 Kenichi Handa <handa@etl.go.jp>
6086
6087 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6088 ... #endif scope.
6089
6090 2000-11-20 Gerd Moellmann <gerd@gnu.org>
6091
6092 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
6093 screen supports it.
6094
6095 * s/gnu-linux.h: Don't use `#cpu'.
6096
6097 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6098 not defined in mman.h.
6099
6100 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
6101 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6102 and store an index in the XClientMessageEvent. Storing a
6103 Lisp_Object or pointer can fail on a 64 bit system, since X only
6104 transfers 32 bits.
6105 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6106
6107 2000-11-20 Dave Love <fx@gnu.org>
6108
6109 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6110
6111 2000-11-20 Gerd Moellmann <gerd@gnu.org>
6112
6113 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6114
6115 2000-11-20 Kenichi Handa <handa@etl.go.jp>
6116
6117 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6118 by WIDTH.
6119
6120 * alloc.c (make_string): Fix previous change. Be sure to make
6121 unibyte string correctly.
6122
6123 2000-11-19 Gerd Moellmann <gerd@gnu.org>
6124
6125 * window.c (Fwindow_list): Change parameter list to be XEmacs
6126 compatible.
6127 (window_list_1): New function.
6128 (window_loop): Use it instead of Fwindow_list.
6129
6130 * sysdep.c (emacs_ospeed): New variable.
6131 (toplevel): Don't declare ospeed extern.
6132 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6133
6134 * termcap.c (ospeed): Remove.
6135 (tputs) [!emacs]: Remove unused code.
6136 (tgetent): Avoid a compiler warning.
6137
6138 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6139 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
6140 SCROLL_BAR_X_WIDGET with additional argument DPY.
6141
6142 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6143 removed.
6144 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6145 Take the X display as additional argument.
6146 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6147 `Widget' is a pointer type that's not easily stored in Lisp_Object
6148 form in a portable way.
6149
6150 * dispnew.c (update_text_area): Fix last change.
6151
6152 2000-11-18 Gerd Moellmann <gerd@gnu.org>
6153
6154 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6155
6156 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6157 clear current matrices.
6158
6159 * buffer.c (mmap_enlarge): Don't print a message on stderr
6160 if mapping new memory at the end of the existing region fails.
6161
6162 * dispnew.c (update_text_area): Don't skip over equal glyphs
6163 when the last current glyph overlaps the glyph to its right.
6164
6165 2000-11-18 Miles Bader <miles@gnu.org>
6166
6167 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6168 lines that *end* with "..." too (that's the most common case!).
6169
6170 2000-11-18 Gerd Moellmann <gerd@gnu.org>
6171
6172 * xdisp.c (resize_mini_window): Temporarily change to the
6173 mini-window's buffer if necessary.
6174
6175 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6176 the tooltip obscures less text under it.
6177
6178 2000-11-17 Gerd Moellmann <gerd@gnu.org>
6179
6180 * puresize.h (BASE_PURESIZE): Increase to 700000.
6181
6182 2000-11-18 Jason Rumney <jasonr@gnu.org>
6183
6184 * w32term.c (w32_draw_bitmap): Use face to set colors.
6185
6186 2000-11-17 Dave Love <fx@gnu.org>
6187
6188 * lread.c (Fload): Fix #ifdef for pcc.
6189
6190 2000-11-17 Gerd Moellmann <gerd@gnu.org>
6191
6192 * xdisp.c (pos_visible_p): Compute the default character height
6193 differently.
6194
6195 2000-11-16 Gerd Moellmann <gerd@gnu.org>
6196
6197 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
6198 knowing the line's height; use the default font's height in that case.
6199
6200 * xfaces.c (weight_table): Add `demi' with the same meaning as
6201 `demibold'.
6202
6203 2000-11-16 Kenichi Handa <handa@etl.go.jp>
6204
6205 * dispnew.c (null_row): New global static variable.
6206 (clear_glyph_row): Delete local static variable null_row.
6207
6208 2000-11-15 Jason Rumney <jasonr@gnu.org>
6209
6210 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6211 (w32_alloc_lighter_color): Use new brightness calculations from
6212 xterm.c. Scale delta to be in the range expected by W32.
6213 (w32_draw_relief_rect): Use frame relief colors.
6214
6215 2000-11-15 Gerd Moellmann <gerd@gnu.org>
6216
6217 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6218 (Qinhibit_default_face_x_resources): New variable.
6219 (syms_of_frame): Initialize it.
6220 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6221
6222 * xdisp.c (pos_visible_p): Improve function comment.
6223
6224 * lisp.h (BINDING_STACK_SIZE): New macro.
6225
6226 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6227 reading the directory if readdir returns null and errno is EAGAIN
6228 or EINTR.
6229
6230 2000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6231
6232 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6233 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6234 Set amount_to_scroll to max of dx and scroll_step so that
6235 scroll-conservatively doesn't defeat scroll-step>1.
6236 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6237 scroll-conservatively for line-at-a-time scrolling.
6238
6239 2000-11-14 Gerd Moellmann <gerd@gnu.org>
6240
6241 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6242 extra argument.
6243
6244 * xdisp.c (current_mode_line_height, current_header_line_height):
6245 New variables.
6246 (init_xdisp): Initialize them.
6247 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6248 and use exact mode line heights if it is set.
6249
6250 * lisp.h (pos_visible_p): Change prototype.
6251
6252 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6253 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6254 and current_header_line_height first.
6255 (current_mode_line_height, current_header_line_height):
6256 Declare extern.
6257
6258 2000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6259
6260 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6261 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6262 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6263
6264 2000-11-14 Miles Bader <miles@gnu.org>
6265
6266 * xterm.c (x_alloc_lighter_color): Include an additive component
6267 too for dark colors, because FACTOR isn't enough.
6268 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6269 New macros.
6270
6271 2000-11-13 Gerd Moellmann <gerd@gnu.org>
6272
6273 * keyboard.c (show_help_echo): Call message3_nolog with number of
6274 bytes in the help string as 2nd parameter, instead of the number
6275 of characters.
6276
6277 2000-11-13 Miles Bader <miles@gnu.org>
6278
6279 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6280 (Fload): Use new openp return protocol.
6281 Don't try to use Vload_source_file_function to load .elc files.
6282 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6283 openp return protocol.
6284 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6285
6286 2000-11-11 Kenichi Handa <handa@etl.go.jp>
6287
6288 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6289
6290 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6291 Defined these macros.
6292 (NLIST_STRUCT): Avoid re-defining it.
6293
6294 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6295 -I/usr/contrib/X11R6/include.
6296 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6297
6298 2000-11-10 Jason Rumney <jasonr@gnu.org>
6299
6300 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6301
6302 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6303 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6304
6305 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6306 (Qw32_charset_vietnamese): New symbol.
6307 (xlfd_charset_of_font): New function.
6308 (w32_load_system_font): Use it.
6309 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6310 when Vw32_charset_info_alist is nil to ensure default face always
6311 has font. Use Fcar and Fcdr for safety.
6312 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6313 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6314 pseudo-codepages for special cases.
6315 (w32_to_x_font): New parameter to allow charset portion to be
6316 specified where there is many to one mapping. Callers changed.
6317 (w32_list_fonts): Avoid listing fonts that won't display.
6318
6319 2000-11-10 Gerd Moellmann <gerd@gnu.org>
6320
6321 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6322 (font_list_1): Renamed from font_list.
6323 (font_list): New function, trying alternative registries from
6324 Vface_alternative_font_registry_alist.
6325 (Finternal_set_alternative_font_registry_alist): New function.
6326 (syms_of_xfaces): Initialize and Staticpro
6327 Vface_alternative_font_registry_alist.
6328 Defsubr Finternal_set_alternative_font_registry_alist.
6329
6330 2000-11-09 Ken Raeburn <raeburn@gnu.org>
6331
6332 * lisp.h (Flooking_at): Declare.
6333
6334 2000-11-09 Gerd Moellmann <gerd@gnu.org>
6335
6336 * dired.c (directory_files_internal): Fix a braino.
6337
6338 * dired.c (directory_files_internal): Add missing GCPRO's.
6339 Some cleanup.
6340
6341 2000-11-08 Gerd Moellmann <gerd@gnu.org>
6342
6343 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6344 (resize_mini_window): Return quickly if Vresize_mini_window is
6345 nil. Don't return if Vmax_mini_window_height is nil.
6346
6347 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6348 (syms_of_xdisp): Initialize them.
6349 (resize_mini_window): Act according to the setting of
6350 Vresize_mini_window.
6351 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6352
6353 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6354 scroll bar widget after configuring it, so that it will appear at
6355 the right position from the start.
6356 (XTredeem_scroll_bar): Cleaned up.
6357
6358 2000-11-08 Kenichi Handa <handa@etl.go.jp>
6359
6360 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
6361 font is taller than the frame line, we don't have to bias the
6362 division by two.
6363
6364 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6365
6366 2000-11-07 Dave Love <fx@gnu.org>
6367
6368 * config.in (HAVE_MKSTEMP): Add.
6369
6370 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6371
6372 2000-11-07 Gerd Moellmann <gerd@gnu.org>
6373
6374 * window.c (Fset_window_configuration): Don't try to preserve
6375 point in the current buffer, if that buffer is displayed in more
6376 than one window.
6377
6378 * xfaces.c (lookup_named_face): If default face isn't realized,
6379 try to realize it. Return -1 if not successful.
6380 (Fx_list_fonts): Handle case that face cannot be determined.
6381 (Fface_font): Likewise.
6382
6383 2000-11-06 Gerd Moellmann <gerd@gnu.org>
6384
6385 * window.c (displayed_window_lines): Detect partially
6386 visible lines at the bottom correctly.
6387
6388 2000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6389
6390 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6391 when ensuring we don't do visit in indirect buffer.
6392
6393 2000-11-06 Kenichi Handa <handa@etl.go.jp>
6394
6395 * composite.h (compose_chars_in_text): Add prototype.
6396
6397 * composite.c (Vcomposition_function_table): New variable.
6398 (Qcomposition_function_table): New variable.
6399 (run_composition_function): Call
6400 Vcompose_chars_after_function with three arguments.
6401 (compose_chars_in_text): New function.
6402 (syms_of_composite): Modified the doc-string of
6403 Vcompose_chars_after_function. Declare composition-function-table
6404 as a lisp variable, and initialize it.
6405
6406 * xfns.c (x_encode_text): Suppress producing escape sequences for
6407 composition.
6408
6409 * xselect.c: Include composite.h.
6410 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6411
6412 2000-11-05 Andrew Innes <andrewi@gnu.org>
6413
6414 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6415
6416 * sysdep.c (read_input_waiting): Remove extraneous argument to
6417 read_socket_hook.
6418
6419 * w32fns.c (Fx_server_version): Include w32_build_number in the
6420 return list.
6421
6422 * w32heap.c (w32_build_number): New variable.
6423 (cache_system_info): Set it.
6424
6425 * w32heap.h (w32_build_number): Add extern.
6426
6427 * emacs.c (syms_of_emacs): Update docstring for
6428 system-configuration, to reflect the actual usage on MS-Windows.
6429
6430 2000-10-31 Gerd Moellmann <gerd@gnu.org>
6431
6432 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6433 process idle timers while waiting for another event.
6434
6435 * dispnew.c (update_frame_line): Handle case where spaces in
6436 the default face are colored.
6437
6438 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6439 window height hasn't changed.
6440
6441 2000-10-31 Jason Rumney <jasonr@gnu.org>
6442
6443 * w32term.c (x_produce_glyphs): Handle composite characters.
6444 (x_draw_glyph_string_foreground)
6445 (x_draw_composite_glyph_string_foreground): Restore old font.
6446
6447 2000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6448
6449 * minibuf.c (read_minibuf): Reset the undo history just before
6450 starting the recursive-edit.
6451
6452 2000-10-30 Gerd Moellmann <gerd@gnu.org>
6453
6454 * xfaces.c (menu_face_change_count): New variable.
6455 (Finternal_set_lisp_face_attribute): Increment it for changes
6456 of the `menu' face.
6457 (realize_basic_faces): Reflect changes in the `menu' faces
6458 in menu bars.
6459
6460 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6461 dy obtained from the iterator's y-position after moving from
6462 scroll_margin_pos to PT; see comment there.
6463
6464 * xdisp.c (safe_eval_handler): Call add_to_log.
6465
6466 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6467 is not a symbol or string.
6468
6469 * xdisp.c (echo_area_display): Don't perform a display update from
6470 inside redisplay. The update will happen anyway at the end of
6471 redisplay, and it can confuse redisplay (GC messages while
6472 redisplaying, for instance.)
6473
6474 2000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6475
6476 * xrdb.c (x_load_resources): Use the class name in the defaults.
6477
6478 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6479 (regex_compile): Catch bogus \(\1\).
6480
6481 2000-10-30 Gerd Moellmann <gerd@gnu.org>
6482
6483 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6484 RGB values.
6485
6486 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6487 we have a color cache, check that the cached color equals the
6488 allocated color. If not, clear the color cache.
6489
6490 * window.c (displayed_window_lines): Change buffers if necessary.
6491 Fix computation of displayed lines.
6492
6493 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6494 update_menu_bindings to DEFVAR_BOOL.
6495
6496 2000-10-30 Kenichi Handa <handa@etl.go.jp>
6497
6498 * search.c (Fset_match_data): Be sure to make search_regs always sane.
6499
6500 * puresize.h (BASE_PURESIZE): Increase to 680000.
6501
6502 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6503
6504 2000-10-29 Jason Rumney <jasonr@gnu.org>
6505
6506 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6507
6508 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6509 (w32_cache_char_metrics): Handle possibility that 'x' does not
6510 exist in a BDF font.
6511 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6512
6513 * w32bdf.h (bdffont): Add nchars.
6514
6515 * w32bdf.c (set_bdf_font_info): Set it.
6516 (w32_BDF_TextOut): Swap byte order of double byte characters.
6517 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6518
6519 2000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6520
6521 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6522 don't override the colors in frame's param_alist, unless they are
6523 unspecified.
6524
6525 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6526 reverse the effect of the highlight flag.
6527
6528 2000-10-27 Ken Raeburn <raeburn@gnu.org>
6529
6530 * window.h (Fwindow_live_p): Declare.
6531
6532 * undo.c (record_delete): Check that last_undo_buffer is really a
6533 buffer before applying XBUFFER to it.
6534
6535 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6536 Faref.
6537
6538 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6539
6540 * lisp.h (KEYMAPP): New macro.
6541 (get_keymap): Remove.
6542 (get_keymap_1): Rename get_keymap.
6543
6544 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6545
6546 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6547
6548 * xmenu.c (single_submenu): Use KEYMAPP.
6549 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6550 Use KEYMAPP rather than Fkeymapp.
6551
6552 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6553
6554 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6555 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6556 Use KEYMAPP rather than Fkeymapp.
6557 (single_submenu): Use KEYMAPP.
6558 (w32_menu_show, w32_dialog_show): Use TRUE.
6559
6560 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6561
6562 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6563 (Fkeymapp): Use KEYMAPP.
6564 (get_keymap): Rename from get_keymap_1. Remove old def.
6565 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6566 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6567 (Fminor_mode_key_binding): Don't raise an error if the binding
6568 is not a keymap.
6569 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6570 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6571
6572 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6573 Allow Vspecial_event_map to be autoloaded.
6574 (menu_bar_items): Fetch the keymap rather than using keymapp.
6575 (menu_bar_one_keymap): No need to follow func-indirect any more.
6576 (parse_menu_item): get_keymap_1 -> get_keymap.
6577 (tool_bar_items): Fetch the keymap rather than using keymapp.
6578 (read_key_sequence): Use KEYMAPP.
6579
6580 * intervals.c (get_local_map): Use get_keymap rather than following
6581 function-indirections explicitly.
6582
6583 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6584
6585 2000-10-27 Jason Rumney <jasonr@gnu.org>
6586
6587 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6588 point, as Windows has oversized fonts.
6589
6590 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6591
6592 2000-10-27 Gerd Moellmann <gerd@gnu.org>
6593
6594 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6595 (freehook, reallochook): Handle null pointer arguments.
6596 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6597
6598 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6599
6600 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6601 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6602 Giving in to popular pressure to shut up the compiler with casts.
6603
6604 2000-10-27 Gerd Moellmann <gerd@gnu.org>
6605
6606 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6607 signed value, and use a default value computed from the font's
6608 maximum descent.
6609
6610 2000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6611
6612 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6613 that specify a negative underline position can still use underlines.
6614
6615 * window.c (Fpos_visible_in_window_p): Make POS default to
6616 WINDOW's point, not the current buffer's point.
6617
6618 2000-10-26 Dave Love <fx@gnu.org>
6619
6620 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6621 when it's necessary.
6622
6623 2000-10-26 Gerd Moellmann <gerd@gnu.org>
6624
6625 * window.c (size_window): Compute size difference from sum of old
6626 child window sizes instead of from parent's size.
6627
6628 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6629 Handle obscured lines at the top of the window.
6630
6631 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6632 down after the last error condition check.
6633
6634 * frame.c (Fdelete_frame): Run delete-frame-hook.
6635
6636 2000-10-26 Kenichi Handa <handa@etl.go.jp>
6637
6638 * coding.c (decode_coding): Fix previous change (check also
6639 CODING_MODE_LAST_BLOCK).
6640
6641 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6642
6643 * regex.c: More `unsigned char' -> `re_char' changes.
6644 Also change several `int' into `re_wchar_t'.
6645 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6646 (PUSH_FAILURE_POINTER): Don't cast any more.
6647 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6648 We want GCC to complain, since this piece of code makes
6649 re_match non-reentrant, which *should* be fixed.
6650 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6651 (EXTEND_BUFFER): Use RETALLOC.
6652 (SET_LIST_BIT): Don't cast.
6653 (re_wchar_t): New type.
6654 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6655 that those two functions will always properly return.
6656 (IMMEDIATE_QUIT_CHECK): Cast to void.
6657 (analyse_first): Use recursion rather than an explicit stack.
6658 (re_compile_fastmap): Can't fail anymore.
6659 (re_search_2): Don't check re_compile_fastmap for failure.
6660 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6661 Now also sets the new value (passed in a new argument).
6662 (re_match_2_internal): Use it.
6663 Also, use a new var `reg' of type size_t when looping through regs
6664 rather than reuse the inappropriate `mcnt'.
6665
6666 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6667 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6668 (where_is_internal): Renamed from Fwhere_is_internal.
6669 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6670 (Fwhere_is_internal): New function wrapping where_is_internal.
6671 (where_is_internal_1): Handle the case where we're filling the cache.
6672 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6673
6674 2000-10-25 Miles Bader <miles@gnu.org>
6675
6676 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6677
6678 2000-10-25 Gerd Moellmann <gerd@gnu.org>
6679
6680 * window.c (pos_fully_visible_p): Removed.
6681 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6682 if position is visible and/or fully visible.
6683
6684 * lisp.h (pos_visible_p): Add prototype.
6685
6686 * xdisp.c (pos_visible_p): New function.
6687
6688 2000-10-25 Kenichi Handa <handa@etl.go.jp>
6689
6690 * process.c (send_process): If OBJECT is t, it means that the data
6691 is from C string, but we should encode it. Before calling
6692 setup_raw_text_coding_system, be sure to flush out data by the
6693 previous coding system.
6694
6695 2000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6696
6697 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6698 assignment of startpos to prev when startpos == pos.
6699
6700 * editfns.c (find_field): Set the field stickiness correctly from
6701 overlay fields. Use renamed `text_property_stickiness'.
6702 (text_property_stickiness): Renamed from `char_property_stickiness'.
6703 Only check text properties, not overlays.
6704 * textprop.c (get_char_property_and_overlay): New function.
6705 (Fget_char_property): Use it.
6706 * intervals.h (get_char_property_and_overlay): Add declaration.
6707
6708 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6709
6710 * keymap.c: Use AREF, ASET and ASIZE macros.
6711 (Fmake_sparse_keymap): Docstring fix.
6712 (synkey): Remove.
6713 (shadow_lookup): Move up.
6714 Handle the case where lookup-key returns an integer.
6715 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6716 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6717 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6718 Simplify/rewrite the keymap-finding code.
6719 Add check for command shadowing, using shadow_lookup.
6720
6721 2000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6722
6723 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6724 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6725 a symbol.
6726
6727 2000-10-24 Andrew Innes <andrewi@gnu.org>
6728
6729 * dired.c (directory_files_internal_unwind): New function.
6730 (directory_files_internal): Use it to ensure closedir is called
6731 even if expand-file-name or file-attributes throw, eg. because of
6732 a user interrupt. Also enable immediate_quit while calling
6733 re_search, so that matching can be interrupted as well.
6734
6735 2000-10-24 Andrew Innes <andrewi@gnu.org>
6736
6737 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6738 NT-Emacs only.
6739 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6740 so that re_search functions only quit when callers expect them to.
6741
6742 2000-10-24 Kenichi Handa <handa@etl.go.jp>
6743
6744 * regex.c (regex_compile): Change the way of handling a range from
6745 a char less than 256 to a char not less than 256.
6746
6747 2000-10-24 Gerd Moellmann <gerd@gnu.org>
6748
6749 * window.c (size_window): Prevent setting window's width or
6750 height to a negative value (esp. with XSETFASTINT).
6751
6752 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6753 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6754 (protect_malloc_state) [GC_MALLOC_CHECK &&
6755 GC_PROTECT_MALLOC_STATE]: New function.
6756 (PROTECT_MALLOC_STATE): New macro.
6757 (__malloc_initialize, morecore, _malloc_internal)
6758 (_free_internal) _realloc_internal): Use it to make _heapinfo
6759 read-only outside of gmalloc.
6760
6761 * keymap.c: Update copyright.
6762
6763 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6764 a symbol.
6765
6766 2000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6767
6768 * filelock.c (unlock_all_files): Use unlock_file to expand each
6769 buffer's file_truename before trying remove its lock file.
6770
6771 2000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6772
6773 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6774 or CRLF, decode EOLs.
6775
6776 2000-10-24 Kenichi Handa <handa@etl.go.jp>
6777
6778 * window.c (Fdisplay_buffer): Fix doc.
6779
6780 2000-10-23 Jason Rumney <jasonr@gnu.org>
6781
6782 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6783 ASCII font of default fontset on Windows.
6784
6785 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6786 xterm.c comment below).
6787
6788 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6789
6790 2000-10-23 Gerd Moellmann <gerd@gnu.org>
6791
6792 * xterm.c (x_connection_closed): Reset handling_signal.
6793
6794 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
6795
6796 2000-10-23 Miles Bader <miles@gnu.org>
6797
6798 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6799 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6800 maintain old behavior.
6801 * minibuf.c (Fminibuffer_complete): Likewise.
6802
6803 2000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6804
6805 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6806 that when a font can't be exactly centered, it errs up rather than
6807 down.
6808
6809 2000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
6810
6811 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
6812
6813 2000-10-23 Andrew Choi <akochoi@i-cable.com>
6814
6815 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6816
6817 * dispnew.c [macintosh]: Include macterm.h.
6818 (init_display) [macintosh]: Initialization for window system.
6819
6820 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6821 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6822 syms_of_search, x_term_init, and init_keyboard before calling
6823 init_window_once. Also, call syms_of_xmenu.
6824
6825 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6826 default fontset to Monaco.
6827
6828 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6829 NewMacWindow and DisposeMacWindow.
6830 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6831 instead of calling NewMacWindow and setting fields of
6832 f->output_data.mac directly. Call init_frame_faces.
6833 (Fdelete_frame) [macintosh]: Remove unused code.
6834 (Fmodify_frame_parameters) [macintosh]: Call
6835 x_set_frame_parameters instead of mac_set_frame_parameters.
6836
6837 * frame.h [macintosh]: Define menu_bar_lines field in struct
6838 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6839
6840 * keyboard.c [macintosh]: Include macterm.h.
6841 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6842 and menu_bar_activate_event type events as for X and NT.
6843 (make_lispy_event) [macintosh]: Construct lisp events of type
6844 MENU_BAR_EVENT as for X and NT.
6845
6846 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6847 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6848 (sys_subshell) [macintosh]: Remove definition entirely.
6849 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6850 Vwindow_system_version here. Remove initialization of
6851 Vx_bitmap_file_path.
6852 (read_input_waiting): Correct the number of parameters passed to
6853 read_socket_hook.
6854 Move all Macintosh functions to mac/mac.c.
6855
6856 * term.c [macintosh]: Include macterm.h.
6857
6858 * window.c [macintosh]: Include macterm.h.
6859
6860 * xdisp.c [macintosh]: Include macterm.h. Declare
6861 set_frame_menubar and pending_menu_activation.
6862 (echo_area_display) [macintosh]: Do not return if terminal frame
6863 is the selected frame.
6864 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6865 Allow only the selected frame to set menu bar.
6866 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6867 calling FRAME_EXTERNAL_MENU_BAR (f).
6868 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6869
6870 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6871 and check_x. Declare XCreateGC. Define x_create_gc and
6872 x_free_gc. Initialize font_sort_order.
6873 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6874 but call x_list_fonts instead of w32_list_fonts.
6875 (Finternal_face_x_get_resource) [macintosh]: Do not call
6876 display_x_get_resource.
6877 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6878 (realize_x_face) [macintosh]: Load the font if it is specified in
6879 ATTRS.
6880 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
6881
6882 2000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6883
6884 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6885 is nil: since we go to the end of submap anyway, we'd end up
6886 setting nil to nil.
6887 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6888 doesn't obey autoload.
6889
6890 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6891
6892 * msdos.c (dos_set_window_size): Update screen dimension variables.
6893
6894 2000-10-21 Jason Rumney <jasonr@gnu.org>
6895
6896 * w32term.c (w32_cache_char_metrics): Double check that font is
6897 really fixed pitch before trusting tmPitchAndFamily.
6898
6899 2000-10-21 Andrew Innes <andrewi@gnu.org>
6900
6901 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6902
6903 * w32term.h: Extern decl for w32_cache_char_metrics.
6904
6905 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6906
6907 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6908 (w32_unload_font): Free per_char array if present.
6909
6910 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6911 cached information in emulated XFontStruct to handle common cases
6912 quickly. Do not allocate XCharStruct for return.
6913 (w32_native_per_char_metric): New function.
6914 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6915 allocating one.
6916 (x_produce_glyphs): Don't get an HDC. Change calls to
6917 w32_per_char_metric to match arg change above. Remove calls to
6918 free results.
6919 (w32_get_glyph_overhangs): Ditto.
6920 (w32_cache_char_metrics): New function.
6921
6922 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6923 ($(BLD)/casefiddle.$(O)): Remove compile command.
6924 ($(BLD)/gmalloc.$(O)): Remove compile command.
6925 ($(BLD)/dispnew.obj):
6926 ($(BLD)/keyboard.obj):
6927 ($(BLD)/w32inevt.obj):
6928 ($(BLD)/w32bdf.obj):
6929 ($(BLD)/alloc.obj):
6930 ($(BLD)/buffer.obj):
6931 ($(BLD)/editfns.obj):
6932 ($(BLD)/emacs.obj):
6933 ($(BLD)/fileio.obj):
6934 ($(BLD)/fns.obj):
6935 ($(BLD)/indent.obj):
6936 ($(BLD)/insdel.obj):
6937 ($(BLD)/intervals.obj):
6938 ($(BLD)/minibuf.obj):
6939 ($(BLD)/print.obj):
6940 ($(BLD)/scroll.obj):
6941 ($(BLD)/sysdep.obj):
6942 ($(BLD)/textprop.obj):
6943 ($(BLD)/widget.obj):
6944 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6945 ($(BLD)/term.obj): Add dependency on dispextern.h.
6946
6947 * makefile.nt ($(BLD)\dispnew.obj):
6948 ($(BLD)\keyboard.obj):
6949 ($(BLD)\w32inevt.obj):
6950 ($(BLD)\w32bdf.obj):
6951 ($(BLD)\alloc.obj):
6952 ($(BLD)\buffer.obj):
6953 ($(BLD)\editfns.obj):
6954 ($(BLD)\emacs.obj):
6955 ($(BLD)\fileio.obj):
6956 ($(BLD)\fns.obj):
6957 ($(BLD)\indent.obj):
6958 ($(BLD)\insdel.obj):
6959 ($(BLD)\intervals.obj):
6960 ($(BLD)\minibuf.obj):
6961 ($(BLD)\print.obj):
6962 ($(BLD)\scroll.obj):
6963 ($(BLD)\sysdep.obj):
6964 ($(BLD)\textprop.obj):
6965 ($(BLD)\widget.obj):
6966 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6967 ($(BLD)\term.obj): Add dependency on dispextern.h
6968
6969 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6970
6971 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6972 with an additional argument of Qt.
6973
6974 2000-10-21 Miles Bader <miles@gnu.org>
6975
6976 * window.c (pos_fully_visible_in_window_p): New function.
6977 (Fpos_visible_in_window_p): Add FULLY argument.
6978 Use pos_fully_visible_in_window_p.
6979 (window_scroll_pixel_based, window_scroll_line_based): Update
6980 calls to Fpos_visible_in_window_p.
6981 * lisp.h (Fpos_visible_in_window_p): Update prototype
6982
6983 2000-10-20 Gerd Moellmann <gerd@gnu.org>
6984
6985 * alloc.c (toplevel): Conditionalize compilation of mem_*
6986 functions differently.
6987
6988 2000-10-20 Jason Rumney <jasonr@gnu.org>
6989
6990 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6991 mem_init where it used to be. mem_z etc not defined otherwise.
6992
6993 2000-10-20 Gerd Moellmann <gerd@gnu.org>
6994
6995 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6996 GC_MALLOC_CHECK.
6997 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6998 structure definition and related variabled to the top of the file.
6999 Include this code when GC_MALLOC_CHECK is defined.
7000 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7001 register/unregister allocated region.
7002 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7003 which isn't allocated.
7004 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7005 something which is already in use.
7006 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7007 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7008 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7009 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7010
7011 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7012 _malloc_internal instead of malloc.
7013 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7014 of free.
7015
7016 2000-10-20 Andrew Innes <andrewi@gnu.org>
7017
7018 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7019 Windows.
7020 (my_strftime) <macro>: Don't use macro arg list when redefining as
7021 _strftime_copytm.
7022 (my_strftime) <function>: Supply 0 as ut argument.
7023
7024 2000-10-19 Jason Rumney <jasonr@altavista.net>
7025
7026 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7027 including dispextern.h, as it stops faces from working.
7028
7029 * w32fns.c (Fx_create_frame): Don't bother calling
7030 face-set-after-frame-default since the caller does it for us
7031 anyway. Clean up calls to x_get_arg to be consistent with X.
7032
7033 * w32term.c (x_produce_glyphs): Handle
7034 unibyte_display_via_language_environment correctly.
7035 (w32_draw_box_rect): Fix the calculation of width and height.
7036
7037 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7038 as it has stopped working.
7039 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7040 menu-bar.
7041
7042 2000-10-19 Gerd Moellmann <gerd@gnu.org>
7043
7044 * eval.c (skip_debugger): Prevent a compiler warning.
7045 (Fcondition_case): Likewise.
7046 (Fbacktrace_frame): Use a null interactive spec.
7047
7048 2000-10-19 Kenichi Handa <handa@etl.go.jp>
7049
7050 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7051
7052 2000-10-18 Gerd Moellmann <gerd@gnu.org>
7053
7054 * strftime.c: Sync with glibc, file version 1.78.
7055 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7056 should no longer be used according to ISO 8601.
7057
7058 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7059 no map for meta_prefix_char, don't try to use it as a keymap.
7060 Instead, if T_OK is non-zero, look up a default binding, if any,
7061 otherwise, if T_OK is zero, return nil.
7062
7063 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7064 (x_to_xcolors, png_load): Use x_query_color.
7065
7066 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7067 New functions.
7068 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7069 which can be slow.
7070 (x_copy_color, x_alloc_lighter_color): Likewise.
7071
7072 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7073 (x_query_color, x_query_colors): Add prototype.
7074
7075 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7076 check_string_bytes only if not noninteractive, increase count to 50.
7077
7078 2000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7079
7080 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7081 markers correctly.
7082
7083 2000-10-17 Gerd Moellmann <gerd@gnu.org>
7084
7085 * alloc.c (pure_bytes_used): Renamed from pureptr.
7086 (ALIGN): New macro.
7087 (pure_alloc): New function.
7088 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7089 Use it.
7090 (Fpurecopy): Use PURE_POINTER_P.
7091
7092 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7093 PT has moved backward.
7094
7095 * xdisp.c (cursor_row_p): Take continued lines into account.
7096
7097 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7098 string's size_byte.
7099 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7100 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7101 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7102 string allocated.
7103
7104 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7105 of selective display off while searching for the next line start.
7106
7107 2000-10-17 Kenichi Handa <handa@etl.go.jp>
7108
7109 * Makefile.in (term.o): Depend on dispextern.h.
7110
7111 2000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7112
7113 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7114
7115 2000-10-16 Gerd Moellmann <gerd@gnu.org>
7116
7117 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7118 the iterator at the beginning, so that they can be set later on,
7119 for instance in reseat_at_next_visible_line_start, without being
7120 overwritten.
7121
7122 * xfns.c (pbm_format): Add :foreground and :background keywords.
7123 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
7124 (xbm_load): Recognize foreground and background color specifications.
7125
7126 2000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7127
7128 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7129
7130 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
7131
7132 * msdos.c (IT_set_face): Compare highlighted face with the default
7133 face, and invert colors if these faces' colors are identical.
7134 (Fmsdos_remember_default_colors): Don't swap foreground and
7135 background colors in initial_colors[].
7136 (IT_set_frame_parameters): Don't swap frame's foreground and
7137 background pixels. If ALIST includes "(reverse . t)", swap
7138 foreground-color and background-color properties in frame's
7139 param_alist. If the original frame's param_alist doesn't specify
7140 the colors, store unspecified-fg and unspecified-bg, reversed if
7141 required.
7142
7143 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7144 the colors are unspecified and reversed, reverse fore- and back-
7145 ground in the returned value.
7146 (Fframe_parameter): Ditto.
7147
7148 2000-10-16 Gerd Moellmann <gerd@gnu.org>
7149
7150 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7151 get_last_unchanged_at_beg_row.
7152 (find_first_unchanged_at_end_row): Renamed from
7153 get_first_unchanged_at_end_row.
7154 (find_first_unchanged_at_end_row): Convert assertions to
7155 unconditional tests which abort. When looking for a row in
7156 unchanged text, don't go further back than first_text_row.
7157
7158 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7159 Don't add in the last line's height when deciding if the new
7160 position is below the scroll margin.
7161
7162 2000-10-16 Miles Bader <miles@gnu.org>
7163
7164 * editfns.c (Fconstrain_to_field): Check carefully for field
7165 boundaries if either OLD_POS or NEW_POS has a non-nil field
7166 property, even if they're the same.
7167
7168 2000-10-16 Kenichi Handa <handa@etl.go.jp>
7169
7170 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7171 height for XFillRectangle.
7172
7173 2000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7174
7175 * syntax.c (Fstring_to_syntax): New function extracted from
7176 Fmodify_syntax_entry.
7177 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7178 (skip_chars, Fforward_comment): Remove unused variables.
7179 (syms_of_syntax): Add defsubr for string-to-syntax.
7180 (describe_syntax): Add code for comment and string fences.
7181
7182 2000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7183
7184 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7185 Do the meta->esc mapping. Call get_keyelt before returning.
7186 Start scanning from the second element (the first is always `keymap')
7187 to make it easier to detect when we reach a parent map.
7188 Handle the case of inheriting from a symbol whose function is a map.
7189 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7190 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7191 (get_keyelt, Flookup_key): Update call to access_keymap.
7192 Remove the meta->esc mappings.
7193 (define_as_prefix): Delete old disabled code.
7194 (menu_item_p): New function.
7195 (where_is_internal_1): Skip over the few remaining menu items.
7196 * lisp.h (access_keymap): Update prototype.
7197 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7198 Update call to access_keymap.
7199 (follow_key, read_key_sequence): Update calls to access_keymap.
7200 Remove the meta->esc mappings.
7201
7202 2000-10-13 Gerd Moellmann <gerd@gnu.org>
7203
7204 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7205 with additional argument.
7206
7207 * xdisp.c (cursor_row_p): New function.
7208 (try_cursor_movement, display_line): Use it.
7209
7210 * xdisp.c (append_space): Also save/restore iterator's current
7211 character and its length.
7212
7213 * xdisp.c (init_from_display_pos): Add an assertion.
7214 (handle_stop): Don't set iterator's add_overlay_start.
7215 (handle_invisible_prop): Likewise.
7216 (load_overlay_strings): If text under an overlay is invisible,
7217 take both before- and after-strings into account when the iterator
7218 is positioned either at the start or at the end of the overlay.
7219 (forward_to_next_line_start): Rewritten.
7220 (reseat_at_next_visible_line_start): Rewritten.
7221 (set_iterator_to_next): Add parameter RESEAT_P.
7222
7223 * dispextern.h (struct it): Remove member add_overlay_start.
7224 (set_iterator_to_next): Change prototype.
7225
7226 2000-10-13 Kenichi Handa <handa@etl.go.jp>
7227
7228 * coding.c (code_convert_region): Be sure to initialize
7229 coding->category_idx.
7230 (decode_coding_string): Set coding->src_multibyte and
7231 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7232 (encode_coding_string): Set coding->src_multibyte and
7233 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
7234
7235 2000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7236
7237 * xfns.c (Fx_create_frame): Don't bother calling
7238 face-set-after-frame-default since the caller does it for us anyway.
7239
7240 2000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7241
7242 * window.c (coordinates_in_window): Fix detection of vertical line
7243 on character terminals.
7244
7245 2000-10-12 Gerd Moellmann <gerd@gnu.org>
7246
7247 * editfns.c (save_excursion_save): Additionally record the
7248 selected window.
7249 (save_excursion_restore): If buffer was visible in a window, and a
7250 different window was selected, and the old selected window is
7251 still live, restore point in that window.
7252
7253 2000-10-12 Kenichi Handa <handa@etl.go.jp>
7254
7255 * xterm.c (x_produce_glyphs): Handle
7256 unibyte_display_via_language_environment correctly.
7257
7258 * regex.c (regex_compile): Change the way of handling a range from
7259 unibyte char to multibyte char.
7260
7261 * syntax.c (skip_chars): Change the way of handling a range from
7262 unibyte char to multibyte char.
7263
7264 * process.c (read_process_output): Cancel previous change.
7265
7266 2000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7267
7268 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7269
7270 * charset.c (Ffind_charset_string): Doc fix.
7271 (Ffind_charset_region): Doc fix.
7272
7273 2000-10-11 Kenichi Handa <handa@mule.m17n.org>
7274
7275 * process.c (read_process_output): Fix previous change. Adjust
7276 multibyteness of text to insert in a buffer by
7277 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
7278
7279 2000-10-10 Andreas Schwab <schwab@suse.de>
7280
7281 * alloc.c (mark_object): Remove all workarounds installed on
7282 1993-08-08.
7283
7284 2000-10-10 Kenichi Handa <handa@etl.go.jp>
7285
7286 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
7287 (base64_encode_1): Make it work for a text of multibyte form.
7288 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7289 case. Don't call str_to_multibyte because base64_decode_1
7290 produces correct multibyte form for eight-bit codes.
7291 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
7292 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7293 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7294 codes.
7295
7296 * charset.h (CHAR_STRING): Optimized for single byte characters.
7297
7298 2000-10-09 Andreas Schwab <schwab@suse.de>
7299
7300 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7301 -1 after socket is closed, to fall through to error processing.
7302
7303 2000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7304
7305 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
7306 variables. If ALIST includes foreground-color or
7307 background-color, change also the colors of the default face for
7308 this frame.
7309
7310 2000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7311
7312 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7313 them extern (they are defined on xfaces.c).
7314 (syms_of_msdos): Don't intern and don't staticpro
7315 Qbackground_color and Qforeground_color.
7316
7317 2000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7318
7319 * frame.c (Fframe_parameter): For non-windowed frames, if
7320 f->param_alist says foreground or background color is unspecified,
7321 call tty_color_name to return the color name computed from the
7322 frame's current colors.
7323
7324 2000-10-06 Dave Love <fx@gnu.org>
7325
7326 * terminfo.c (ospeed): Don't declare.
7327
7328 * sysdep.c: Don't include string.h.
7329 (h_errno): Declare conditional also on TRY_AGAIN.
7330
7331 * charset.c (Ffind_charset_string): Doc fix.
7332
7333 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
7334 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7335 error messages.
7336
7337 2000-10-05 Dave Love <fx@gnu.org>
7338
7339 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7340 position like menu-bar.
7341
7342 2000-10-05 Gerd Moellmann <gerd@gnu.org>
7343
7344 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7345
7346 * xdisp.c (handle_single_display_prop): Use safe_call1.
7347 (safe_call): Renamed from call_function.
7348 (safe_call1): New function.
7349 (handle_fontified_prop): Use safe_call1 instead of call1.
7350 (safe_eval): Renamed from eval_form.
7351 (safe_eval_handler): Renamed from eval_handler.
7352 (handle_single_display_prop, display_mode_element): Use safe_eval
7353 instead of eval_form.
7354
7355 * xfaces.c (merge_face_heights): Use safe_call instead of
7356 call_function.
7357
7358 * keyboard.c (show_help_echo): Use safe_call instead of
7359 call_function; use safe_eval instead of eval_form.
7360
7361 * lisp.h (safe_call): Renamed from call_function.
7362 (safe_eval): Renamed from eval_form.
7363 (safe_call1): Add prototype.
7364
7365 2000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7366
7367 * xfns.c (image_ascent): Rearrange ascent calculation for the
7368 has-a-font case.
7369
7370 2000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7371
7372 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7373 (where_is_internal_1): Don't bother ignoring menu-items any more.
7374
7375 2000-10-04 Gerd Moellmann <gerd@gnu.org>
7376
7377 * keyboard.c (update_menu_bindings): New variable.
7378 (parse_menu_item): Use AREF. If update_menu_bindings
7379 is 0, don't update menu bindings.
7380 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7381
7382 2000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7383
7384 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7385 to `mark_object'.
7386
7387 2000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7388
7389 * syntax.c (forw_comment): Match nestedness of ender/starter.
7390 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7391 (prev_char_comstart_first): Remove.
7392 (back_comment): Check two-char comment markers more carefully
7393 to better handle overlapping cases like *//* or /* */* */ ...
7394 Match nestedness of ender/starter.
7395
7396 2000-10-02 Dave Love <fx@gnu.org>
7397
7398 * config.in (HAVE_GAI_STRERROR): Add undef.
7399
7400 * process.c (Fopen_network_stream): Use it.
7401
7402 * m/alpha.h (NO_REMAP): Don't define.
7403
7404 2000-10-02 Gerd Moellmann <gerd@gnu.org>
7405
7406 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7407 return with a string converted to an integer or vice versa when
7408 Vmocklisp_arguments is t.
7409 (Fsignal): Likewise. The function can return for `quit'.
7410 (struct gcpro): Declare member `var' to point to a volatile
7411 Lisp_Object.
7412
7413 * eval.c (error): Prevent compiler warning.
7414
7415 2000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7416
7417 * keymap.c (keymap_memberp): New function.
7418 (Fset_keymap_parent): Use it.
7419 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7420 Use keymap_memberp to avoid creating cycles.
7421 (access_keymap): Use KEYMAPP.
7422
7423 2000-09-30 Gerd Moellmann <gerd@gnu.org>
7424
7425 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
7426 gai_strerror. Make sure xerrno is set if connect fails. Improve
7427 error recovery.
7428
7429 2000-09-29 Jason Rumney <jasonr@gnu.org>
7430
7431 * w32term.c (w32_char_font_type, w32_encode_char)
7432 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7433 (w32_bdf_per_char_metric): New function.
7434 (w32_per_char_metric): Use it.
7435 (x_draw_glyph_string_background): Always draw background for BDF
7436 glyphs.
7437
7438 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7439 GDI object which is a scarce resource.
7440
7441 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7442 (get_quoted_string): Fix limit on memchr search.
7443 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7444 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7445 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7446 (get_cached_font_char, cache_char_offset): Use macro
7447 BDF_CODEPOINT_RANGE_COVER_P.
7448 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7449 (clear_cached_bitmap_slots): New function.
7450 (GET_HEX_VALUE): G-Z, g-z are not hex.
7451 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7452 (get_bitmap_with_cache): Use new cache implementation.
7453 (create_offscreen_bitmap): New function.
7454 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7455
7456 * w32term.c (x_produce_glyphs): If the distance from the current
7457 position to the next tab stop is less than a canonical character
7458 width, use the tab stop after that.
7459 (x_draw_glyphs): Handle case START and END are out of bounds more
7460 carefully.
7461 (x_clear_mouse_face): Block/unblock input.
7462 (x_display_and_set_cursor): Don't show a hollow box cursor for
7463 buffers whose cursor_type is nil.
7464
7465 2000-09-29 Gerd Moellmann <gerd@gnu.org>
7466
7467 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
7468
7469 * dispextern.h (updating_frame): Declare extern.
7470
7471 2000-09-29 Andreas Schwab <schwab@suse.de>
7472
7473 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7474
7475 2000-09-29 Gerd Moellmann <gerd@gnu.org>
7476
7477 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7478 use its function definition.
7479 (tool_bar_items): Likewise.
7480
7481 * lisp.h (fatal): Declare NO_RETURN.
7482
7483 2000-09-29 Kenichi Handa <handa@etl.go.jp>
7484
7485 * keymap.c: Remove the line "#undef NULL".
7486
7487 2000-09-28 Gerd Moellmann <gerd@gnu.org>
7488
7489 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
7490
7491 2000-09-28 Dave Love <fx@gnu.org>
7492
7493 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7494
7495 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7496
7497 * .gdbinit (xreload): Note its need on GNU/Linux.
7498
7499 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7500 r_alloc, r_alloc_free.
7501
7502 2000-09-28 Kenichi Handa <handa@etl.go.jp>
7503
7504 * syntax.c (skip_chars): Handle negation correctly.
7505
7506 2000-09-27 Gerd Moellmann <gerd@gnu.org>
7507
7508 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7509 with non-zero FORCE_P argument.
7510
7511 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
7512 Add assertions.
7513
7514 * xdisp.c (window_box_height): Add an assertion.
7515
7516 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7517 tool-bar than is available.
7518 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7519
7520 2000-09-27 Dave Love <fx@gnu.org>
7521
7522 * s/irix6-5.h: Now works 64-bit. Tidied.
7523
7524 2000-09-26 Gerd Moellmann <gerd@gnu.org>
7525
7526 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7527 instead of BITS_PER_INT.
7528 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7529 EMACS_UINT, respectively.
7530 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7531
7532 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7533
7534 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7535
7536 * window.c (freeze_window_starts): Construct last argument for
7537 foreach_window differently.
7538
7539 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7540
7541 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7542 EMACS_UINT instead of `int' and `unsigned int'.
7543 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7544
7545 * frame.h (struct frame): Make the `nothing' member of union
7546 output_data an EMACS_INT.
7547
7548 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
7549 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7550 size in the sdata structure.
7551 (SDATA_NBYTES, SDATA_DATA): New macros.
7552 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7553 differently for the different layout of the sdata structure.
7554 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7555 in sdata.
7556 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7557 Check that size recorded in the string size and size recorded in
7558 the sdata structure agree.
7559
7560 2000-09-25 Dave Love <fx@gnu.org>
7561
7562 * buffer.c: Include stdio.h.
7563
7564 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
7565
7566 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7567
7568 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
7569 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
7570 (__malloc_extra_blocks): Declare as __malloc_size_t.
7571
7572 2000-09-25 Gerd Moellmann <gerd@gnu.org>
7573
7574 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7575
7576 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7577 (read_char): If help-echo is showing, preserve the echo area
7578 when redisplaying.
7579
7580 * xdisp.c (help_echo_showing_p): New variable.
7581 (set_message): Reset it to 0.
7582 (init_xdisp): Initialize help_echo_showing_p.
7583
7584 * dispextern.h (help_echo_showing_p): Declare extern.
7585
7586 * config.in: Fix typo in __GNUC_MINOR__.
7587
7588 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7589
7590 * s/freebsd.h (POSIX_SIGNALS): Define.
7591
7592 * xterm.c (x_clear_mouse_face): Block/unblock input.
7593
7594 2000-09-24 Dave Love <fx@gnu.org>
7595
7596 * fns.c (base64_encode_1): Fix last change.
7597
7598 2000-09-22 Gerd Moellmann <gerd@gnu.org>
7599
7600 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7601
7602 * xdisp.c (try_window_reusing_current_matrix): More fixes
7603 for the case window has a header-line.
7604
7605 2000-09-22 Dave Love <fx@gnu.org>
7606
7607 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7608 a doc string.
7609
7610 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7611
7612 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7613
7614 2000-09-21 Gerd Moellmann <gerd@gnu.org>
7615
7616 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
7617 for GCC >= 2.5.
7618
7619 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7620 Declare NO_RETURN.
7621
7622 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7623 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7624 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7625 warnings.
7626
7627 * marker.c (byte_char_debug_check): Return void.
7628
7629 * xfns.c (Fx_create_frame): Set default frame parameter value
7630 for tool-bar-lines to 1.
7631
7632 * dispnew.c (scrolling_window): Compare y-positions of rows
7633 equal at the start. Some simplification.
7634
7635 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7636 reused rows' y-position in the case window has a header-line, and
7637 new window start is greater than old window start.
7638
7639 * process.c (process_sent_to): New variable.
7640 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7641 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7642 Declare more parameters volatile.
7643
7644 * lread.c (Vrecursive_load_depth_limit): New variable.
7645 (Fload): Check recursive loads whose recursion depth exceeds
7646 Vrecursive_load_depth_limit.
7647 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7648
7649 2000-09-20 Gerd Moellmann <gerd@gnu.org>
7650
7651 * fileio.c (Fread_file_name): Doc fix.
7652
7653 * editfns.c (Fmessage_or_box): Doc fix.
7654
7655 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7656
7657 * xfns.c (xbm_scan): Allow C-style comments.
7658
7659 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7660 symbols are specified, add color translations to the cache.
7661 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
7662 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7663 xpm_cache_color.
7664 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7665 structures to xpm_init_color_cache.
7666
7667 2000-09-19 Gerd Moellmann <gerd@gnu.org>
7668
7669 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
7670
7671 2000-09-19 Andrew Innes <andrewi@gnu.org>
7672
7673 * makefile.nt (bootstrap-emacs): Don't change directory.
7674
7675 2000-09-19 Kenichi Handa <handa@etl.go.jp>
7676
7677 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7678
7679 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7680 If output buffer is too small, signal an appropriated error.
7681
7682 2000-09-18 Dave Love <fx@gnu.org>
7683
7684 * keyboard.c (menu_bar_items, tool_bar_items)
7685 (current_active_maps): Remove redundant get_local_map call.
7686
7687 2000-09-18 Gerd Moellmann <gerd@gnu.org>
7688
7689 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7690 cursor for buffers whose cursor_type is nil.
7691
7692 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7693 a feature to implement that is already implemented.
7694 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7695 warnings.
7696
7697 * xfns.c (x_clear_image_1): New function.
7698 (x_clear_image): Use it.
7699 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
7700
7701 * dispnew.c (update_window): Move test for invisible lines
7702 at the top to update_window_line.
7703 (update_window_line): Handle invisible lines here.
7704
7705 * xfns.c (clear_image_cache): Clear current matrices of all
7706 frames sharing an image cache. Block input while freeing
7707 images. Fix timestamp comparison.
7708 (x_clear_image): Also free the mask.
7709
7710 * xfns.c (lookup_image): Block input while loading the image so
7711 that we won't get interrupted in a state where the image isn't yet
7712 set up completely.
7713 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7714 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7715 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
7716 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
7717
7718 2000-09-16 Gerd Moellmann <gerd@gnu.org>
7719
7720 * dispnew.c (update_window): Make sure to make desired rows
7721 current even if they are completely invisible at the top
7722 of a window.
7723
7724 2000-09-15 Gerd Moellmann <gerd@gnu.org>
7725
7726 * xfns.c (lookup_image): Build mask before applying an algorithm.
7727 Recognize algorithm `disabled'.
7728 (cross_disabled_images): New variable.
7729 (COLOR_INTENSITY): New macro.
7730 (x_detect_edges): Use COLOR_INTENSITY.
7731 (x_disable_image): New function.
7732 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7733
7734 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7735 disabled state, don't apply an image transformation algorithm if
7736 the user specified an image for the disabled state. Use
7737 `:algorithm disabled' for creating a disabled item's image if the
7738 user hasn't specified an image.
7739
7740 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7741 allocation functions with the XPM lib.
7742 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7743 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7744 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7745 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
7746 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
7747 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7748 functions, if possible, because these handle color allocation
7749 failure more gracefully.
7750 (Fimage_mask_p): New function.
7751
7752 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7753 (Qedge_detection, Qheuristic): New symbols.
7754 (syms_of_xfns): Initialize new symbols.
7755 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7756 `algorithm (edge-detection ...)'.
7757 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7758 (tiff_format, gif_format, gs_format): Add `:mask'.
7759 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7760 (GIF_MASK, GS_MASK): New enumerators.
7761 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7762 (emboss_matrix, laplace_matrix): New variables.
7763 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7764 (x_edge_detection): New functions.
7765 (x_laplace): Rewritten in terms of x_detect_edges.
7766 (x_build_heuristic_mask): If image has a mask, free it.
7767
7768 2000-09-14 Andrew Innes <andrewi@gnu.org>
7769
7770 * makefile.w32-in: Revert to Unix line endings.
7771
7772 2000-09-14 Andrew Innes <andrewi@gnu.org>
7773
7774 * makefile.w32-in: Standardize indentation somewhat.
7775 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7776 cater for differences between shells.
7777
7778 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7779
7780 2000-09-14 Gerd Moellmann <gerd@gnu.org>
7781
7782 * xterm.c (x_produce_glyphs): If the distance from the current
7783 position to the next tab stop is less than a canonical character
7784 width, use the tab stop after that.
7785
7786 2000-09-14 Dave Love <fx@gnu.org>
7787
7788 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7789
7790 2000-09-14 Gerd Moellmann <gerd@gnu.org>
7791
7792 * xdisp.c (handle_fontified_prop): While running fontification
7793 functions, bind `fontification-functions' and
7794 `after-change-functions' to nil.
7795
7796 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7797 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7798
7799 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7800
7801 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7802 USE_MMAP_FOR_BUFFERS.
7803
7804 * insdel.c (make_gap): Use enlarge_buffer_text.
7805
7806 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7807 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7808 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7809 from former r_alloc_* functions in ralloc.c.
7810 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
7811 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7812 (mmap_init) [REL_ALLOC_MMAP]: New function.
7813 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7814 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7815 BUFFER_FREE.
7816
7817 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7818 (enlarge_buffer_text): Add prototype.
7819
7820 * ralloc.c: Remove everything having to do with the use of mmap.
7821
7822 2000-09-13 Gerd Moellmann <gerd@gnu.org>
7823
7824 * sound.c (Fplay_sound): Doc fix.
7825
7826 * keyboard.c: Avoid some more compiler warnings.
7827 (parse_tool_bar_item): Ignore cached key bindings.
7828
7829 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7830 and allocation of Lisp data.
7831
7832 2000-09-12 Gerd Moellmann <gerd@gnu.org>
7833
7834 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7835 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7836 defaults first.
7837
7838 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7839
7840 2000-09-12 Miyashita Hisashi <himi@meadowy.org>
7841
7842 * ccl.c: Comment fixed.
7843 (MAX_MAP_SET_LEVEL): Increased to 30.
7844 (PUSH_MAPPING_STACK): Enclose with do-while block.
7845 (POP_MAPPING_STACK): Likewise.
7846 (stack_idx_of_map_multiple): New variable.
7847 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7848 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
7849 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
7850 (ccl_driver) <CCL_MapSingle>: Likewise.
7851 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7852 with the case where looking up process reaches to the end of
7853 map-set, and call CCL programs as the above change.
7854
7855 2000-09-11 Gerd Moellmann <gerd@gnu.org>
7856
7857 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7858 that might be clobbered by longjmp.
7859 (check_x_display_info, x_decode_color, create_frame_xic)
7860 (Fx_display_backing_store, Fx_display_visual_class)
7861 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
7862
7863 * lread.c (init_lread): Set Vloads_in_progress to nil.
7864 (Fload): Show list of recursively loaded files, when signaling an
7865 error.
7866
7867 * lread.c (Vloads_in_progress): New variable.
7868 (record_load_unwind): New function.
7869 (Fload): Check for recursive loads.
7870 (syms_of_lread): Initialize Vloads_in_progress.
7871 (read_integer, read1): Avoid some compiler warnings.
7872
7873 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7874 compiler warnings.
7875
7876 2000-09-11 Miles Bader <miles@gnu.org>
7877
7878 * editfns.c (Fbuffer_string): Doc fix.
7879
7880 2000-09-10 Gerd Moellmann <gerd@gnu.org>
7881
7882 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7883
7884 2000-09-09 Ken Raeburn <raeburn@gnu.org>
7885
7886 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7887 whether to include other header files.
7888
7889 2000-09-09 Gerd Moellmann <gerd@gnu.org>
7890
7891 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
7892 by Fmemq as a boolean.
7893
7894 2000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7895
7896 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7897
7898 2000-09-08 Gerd Moellmann <gerd@gnu.org>
7899
7900 * ralloc.c (mmap_fd): Remove initializer which can make it
7901 read-only in a dumped Emacs.
7902 (mmap_fd_1): New variable.
7903 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7904 restore it from there.
7905 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7906 unconditionally so that mmap_fd can be initialized there.
7907 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7908 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7909 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7910
7911 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7912
7913 * xdisp.c (dump_glyph_row): Fix printf format string.
7914 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
7915
7916 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7917
7918 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7919 inheritance.
7920
7921 * xdisp.c (try_window_id): When trying to locate cursor in
7922 unchanged rows at the top, handle the case that we can't find it.
7923
7924 * xterm.c (x_draw_glyphs): Handle case START and END are out
7925 of bounds more carefully.
7926
7927 2000-09-08 Dave Love <fx@gnu.org>
7928
7929 * s/sol2.h (REL_ALLOC_MMAP): Define.
7930 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7931
7932 * ralloc.c: Don't include string.h (redundant).
7933 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7934 [!MAP_ANON]: Include fcntl.h.
7935 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7936 (r_alloc, r_re_alloc, r_alloc_free)
7937 (mmap_enlarge, mmap_set_vars): Use it.
7938 (r_alloc_init_fd): New function.
7939 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7940 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7941 malloc type.
7942
7943 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7944 Remove vm-limit.o.
7945
7946 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7947 change to __NetBSD__.
7948
7949 2000-09-08 Kenichi Handa <handa@etl.go.jp>
7950
7951 * search.c (compile_pattern): Check the multibyteness of cached
7952 string and PATTERN.
7953
7954 2000-09-08 Miles Bader <miles@gnu.org>
7955
7956 * xfaces.c (default_face_vector): Function removed.
7957 (Finternal_merge_in_global_face): Restore old global/local
7958 attribute override order. Use inline loop instead of calling
7959 default_face_vector.
7960
7961 2000-09-07 Gerd Moellmann <gerd@gnu.org>
7962
7963 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7964 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7965 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7966 where necessary, in case POINTER_TYPE is `void'.
7967
7968 2000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7969
7970 * frame.c (make_terminal_frame): Initialize frame foreground and
7971 background colors to unspecified, for the initial instance of an
7972 MSDOS frame.
7973
7974 2000-09-07 Gerd Moellmann <gerd@gnu.org>
7975
7976 * ralloc.c (mmap_find): Fix overlap computation.
7977 (mmap_enlarge): Compute nbytes before trying to find an
7978 overlapping region.
7979
7980 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7981 instead of `!='.
7982
7983 * lread.c (syms_of_lread): Change value of regexp
7984 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7985
7986 * xmenu.c (xdialog_show): When looking up the selection in
7987 menu_items, take `quote' boundaries into account; this corresponds
7988 to a nil ITEM in x-popup-dialog.
7989
7990 2000-09-07 Kenichi Handa <handa@etl.go.jp>
7991
7992 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7993 not 0x81.
7994 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7995
7996 * coding.c (encode_coding_sjis_big5): Use translation table for
7997 encoding, not decoding. Fix the handling of latin-jisx0201.
7998 Check for the charset katakana-jisx0201 too.
7999 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
8000 (detect_coding_sjis): Check the byte sequence more rigidly.
8001
8002 2000-09-07 Gerd Moellmann <gerd@gnu.org>
8003
8004 * xfaces.c (Vparam_value_alist): New variable.
8005 (syms_of_xfaces): Initialize it.
8006 (Finternal_set_lisp_face_attribute): Avoid more consing.
8007
8008 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8009 specially.
8010 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8011 (Qbackground_mode): New variable.
8012 (syms_of_frame_1): Initialize Qbackground_mode.
8013
8014 * lisp.h (Qdisplay): Declare extern.
8015
8016 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8017 change face on all frames, and change the default for new frames.
8018
8019 2000-09-07 Dave Love <fx@gnu.org>
8020
8021 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8022
8023 2000-09-07 Kenichi Handa <handa@etl.go.jp>
8024
8025 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8026
8027 * charset.c: Include composite.h
8028 (lisp_string_width): New function.
8029 (Fstring_width): Call lisp_string_width instead of strwidth.
8030
8031 * Makefile.in (charset.o): Depends on composite.h.
8032
8033 * process.c (read_process_output): Before inserting the decoded
8034 text in the buffer, adjust the multibyteness.
8035
8036 2000-09-06 Gerd Moellmann <gerd@gnu.org>
8037
8038 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
8039 buffer's text buffer is null, map new memory.
8040
8041 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8042 POINTER_TYPE and size_t.
8043 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8044 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8045 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8046 [REL_ALLOC_MMAP]: New macros.
8047 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8048 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8049 [REL_ALLOC_MMAP]: New functions.
8050
8051 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8052 before and after unexec.
8053
8054 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8055 text buffers if necessary.
8056
8057 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8058 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8059 in prototypes.
8060
8061 * config.in (HAVE_MMAP): Add #undef.
8062
8063 2000-09-05 Gerd Moellmann <gerd@gnu.org>
8064
8065 * frame.c (Qdisplay_type): New variable.
8066 (syms_of_frame_1): Initialize it.
8067 (Fframe_parameter): New function that avoids consing.
8068 (syms_of_frame): Defsubr it.
8069
8070 * buffer.c (Fother_buffer): Consider buffers as invisible when
8071 they are displayed in a window on an invisible frame.
8072
8073 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8074 get-largest-window always return nil.
8075
8076 2000-09-04 Gerd Moellmann <gerd@gnu.org>
8077
8078 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8079 variable; recognize Emacs 19 elc files.
8080
8081 2000-09-04 Miles Bader <miles@gnu.org>
8082
8083 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8084 before initially popping up the menu, so the menu doesn't flash
8085 when the face settings are significantly different from the defaults.
8086
8087 2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8088
8089 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8090 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8091 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8092 (BIT_UNIBYTE): Remove.
8093 (re_match_2_internal): Delete corresponding code and streamline the
8094 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8095 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8096 (re_wctype_t): New type.
8097 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8098 (regex_compile): Use them and fix handling of overly long char classes.
8099
8100 2000-09-03 Andrew Innes <andrewi@gnu.org>
8101
8102 * makefile.w32-in: Change to DOS line endings.
8103
8104 * s/ms-w32.h (ORDINARY_LINK): New define.
8105
8106 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8107 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8108
8109 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8110 (distclean): Delete them here instead.
8111
8112 * w32proc.c (compare_env): Convert to uppercase for comparison,
8113 not lowercase, to match how the native Windows shell works.
8114
8115 2000-09-03 Jason Rumney <jasonr@gnu.org>
8116
8117 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8118 CVS changes the line-ends when checking in/out on DOS/Windows.
8119
8120 * makefile.nt (emacs): Do not change directory to run temacs, as
8121 the load-path is set relative to current directory.
8122
8123 2000-09-03 Miles Bader <miles@gnu.org>
8124
8125 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8126
8127 2000-09-02 Gerd Moellmann <gerd@gnu.org>
8128
8129 * xdisp.c (redisplay_mode_lines): New function.
8130 (display_mode_lines): Return number of mode lines displayed.
8131 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8132 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8133
8134 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8135 string.h and strings.h.
8136 (index) [HAVE_INDEX]: Add prototype.
8137
8138 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8139 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8140
8141 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8142 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8143
8144 2000-09-01 Gerd Moellmann <gerd@gnu.org>
8145
8146 * lread.c (read1): Accept `?' as symbol constituent, for
8147 compatiblity with XEmacs.
8148
8149 2000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8150
8151 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8152 (struct re_pattern_buffer): Remove newline_anchor.
8153 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8154 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8155 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8156 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8157 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8158 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8159 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8160 Get rid of references to newline_anchor.
8161 (regcomp): Allocate and precompute a fastmap.
8162
8163 2000-08-31 Gerd Moellmann <gerd@gnu.org>
8164
8165 * lread.c (openp): GCPRO local variable `filename'.
8166
8167 2000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8168
8169 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8170
8171 * regex.c: Merge some changes from GNU libc. Add prototypes.
8172 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8173 Use memcmp and memcpy instead of bcopy and bcmp.
8174 (init_syntax_once): Use ISALNUM.
8175 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8176 (REG_UNSET_VALUE): Remove. Use NULL instead.
8177 (REG_UNSET, re_match_2_internal): Use NULL.
8178 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8179 New macros.
8180 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8181 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8182 (regex_compile): In handle_interval, return an error rather than try to
8183 unfetch the interval if we can't find the closing brace.
8184 Obey the RE_NO_GNU_OPS syntax bit.
8185 (TOLOWER): New macro.
8186 (regcomp): Use it.
8187 (regexec): Allocate regs.start and regs.end as one block.
8188
8189 2000-08-30 Gerd Moellmann <gerd@gnu.org>
8190
8191 * xdisp.c (echo_area_display): Check display_completed instead
8192 of calling detect_input_pending.
8193
8194 * dispnew.c (update_frame): Only set display_completed here; move
8195 the update_begin and update_end calls here from update_frame_1.
8196 (update_frame_1): Don't set display_completed here, don't call
8197 update_begin/update_end.
8198
8199 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8200 instead of store_frame_param.
8201
8202 2000-08-29 Gerd Moellmann <gerd@gnu.org>
8203
8204 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8205 desired window matrix hasn't been displayed, use the current row
8206 instead. Make sure that only those frame rows are updated for
8207 which there exists a corresponding enabled desired row.
8208
8209 2000-08-29 Miles Bader <miles@gnu.org>
8210
8211 * xfaces.c (default_face_vector): New function.
8212 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8213
8214 2000-08-29 Gerd Moellmann <gerd@gnu.org>
8215
8216 * lread.c (openp): Prevent temporary string passed to
8217 Ffile_readable_p from being garbage collected.
8218
8219 2000-08-28 Dave Love <fx@gnu.org>
8220
8221 * keymap.c (store_in_keymap): Add `static' to declaration.
8222
8223 2000-08-28 Gerd Moellmann <gerd@gnu.org>
8224
8225 * emacs.c, callint.c, doc.c, editfns.c
8226 (toplevel) [HAVE_STRING_H]: Include string.h.
8227 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8228 (index): Remove prototypes which might conflict with non-standard
8229 definitions of index/strchr.
8230
8231 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8232 (rindex): Define only if !HAVE_RINDEX.
8233
8234 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8235
8236 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8237
8238 2000-08-28 Miles Bader <miles@gnu.org>
8239
8240 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8241 made inconsistent by a font-related attribute in FROM.
8242 (merge_face_inheritance): Add function comment.
8243
8244 2000-08-28 Kenichi Handa <handa@etl.go.jp>
8245
8246 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8247 the 4th arg (PREV_EVENT) Qt to suppress input method.
8248
8249 2000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8250
8251 * regex.c: Indent cpp directives and remove parens after `defined'.
8252 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8253 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8254 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8255 (re_compile_pattern): Use size_t for length.
8256 (init_syntax_once): Move to a better place.
8257 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8258 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8259
8260 * syntax.c (back_comment): Detect cases where a comment-starter is
8261 actually inside another comment as in: /* a // b */ c // d \n.
8262 Make it clear that `comstart_pos' is unused for nested comments.
8263
8264 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8265 (KEYMAPP): New macro.
8266 (Fkeymap_parent, Fset_keymap_parent): Use it.
8267 (fix_submap_inheritance): Mark it static.
8268 (define_as_prefix, describe_buffer_bindings, describe_command)
8269 (describe_translation, describe_map): Complete prototypes.
8270
8271 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8272
8273 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8274 to better match the key-lookup behavior.
8275
8276 2000-08-27 Gerd Moellmann <gerd@gnu.org>
8277
8278 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8279 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8280
8281 2000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8282
8283 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8284 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8285 (xterm.o): Depend on coding.h
8286
8287 2000-08-26 Kenichi Handa <handa@etl.go.jp>
8288
8289 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8290 the corresponding '#endif'.
8291
8292 2000-08-26 Miles Bader <miles@gnu.org>
8293
8294 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8295 * xfaces.c (QCinherit): New variable.
8296 (syms_of_xfaces): Initialize it.
8297 (LFACE_INHERIT): New macro.
8298 (Finternal_get_lisp_face_attribute)
8299 (merge_face_vector_with_property)
8300 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8301 (check_lface_attrs): Allow new types of face height. Check
8302 inherit attribute.
8303 (CYCLE_CHECK): New macro.
8304 (merge_face_inheritance): New function.
8305 (merge_face_vectors): Merge inherited faces too. Add F and
8306 CYCLE_CHECK arguments.
8307 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8308 (lookup_named_face, lookup_derived_face, realize_named_face)
8309 (face_at_string_position, face_at_buffer_position): Supply
8310 new F and CYCLE_CHECK arguments to merge_face_vectors.
8311 (merge_face_heights): New function.
8312 (merge_face_vectors, merge_face_vector_with_property)
8313 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8314 handle relative face heights.
8315 (lface_same_font_attributes_p): Compare heights using EQ.
8316
8317 2000-08-26 Kenichi Handa <handa@etl.go.jp>
8318
8319 * charset.c (char_to_string): Check the character validity.
8320 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
8321
8322 2000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8323
8324 * regex.c (PUSH_FAILURE_COUNT): New macro.
8325 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8326 Handle popping of a register's or a counter's data.
8327 (POP_FAILURE_POINT): Use the new name.
8328 (re_match_2_internal): Push counter data on the stack for succeed_n,
8329 jump_n and set_number_at and remove misleading dead code in succeed_n.
8330
8331 2000-08-25 Gerd Moellmann <gerd@gnu.org>
8332
8333 * xdisp.c (redisplay_internal): If considering all windows on all
8334 frames, update the display for each frame as soon as possible,
8335 instead of first building all desired matrices for all frames, and
8336 then updating them all.
8337 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8338
8339 2000-08-24 Gerd Moellmann <gerd@gnu.org>
8340
8341 * bytecode.c (mark_byte_stack): Add a comment.
8342
8343 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8344 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
8345 a graphical frame.
8346
8347 2000-08-24 Kenichi Handa <handa@etl.go.jp>
8348
8349 * minibuf.c (do_completion): Always use compare-string, not
8350 string-equal because the latter doesn't pay attention to
8351 multibyteness of strings.
8352
8353 * process.c (create_process): Don't setup raw-text coding here.
8354 (Fopen_network_stream): Don't set coding->src_multibyte and
8355 coding->dst_multibyte here.
8356 (read_process_output): For process filter, return unibyte string
8357 if default-enable-multibyte-characters is nil.
8358 (send_process): If OBJECT is multibyte text, be sure to encoded it
8359 by the specified coding system for the process. Otherwise, setup
8360 raw-text coding.
8361 (init_process): Don't initialize default-process-coding-system here.
8362
8363 2000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8364
8365 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8366 <scroll-down-aggressively>: Likewise.
8367
8368 2000-08-23 Kenichi Handa <handa@etl.go.jp>
8369
8370 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8371 zero. Set coding->produced_char correctly.
8372
8373 2000-08-22 Andrew Innes <andrewi@gnu.org>
8374
8375 * makefile.w32-in: New file.
8376
8377 * unexw32.c (unexec): Ignore old_name, and use the actual location
8378 of the current executable instead. Base new_name on this.
8379
8380 * w32proc.c (create_child): Remove reference to security
8381 descriptor, which isn't needed and doesn't compile with mingw32.
8382
8383 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8384 up dllimport attributes.
8385 (x_update_window_end): Update prototype.
8386
8387 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8388 extern, which screws up dllimport attributes.
8389
8390 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8391 up dllimport attributes.
8392
8393 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8394 screws up dllimport attributes.
8395
8396 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8397 up dllimport attributes.
8398 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8399 screws up dllimport attributes.
8400
8401 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8402 up dllimport attributes.
8403
8404 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8405 screws up dllimport attributes.
8406
8407 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8408 screws up dllimport attributes.
8409
8410 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8411 up dllimport attributes.
8412
8413 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8414 unnecessary extern, which screws up dllimport attributes.
8415 (main): Ditto.
8416
8417 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8418 up dllimport attributes.
8419
8420 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8421 unnecessary extern, which screws up dllimport attributes.
8422
8423 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8424 screws up dllimport attributes.
8425
8426 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8427 up dllimport attributes.
8428
8429 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8430
8431 * w32bdf.c (search_file_line):
8432 (set_bdf_font_info):
8433 (seek_char):
8434 (w32_get_bdf_glyph):
8435 (w32_BDF_to_x_font): Fix compile warnings.
8436
8437 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
8438
8439 * w32select.c: Include keyboard.h before frame.h.
8440
8441 * w32fns.c (max): Define macro.
8442 (JOHAB_CHARSET): Define if not known.
8443 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8444 (Fx_show_tip): Synch with X version.
8445
8446 * w32xfns.c: Include keyboard.h before frame.h.
8447
8448 * w32fns.c: Include keyboard.h before frame.h.
8449
8450 * w32term.c: Include keyboard.h before frame.h.
8451
8452 * fontset.c: Include keyboard.h before frame.h.
8453
8454 * w32inevt.c: Include keyboard.h before frame.h.
8455 (MOUSE_MOVED): Define if not known.
8456
8457 * minibuf.c: Include keyboard.h before frame.h.
8458
8459 * keyboard.c: Include keyboard.h before frame.h.
8460
8461 * indent.c: Include keyboard.h before frame.h.
8462
8463 * dispnew.c: Include keyboard.h before frame.h.
8464
8465 * buffer.c: Include keyboard.h before frame.h.
8466
8467 * alloc.c: Include keyboard.h before frame.h.
8468
8469 * print.c: Include keyboard.h before frame.h.
8470
8471 * process.c: Include keyboard.h before frame.h.
8472
8473 * scroll.c: Include keyboard.h before frame.h.
8474
8475 * sysdep.c: Include keyboard.h before frame.h.
8476
8477 * term.c: Include keyboard.h before frame.h.
8478
8479 * window.c: Include keyboard.h before frame.h.
8480
8481 * xdisp.c: Include keyboard.h before frame.h.
8482 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8483
8484 * frame.c: Include keyboard.h before frame.h.
8485
8486 * w32heap.h: Undefine min, max.
8487
8488 * w32gui.h: Undefine min, max.
8489
8490 * unexw32.c: Change PUCHAR to PCHAR.
8491 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
8492 (relocate_offset):
8493 (get_section_info):
8494 (copy_executable_and_dump_data): Remove unnecessary static defs.
8495 (copy_executable_and_dump_data): Fix compile warnings.
8496
8497 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8498
8499 * w32console.c (min): Define macro.
8500 (clear_frame, write_glyphs): Fix compile warning.
8501
8502 * w32proc.c (compare_env):
8503 (find_child_console): Fix compile warning.
8504
8505 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8506 sys_errlist instead of _sys_errlist.
8507 (get_emacs_configuration_options): New function.
8508
8509 * s/ms-w32.h (sys_nerr): Provide default definition.
8510 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8511 name with _ prepended.
8512 (NSIG): Define if not known.
8513 (get_emacs_configuration): Provide extern declaration.
8514 (get_emacs_configuration_options): Provide extern declaration.
8515 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8516
8517 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
8518 (map_w32_filename):
8519 (read_unc_volume): Fix compile warning.
8520
8521 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8522 definitions from being used.
8523
8524 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8525
8526 * w32.c (unc_volume_file_attributes):
8527 (open_unc_volume): Make arg const.
8528
8529 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8530 (read_input_waiting): Remove excess parameter.
8531
8532 * w32.c (init_environment): Call _access.
8533 (check_windows_init_file): Call _close.
8534 (init_user_info): Call _putenv.
8535 (init_environment): Call _putenv and _strdup.
8536 (init_ntproc): Reset volume info cache on startup.
8537
8538 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8539 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8540 cannot override the CRT malloc.
8541
8542 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8543 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8544
8545 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8546 unless we are linking with a static CRT.
8547 (RVA_TO_PTR): Cast result to unsigned char*.
8548
8549 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8550 (add_volume_info): Use xstrdup.
8551
8552 2000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8553
8554 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8555 (do_completion, Fminibuffer_complete_word): Use it.
8556 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8557 var so it can take non-boolean values.
8558
8559 2000-08-21 Gerd Moellmann <gerd@gnu.org>
8560
8561 * editfns.c (find_field): Formatting changes.
8562 (toplevel): Some old-style function forward declarations
8563 changed to prototypes, some new protypes added, some functions
8564 made static.
8565
8566 * lisp.h (set_time_zone_rule): Add prototype.
8567 (use_dialog_box): External declaration.
8568
8569 * keyboard.c (gen_help_event): Add parameter SIZE.
8570 (kbd_buffer_events_waiting): Slightly rewritten.
8571 (clear_event): New function.
8572 (kbd_buffer_get_event): Use it, and clear the input_events of
8573 HELP_EVENTs.
8574 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8575 don't fill the newly created array with nils.
8576 (toplevel): Convert some old-style function forward declarations
8577 to prototypes.
8578
8579 * keyboard.h (gen_help_event): Change prototype.
8580
8581 * xterm.c (XTread_socket): Change calls to gen_help_event.
8582
8583 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8584
8585 * eval.c (Fmacroexpand): Doc fix.
8586
8587 2000-08-20 Jason Rumney <jasonr@gnu.org>
8588
8589 * w32term.h (x_display_info_for_display): Remove as this function
8590 does not exist on W32.
8591
8592 * w32term.c (help_echo_window): New variable.
8593 (syms_of_w32term): staticpro it.
8594 (note_mode_line_highlight): Set it.
8595 (XTextExtents16): Removed as there is no equivalent on W32.
8596 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8597 the X way of doing this will not work for W32.
8598 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8599 (x_draw_image_foreground): Avoid drawing outside of the clip area
8600 when image doesn't have a mask.
8601 (note_mouse_highlight): Process overlays in the right order of
8602 priority. Set help_echo_window.
8603 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8604 because that's more visible for large images.
8605
8606 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8607 name to single_keymap_panes.
8608 (w32_menu_show): Set wv->title when dealing with titles.
8609 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8610
8611 2000-08-21 Miles Bader <miles@gnu.org>
8612
8613 * minibuf.c (do_completion): Try again if we rewrite the input
8614 string, but no completion was done, so that any completion message
8615 will be correct.
8616
8617 2000-08-20 Gerd Moellmann <gerd@gnu.org>
8618
8619 * xfaces.c (lface_equal_p): Compare strings differently.
8620 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8621 (realize_tty_face): Use them.
8622 (syms_of_xfaces): Initialize new variables.
8623 (map_tty_color): New function, extracted from realize_tty_face.
8624 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8625 foreground or background color, store the new color name in the
8626 realized face; previous code trying to do this had no effect.
8627 (realize_tty_face): Use map_tty_color.
8628 (Fclear_face_cache): Set face_change_count and ensure thorough
8629 redisplay.
8630
8631 2000-08-19 Gerd Moellmann <gerd@gnu.org>
8632
8633 * undo.c (record_first_change, record_marker_adjustment): Don't
8634 use XBUFFER on last_undo_buffer which might not be a buffer.
8635
8636 2000-08-18 Kenichi Handa <handa@etl.go.jp>
8637
8638 * coding.c (decode_coding_string): Set members consumed,
8639 consumed_char, produced, produced_char of *coding correctly. If
8640 decode_coding doesn't consume any byte, don't try anymore.
8641 (encode_coding_string): Likewise.
8642
8643 2000-08-18 Gerd Moellmann <gerd@gnu.org>
8644
8645 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8646 conditional have void type, for Standard C compilers.
8647
8648 * xdisp.c (redisplay_internal): Compare windows for equality with
8649 EQ, instead of applying XWINDOW to something that might not
8650 be a window.
8651
8652 2000-08-18 Kenichi Handa <handa@etl.go.jp>
8653
8654 * fontset.c (Finternal_char_font): Search only the selected frame
8655 for a window of the current buffer.
8656
8657 2000-08-18 Gerd Moellmann <gerd@gnu.org>
8658
8659 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
8660 Lisp_Objects.
8661
8662 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8663 second half of a HELP_EVENT is found at the start of kbd_buffer.
8664
8665 2000-08-18 Miles Bader <miles@gnu.org>
8666
8667 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8668
8669 * editfns.c (save_restriction_save): Rewrite to use markers.
8670 (save_restriction_restore): Rewrite to understand new form of data
8671 saved by save_restriction_save.
8672 (Fsave_restriction): Remove cautionary note in doc-string.
8673
8674 2000-08-17 Gerd Moellmann <gerd@gnu.org>
8675
8676 * fileio.c (build_annotations): Add a comment explaining the
8677 return value of format-annotate-function. Replace a spurious call
8678 to Flength with a CONSP test. Call format-annotate-function with
8679 a fifth arg specifying how many times the function is been called
8680 in a row, to let it choose temporary buffers appropriately.
8681
8682 2000-08-17 Dave Love <fx@gnu.org>
8683
8684 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8685 declare make_temp_name twice.
8686
8687 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
8688 (unreadpure): Give it an arg.
8689
8690 * unexalpha.c: Prototype fatal_unexec, mark_x,
8691 update_dynamic_symbols. Declare unexec as void.
8692
8693 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8694 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8695
8696 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
8697 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
8698
8699 * alloca.c: Use #error.
8700 [POINTER_TYPE]: Use it.
8701
8702 * eval.c (Fdefvar): Doc fix.
8703
8704 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8705 INITIALIZE_INTERVAL.
8706
8707 * buffer.h: Avoid DECLARE_INTERVALS.
8708
8709 * config.in: Add size_t.
8710
8711 2000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8712
8713 * w16select.c (set_clipboard_data): If there's not enough memory
8714 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8715 expects. In case of other failures, return 3.
8716 (system_error_msg): New error message.
8717 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8718 system_error_msg.
8719
8720 2000-08-16 Gerd Moellmann <gerd@gnu.org>
8721
8722 * term.c (write_glyphs): Also turn off inverse video after turning
8723 off other appearances in case TS_exit_attribute_mode is not equal
8724 to TS_end_standout_mode.
8725 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8726 with the same face.
8727 (turn_off_face): Reset standout_mode only if
8728 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8729 is equal to TS_end_standout_mode.
8730
8731 2000-08-16 Kenichi Handa <handa@etl.go.jp>
8732
8733 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8734 sequence at the end of the source block.
8735
8736 * ccl.c (Fccl_program_p): Docstring modified.
8737 (Fccl_execute): Likewise.
8738 (Fccl_execute_on_string): Likewise.
8739
8740 2000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8741
8742 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8743
8744 2000-08-16 Kenichi Handa <handa@etl.go.jp>
8745
8746 The following changes are mainly to fix bugs of
8747 encode/decode-coding-string failing if encoding/decoding return
8748 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8749 variable conversion_buffer.
8750
8751 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8752 decrement dst_end to avoid buffer overflow in the later call of
8753 string_as_multibyte
8754
8755 * coding.h (conversion_buffer_size, conversion_buffer)
8756 (get_conversion_buffer): Extern deleted.
8757
8758 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8759 (conversion_buffer, conversion_buffer_size): Variables deleted.
8760 (get_conversion_buffer): Function deleted.
8761 (struct conversion_buffer): New structure.
8762 (MAX_ALLOCA): New macro.
8763 (allocate_conversion_buffer): New macro.
8764 (extend_conversion_buffer, free_conversion_buffer): New functions.
8765 (ccl_coding_driver): Set coding->result.
8766 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8767 this is the last block of source.
8768 (encode_coding): Likewise. Handle the source block as the last
8769 one only when the whole source text is consumed.
8770 (decode_coding_string): Handle the case that the output buffer is
8771 too small to decode the whole source text. Use
8772 allocate_conversion_buffer, extend_conversion_buffer and
8773 free_conversion_buffer, not get_conversion_buffer.
8774 (encode_coding_string): Likewise.
8775 (init_coding): Function deleted.
8776 (init_coding_once): Delete code to initialize conversion_buffer_size.
8777
8778 * emacs.c (main): Don't call init_coding.
8779
8780 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
8781
8782 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8783 (insert_glyphs): Likewise.
8784
8785 * w32console.c (write_glyphs): Use a locally declared
8786 conversion_buffer.
8787
8788 2000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8789
8790 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8791 member of display_info is NULL.
8792
8793 2000-08-15 Gerd Moellmann <gerd@gnu.org>
8794
8795 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
8796
8797 * term.c (turn_off_face): Reset standout_mode when resetting
8798 appearances with capability `me'.
8799 (write_glyphs): Switch on inverse video before each face change.
8800
8801 2000-08-14 Dave Love <fx@gnu.org>
8802
8803 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8804 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8805 (lisp_free): Declare and make static.
8806
8807 * window.c: Fix embedded comment.
8808 (syms_of_window): Fix doc string.
8809
8810 2000-08-14 Gerd Moellmann <gerd@gnu.org>
8811
8812 * keymap.c (push_key_description): If C without modifiers is < 32,
8813 make sure to print `C-' before `M-', like in the manual.
8814
8815 2000-08-11 Gerd Moellmann <gerd@gnu.org>
8816
8817 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8818 since they aren't relocated anymore.
8819 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
8820
8821 * xdisp.c (try_cursor_movement): Fix handling of cursor in
8822 partially visible line which is smaller than the window's height.
8823
8824 2000-08-11 Kenichi Handa <handa@etl.go.jp>
8825
8826 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
8827 the multibyte form of eight-bit-control characters.
8828 (Fccl_execute_on_string): Initialize ccl->multibyte.
8829
8830 * ccl.h (struct ccl_program): New member multibyte.
8831
8832 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8833
8834 2000-08-11 Kenichi Handa <handa@etl.go.jp>
8835
8836 * regex.c (regex_compile) <normal_char>: Pay attention to
8837 multibyteness.
8838 (analyse_first) <exactn>: Setup fastmap correctly for
8839 eight-bit-control characters.
8840
8841 2000-08-11 Kenichi Handa <handa@etl.go.jp>
8842
8843 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
8844
8845 * keyboard.c (make_lispy_event): Handle the new event type
8846 multibyte_char_keystroke.
8847
8848 * xterm.c: Include coding.h.
8849 (XTread_socket): Work around a bug of XmbLookupString. If the
8850 input is from XIM, decode it according to the current locale. In
8851 that case, generate multibyte_char_keystroke events.
8852
8853 2000-08-11 Kenichi Handa <handa@etl.go.jp>
8854
8855 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8856 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8857
8858 2000-08-10 Gerd Moellmann <gerd@gnu.org>
8859
8860 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8861 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8862 (move_it_in_display_line_to): Record iterator's ascent and descent
8863 before producing glyphs, and restore them when we know the glyph
8864 doesn't fit on the line.
8865 (move_it_to): Restructured so that it's easier to debug. If
8866 moving to a vpos, and not moving to an x or character position,
8867 stop as soon as the specified vpos is reached; don't move further
8868 into that line because that might change the computed line height.
8869 (try_cursor_movement): New function, extracted from the cursor
8870 movement branch of redisplay_window. If ending on a partially
8871 visible line, don't try to scroll if the cursor line is taller
8872 than the window.
8873 (redisplay_window): Use try_cursor_movement.
8874
8875 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8876 because that function doesn't cope with variable-height lines.
8877
8878 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8879 box cursor because that's better visible for large images.
8880
8881 2000-08-10 Miles Bader <miles@gnu.org>
8882
8883 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8884
8885 2000-08-10 Gerd Moellmann <gerd@gnu.org>
8886
8887 * xdisp.c (Vmessages_buffer_name): New variable.
8888 (message_dolog): Use it.
8889 (syms_of_xdisp): Initialize it.
8890
8891 2000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8892
8893 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
8894 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8895 redundant now that keyboard.h is included.
8896
8897 2000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8898
8899 * keyboard.c (kbd_buffer_events_waiting): New function.
8900
8901 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8902
8903 * msdos.c: Include keyboard.h.
8904 (XMenuActivate): Empty no_event events from the event buffer. If
8905 no events are left after that, call clear_input_pending.
8906 (mouse_clear_clicks): New function, code moved from mouse_init.
8907 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8908 mouse driver to ``forget'' any past clicks.
8909
8910 * Makefile.in (msdos.o): Depend on keyboard.h.
8911
8912 2000-08-09 Gerd Moellmann <gerd@gnu.org>
8913
8914 * lisp.h (input_pending): External declaration.
8915
8916 * dispextern.h (Qredisplay_dont_pause): Declare extern.
8917
8918 * xdisp.c (echo_area_display): Display thoroughly if input is
8919 pending. Bind redisplay-dont-pause to t during the redisplay.
8920 in case input is pending.
8921
8922 * dispnew.c (Qredisplay_dont_pause): New variable.
8923 (syms_of_display): Initialize and staticpro it.
8924 (update_frame_1): Don't interrupt the display for pending input if
8925 redisplay_dont_pause is set.
8926
8927 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8928
8929 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8930
8931 2000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8932
8933 * callproc.c (Fcall_process): Terminate the unwind-protect around
8934 the post-read-conversion of coding system.
8935
8936 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8937 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8938 * buffer.h (overlays_at): Update prototype.
8939 * xdisp.c (next_overlay_change): Update call to overlays_at.
8940 * xfaces.c (face_at_buffer_position): Likewise.
8941 * textprop.c (Fget_char_property): Likewise.
8942 * xterm.c (note_mouse_highlight): Likewise.
8943
8944 * minibuf.c (do_completion): Don't consider a simple change of
8945 case as `completion'.
8946
8947 2000-08-08 Ken Raeburn <raeburn@gnu.org>
8948
8949 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
8950 * undo.c (record_delete): Make sure last_point_position_buffer is
8951 a buffer before comparing pointers.
8952
8953 * coding.h (decode_coding_string): Declare.
8954
8955 * intervals.h (Fprevious_single_char_property_change): Declare.
8956
8957 * textprop.c (Fprevious_single_char_property_change): Don't do
8958 arithmetic directly on lisp objects.
8959
8960 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
8961
8962 * keyboard.h (menu_item_eval_property): Declare.
8963
8964 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8965 reuse as buffer name, instead of recreating (and discarding) every
8966 time a message is logged.
8967 (with_echo_area_buffer): Make callback arg A2 a lisp object.
8968 (current_message_1, truncate_message_1, set_message_1)
8969 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8970 (current_message, truncate_echo_area, display_echo_area)
8971 (resize_echo_area_axactly): Changed calls.
8972
8973 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
8974 Lisp object.
8975 (Ffind_coding_systems_region_internal): First argument to Fappend
8976 must be an integer, not a Lisp object.
8977
8978 2000-08-08 Kenichi Handa <handa@etl.go.jp>
8979
8980 * charset.c (Fchar_width): Doc fix.
8981
8982 2000-08-08 Gerd Moellmann <gerd@gnu.org>
8983
8984 * charset.c (Fstring_width): Doc fix.
8985
8986 2000-08-07 Gerd Moellmann <gerd@gnu.org>
8987
8988 * xdisp.c (start_display): When starting display on a continuation
8989 line, clear ascent and descent members of the iterator structure;
8990 the height of the continued line does not affect the height of the
8991 continuation line.
8992 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8993 line taller than the window.
8994 (redisplay_window) <forced window start>: Handle case that the
8995 middle of the window is not found in any row.
8996 (dump_glyph_row): Show more information.
8997 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8998 first text line in a glyph matrix.
8999
9000 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9001 of the clip area when image doesn't have a mask.
9002
9003 * fns.c (sweep_weak_table): Fix survival conditions for
9004 key-or-value and key-and-value weakness.
9005
9006 * .gdbinit (xhashtable): New command.
9007
9008 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9009 tables out of the list of all weak hash tables.
9010
9011 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9012 a new buffer is created, make sure echo_area_buffer[] references
9013 the new buffer.
9014
9015 2000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9016
9017 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9018 the doc string.
9019
9020 2000-08-07 Kenichi Handa <handa@etl.go.jp>
9021
9022 * syntax.c (skip_chars): Fix previous change. Make the handling
9023 of unibyte string consistent with that of regex search.
9024
9025 2000-08-05 Gerd Moellmann <gerd@gnu.org>
9026
9027 * xmenu.c (popup_get_selection): Use xfree instead of free.
9028
9029 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9030
9031 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9032
9033 * callproc.c (child_setup): Use xfree instead of free.
9034
9035 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9036 instead of malloc.
9037 (run_mac_command, closedir): Use `xfree' instead of `free'.
9038
9039 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9040
9041 * eval.c (error): Use xfree instead of free.
9042
9043 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9044
9045 * fns.c: Replace `illegal' with `invalid'.
9046 (Fmake_hash_table, make_hash_table): Allow table size of 0.
9047
9048 2000-08-05 Kenichi Handa <handa@etl.go.jp>
9049
9050 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9051 conversion.
9052
9053 2000-08-04 Noah Friedman <friedman@splode.com>
9054
9055 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9056 docstring.
9057
9058 2000-08-04 Gerd Moellmann <gerd@gnu.org>
9059
9060 * syntax.c (skip_chars): Fix typo in error message.
9061
9062 2000-08-04 Andreas Schwab <schwab@suse.de>
9063
9064 * m/ia64.h: Moved from s/ia64.h.
9065
9066 2000-08-04 Kenichi Handa <handa@etl.go.jp>
9067
9068 * process.c (read_process_output): Big simplification. Handle
9069 composition and post-read-conversion of coding system correctly.
9070 (send_process): Handle composition correctly.
9071
9072 * callproc.c (Fcall_process): Handle post-read-conversion of
9073 coding system if any.
9074
9075 * coding.c (decode_coding_iso2022): More strict check for handling
9076 single shifting.
9077 (coding_restore_composition): Pay attention to the case that
9078 cmp_data is not set properly (because of invalid code in the
9079 source text).
9080 (run_pre_post_conversion_on_str): Include text properties in the
9081 resulting string.
9082 (decode_coding_string): Set members of coding correctly.
9083
9084 2000-08-03 Gerd Moellmann <gerd@gnu.org>
9085
9086 * s/ia64.h: New file.
9087
9088 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9089 Use NULL instead of 0 at the end of variable argument list of
9090 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9091 sizeof (int) < sizeof (void *).
9092
9093 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9094 of variable argument lists of XtVaGetValues and XtVaSetValues.
9095
9096 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9097 variable argument lists of XtVaGetValues and XtVaSetValues.
9098
9099 2000-08-02 Gerd Moellmann <gerd@gnu.org>
9100
9101 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9102 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9103
9104 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9105 prototype.
9106
9107 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9108 in call to Fsingle_key_description.
9109
9110 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9111 Callers changed.
9112
9113 2000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9114
9115 * window.c (display_buffer_reuse_frames): New variable.
9116 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9117 frames displaying BUFFER.
9118 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
9119
9120 2000-08-01 Miles Bader <miles@gnu.org>
9121
9122 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9123 when to constrain NEW_POS (they were pretty screwed up before).
9124
9125 2000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9126
9127 * msdos.c (run_msdos_command): Save and restore the master
9128 environment, for the case that child_setup signals an error.
9129 When mirroring slashes in DOS shell commands, don't fail when
9130 argv[2] has embedded blanks.
9131 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9132 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9133 (dos_ttraw): Call mouse_setup_buttons.
9134
9135 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9136 using alloca; free it after run_msdos_command returns.
9137
9138 2000-07-27 Dave Love <fx@gnu.org>
9139
9140 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9141 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
9142
9143 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9144
9145 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9146
9147 * editfns.c (lisp_time_argument): Fix last change.
9148
9149 2000-07-27 Gerd Moellmann <gerd@gnu.org>
9150
9151 * fns.c (Fdelete): Make it work on vectors and strings in addition
9152 to lists.
9153
9154 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9155 (syms_of_fns): Initialize new variables.
9156 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
9157 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9158 weakness, with t meaning the same as `key-and-value'.
9159
9160 2000-07-27 Kenichi Handa <handa@etl.go.jp>
9161
9162 * coding.h (struct coding_system): Member safe_charset deleted.
9163
9164 * coding.c (Qsafe_charsets): This variable deleted.
9165 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9166 New variables.
9167 (coding_safe_chars): New function.
9168 (CODING_SAFE_CHAR_P): New macro.
9169 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
9170 checking safe_charsets member of the coding system. Caller changed.
9171 (detect_coding_iso2022): New local variable safe_chars.
9172 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9173 safe_charsets member of the coding system.
9174 (decode_coding_iso2022): New local variable safe_chars.
9175 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9176 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9177 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9178 (ENCODE_UNSAFE_CHARACTER): New macro.
9179 (encode_coding_iso2022): New local variable safe_chars. Check
9180 unsafe chars.
9181 (setup_coding_system): Delete the code to initialize
9182 coding->safe_charses
9183 (intersection, find_safe_codings): New functions.
9184 (Ffind_coding_systems_region_internal): New function.
9185 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9186 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9187 variable and initialize it.
9188
9189 * fns.c (char_table_ref_and_index): New function.
9190
9191 * lisp.h (char_table_ref_and_index): Add prototype.
9192
9193 2000-07-26 Sam Steingold <sds@gnu.org>
9194
9195 * editfns.c (lisp_time_argument): Added third argument `usec'.
9196 (Ffloat_time): New built-in Lisp function.
9197
9198 2000-07-26 Gerd Moellmann <gerd@gnu.org>
9199
9200 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9201 for the character code.
9202
9203 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9204 GNU/Linux.
9205
9206 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9207 if called for a popup menu.
9208 (xmenu_show): Store help string in widget values.
9209
9210 2000-07-26 Dave Love <fx@gnu.org>
9211
9212 * syswait.h: Move some definitions.
9213 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9214 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9215 perspicuous definitions.
9216 (WTERMSIG): Fix bit pattern used.
9217
9218 2000-07-26 Kenichi Handa <handa@etl.go.jp>
9219
9220 * print.c (print_object): If vector printing is truncated, print
9221 "..." to indicate it as well as the case of list printing.
9222
9223 2000-07-25 Gerd Moellmann <gerd@gnu.org>
9224
9225 * xdisp.c (next_element_from_display_vector): Improve comments.
9226
9227 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9228 for the character code, and the rest for the face id as in 20.x.
9229 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9230
9231 * window.c (window_display_table): Cleaned up.
9232
9233 * syntax.c (Fforward_word): Add last arg nil in call of
9234 Fconstrain_to_field.
9235
9236 2000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9237
9238 * fileio.c (Frename_file) [DOS_NT]: If the file names are
9239 identical but for the letter-case, don't call
9240 barf_or_query_if_file_exists.
9241
9242 2000-07-25 Miles Bader <miles@gnu.org>
9243
9244 * editfns.c (find_field): Honor special `boundary' fields.
9245 (Qboundary): New variables.
9246 (syms_of_editfns): Initialize Qboundary.
9247 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9248 Use scan_buffer instead of find_before_next_newline, because it
9249 allows us to detect the boundary case where there's a newline at
9250 the search limit.
9251 * lisp.h (Fconstrain_to_field): Update external declaration.
9252
9253 2000-07-24 Gerd Moellmann <gerd@gnu.org>
9254
9255 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9256 if that is nil.
9257
9258 2000-07-24 Dave Love <fx@gnu.org>
9259
9260 * s/sunos4-0.h, s/sol2.h:
9261 (LIBS_TERMCAP): Move from m/sparc.h.
9262
9263 * m/sparc.h (TERMINFO): Moved to system files (probably only
9264 relevant for sunos4 judging by its vintage).
9265 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9266 __arch64__.
9267
9268 2000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9269
9270 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9271 name to single_keymap_panes.
9272
9273 2000-07-24 Andreas Schwab <schwab@suse.de>
9274
9275 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9276
9277 2000-07-24 Gerd Moellmann <gerd@gnu.org>
9278
9279 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9280 parameters instead of using int parameters. Expect FN to accept
9281 EMACS_INT parameters.
9282 (display_echo_area, resize_echo_area_axactly, current_message)
9283 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9284 with new argument list.
9285 (resize_mini_window_1): New callback function.
9286 (current_message_1, truncate_message_1, set_message_1): Change
9287 parameter lists to the new format expected by with_echo_area_buffer.
9288
9289 2000-07-24 Kenichi Handa <handa@etl.go.jp>
9290
9291 * fontset.c (fontset_ref): Remove INLINE declaration.
9292 (fontset_ref_via_base): Likewise.
9293 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9294 to downcase.
9295
9296 2000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9297
9298 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9299 correct order of priority. If help echo was found in an overlay,
9300 use that overlay as the object in which the help echo was found.
9301
9302 2000-07-22 Miles Bader <miles@gnu.org>
9303
9304 * textprop.c (Fprevious_single_char_property_change): The initial
9305 property value should be from the position preceding POSITION, not
9306 following it.
9307
9308 2000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9309
9310 * coding.c (syms_of_coding): Doc fix for
9311 inhibit-iso-escape-detection.
9312
9313 2000-07-21 Gerd Moellmann <gerd@gnu.org>
9314
9315 * xterm.c (note_mouse_highlight): Process overlays in the right
9316 order of priority.
9317
9318 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9319
9320 * xterm.c (note_mouse_highlight): If help-echo was found in an
9321 overlay, use that overlay as the object in which the help was found.
9322
9323 * window.c (foreach_window_1): Fix typo reversing an if-condition.
9324
9325 * window.c (foreach_window): Instead of a fake variable argument
9326 list, take one USER_DATA argument.
9327 (foreach_window_1): Likewise, and call callback functions with two
9328 args, the window and USER_DATA.
9329 (struct check_window_data): New struct.
9330 (check_window_containing): Use it.
9331 (window_from_coordinates): Set up a struct check_window_data for
9332 foreach_window.
9333 (add_window_to_list, freeze_window_start): Change parameters
9334 according to new calling convention.
9335
9336 * window.h (foreach_window): Change prototype.
9337
9338 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9339
9340 2000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9341
9342 * xmenu.c (menu_help_callback): Call show_help_echo with
9343 additional arguments OBJECT and POS.
9344
9345 2000-07-21 Kenichi Handa <handa@etl.go.jp>
9346
9347 * data.c (Faset): Allow storing any multibyte character in a
9348 string. Convert unibyte string to multibyte if necessary.
9349
9350 * xfns.c (x_encode_text): New function.
9351 (x_set_name): Use x_encode_text.
9352 (x_set_title): Likewise.
9353
9354 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9355
9356 * xterm.h (x_encode_text): Add prototype.
9357
9358 2000-07-20 Dave Love <fx@gnu.org>
9359
9360 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9361 xfree, not free.
9362
9363 2000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9364
9365 * msdos.c (help_echo_window): New variable.
9366 (syms_of_msdos): Initialize and staticpro it.
9367 (IT_note_mode_line_highlight): Set help_echo_window.
9368 (IT_note_mouse_highlight): Ditto.
9369 (dos_rawgetc): Store help_echo_window in the second event produced
9370 for HELP_EVENTs.
9371
9372 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9373 Record the object that generated the help echo and the position of
9374 that object in help_echo_object and help_echo_pos. Record that
9375 some glyphs in a row are displayed in mouse-face.
9376 (IT_update_begin): Don't clear mouse highlight unless one of the
9377 enabled glyph rows is marked as being displayed in mouse-face.
9378 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9379 and position recorded in help_echo_object and help_echo_pos to the
9380 event queue.
9381 (IT_menu_display): Accept a new argument PN: the pane number of
9382 the current menu pane. Record the pane number and the item
9383 number of the item which has associated help string.
9384 (XMenuActivate): Update the prototype for help_callback in
9385 function declaration. Call IT_menu_display with the current menu
9386 pane number as an additional argument. Call help_callback with
9387 two additional arguments: the pane number and the item number of
9388 the menu item associated with the help text.
9389 (help_echo_object, help_echo_pos): New variables.
9390 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9391
9392 * msdos.h (XMenuActivate): Update prototype.
9393
9394 2000-07-19 Gerd Moellmann <gerd@gnu.org>
9395
9396 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9397 Add some more prototypes.
9398
9399 * xterm.c, xterm.h: Add some more prototypes.
9400
9401 * lisp.h (Fnext_single_char_property_change): Add prototype.
9402
9403 * dispnew.c (direct_output_for_insert): Remove confusing
9404 outer local variable mouse_face_overwritten_p.
9405 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9406
9407 * alloc.c (allocate_string_data): Don't copy old string contents.
9408
9409 2000-07-19 Kenichi Handa <handa@etl.go.jp>
9410
9411 * coding.c (code_convert_region): Delete text properties before
9412 shrinking the conversion region.
9413
9414 2000-07-18 Gerd Moellmann <gerd@gnu.org>
9415
9416 * dispnew.c (update_text_area): Write the whole row if it
9417 has mouse-face in it.
9418
9419 * xfaces.c (face-alternative-font-family-alist): Remove
9420 DEFVAR_LISP; staticpro instead.
9421
9422 * xmenu.c (menu_help_callback): Call show_help_echo with
9423 new arguments.
9424
9425 * keyboard.c (show_help_echo): Add parameter WINDOW.
9426 (read_char): Call show_help_echo with window extracted from Lisp
9427 help event.
9428 (gen_help_event): Add parameter WINDOW.
9429
9430 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9431
9432 * xterm.c (help_echo_window): New variable.
9433 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
9434 (XTread_socket): Pass help_echo_window to gen_help_event.
9435 (syms_of_xterm): Initialize and staticpro help_echo_window.
9436
9437 2000-07-18 Dave Love <fx@gnu.org>
9438
9439 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
9440
9441 2000-07-18 Gerd Moellmann <gerd@gnu.org>
9442
9443 * alloc.c (allocate_string_data): If string had already data
9444 assigned, copy old contents to new string data.
9445
9446 * coding.c (syms_of_coding): Fix typo in spelling of variable
9447 `inhibit-iso-escape-detection'.
9448
9449 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9450
9451 * Makefile.in: Add dependencies on dispextern.h.
9452 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9453 `free'; both can conflict with system header files.
9454
9455 2000-07-18 Kenichi Handa <handa@etl.go.jp>
9456
9457 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9458 undefined.
9459
9460 2000-07-18 Dave Love <fx@gnu.org>
9461
9462 * window.c (Fwindow_list): Declare arg `window'.
9463
9464 2000-07-18 Kenichi Handa <handa@etl.go.jp>
9465
9466 * coding.c (setup_coding_system): Don't override the explicitly
9467 specified designations.
9468
9469 2000-07-15 Miles Bader <miles@gnu.org>
9470
9471 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9472 from `text_property_eq' and `text_property_stickiness', respectively.
9473 (find_field, Fconstrain_to_field, char_property_eq)
9474 (char_property_stickiness): Changed to call char-property functions
9475 instead of text-property-only ones.
9476
9477 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9478 `next_single_char_property_change'). Do more error checking, and
9479 cleanup limit behavior.
9480 (Fprevious_single_char_property_change): New function.
9481 (syms_of_textprop): Initialize new subrs.
9482
9483 * xdisp.c (display_prop_end, invisible_text_between_p):
9484 Call Fnext_single_char_property_change instead of
9485 next_single_char_property_change.
9486
9487 2000-07-15 Jason Rumney <jasonr@gnu.org>
9488
9489 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9490 after menu is finished with.
9491 (add_menu_item): Only consider wv->title as a menu title.
9492 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9493
9494 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9495 null title.
9496 (FONT_REGEXP): Remove unused macro, and its sub-components.
9497 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9498
9499 * w32term.c (help_echo_object, help_echo_pos): New variables.
9500 (note_mode_line_highlight): Store additional information about the
9501 help-echo in help_echo_object and help_echo_pos. Check both
9502 `local-map' and `keymap' properties for changing the cursor
9503 (note_mouse_highlight): Store additional information about the
9504 help-echo in help_echo_object and help_echo_pos.
9505 (note_tool_bar_highlight): Set help_echo_object to nil and
9506 help_echo_pos to -1.
9507 (w32_read_socket): Use gen_help_event instead of filling
9508 input_events manually.
9509 (syms_of_w32term): Staticpro help_echo_object.
9510 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
9511 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
9512 (x_clear_mouse_face): New function.
9513 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9514 (x_update_window_begin): No need to turn off the mouse
9515 highlight here.
9516 (show_mouse_face): Set the mouse_face_p flag of glyph rows
9517 depending on whether they contain glyphs highlighted in mouse-face.
9518 (x_fill_stretch_glyph_string): Consume runs of stretch
9519 glyphs instead of a single one.
9520 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9521 with new argument list.
9522 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9523 (x_append_glyph, x_append_composite_glyph)
9524 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9525 changes in struct glyph starting 1999-12-27. See comments for
9526 xterm.c on 2000-07-05.
9527
9528 2000-07-14 Sam Steingold <sds@gnu.org>
9529
9530 * xfaces.c (realize_x_face): Fix the last patch:
9531 check `default_face' before dereferencing.
9532
9533 2000-07-14 Dave Love <fx@gnu.org>
9534
9535 * syntax.c (back_comment): Add null default in switch (for pcc).
9536
9537 2000-07-14 Kenichi Handa <handa@etl.go.jp>
9538
9539 * xfaces.c (realize_x_face): Make fontset using the base of the
9540 default_face's fontset, not using the default fontset.
9541
9542 * coding.c (inhibit_iso_escape_detection): New variable.
9543 (syms_of_coding): Make it a Lisp variable.
9544 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9545 nonzero, ignore ISO2022's escape sequence.
9546
9547 2000-07-14 Gerd Moellmann <gerd@gnu.org>
9548
9549 * alloca.c (malloc) [emacs]: Define as xmalloc.
9550
9551 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9552 use that instead of the mouse position. Add parameters DX and DY.
9553
9554 * dispextern.h (Fx_show_tip): Adjust number of parameters
9555 in prototype.
9556
9557 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9558 if HELP is a function, call it with OBJECT and POS as parameters
9559 to get the help to display.
9560 (gen_help_event, kbd_buffer_store_help_event): New functions.
9561 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9562 (read_char): Call show_help_echo with new parameters.
9563
9564 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9565 Add prototypes.
9566
9567 * xterm.c (help_echo_object, help_echo_pos): New variables.
9568 (note_mode_line_highlight): Store additional information about the
9569 help-echo in help_echo_object and help_echo_pos. Check both
9570 `local-map' and `keymap' properties for changing the cursor
9571 (note_mouse_highlight): Store additional information about the
9572 help-echo in help_echo_object and help_echo_pos.
9573 (note_tool_bar_highlight): Set help_echo_object to nil and
9574 help_echo_pos to -1.
9575 (XTread_socket): Use gen_help_event instead of filling
9576 input_events manually.
9577 (syms_of_xterm): Staticpro help_echo_object.
9578
9579 * xmenu.c (menu_highlight_callback): Use
9580 kbd_buffer_store_help_event instead of setting up and input_event
9581 structure manually.
9582
9583 * xdisp.c (eval_form): GCPRO argument sexpr.
9584 (call_function): New function.
9585 (handle_single_display_prop): Use call_function and FUNCTIONP
9586 instead of checking whether if font_height is a symbol and
9587 using eval_form.
9588
9589 * eval.c (internal_condition_case_2): New function.
9590
9591 * lisp.h (FUNCTIONP): New macro.
9592 (internal_condition_case_2, call_function): Add prototypes.
9593
9594 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9595 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9596 Always set `arg' member of input_events.
9597 (construct_menu_click): Unused function removed.
9598
9599 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9600
9601 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9602 (construct_drag_n_drop, x_scroll_bar_handle_click)
9603 (w32_read_socket): Always set `arg' member of input_events.
9604
9605 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9606
9607 * lisp.h (eval_form): Add prototype.
9608
9609 * xdisp.c (eval_form): Make it externally visible.
9610
9611 2000-07-13 Gerd Moellmann <gerd@gnu.org>
9612
9613 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9614 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9615 consing. For prefix events, store the frame in the `arg' slot of
9616 the event, otherwise store the key there.
9617 (XTread_socket): Instead of consing, use the frame_or_window slot
9618 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
9619
9620 * xmenu.c (menu_highlight_callback): Store help string in the
9621 `arg' member of the input event; don't cons.
9622 (menubar_selection_callback): Use the `arg' slot of input events
9623 to queue additional information, instead of consing.
9624
9625 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9626
9627 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9628 TOOL_BAR_EVENTs.
9629 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9630
9631 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9632 input events to queue additional information, instead of consing.
9633
9634 * keyboard.c (kbd_buffer_gcpro): Renamed from
9635 kbd_buffer_frame_or_window. Now used for all Lisp objects
9636 referenced from the input queue.
9637 (kbd_buffer_store_event): Always use structure assignment for
9638 copying input events. Record all Lisp objects referenced from
9639 events in kbd_buffer_gcpro.
9640 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9641 differently from input events. Test for prefix menu_bar_events
9642 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9643 event in kbd_buffer_gcpro to nil.
9644 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9645 frame_or_window is equal to its arg member as prefix events.
9646 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9647 used by an input event to nil.
9648 (init_keyboard): Use two times the size of the input queue
9649 for kbd_buffer_gcpro.
9650 (syms_of_keyboard): Likewise.
9651
9652 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9653 Use USER_SIGNAL_EVENT.
9654
9655 * termhooks.h (struct input_event): Add member `arg'.
9656 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9657 (USER_SIGNAL_EVENT): Renamed from user_signal.
9658
9659 * xfaces.c (ASET): Remove definition.
9660
9661 * lisp.h (AREF, ASET, ASIZE): New macros.
9662
9663 * fontset.c (AREF, ASIZE): Remove definitions.
9664
9665 * fns.c (AREF): Remove definition.
9666
9667 * composite.c (AREF): Remove definition.
9668
9669 2000-07-12 Gerd Moellmann <gerd@gnu.org>
9670
9671 * dispnew.c (redraw_overlapped_rows): Add missing local.
9672 (scrolling_window): Remove debug code.
9673
9674 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9675 Before scrolling, turn off a mouse-highlight in the window
9676 being scrolled.
9677
9678 * xterm.c (x_update_window_end): Add parameter
9679 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9680 redisplay in XTframe_up_to_date.
9681 (x_clear_mouse_face): New function.
9682 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9683
9684 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9685 current glyph row.
9686 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9687 it when any row is written to that contains glyphs highlighted in
9688 mouse-face.
9689 (update_window): Call the window update end hook with new
9690 parameter MOUSE_FACE_OVERWRITTEN_P.
9691 (direct_output_for_insert): Give up if row contains mouse-face.
9692
9693 * dispextern.h (struct redisplay_interface): Add parameter
9694 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9695 (clear_mouse_face): New function pointer member.
9696
9697 2000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9698
9699 * syntax.c (back_comment): Use one switch rather than a few `if's.
9700 Obey open_paren_in_column_0_is_defun_start.
9701 When reverting to the `slow' method, try to nicely handle the case
9702 of nested comments by checking that the comment-starter we found
9703 does indeed match the comment-ender.
9704 (scan_sexps_forward, scan_sexps_forward):
9705 Ignore excessive opening parenthesis rather than throwing an error.
9706
9707 2000-07-11 Gerd Moellmann <gerd@gnu.org>
9708
9709 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9710 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9711
9712 * dispnew.c (direct_output_forward_char): Give up if currently
9713 displaying a message instead of the minibuffer contents.
9714
9715 * xterm.c (x_update_window_begin): No need to turn off the mouse
9716 highlight here.
9717 (show_mouse_face): Set the mouse_face_p flag of glyph rows
9718 depending on whether they contain glyphs highlighted in mouse-face.
9719
9720 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9721 compare the mouse_face_p flags of both rows.
9722
9723 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9724
9725 2000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9726
9727 * keyboard.c (show_help_echo): Accept additional parameter
9728 ok_to_overwrite_keystroke_echo.
9729 (read_char): Call show_help_echo with a zero
9730 ok_to_overwrite_keystroke_echo argument.
9731 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
9732 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9733 ok_to_overwrite_keystroke_echo argument.
9734 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9735 non-zero ok_to_overwrite_keystroke_echo argument.
9736
9737 2000-07-10 Gerd Moellmann <gerd@gnu.org>
9738
9739 * xdisp.c (try_window_id): If changes are all below what is
9740 displayed in the window, and point is in the window, we still
9741 might have to find point on the display.
9742
9743 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9744 glyphs instead of a single one.
9745 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9746 with new argument list.
9747 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9748
9749 * keymap.c (get_keymap_1): Add comment that this function can GC.
9750 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9751 comment that functions can GC.
9752 (Fset_keymap_parent): GCPRO arg KEYMAP.
9753
9754 2000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9755
9756 * msdos.c (XMenuActivate): After exiting the menu, restore the
9757 echo area message and erase it.
9758
9759 2000-07-10 Kenichi Handa <handa@etl.go.jp>
9760
9761 * fontset.c (Ffontset_info): Make the return value more compatible
9762 with that of Emacs 20.
9763
9764 2000-07-07 Gerd Moellmann <gerd@gnu.org>
9765
9766 * eval.c (Fsignal): Handle case that backtrace_list is null.
9767
9768 2000-07-07 Kenichi Handa <handa@etl.go.jp>
9769
9770 * ccl.c (Fccl_execute): Typo fixed.
9771
9772 2000-07-06 Gerd Moellmann <gerd@gnu.org>
9773
9774 * window.c (window_loop): Add missing gcpro1 local variable.
9775
9776 * window.c (Fwindow_list): Reverse list at the end.
9777 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9778 means allow windows on OWINDOW's frame, only.
9779 (window_loop): Simplified; use Fwindow_list.
9780
9781 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9782
9783 2000-07-05 Gerd Moellmann <gerd@gnu.org>
9784
9785 * xterm.c (XTread_socket): Increment handling_signal at the start,
9786 decrement it at the end.
9787
9788 * eval.c (handling_signal): New variable.
9789 (Fsignal): Abort if handling_signal is non-zero.
9790
9791 * lisp.h (handling_signal): External declaration.
9792
9793 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9794
9795 2000-07-05 Ken Raeburn <raeburn@gnu.org>
9796
9797 Sound support for NetBSD through "Linux emulation" support:
9798 * config.in (HAVE_SOUNDCARD_H): Undef.
9799 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9800 * Makefile.in (LIBSOUND): New variable.
9801 (LIBES): Include it.
9802 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9803 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
9804 (vox_open): Use DEFAULT_SOUND_DEVICE.
9805 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9806
9807 2000-07-05 Gerd Moellmann <gerd@gnu.org>
9808
9809 * print.c (print_error_message): If Vsignaling_function is set,
9810 show it in *Messages*.
9811
9812 * lisp.h (Vsignaling_function): External declaration.
9813
9814 * eval.c (Vsignaling_function): New variable.
9815 (Fsignal): Compute it.
9816 (syms_of_eval): Staticpro it.
9817
9818 2000-07-05 Dave Love <fx@gnu.org>
9819
9820 * syswait.h: Use the autoconf recommended approach. Old code
9821 #if'd out in case we need to revert.
9822
9823 * config.in (HAVE_SYS_WAIT_H): Added.
9824
9825 2000-07-05 Andrew Innes <andrewi@gnu.org>
9826
9827 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9828 when non-NULL instead of __morecore, to take account of buffer
9829 memory. This also solves a problem with spurious memory warnings
9830 on Windows.
9831
9832 * ralloc.c: Make real_morecore non-static.
9833
9834 * eval.c (internal_condition_case): Comment out abort if
9835 interrupt_input_blocked is not zero.
9836
9837 * makefile.nt: Add support for `bootstrap' and related targets.
9838 Include minimal debug info in emacs.exe in release build.
9839 Remove all dependencies on lisp.h, and fixup some others.
9840
9841 * w32.c (init_environment): Install code from 20.7 for providing
9842 default values for environment variables, based on the
9843 executable's own location.
9844 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
9845 (sys_socket): Install socket inheritance bug fix from 20.7.
9846
9847 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9848 here via blockinput.h).
9849
9850 2000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9851
9852 * w32menu.c (w32_menu_display_help):
9853 * xmenu.c (menu_help_callback): Use show_help_echo.
9854
9855 * keyboard.h (show_help_echo): Declare.
9856
9857 * keyboard.c (show_help_echo): New function, extracted from read_char.
9858 Feval its `msg' argument if it's a cons cell.
9859 (read_char): Use it.
9860 (follow_key): Pass `autoload' to get_keyelt.
9861
9862 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
9863 (note_tool_bar_highlight, XTread_socket):
9864 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
9865 (dos_rawgetc):
9866 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9867 (note_tool_bar_highlight, w32_read_socket):
9868 Do not gratuitously ignore non-string `help-echo' properties.
9869
9870 2000-07-05 Gerd Moellmann <gerd@gnu.org>
9871
9872 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9873
9874 * window.c (delete_all_subwindows): Reset Vwindow_list.
9875
9876 * xterm.c (x_append_glyph, x_append_composite_glyph)
9877 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9878 changes in struct glyph starting 1999-12-27. Some bit-fields of
9879 struct glyph were not set, which made glyphs unequal when compared
9880 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9881 effects were the result. This also depended on the contents of
9882 memory returned by xmalloc. If flickering happens again, activate
9883 the code in clear_glyph_row that's in #if 0. If the flickering is
9884 gone with that, chances are that it is caused by something similar.
9885
9886 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
9887
9888 * dispextern.h: Add some comments.
9889
9890 * window.c (add_window_to_list): Add parameter LIST.
9891 (window_list): Order list so that, for each frame, windows are
9892 in canonical order, and so that frames appear in the list in
9893 the order given by Vframe_list.
9894 (next_window): Reverse the handling of NEXT_P.
9895
9896 2000-07-04 Gerd Moellmann <gerd@gnu.org>
9897
9898 * window.c (Vwindow_list): New variable.
9899 (make_window, delete_window): Set Vwindow_list to nil.
9900 (check_window_containing): New function.
9901 (window_from_coordinates): Rewritten.
9902 (add_window_to_list, window_list, candidate_window_p)
9903 (decode_next_window_args, next_window): New functions.
9904 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
9905 (Fwindow_list): New function.
9906 (Fother_window): Cleaned up.
9907 (foreach_window): Add a longer "variable argument list". Let
9908 callback function return 0 to indicate that cycling over windows
9909 should stop.
9910 (foreach_window_1): Likewise.
9911 (freeze_window_start): Return int.
9912 (init_window): New function.
9913 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9914
9915 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9916 input_event with bzero.
9917 (main): Call init_window.
9918
9919 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9920 a menu filter.
9921
9922 2000-07-04 Kenichi Handa <handa@etl.go.jp>
9923
9924 * composite.h (make_composition_value_copy): Extern it.
9925
9926 * composite.c (make_composition_value_copy): New function.
9927
9928 * editfns.c (Fformat): While copying text properties, make each
9929 composition property value a copy.
9930
9931 * fns.c (concat): While copying text properties, make each
9932 composition property value a copy.
9933
9934 2000-07-03 Gerd Moellmann <gerd@gnu.org>
9935
9936 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9937
9938 * fns.c (sweep_weak_table): Mark only objects that are not
9939 marked already.
9940
9941 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9942 include those frames as candidates which have their focus
9943 redirected to the minibuffer frame.
9944
9945 2000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9946
9947 * fns.c (Fputhash): Return `value' rather than nil.
9948
9949 2000-06-30 Gerd Moellmann <gerd@gnu.org>
9950
9951 * frame.c (next_frame): Don't check focus redirection in case
9952 MINIBUF is a window. Doing so excludes frames using MINIBUF
9953 unless their focus is redirected, which contradicts the
9954 specification of next-frame, and leads to infinite loops in
9955 certain situations when cycling through windows with next-window.
9956
9957 2000-06-30 Kenichi Handa <handa@etl.go.jp>
9958
9959 * coding.c (code_convert_region): Even if the length of text is
9960 zero, try to convert it if coding->type is coding_type_ccl.
9961 (decode_coding_string, encode_coding_string): Likewise.
9962
9963 2000-06-28 Gerd Moellmann <gerd@gnu.org>
9964
9965 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
9966 the display if windows_or_buffers_changed.
9967
9968 * dispnew.c (struct row_entry): New structure.
9969 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9970 (row_table_size, old_lines, new_lines, old_lines_size)
9971 (new_lines_size, run_pool, runs_size, runs): New variables.
9972 (add_row_entry): New function.
9973 (scrolling_window): Use data structures allocated with xmalloc and
9974 held in global variables, instead of allocating them with alloca and
9975 holding them in local variables. Use a larger hash table whose
9976 size depends on glyph matrix sizes. Don't use bzero to clear the
9977 hash table; instead, clear used slots only.
9978
9979 * fns.c (next_almost_prime): Make it externally visible.
9980
9981 * lisp.h (next_almost_prime): Add prototype.
9982
9983 * s/isc4-0.h (sigunblock): Define.
9984
9985 * s/sco5.h (sigunblock): Define.
9986
9987 2000-06-27 Dave Love <fx@gnu.org>
9988
9989 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9990 (moved to osf5-0.h).
9991 [!NOT_C_CODE]: Protect string.h stuff.
9992
9993 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9994 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9995
9996 2000-06-27 Gerd Moellmann <gerd@gnu.org>
9997
9998 * xdisp.c (resize_mini_window): Subtract the extra line spacing
9999 below the last line from the needed window height.
10000
10001 2000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10002
10003 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10004 (Fwidget_get): Use it.
10005 (syms_of_fns): Defsubr it.
10006
10007 2000-06-26 Gerd Moellmann <gerd@gnu.org>
10008
10009 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
10010 display info for XIM.
10011 (xim_open_dpy): Likewise.
10012 (xim_close_dpy): Don't free the display info's XIM.
10013
10014 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10015
10016 * config.in (USE_XIM): New define.
10017
10018 * keymap.c (get_keyelt): For menu-items containing a `:filter
10019 FILTER', apply FILTER to the menu-item's definition to get the
10020 real definition to use.
10021
10022 * lisp.h (QCfilter): External declaration.
10023
10024 * xfns.c (Fimage_size): New function.
10025 (syms_of_xfns): Defsubr it.
10026
10027 2000-06-26 Andreas Schwab <schwab@suse.de>
10028
10029 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10030 Fstring_as_unibyte.
10031
10032 2000-06-25 Dave Love <fx@gnu.org>
10033
10034 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
10035
10036 * Makefile.in (blockinput.h): Depend on atimer.h.
10037 (atimer.h): Depend on systime.h.
10038
10039 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
10040
10041 * atimer.h: Protect against multiple inclusion. Include systime.h.
10042
10043 * lisp.h (swap_in_global_binding): Declare.
10044
10045 2000-06-24 Ken Raeburn <raeburn@gnu.org>
10046
10047 * process.c (Fopen_network_stream): Turn off atimers for duration
10048 of call to connect. (Patch from Gerd.)
10049
10050 2000-06-23 Dave Love <fx@gnu.org>
10051
10052 * ralloc.c: Maybe include unistd.h
10053
10054 * emacs.c (setgrp): Undefine before defining.
10055 (malloc_warning, set_time_zone_rule, index): Prototype.
10056
10057 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10058 HAVE_STRUCT_TIMEZONE.
10059
10060 * s/osf1.h: Move string.h hack here from alpha.h and make it
10061 conditional.
10062 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10063 _XOPEN_SOURCE.
10064 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10065 (SOCKLEN_TYPE): Don't define.
10066
10067 * m/alpha.h: Remove string.h hack.
10068
10069 * s/osf5-0.h: New file.
10070
10071 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10072 include time.h, done by systime.h.
10073 [__FreeBSD__]: Remove redundant includes.
10074
10075 * callproc.c (setpgrp): Undefine before defining.
10076 (delete_temp_file): Return Qnil to avoid warning.
10077
10078 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10079
10080 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10081 HAVE_X_WINDOWS.
10082
10083 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10084
10085 * composite.h (compose_text): Declare.
10086
10087 * xterm.c: Don't include sys/types.h unconditionally. Don't
10088 protect its inclusion with !USG (following xmenu.c).
10089
10090 2000-06-23 Gerd Moellmann <gerd@gnu.org>
10091
10092 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10093 in x_create_frame.
10094
10095 2000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10096
10097 * coding.c (decode_eol_post_ccl): Special handling for undecided
10098 and inconsistent EOL types.
10099
10100 2000-06-22 Gerd Moellmann <gerd@gnu.org>
10101
10102 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10103 trough color and main window's background color.
10104
10105 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
10106
10107 * xterm.h (Xt_app_con): External declaration.
10108
10109 * widget.c (EmacsFrameRealize): Fix typo.
10110
10111 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10112
10113 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10114 (handle_invisible_prop): Record the start of invisible text in
10115 it->add_overlay_start.
10116 (struct overlay_entry): Add member `overlay'.
10117 (handle_overlay_change): Simplify.
10118 (next_overlay_string): After having processed overlay strings at the
10119 end of the buffer, record that fact in
10120 it->overlay_strings_at_end_processed_p.
10121 (compare_overlay_entries): If before- and after-strings come
10122 from the same overlay, let before-strings come first.
10123 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10124 (load_overlay_strings): Take it->add_overlay_start into account
10125 when adding overlay strings.
10126
10127 * dispextern.h (struct it): Add member add_overlay_start.
10128
10129 2000-06-22 Dave Love <fx@gnu.org>
10130
10131 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10132
10133 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10134
10135 2000-06-22 Kenichi Handa <handa@etl.go.jp>
10136
10137 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10138 is greater than 0.
10139
10140 2000-06-21 Dave Love <fx@gnu.org>
10141
10142 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
10143
10144 2000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10145
10146 * syntax.c (back_comment): Simplify string-parity counting (with
10147 the added benefit of handling multiple string-styles as long as
10148 they are not intertwined).
10149 Jump to the slow code as soon as a comment starter is found in
10150 a "string_lossage" position. Fixes the case: " /* " /* " */.
10151
10152 2000-06-21 Dave Love <fx@gnu.org>
10153
10154 * Makefile.in: Use GETLOADAVG_LIBS.
10155
10156 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10157 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10158
10159 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10160
10161 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10162 (Fforward_comment, scan_lists):
10163 Check the comstyle of single-char comment-starters.
10164 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10165 we're just at the beginning of the comment (f.ex with (*) ... (*)).
10166 Check the comstyle of single-char comment-starters.
10167 Clarify control-flow around the Scomment case.
10168
10169 2000-06-20 Dave Love <fx@gnu.org>
10170
10171 * fns.c (make_hash_table, maybe_resize_hash_table):
10172 Cast arg of next_almost_prime.
10173
10174 * tparam.c [emacs]: Include lisp.h.
10175
10176 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10177 and unistd.h.
10178
10179 2000-06-20 Gerd Moellmann <gerd@gnu.org>
10180
10181 * keyboard.c (adjust_point_for_property): Check if display
10182 property should be treated as intangible by looking at its value.
10183
10184 * xdisp.c (single_display_prop_intangible_p)
10185 (display_prop_intangible_p): New functions.
10186
10187 * dispextern.h (display_prop_intangible_p): Add prototype.
10188
10189 * xdisp.c (dump_glyph_row): Show type of glyph->object.
10190
10191 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10192 argument to sigprocmask.
10193
10194 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10195 argument to sigprocmask.
10196
10197 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10198 sigprocmask_set, and pass a pointer to it to sigprocmask.
10199
10200 * sysdep.c (sigprocmask_set): New variable.
10201
10202 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10203 report_file_error.
10204
10205 2000-06-20 Sam Steingold <sds@gnu.org>
10206
10207 * xrdb.c: Don't declare xmalloc, xrealloc.
10208
10209 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10210
10211 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10212 (re_comp): Cast gettext return value to avoid complaints when
10213 !HAVE_LIBINTL.
10214
10215 2000-06-20 Dave Love <fx@gnu.org>
10216
10217 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
10218
10219 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
10220
10221 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
10222
10223 * m/alpha.h: Don't declare xmalloc, xrealloc.
10224
10225 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10226
10227 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10228
10229 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10230
10231 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10232 HAVE_GETWD.
10233
10234 * keyboard.h (poll_for_input_1): Declare.
10235
10236 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10237
10238 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10239
10240 * doprnt.c: Don't declare xmalloc, xrealloc.
10241
10242 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10243 (getenv, ctime, getwd): Removed.
10244 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10245
10246 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10247 x_set_tool_bar_lines.
10248
10249 * config.in: Add HAVE_GETWD. Move some definitions above
10250 machine/system includes.
10251
10252 2000-06-20 Kenichi Handa <handa@etl.go.jp>
10253
10254 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10255
10256 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10257 contain information about ENCODING.
10258
10259 * fontset.c (FONTSET_ASCII): Use the first element of char table
10260 for an ASCII font, not defalt slot.
10261 (fontset_ref_via_base): If FONTSET doesn't contain information for
10262 C, try the default fontset.
10263 (make_fontset): Don't copy the default fontset.
10264 (fontset_font_pattern): Likewise.
10265 (accumulate_font_info): If ELT is nil, use the corresponding
10266 element in the default fontset.
10267
10268 2000-06-19 Dave Love <fx@gnu.org>
10269
10270 * syntax.c (Fparse_partial_sexp): Doc fix.
10271
10272 * regex.h: Test PROTOTYPES as well as __STDC__.
10273
10274 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10275 errno, strerror. Put text after #endif in comment.
10276
10277 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
10278
10279 * xterm.c (x_frame_of_widget): Likewise.
10280
10281 2000-06-19 Gerd Moellmann <gerd@gnu.org>
10282
10283 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10284 to Vfundamental_mode_abbrev_table.
10285
10286 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10287 bogus objects are marked. This slows down GC by ~80 percent, but
10288 it might be worth trying when debugging GC-related problems.
10289 This feature requires conservative stack marking to be enabled.
10290
10291 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10292 returns XLookupChars, reset `modifiers' to zero.
10293
10294 2000-06-19 Dave Love <fx@gnu.org>
10295
10296 * mktime.c: Unprotoized.
10297
10298 2000-06-19 Richard Stallman <rms@gnu.org>
10299
10300 * data.c (set_internal): If variable is frame-local,
10301 store the new value immediately into the frame parameter alist.
10302
10303 2000-06-19 Ken Raeburn <raeburn@gnu.org>
10304
10305 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10306 in the custom handler pointer.
10307
10308 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10309 value, or checks for CHAR_META can fail when Lisp_Object is a
10310 union type.
10311 * keymap.c (get_keyelt): Likewise.
10312
10313 2000-06-19 Kenichi Handa <handa@etl.go.jp>
10314
10315 * ccl.h (struct ccl_program): New member eol_type.
10316 (struct ccl_spec): New member cr_carryover.
10317
10318 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10319 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10320
10321 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10322 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10323 (decode_eol_post_ccl): New function.
10324 (decode_coding): Don't detect EOL format here for CCL based coding
10325 systems.
10326 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10327 decode_eol_post_ccl after running the CCL program.
10328 (code_convert_region): Don't detect EOL format here for CCL based
10329 coding systems.
10330 (decode_coding_string): Likewise.
10331
10332 2000-06-18 Ken Raeburn <raeburn@gnu.org>
10333
10334 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10335 when treating it as an integer.
10336
10337 * coding.h (encode_coding_string): Declare.
10338
10339 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10340 it as an integer.
10341
10342 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10343 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10344 to be passed to get_local_map.
10345
10346 * sound.c (Fplay_sound): Don't call make_number on
10347 Frun_hook_with_args count argument.
10348
10349 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10350 for lisp objects in X event structure data field, when lisp
10351 objects are represented with unions.
10352 (x_scroll_bar_to_input_event): Ditto.
10353
10354 2000-06-16 Ken Raeburn <raeburn@gnu.org>
10355
10356 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
10357 termination of string. Fix sense of test whether
10358 Vline_number_display_limit is an integer.
10359
10360 2000-06-16 Gerd Moellmann <gerd@gnu.org>
10361
10362 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10363 only if HAVE_X_WINDOWS.
10364
10365 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10366 of titles.
10367
10368 * dispnew.c (update_frame_1): Handle case that cursor vpos is
10369 out of bounds.
10370
10371 2000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10372
10373 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10374 of its headers.
10375
10376 2000-06-15 Kenichi Handa <handa@etl.go.jp>
10377
10378 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10379 start of the while loop.
10380
10381 2000-06-15 Gerd Moellmann <gerd@gnu.org>
10382
10383 * atimer.c (alarm_signal_handler): Add forward declaration.
10384
10385 * data.c (set_internal): Remove debug code.
10386
10387 2000-06-14 Gerd Moellmann <gerd@gnu.org>
10388
10389 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10390
10391 * unexec.c (toplevel) [COFF]: Include coff.h.
10392
10393 * s/lynxos.h: New file.
10394
10395 * keymap.c (Fsingle_key_description): Enclose function key and
10396 event symbol names in angle brackets.
10397
10398 * xdisp.c (setup_echo_area_for_printing): Call
10399 message_log_maybe_newline if message_buf_print is not set.
10400
10401 * print.c (printchar, strout): Don't check message_buf_print
10402 before calling setup_echo_area_for_printing because that
10403 function does something useful even when message_buf_print is
10404 already set.
10405
10406 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10407 New variables.
10408 (ensure_echo_area_buffers): Initialize echo buffer's
10409 truncate lines setting to nil.
10410 (with_echo_area_buffer): Don't set the echo buffer's truncate
10411 lines setting here.
10412 (set_message_1): Set it here instead, based on the value
10413 of message_truncate_lines.
10414 (resize_mini_window): Handle case that lines are truncated.
10415 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10416 DEFVAR_BOOL message-truncate-lines.
10417
10418 * keyboard.c (read_char): Bind message-truncate-lines to t
10419 while displaying a help-echo.
10420
10421 * lisp.h (Qmessage_truncate_lines): External declaration.
10422
10423 2000-06-13 Gerd Moellmann <gerd@gnu.org>
10424
10425 * xdisp.c (Vline_number_display_limit): Renamed from
10426 line_number_display_limit.
10427 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10428 Extend documentation string. Initialize
10429 Vline_number_display_limit to nil meaning no limit.
10430 (decode_mode_spec): Use Vline_number_display_limit with its new
10431 meaning.
10432
10433 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10434
10435 2000-06-13 Richard Stallman <rms@gnu.org>
10436
10437 * frame.c (Fmodify_frame_parameters): Doc fix.
10438
10439 * xfns.c (x_set_frame_parameters): Comment fix.
10440
10441 * frame.c (store_frame_param): Call swap_in_global_binding if the
10442 variable's current binding was chosen based on this frame.
10443
10444 * data.c (swap_in_global_binding): New function.
10445
10446 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10447
10448 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10449 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10450
10451 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10452
10453 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10454
10455 2000-06-12 Jason Rumney <jasonr@gnu.org>
10456
10457 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10458
10459 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10460
10461 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10462
10463 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10464
10465 2000-06-12 Gerd Moellmann <gerd@gnu.org>
10466
10467 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10468 (syms_of_xfaces): Defsubr Sdump_colors.
10469 (x_free_colors): Don't treat b&w specially on default visual.
10470 (x_free_dpy_colors): New function.
10471 (free_face_colors): Don't check visual class; it's done
10472 in x_free_colors.
10473
10474 * xterm.c (x_frame_of_widget): New function.
10475 (x_alloc_nearest_color_for_widget): Use it.
10476 (x_copy_dpy_color): New function.
10477 (x_destroy_window): Free various colors.
10478
10479 2000-06-12 Kenichi Handa <handa@etl.go.jp>
10480
10481 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10482
10483 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10484
10485 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10486
10487 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10488
10489 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10490
10491 2000-06-11 Dave Love <fx@gnu.org>
10492
10493 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10494
10495 2000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10496
10497 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10498
10499 2000-06-11 Gerd Moellmann <gerd@gnu.org>
10500
10501 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
10502 to `XEvent *'.
10503
10504 2000-06-10 Kenichi Handa <handa@etl.go.jp>
10505
10506 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10507 (regex_compile): Fix the code for handling the case of single byte
10508 char and multibyte char being mixed in a range within [...].
10509
10510 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10511 and dst_multibyte members of coding.
10512
10513 * charset.c (update_charset_table): Update the table
10514 bytes_by_char_head.
10515 (init_charset_once): Initialize elements of bytes_by_char_head to
10516 1 except for leading codes for private charases.
10517
10518 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
10519 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
10520
10521 2000-06-09 Ken Raeburn <raeburn@gnu.org>
10522
10523 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10524 access the data it doesn't point to.
10525
10526 2000-06-08 Gerd Moellmann <gerd@gnu.org>
10527
10528 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
10529 will be translated to a switch-frame event when reading the
10530 event queue. This is necessary because Emacs otherwise won't
10531 perform a switch-frame to a new frame until some other event, for
10532 example a keystroke event, forces it to do so. This has various
10533 effects, one visible being that the cursor of a frame created with
10534 C-x 5 2 or switched to with a window manager key binding like
10535 A-TAB stays hollow because selected_window isn't on the newly
10536 focused frame until the switch-frame is performed.
10537
10538 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10539 generating a switch-frame event if necessary.
10540
10541 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10542
10543 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10544 it's an integer.
10545
10546 2000-06-08 Kenichi Handa <handa@etl.go.jp>
10547
10548 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
10549
10550 2000-06-07 Gerd Moellmann <gerd@gnu.org>
10551
10552 * window.c (displayed_window_lines): Take empty lines at
10553 the bottom of a window into account.
10554
10555 * window.c (displayed_window_lines): New function.
10556 (Fmove_to_window_line): Use displayed_window_lines to determine
10557 the number of lines to move, instead of using the window's height.
10558
10559 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10560 to stop reading, even if the form read sets point to a different
10561 value when evaluated.
10562
10563 * xdisp.c (display_line): Fix code deciding in which line to
10564 put the cursor.
10565
10566 2000-06-07 Kenichi Handa <handa@etl.go.jp>
10567
10568 * fileio.c (e_write): Free composition data if stored in
10569 coding->cmp_data.
10570
10571 2000-06-06 Gerd Moellmann <gerd@gnu.org>
10572
10573 * xdisp.c (display_line): Set row's and iterator's
10574 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10575 Set cursor even if row ends in the middle of a character.
10576 (dump_glyph_row): Print values of new flags.
10577 (redisplay_window) <cursor movement in unchanged window>: When
10578 point has been moved forward, and PT is at the end of the cursor
10579 row, don't place the cursor in the next row if the cursor row ends
10580 in the middle of a character or at ZV.
10581
10582 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10583 (struct glyph_row): Add starts_in_middle_of_char_p and
10584 ends_in_middle_of_char_p.
10585 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10586 ends_in_middle_of_char_p flag.
10587 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10588
10589 * term.c (append_glyph): Revert change of 2000-06-06.
10590
10591 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10592 padding glyph not fitting on line as whole character not
10593 fitting on line.
10594
10595 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10596 this isn't true for images with `:ascent 100'.
10597
10598 2000-06-06 Kenichi Handa <handa@etl.go.jp>
10599
10600 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10601 as modified if it is originally unmodified.
10602
10603 * term.c (encode_terminal_code): Change the way to check if
10604 terminal coding does any conversion.
10605 (append_glyph): Set glyph->pixel_width correctly.
10606
10607 * xdisp.c (display_line): While checking line continuation, pay
10608 attention to a padding glyph.
10609
10610 2000-06-05 Gerd Moellmann <gerd@gnu.org>
10611
10612 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10613
10614 2000-06-05 Dave Love <fx@gnu.org>
10615
10616 * xdisp.c: Include fontset.h.
10617
10618 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10619
10620 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10621
10622 * dispnew.c: Conditionally include term.h.
10623
10624 * coding.h: Declare code_convert_string_norecord.
10625
10626 * frame.h (struct frame): Use volatile unconditionally.
10627
10628 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10629
10630 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10631
10632 * systime.h: Protect against multiple inclusion.
10633 (timezone) [USG5_4]: Define as time_t.
10634
10635 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10636 (Foptimize_char_table, make_temp_name): Declare.
10637
10638 * Makefile.in (xdisp.o): Depend on fontset.h.
10639
10640 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10641
10642 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10643 (Foptimize_char_table, make_temp_name): Declare.
10644
10645 * s/irix4-0.h:
10646 * s/irix5-0.h:
10647 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10648
10649 2000-06-02 Dave Love <fx@gnu.org>
10650
10651 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10652
10653 2000-06-02 Gerd Moellmann <gerd@gnu.org>
10654
10655 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
10656 result face, set flags in that face indicating that colors may not
10657 be freed.
10658
10659 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10660 glyph, use the ASCII NUL character to determine the face.
10661
10662 2000-06-02 Dave Love <fx@gnu.org>
10663
10664 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10665 (VFORK_RETURN_TYPE): Remove.
10666
10667 * config.in: Add NO_MATHERR.
10668
10669 2000-06-01 Dave Love <fx@gnu.org>
10670
10671 * cmds.c (internal_self_insert): Don't check
10672 Vbefore_change_function, Vafter_change_function.
10673
10674 * insdel.c (signal_before_change, signal_after_change): Likewise.
10675
10676 * buffer.c (Vbefore_change_function, Vafter_change_function):
10677 Variables and their initializations deleted.
10678
10679 * callint.c (Fcall_interactively): Doc fix.
10680
10681 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10682
10683 2000-05-31 Dave Love <fx@gnu.org>
10684
10685 * textprop.c: Revert last change -- duplicated.
10686
10687 2000-05-31 Gerd Moellmann <gerd@gnu.org>
10688
10689 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10690 in #if 0.
10691
10692 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10693
10694 2000-05-31 Jason Rumney <jasonr@gnu.org>
10695
10696 * search.c (Fre_search_forward, Fre_search_backward)
10697 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10698
10699 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10700
10701 2000-05-30 Jason Rumney <jasonr@gnu.org>
10702
10703 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10704 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10705
10706 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
10707
10708 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10709 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10710 expand a nil default_filename.
10711
10712 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10713 pointer to glyph_to_pixel_coords, not a frame.
10714
10715 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10716 coding.h to dependencies.
10717
10718 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10719
10720 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10721 window pointer to be consistent with w32term.c and xterm.c.
10722
10723 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10724 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10725 (Qline_spacing, Qcenter): New variables.
10726 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10727 (x_set_line_spacing): New function.
10728 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
10729 (x_specified_cursor_type): New function.
10730 (x_set_cursor_type): Use it.
10731 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10732 and icon strings.
10733 (validate_x_resource_name, x_get_resource_string): Measure lengths
10734 of external strings in bytes.
10735 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10736 GetTextExtentPoint32 with NULL title.
10737 (Fx_create_frame): Initialize Qline_spacing.
10738 (w32_load_system_font): Initialize font->double_byte_p.
10739 (x_to_w32_charset): Use Vw32_charset_info_alist.
10740 (Image, busy cursor, tooltip functions): Merged changes from
10741 xfns.c. Not yet functional on Windows.
10742
10743 * w32gui.h (W32FontStruct): Add double_byte_p member.
10744
10745 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10746 (emacs_button_translation): Use it.
10747 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10748 in `mask' to be set.
10749
10750 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10751 menu strings.
10752
10753 * w32term.c: Format and doc changes to bring closer to xterm.c.
10754 (w32_char_font_type): New enum.
10755 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10756 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10757 (w32_encode_char): New function.
10758 (x_encode_char): Removed.
10759 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10760 x_encode_char and w32_font_is_double_byte.
10761 (x_produce_image_glyph): Use image_ascent.
10762 (x_produce_glyphs): Use new version of w32_per_char_metric and
10763 handle NULL return value. Allow extra line spacing.
10764 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10765 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10766 w32_font_type member of glyph instead.
10767 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10768 (fast_find_position): Make sure not to consider rows not visible
10769 in the window.
10770 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10771 w32_menu_display_help with input blocked, as it can abort.
10772 (x_display_and_set_cursor): Choose cursor depending
10773 on buffer-local value of cursor_type.
10774 (x_draw_bar_cursor): Add parameter WIDTH.
10775
10776 * w32term.h (CP_DEFAULT): Define.
10777 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10778
10779 2000-05-30 Gerd Moellmann <gerd@gnu.org>
10780
10781 * search.c (Fre_search_forward, Fre_search_backward)
10782 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10783
10784 2000-05-30 Kenichi Handa <handa@etl.go.jp>
10785
10786 * coding.c (detect_coding_iso2022): Fix code for checking
10787 CODING_CATEGORY_MASK_ISO_8_2.
10788
10789 2000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10790
10791 * regex.c (PREFETCH_NOLIMIT): New function.
10792 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10793
10794 2000-05-29 Gerd Moellmann <gerd@gnu.org>
10795
10796 * syntax.c (find_defun_start): Move test for
10797 open_paren_in_column_0_is_defun_start outside of the loop.
10798
10799 * xdisp.c (redisplay_window): Really switch buffers when
10800 displaying mode lines, and temporarily set selected_frame to the
10801 frame of the window that's redisplayed.
10802
10803 * xfaces.c (free_realized_faces): Block/unblock input.
10804 (free_realized_multibyte_face): Ditto.
10805
10806 2000-05-29 Dave Love <fx@gnu.org>
10807
10808 * textprop.c (Qkeymap): New variable.
10809 (syms_of_textprop): Intern it.
10810
10811 * keymap.c: Include intervals.h.
10812 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10813
10814 * Makefile.in (keymap.o): Depend on intervals.h.
10815
10816 * keyboard.c (menu_bar_items, tool_bar_items)
10817 (Fexecute_extended_command): Deal with `keymap' property.
10818 (read_key_sequence): Track map from `keymap' property as well as
10819 `local_map'.
10820
10821 * intervals.c (get_local_map): Extra arg to allow looking for
10822 `keymap' too.
10823
10824 * intervals.h (map_property): New enum.
10825 (get_local_map): Extra arg using it.
10826 (Qkeymap): Declare.
10827
10828 * lisp.h (get_local_map): Don't declare here.
10829
10830 2000-05-29 Kenichi Handa <handa@etl.go.jp>
10831
10832 * Makefile.in (callproc.o): Depend on composite.h.
10833
10834 * callproc.c: Include composite.h.
10835 (Fcall_process): Handle composition correctly.
10836
10837 * coding.h (coding_allocate_composition_data): Extern it.
10838 (coding_restore_composition): Likewise.
10839
10840 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10841 yet allocated, finish decoding with result
10842 CODING_FINISH_INSUFFICIENT_CMP.
10843 (coding_allocate_composition_data): Make it non-static.
10844 (coding_restore_composition): Likewise.
10845
10846 2000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10847
10848 * charset.c (syms_of_charset): Revert last change.
10849
10850 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10851
10852 * term.c (produce_glyphs): Treat characters from the eight-bit-*
10853 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10854 Handa.
10855
10856 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10857
10858 * charset.c (syms_of_charset): Set width of character sets
10859 eight-bit-control and eight-bit-graphic to 1 column.
10860
10861 2000-05-26 Gerd Moellmann <gerd@gnu.org>
10862
10863 * config.in (HAVE_SPEED_T): New define.
10864
10865 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10866 `extern speed_t'.
10867
10868 2000-05-26 Dave Love <fx@gnu.org>
10869
10870 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10871
10872 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10873 (Fsubr_arity): New function.
10874 (syms_of_data): Install them.
10875
10876 2000-05-26 Kenichi Handa <handa@etl.go.jp>
10877
10878 * charset.c (init_charset_once): Set the table bytes_by_char_head
10879 correctly.
10880
10881 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10882 the default fontset to what Emacs uses by default.
10883 (check_registry_encoding): This function deleted.
10884 (Fset_fontset_font): Remove the adhoc condition for the default
10885 fontset. Allow cons in FONTNAME.
10886
10887 * fns.c (map_char_table): Ignore char-table entries for
10888 charsets eight-bit-control and eight-bit-graphic.
10889
10890 2000-05-25 Ken Raeburn <raeburn@gnu.org>
10891
10892 * emacs.c (main): Initialize keyboard syms before initializing
10893 window code, so face names are available.
10894
10895 2000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10896
10897 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10898 of an anchor at the beginning of a shy-group.
10899
10900 2000-05-25 Gerd Moellmann <gerd@gnu.org>
10901
10902 * xdisp.c (handle_invisible_prop): Don't try to skip over
10903 invisible text if end of text is already reached.
10904
10905 2000-05-25 Dave Love <fx@gnu.org>
10906
10907 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10908
10909 * coding.c (encode_eol): Add null statement after label.
10910
10911 2000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10912
10913 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10914 2000-05-20.
10915
10916 2000-05-25 Kenichi Handa <handa@etl.go.jp>
10917
10918 * ccl.c (ccl_driver): Fix previous change.
10919
10920 2000-05-25 Kenichi Handa <handa@etl.go.jp>
10921
10922 * coding.c (run_pre_post_conversion_on_str): Set point to the
10923 beginning of buffer before calling coding->post_read_conversion.
10924 (decode_coding_string): Give correct args to
10925 run_pre_post_conversion_on_str.
10926 (encode_coding_string): Likewise.
10927
10928 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10929 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10930 eight-bit-graphic correctly.
10931
10932 2000-05-24 Kenichi HANDA <handa@etl.go.jp>
10933
10934 * fileio.c (Finsert_file_contents): Even if a file is not found,
10935 execute codes for setting up coding system. Call
10936 after-insert-file-functions unconditionally.
10937
10938 2000-05-24 Gerd Moellmann <gerd@gnu.org>
10939
10940 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10941 BSD_PGRPS are not defined.
10942
10943 2000-05-24 Kenichi Handa <handa@etl.go.jp>
10944
10945 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10946 DESCRIPTION.
10947 (syms_of_charset): Avoid building same strings.
10948
10949 2000-05-23 Gerd Moellmann <gerd@gnu.org>
10950
10951 * lread.c (Fload): Add a comment about the meaning of
10952 Vuser_init_file being t.
10953
10954 * puresize.h (BASE_PURESIZE): Increase to 675000.
10955
10956 * s/gnu-linux.h (setpgrp): Don't define it here because this
10957 prevents compilation on GNU/Linux systems with glib 2.2.
10958
10959 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10960 as setpgid.
10961
10962 2000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10963
10964 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10965 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10966 version.
10967 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10968
10969 2000-05-23 Kenichi Handa <handa@etl.go.jp>
10970
10971 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10972
10973 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10974
10975 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
10976
10977 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10978
10979 2000-05-22 Kenichi Handa <handa@etl.go.jp>
10980
10981 * keyboard.c (read_char): Allow character codes 128..255 to be
10982 handled by input-method-function.
10983
10984 * insdel.c (adjust_markers_for_replace): Fix previous change.
10985 (adjust_after_replace): If PREV_TEXT is nil, call
10986 adjust_markers_for_insert, not adjust_markers_for_replace.
10987
10988 2000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
10989
10990 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10991 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10992 [HAVE_GRANDPT]: Define.
10993 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10994
10995 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10996 like SYSV_PTYS.
10997
10998 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10999
11000 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11001
11002 2000-05-20 Kenichi Handa <handa@etl.go.jp>
11003
11004 The following changes are to handle 8-bit characters in a
11005 multibyte buffer/string without facing with byte combining
11006 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11007 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11008
11009 * Makefile.in (fns.o): Depend on charset.h.
11010
11011 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11012 convert it to unibyte.
11013 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11014
11015 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11016 apparent char boundary.
11017 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11018 0x80..0x9F to/from multibyte form.
11019
11020 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11021 to unibyte.
11022
11023 * callproc.c (Fcall_process): Always encode an argument string if
11024 it is multibyte. Setup src_multibyte and dst_multibyte members of
11025 process_coding properly.
11026
11027 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11028 SPLIT_NON_ASCII_CHAR.
11029
11030 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11031 as is.
11032 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11033
11034 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
11035 (SPLIT_CHARACTER_SEQ): This macro deleted.
11036 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
11037 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11038 and eight-bit-graphic.
11039 (char_to_string): Likewise. Signal an error for too large
11040 character code.
11041 (char_printable_p): Return 0 for 8-bit characters.
11042 (update_charset_table): Update iso_charset_table only when a final
11043 character is non-negative.
11044 (find_charset_in_text): Renamed from find_charset_in_str.
11045 Arguments and return value changed. Callers changed.
11046 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11047 be -1 if CHARSET is used only internally.
11048 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11049 eight-bit-graphic.
11050 (Fcharset_after): Simplified.
11051 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11052 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11053 (multibyte_chars_in_text): Simplified by assuming there's no
11054 invalid multibyte sequence.
11055 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11056 (str_as_unibyte): New functions.
11057 (Fstring): Simpified by assuming that byte combining never happens.
11058 (init_charset_once): Initialization for
11059 LEADING_CODE_8_BIT_CONTROL.
11060 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11061 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11062 eight-bit-control and eight-bit-graphic.
11063
11064 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11065 (CHARSET_8_BIT_GRAPHIC): New macros.
11066 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11067 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11068 (CHARSET_REVERSE_CHARSET): Likewise.
11069 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11070 eight-bit-graphic.
11071 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11072 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11073 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11074 encounter an invalid multibyte sequence.
11075 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11076 sequence is always valid.
11077 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
11078 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
11079 (CHAR_STRING): For 8-bit characters, call char_to_string.
11080 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11081 multibyte sequence is always valid.
11082 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
11083 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11084 (str_as_unibyte): Extern them.
11085 (BCOPY_SHORT): Fix a bug.
11086 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
11087 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11088 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11089 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11090
11091 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
11092 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
11093 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11094 (EMIT_BYTES): New macros.
11095 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11096 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
11097 macros deleted.
11098 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11099 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11100 check the validity of multibyte sequence.
11101 (decode_coding_emacs_mule): New function.
11102 (encode_coding_emacs_mule): New macro.
11103 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11104 the source.
11105 (DECODE_ISO_CHARACTER): Just return a character code.
11106 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11107 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11108 EMIT_CHAR to produced decoded characters. Exit the loop only by
11109 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11110 block here.
11111 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11112 only position codes for an invalid character.
11113 (encode_designation_at_bol): Return new destination pointer. 5th
11114 arg DSTP is changed to DST.
11115 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11116 from the source by ONE_MORE_CHAR. Don't handle the case of last
11117 block here.
11118 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11119 macros deleted.
11120 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11121 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
11122 TWO_MORE_BYTES to fetch a byte from the source.
11123 (encode_eol): Pay attention to coding->src_multibyte.
11124 (detect_coding, detect_eol): Preserve members src_multibyte and
11125 dst_multibyte.
11126 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11127 (encoding_buffer_size): Set magnification to 3 for all coding
11128 systems that require encoding.
11129 (ccl_coding_driver): For decoding, be sure that the result is
11130 valid multibyte sequence.
11131 (decode_coding): Initialize coding->errors and coding->result.
11132 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11133 and raw-text, always call decode_eol. Handle the case of last
11134 block here. If not coding->dst_multibyte, convert the resulting
11135 sequence to unibyte.
11136 (encode_coding): Initialize coding->errors and coding->result.
11137 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11138 and raw-text, always call encode_eol. Handle the case of last
11139 block here.
11140 (shrink_decoding_region, shrink_encoding_region): Detect cases
11141 that we can't skip data more rigidly.
11142 (code_convert_region): Setup src_multibyte and dst_multibyte
11143 members of coding. For decoding, if the buffer is multibyte,
11144 convert the source sequence to unibyte in advance. For encoding,
11145 if the buffer is multibyte, convert the resulting sequence to
11146 multibyte afterward.
11147 (run_pre_post_conversion_on_str): New function.
11148 (code_convert_string): Deleted and divided into the following two.
11149 (decode_coding_string, encode_coding_string): New functions.
11150 (code_convert_string1, code_convert_string_norecord): Call one of
11151 above.
11152 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11153 MAKE_NON_ASCII_CHAR.
11154 (Fset_terminal_coding_system_internal)
11155 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
11156 and dst_multibyte members.
11157 (init_coding_once): Initialize iso_code_class with new enum
11158 ISO_control_0 and ISO_control_1.
11159
11160 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11161 devided into ISO_control_0 and ISO_control_1.
11162 (struct coding_system): New members src_multibyte, dst_multibyte,
11163 errors, and result. Delete member fake_multibyte.
11164 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11165 nonzero.
11166 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11167 nonzero.
11168
11169 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11170 (Faset): Likewise.
11171
11172 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11173 multibyte form.
11174 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11175 combining occurs.
11176 (Ftranspose_region): Delete codes for handling byte combining.
11177
11178 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11179 dst_multibyte members of coding. On handling REPLACE on unibyte
11180 buffer, convert the result of decode_coding to unibyte. On
11181 inserting into a mutibyte buffer, always call code_convert_region.
11182 (e_write): Setup coding->src_multibyte according to the
11183 multibyteness of the source (buffer or string).
11184
11185 * fns.c (concat): Handle 8-bit characters correctly.
11186 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11187 unibyte in the result.
11188 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11189 valid multibyte form in the result.
11190 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11191 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11192 return -1, signal an error.
11193 (base64_encode_1): New arg MULTIBYTE. Get each character by
11194 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11195 character is found, return -1.
11196 (Fbase64_decode_region): Delete codes for handling byte-combining.
11197 Treat each decoded byte as a unibyte character.
11198 (Fbase64_decode_string): Return unibyte string.
11199 (Fcompare_strings, concat, string_byte_to_char): Use
11200 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11201 FETCH_STRING_CHAR_ADVANCE.
11202 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11203 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11204
11205 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11206 SPLIT_NON_ASCII_CHAR.
11207 (fontset_ref_via_base, fontset_set): Likewise
11208
11209 * insdel.c (adjust_markers_for_record_delete): Deleted.
11210 (adjust_markers_for_insert): Argument changed. Caller changed.
11211 (adjust_markers_for_replace): Likewise.
11212 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11213 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
11214 (copy_text): Delete unused local varialbe c_save. For converting
11215 to multibyte, be sure to make all 8-bit characters in valid
11216 multibyte form.
11217 (count_size_as_multibyte): Handle 8-bit characters correctly.
11218 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11219 (adjust_after_replace, replace_range, del_range_2)
11220 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
11221 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11222 (adjust_after_replace, replace_range, del_range_2) Delete codes for
11223 handling byte combining.
11224 (adjust_before_replace): Deleted.
11225
11226 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11227 SPLIT_NON_ASCII_CHAR.
11228 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11229 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11230 (Fkey_description): Likewise.
11231
11232 * lread.c (read1): On reading multibyte string, be sure to make
11233 all 8-bit chararacters in valid multibyte form.
11234 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11235
11236 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11237 unconditionally.
11238
11239 * process.c (Fstart_process): GCPRO current_dir before calling
11240 Ffind_operation_coding_system. Encode arguments here.
11241 (create_process): Don't encode arguments here. Setup
11242 src_multibyte and dst_multibyte members of struct coding.
11243 (read_process_output): Setup src_multibyte and dst_multibyte
11244 members of struct coding. If the output is to multibyte buffer,
11245 always decode the output of the process. Adjust the
11246 representation of 8-bit characters to the multibyteness of the output.
11247 (send_process): Setup coding->src_multibyte according to the
11248 multibyteness of the source.
11249
11250 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11251 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11252 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11253
11254 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
11255
11256 * w16select.c (Fw16_set_clipboard_data): Setup members
11257 src_multibyte and dst_multibyte of coding. Adjusted for the
11258 change for find_charset_in_str.
11259 (Fw16_get_clipboard_data): Likewise.
11260
11261 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11262 dst_multibyte of coding.
11263 (x_to_w32_font): Likewise.
11264
11265 * w32select.c (Fw32_set_clipboard_data): Setup members
11266 src_multibyte and dst_multibyte of coding. Adjusted for the
11267 change for find_charset_in_str.
11268 (Fw32_get_clipboard_data): Likewise.
11269
11270 * xdisp.c (get_next_display_element): Handle 8-bit characters
11271 correctly.
11272 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11273 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11274
11275 * xselect.c (selection_data_to_lisp_data): Setup members
11276 src_multibyte and dst_multibyte of coding. Adjusted for the
11277 change for find_charset_in_str.
11278 (lisp_data_to_selection_data): Likewise.
11279
11280 2000-05-19 Gerd Moellmann <gerd@gnu.org>
11281
11282 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
11283
11284 * dispextern.h (Vimage_types): Add extern declaration.
11285
11286 * xdisp.c (Vimage_types): Moved here from xfns.c.
11287 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11288
11289 * xfns.c (Vimages_types): Moved to xdisp.c.
11290 (syms_of_xfns): Move `image-types' to xdisp.c.
11291
11292 * w32fns.c (Vimage_types): Removed.
11293 (syms_of_w32fns): Remove `image-types'.
11294
11295 2000-05-18 Kenichi Handa <handa@etl.go.jp>
11296
11297 * fns.c (map_char_table): Pay attention to character number of
11298 charset. Check the validity of charset at the first level. For
11299 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11300 the default value.
11301
11302 * fontset.c: Include "buffer.h".
11303 (fs_load_font): If the face has fontset, record the face ID in
11304 that fontset.
11305 (Finternal_char_font): New function.
11306 (accumulate_font_info): New function.
11307 (Ffontset_info): Rewritten for the new fontset implementation.
11308 (syms_of_fontset): Register Vdefault_fontset in the first element
11309 of Vfontset_table. Include Vdefault_fontset in
11310 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11311 function.
11312
11313 2000-05-16 Dave Love <fx@gnu.org>
11314
11315 * m/iris5d.h: Deleted -- unused.
11316
11317 2000-05-16 Gerd Moellmann <gerd@gnu.org>
11318
11319 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11320 `invalid' instead of `illegal'.
11321
11322 * indent.c (Fmove_to_column): When ending within a tab, insert
11323 spaces first so that markers at the end of the tab get adjusted.
11324
11325 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11326 buffer list that wasn't selected in that frame.
11327
11328 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11329 is needed on mescaline, use a 2 char prefix, and call
11330 make_temp_name with second arg non-zero.
11331
11332 * fileio.c (make_temp_name): New function, extracted from
11333 Fmake_temp_name.
11334 (Fmake_temp_name): Use it.
11335
11336 2000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11337
11338 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
11339
11340 2000-05-15 Gerd Moellmann <gerd@gnu.org>
11341
11342 * Makefile.in (lisp): Add env.elc.
11343
11344 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11345
11346 2000-05-12 Gerd Moellmann <gerd@gnu.org>
11347
11348 * search.c (Freplace_match): Handle case of `\N' in the
11349 replacement when there's no group N.
11350
11351 2000-05-11 Gerd Moellmann <gerd@gnu.org>
11352
11353 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11354 of the message to message_dolog.
11355
11356 * keyboard.c (read_char): Don't clear current message for help
11357 events; let the code handling help events handle this. Change
11358 code detecting help events that should be ignored.
11359
11360 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11361 we're interating over a string.
11362
11363 2000-05-09 Dave Love <fx@gnu.org>
11364
11365 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11366 that offset before writing. Move gcpro region past call of
11367 Ffile_regular_p.
11368
11369 2000-05-04 Dave Love <fx@gnu.org>
11370
11371 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11372
11373 2000-05-04 Gerd Moellmann <gerd@gnu.org>
11374
11375 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11376 of inserted characters when BUF equals the current buffer, and PT
11377 is in front of or equal to FROM.
11378
11379 2000-05-03 Gerd Moellmann <gerd@gnu.org>
11380
11381 * xdisp.c (handle_single_display_prop): If display property value
11382 is invalid, or something not supported on the frame, restore
11383 iterator's position to what it was initially. Make sure to return
11384 0 for invalid and unsupported property values.
11385
11386 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11387 that x_per_char_metric returns null.
11388
11389 2000-05-02 Gerd Moellmann <gerd@gnu.org>
11390
11391 * xterm.h (struct face): Add forward declaration.
11392 (struct image): Ditto.
11393 (image_ascent): Add prototype.
11394
11395 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11396 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11397 image_ascent instead of using IMAGE_ASCENT.
11398
11399 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11400 (IMAGE_ASCENT): Removed.
11401
11402 * xfns.c (Qcenter): New variable.
11403 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11404 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11405 (image_ascent): New function.
11406 (lookup_image): Recognize `:ascent center'.
11407 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11408 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11409 (xbm_load): Don't set image's ascent here.
11410 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11411 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11412 check ascent values here.
11413 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11414 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11415 (syms_of_xfns): Initialize Qcenter.
11416
11417 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11418 to the limits, increase the limits.
11419
11420 2000-05-01 Kenichi Handa <handa@etl.go.jp>
11421
11422 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
11423 Check Vfont_encoding_alist against the full name of the opened font.
11424
11425 2000-04-28 Gerd Moellmann <gerd@gnu.org>
11426
11427 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11428 taller than the window.
11429
11430 2000-04-28 Kenichi Handa <handa@etl.go.jp>
11431
11432 * xfaces.c (realize_x_face): Fix the argument of the second
11433 xassert. BASE_FACE may not be a face for ASCII.
11434
11435 2000-04-27 Gerd Moellmann <gerd@gnu.org>
11436
11437 * print.c (print_object): Treat print-length < 0 as nil.
11438
11439 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11440
11441 * s/freebsd.h (TERMCAP_OBJ): Removed.
11442 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11443
11444 * lread.c (read1): Don't treat period followed by certain
11445 characters as symbol start.
11446
11447 * xfns.c (slurp_file): New function.
11448 (xbm_image_p): Handle case of in-memory XBM files.
11449 (xbm_scan): Rewritten to work on memory buffers instead of files.
11450 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11451 Work on memory buffers instead of files. If DATA is null test
11452 if buffer looks like an in-memory XBM file.
11453 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11454 memory buffers instead of files.
11455 (xbm_file_p): New function.
11456 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11457
11458 * lread.c (end_of_file_error): New function.
11459 (read1): Call it instead of signaling `end-of-file' directly.
11460
11461 * print.c (print_error_message): Print data of `end-of-file'
11462 with Fprinc instead of Fprin1.
11463
11464 2000-04-26 Ken Raeburn <raeburn@gnu.org>
11465
11466 * window.c (freeze_window_start): Check that minibuffer scroll
11467 window isn't nil before extracting the window structure pointer
11468 from it.
11469
11470 * undo.c (record_delete): If we hit the end of the undo list, stop
11471 picking elements apart.
11472
11473 2000-04-26 Gerd Moellmann <gerd@gnu.org>
11474
11475 * xdisp.c (display_line): If lines are continued, restore
11476 iterator's ascent/descent information to the values before the
11477 first glyph not fitting on the line.
11478
11479 2000-04-25 Gerd Moellmann <gerd@gnu.org>
11480
11481 * xdisp.c (try_window_id) <all changes above window start>: Adjust
11482 positions in glyph matrix. Don't compute new window end positions.
11483
11484 * dispnew.c (increment_matrix_positions): Renamed from
11485 increment_glyph_matrix_buffer_positions.
11486 (increment_row_positions): Renamed from
11487 increment_glyph_row_buffer_positions.
11488
11489 * dispextern.h: Change names of renamed functions from dispnew.c
11490 in prototypes.
11491
11492 2000-04-24 Gerd Moellmann <gerd@gnu.org>
11493
11494 * fileio.c (Fdo_auto_save): Create directories for auto-save
11495 list file if necessary.
11496
11497 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11498 from buffer or frame.
11499 (automatic_hscrolling_p): New variable.
11500 (hscroll_windows): Scroll windows horizontally only if automatic
11501 hscrolling is allowed.
11502 (syms_of_xdisp): New variable `automatic-hscrolling'.
11503
11504 * frame.h (struct frame): Add member extra_line_spacing.
11505
11506 * xfns.c (x_set_line_spacing): New function.
11507 (Fx_create_frame): Set line spacing from resources.
11508 (Qline_spacing): New variable.
11509 (syms_of_xfns): Initialize Qline_spacing.
11510
11511 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11512
11513 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11514 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
11515 (reset_buffer): Don't initialize extra2 and extra3. Initialize
11516 extra_line_spacing from default value.
11517 (init_buffer_once): Initialize default value of extra_line_spacing.
11518
11519 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11520 and extra3.
11521
11522 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11523 prompt_width. Add extra line spacing.
11524
11525 * term.c (produce_glyphs): Remove reference to struct it's
11526 prompt_width.
11527
11528 * dispextern.h (struct it): Remove member prompt_width, add
11529 extra_line_spacing.
11530
11531 2000-04-22 Gerd Moellmann <gerd@gnu.org>
11532
11533 * dispnew.c (update_frame_line): When writing a whole line, make
11534 sure cursor is in the right row afterwards, otherwise a use of
11535 capability `ch' in cmgoto might leave the cursor in the row below.
11536
11537 2000-04-21 Gerd Moellmann <gerd@gnu.org>
11538
11539 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11540
11541 * keyboard.c (timer_check): Fix typo in comment.
11542
11543 2000-04-21 Kenichi Handa <handa@etl.go.jp>
11544
11545 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11546 name change: ch -> character.
11547
11548 2000-04-20 Gerd Moellmann <gerd@gnu.org>
11549
11550 * keyboard.c (echo_message_buffer): New variable.
11551 (echo_now): Set echo_message_buffer to the echo area buffer used
11552 to display the echo.
11553 (cancel_echoing): Reset echo_message_buffer to nil.
11554 (read_char): Code rewritten that handles canceling an echo or
11555 echoing a dash, respectively.
11556
11557 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11558 directory doesn't exist.
11559
11560 2000-04-19 Dave Love <fx@gnu.org>
11561
11562 * fns.c (syms_of_fns): Defsubr mapc.
11563 (concat): Don't allow numeric args.
11564 (Fconcat): Doc change.
11565
11566 2000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11567
11568 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11569 instead define end_match(1|2) more carefully.
11570 Use GET_CHAR_BEFORE_2 for `begline'.
11571
11572 2000-04-19 Gerd Moellmann <gerd@gnu.org>
11573
11574 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11575 on 64-bit systems where NULL is defined as `0'.
11576
11577 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11578 the `variable argument list' to make it work on Alpha.
11579
11580 * m/alpha.h (_LP64) [!_LP64]: Define.
11581 (ORDINARY_LINK): Define for NetBSD.
11582
11583 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
11584
11585 2000-04-19 Dave Love <fx@gnu.org>
11586
11587 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11588 change.
11589
11590 * Makefile.in (LIBS): Don't use.
11591 (GETLOADAVG_OBJ): Define again.
11592 (otherobj): Add GETLOADAVG_OBJ.
11593
11594 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11595
11596 2000-04-18 Gerd Moellmann <gerd@gnu.org>
11597
11598 * lread.c (read_filtered_event): Cancel and start busy cursor.
11599
11600 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
11601 that the per-character metrics may be null.
11602
11603 2000-04-17 Gerd Moellmann <gerd@gnu.org>
11604
11605 * buffer.c (clone_per_buffer_values): New function.
11606 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11607 clone_per_buffer_values if CLONE is not nil.
11608
11609 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11610
11611 2000-04-16 Dave Love <fx@gnu.org>
11612
11613 * Makefile.in: Remove obsolete localcpp stuff.
11614 (GETLOADAVG_OBJ): Don't define.
11615 (obj): Move LIBOBJS...
11616 (otherobj): ... to here.
11617 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11618 whitespace-only lines after the continuation (Irix).
11619
11620 2000-04-14 Gerd Moellmann <gerd@gnu.org>
11621
11622 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11623
11624 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11625
11626 2000-04-14 Dave Love <fx@gnu.org>
11627
11628 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11629 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11630 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11631 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11632 NLIST_STRUCT.
11633
11634 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11635 autoconfiscated HAVE_GETLOADAVG.
11636
11637 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11638 BROKEN_MKTIME.
11639
11640 2000-04-14 Gerd Moellmann <gerd@gnu.org>
11641
11642 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
11643 (fill_in_lock_file_name): Avoid existing files that aren't links.
11644
11645 2000-04-14 Dave Love <fx@gnu.org>
11646
11647 * Makefile.in (LIBS, LIBOBJS): New variable.
11648 (INTERVAL_SRC): Convert to make variable.
11649 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11650 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11651 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11652 add LIBOBJS.
11653 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11654 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11655 (shortlisp): Add facemenu, float-sup, frame.
11656 (SOME_MACHINE_LISP): Remove them from here.
11657 (LIBES): Change unused LDLIBS to autoconf LIBS.
11658
11659 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11660
11661 2000-04-14 Kenichi Handa <handa@etl.go.jp>
11662
11663 * composite.c (update_compositions): If FROM and TO are not in a
11664 valid range, do nothing.
11665
11666 2000-04-13 Gerd Moellmann <gerd@gnu.org>
11667
11668 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
11669
11670 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
11671
11672 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11673 as TERMCAP_OBJ.
11674
11675 2000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11676
11677 * fileio.c (a_write): Remove redundant semi-colons.
11678 (e_write): Return -1 if failed to write all the data.
11679 This fixes the changes made at 1999-12-15.
11680
11681 2000-04-12 Dave Love <fx@gnu.org>
11682
11683 * fns.c (mapcar1): Test for null vals to support mapc.
11684 (Fmapc): New function.
11685
11686 2000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11687
11688 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11689 (IT_frame_up_to_date): Support the buffer local value of
11690 cursor-type, if defined.
11691
11692 2000-04-10 Dave Love <fx@gnu.org>
11693
11694 * editfns.c (preceding-char, following-char): Doc fix.
11695
11696 2000-04-10 Ken Raeburn <raeburn@gnu.org>
11697
11698 * Makefile.in (temacs): Revert 2000-03-12 change.
11699
11700 2000-04-10 Jason Rumney <jasonr@gnu.org>
11701
11702 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11703
11704 2000-04-10 Gerd Moellmann <gerd@gnu.org>
11705
11706 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11707 area buffer, if it's not set up yet.
11708
11709 * indent.c (compute_motion): Set immediate_quit.
11710
11711 2000-04-09 Gerd Moellmann <gerd@gnu.org>
11712
11713 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
11714 (realize_tty_face): Suppress boldness if colors are the inverse of
11715 the default colors, and tty_suppress_bold_inverse_default_colors_p
11716 is set.
11717 (Ftty_suppress_bold_inverse_default_colors): New function.
11718 (syms_of_xfaces): Defsubr it.
11719
11720 * buffer.c (Frestore_buffer_modified_p): New function.
11721 (syms_of_buffer): Defsubr it.
11722
11723 2000-04-08 Ken Raeburn <raeburn@gnu.org>
11724
11725 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11726 charset id (int) argument, not a charset (Lisp_Object).
11727
11728 * coding.h (code_convert_string): Declare.
11729 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11730 object, as the fourth argument to code_convert_string.
11731
11732 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
11733 (Fset_fontset_font): Use EQ to compare lisp objects.
11734
11735 2000-04-05 Ken Raeburn <raeburn@gnu.org>
11736
11737 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11738 a pointer that looks like a lisp object.
11739 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11740 zero, instead see whether it's an integer object, since they can't
11741 have intervals.
11742 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11743
11744 * dispnew.c (allocate_matrices_for_frame_redisplay)
11745 (direct_output_forward_char): Use X(U)INT and make_number as needed
11746 to convert between (unsigned) int values and lisp integers.
11747 * keyboard.c (read_key_sequence): Likewise.
11748 * lread.c (substitute_object_recurse): Likewise.
11749 * fns.c (concat, hash_lookup, hash_remove): Likewise.
11750 * minibuf.c (do_completion, Fminibuffer_complete_word)
11751 (Fminibuffer_completion_help): Likewise.
11752 * term.c (produce_special_glyphs): Likewise.
11753
11754 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11755 * print.c (print_preprocess, print_object): Likewise.
11756
11757 * search.c (compile_pattern): Use NILP when checking for nil.
11758
11759 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11760 __OPTIMIZE__]: Provide a GNU C macro version that handles
11761 lisp-object unions.
11762 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11763 field, to better cope with ENABLE_CHECKING and calls that modify a
11764 Lisp_Object using its old value.
11765
11766 2000-04-04 Gerd Moellmann <gerd@gnu.org>
11767
11768 * window.c (compare_window_configurations): Signal an error
11769 if parameters C1 or C2 aren't window configurations.
11770
11771 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11772 AFTER_POTENTIAL_GC calls around calls to functions that can
11773 signal an error and thus invoke the debugger.
11774
11775 2000-04-03 Gerd Moellmann <gerd@gnu.org>
11776
11777 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11778 an error if decoding fails.
11779
11780 * keyboard.c (lispy_mouse_names): Variable removed.
11781 (Vlispy_mouse_stem): New variable.
11782 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11783 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11784 for any mouse button number. Increase size of mouse_syms and
11785 button_down_location as needed. Call modify_event_symbol with
11786 different arguments.
11787 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11788 Call modify_event_symbol with different arguments.
11789 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11790 for any button number. Call modify_event_symbol with different
11791 arguments.
11792 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11793 Accept a string for NAME_ALIST_OR_STEM.
11794
11795 * lisp.h (larger_vector): Add prototype.
11796
11797 * fns.c (larger_vector): Make externally visible.
11798
11799 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11800
11801 2000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11802
11803 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11804 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11805 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11806 we are between str1 and str2.
11807 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11808 (PATFETCH): Use `TRANSLATE'.
11809 (PATFETCH_RAW): Fetch multibyte char if applicable.
11810 (PATUNFETCH): Remove.
11811 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11812 When writing a char, write it directly into the pattern buffer rather
11813 than going needlessly through a temp char-array.
11814 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11815 multibyte magic and remove the useless `#ifdef emacs'.
11816 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11817 buffer.
11818
11819 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11820 conditional on `emacs'.
11821
11822 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11823
11824 2000-04-01 Ken Raeburn <raeburn@gnu.org>
11825
11826 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11827 non-union-type versions of XMARK and friends here, because XMARK
11828 and friends won't work on an integer field if NO_UNION_TYPE is not
11829 defined.
11830 (make_number): Define as a function if it's not defined as a macro.
11831
11832 * composite.c (run_composite_function): Use NILP when checking for nil.
11833 (syms_of_composite): Delete local var NARGS, pass an int as first
11834 argument to Fmake_hash_table.
11835
11836 * editfns.c (text_property_stickiness): Use NILP to test
11837 Lisp_Object boolean value.
11838 (Fmessage_or_box): Don't use NILP to test int variable.
11839 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11840 problems reading from and changing the same lisp value in an
11841 XSETSTRING call.
11842
11843 2000-04-01 Gerd Moellmann <gerd@gnu.org>
11844
11845 * term.c (TN_no_color_video): New variable.
11846 (term_init): Intitialize TN_no_color_video.
11847 (enum no_color_bit): New enumeration.
11848 (MAY_USE_WITH_COLORS_P): New macro.
11849 (turn_on_face): Use it to determine if attributes may be used
11850 combined with colors.
11851
11852 2000-04-01 Ken Raeburn <raeburn@gnu.org>
11853
11854 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
11855 with int lvalues via casts; instead, just yield lisp object lvalues.
11856 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11857 proper accessor macros.
11858 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11859 (grow_mini_window): Fix typo getting int value of root->height.
11860
11861 * xdisp.c (compute_string_pos): Fix order of arguments to
11862 string_pos_nchars_ahead.
11863 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11864 count arg to variable-arg routines like Frun_hook_with_args and
11865 Fformat.
11866 (back_to_previous_visible_line_start)
11867 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
11868 fixed-arg routines like Fget_char_property and Fmake_string.
11869 (reconsider_clip_changes): Use XINT when comparing integer lisp
11870 objects, or passing them as int arguments.
11871 (mark_window_display_accurate, insert_left_trunc_glyphs)
11872 (append_space, extend_face_to_end_of_line): Use make_number when
11873 storing or passing integer values as lisp objects.
11874 (set_cursor_from_row, highlight_trailing_whitespace): Use
11875 INTEGERP, not implicit test against zero, for glyph object.
11876 (try_window_id): Don't use make_number when we want an int value.
11877
11878 * xfaces.c (xlfd_symbolic_value): Make last argument a
11879 Lisp_Object, to be consistent with callers.
11880 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11881 (lface_hash): Apply XFASTINT to lisp values before folding in.
11882
11883 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11884 fill in window width and height. Pass an int, not a lisp object,
11885 as first arg to Finsert.
11886
11887 2000-04-01 Gerd Moellmann <gerd@gnu.org>
11888
11889 * xfaces.c (realize_basic_faces): Block input while realizing
11890 the faces.
11891
11892 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11893
11894 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11895
11896 2000-03-31 Gerd Moellmann <gerd@gnu.org>
11897
11898 * xterm.c (x_produce_glyphs): When displaying unibyte text
11899 or ASCII, handle case that per-char metric is null.
11900
11901 2000-03-30 Ken Raeburn <raeburn@gnu.org>
11902
11903 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11904
11905 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11906 (XSUBR, XBUFFER): Verify correct object type before returning
11907 pointer, using eassert.
11908 * frame.h (XFRAME): Likewise.
11909
11910 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11911 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11912 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
11913 * data.c (set_internal): Likewise.
11914 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11915 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
11916 * fileio.c (auto_save_1): Likewise.
11917 * insdel.c (check_markers): Likewise.
11918 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11919 * undo.c (record_insert): Likewise.
11920 * vmsproc.c (child_sig): Likewise.
11921 * window.c (unshow_buffer, window_loop): Likewise.
11922 * xterm.c (x_erase_phys_cursor): Likewise.
11923
11924 2000-03-30 Gerd Moellmann <gerd@gnu.org>
11925
11926 * xfns.c (free_image_cache): Free the cache structure itself
11927 last, after all its members have been freed.
11928
11929 * lisp.h (xstrdup): Add prototype.
11930
11931 * alloc.c (xstrdup): Moved here from xfaces.c.
11932 (allocating_for_lisp): Variable removed.
11933 (lisp_malloc): Block input around the calls to malloc and mem_insert.
11934
11935 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11936 of Fsymbol_value.
11937 (xstrdup): Moved to alloc.c.
11938
11939 2000-03-29 Ken Raeburn <raeburn@gnu.org>
11940
11941 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11942
11943 * emacs.c (main): Fix sense of no-loadup test.
11944
11945 * config.in (ENABLE_CHECKING): Undef.
11946
11947 * lisp.h (struct interval): Replace "parent" field with a union of
11948 interval pointer and Lisp_Object; add new bitfield to use as
11949 discriminant. Change other flag fields to bitfields.
11950 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
11951 is defined and the supplied test fails, print a message and abort.
11952 (eassert): New macro. Use CHECK to provide an assert-like facility.
11953
11954 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11955 pointers; abort if the value looks like a lisp object.
11956 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11957 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
11958 Modify for new interval parent definition.
11959
11960 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11961 (UNMARK_BALANCE_INTERVALS): Update references that need an
11962 addressable lisp object in the interval structure.
11963 (die): New function.
11964 (suppress_checking): New variable.
11965
11966 * intervals.c (interval_start_pos): Just return 0 if there's no
11967 parent object.
11968
11969 2000-03-29 Gerd Moellmann <gerd@gnu.org>
11970
11971 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11972 and earlier Emacs versions.
11973
11974 * keyboard.c (Ftop_level): Cancel busy-cursor.
11975
11976 * eval.c (call_debugger): Cancel busy-cursor.
11977
11978 2000-03-29 Kenichi Handa <handa@etl.go.jp>
11979
11980 * search.c (Freplace_match): Adjust multibyteness of the current
11981 buffer and NEWTEXT. Free allocated memory before signaling an error.
11982
11983 2000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11984
11985 * regex.c (analyse_first): New function obtained by ripping out most
11986 of re_compile_fastmap and generalizing it a little bit so that it
11987 can also just return whether a given (sub)pattern can match the empty
11988 string or not.
11989 (regex_compile): Use `analyse_first' to decide whether the loop-check
11990 needs to be done or not for *, +, *? and +? (the loop check is costly
11991 for non-greedy repetition).
11992 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11993
11994 2000-03-28 Dave Love <fx@gnu.org>
11995
11996 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
11997
11998 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11999
12000 2000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12001
12002 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12003 an expression.
12004 (enum re_opcode_t): Update description of succeed_n.
12005 (PATFETCH): Always define.
12006 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12007 operators, char classes, shy-groups and intervals).
12008 Optimize special cases of intervals so as to only use succeed_n and
12009 jump_n when really needed.
12010 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12011 that we don't have to handle the special cases any more.
12012 Simplify on_failure_jump handling as well.
12013
12014 2000-03-28 Jason Rumney <jasonr@gnu.org>
12015
12016 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12017
12018 2000-03-27 Gerd Moellmann <gerd@gnu.org>
12019
12020 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12021
12022 * s/msdos.h (GC_SETJMP_WORKS): Define.
12023
12024 * alloc.c (mark_maybe_object): New function.
12025 (mark_memory): Use it.
12026 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12027 (setjmp_tested_p, longjmp_done): New variables.
12028 (test_setjmp): New function.
12029 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12030 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12031
12032 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12033 to DEC_TEXT_POS and INC_TEXT_POS.
12034
12035 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12036 with parameter MULTIBYTE_P.
12037
12038 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
12039
12040 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
12041 buffers because it looks for multibyte character byte sequences
12042 which don't exist in unibyte text.
12043
12044 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12045
12046 * xfaces.c (register_color, unregister_color, unregister_colors)
12047 [DEBUG_X_COLORS]: New functions.
12048 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12049
12050 * xfns.c (x_set_cursor_color): Get color reference counts right.
12051
12052 * xterm.c (x_copy_color): New function.
12053 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12054
12055 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12056 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12057 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12058 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12059 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12060 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12061 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12062 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12063 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12064 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12065
12066 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12067 names for handling per-buffer variables.
12068
12069 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12070 instead of MAX_BUFFER_LOCAL_VARS.
12071 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12072
12073 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12074
12075 * xfns.c (x_specified_cursor_type): New function.
12076 (x_set_cursor_type): Use it.
12077
12078 * buffer.h (struct buffer): Add cursor_type.
12079
12080 2000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12081
12082 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
12083 (print_partial_compiled_pattern, re_compile_fastmap):
12084 Handle new opcode.
12085 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12086 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12087 executing it as well as when popping it off the stack to find infinite
12088 loops in non-greedy repetition operators.
12089
12090 2000-03-26 Gerd Moellmann <gerd@gnu.org>
12091
12092 * doc.c (Qfunction_documentation): New variable.
12093 (syms_of_doc): Initialize Qfunction_documentation.
12094 (Fdocumentation): If FUNCTION is a symbol with non-nil
12095 `function-documentation' property, return a documentation derived
12096 from that.
12097
12098 * buffer.c (syms_of_buffer): Add default-cursor-type.
12099 (init_buffer_once): Don't let cursor_type have a local value
12100 in every buffer.
12101
12102 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12103 on buffer-local value of cursor_type.
12104 (x_draw_bar_cursor): Add parameter WIDTH.
12105
12106 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12107 (init_buffer_once): Set default cursor_type value to t.
12108 Mark cursor_type as local everywhere.
12109 (syms_of_buffer): New per-buffer variable cursor-type.
12110
12111 * buffer.h (struct buffer): Remove member local_var_flags,
12112 add local_flags.
12113 (MAX_BUFFER_LOCAL_VARS): New macro.
12114 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12115 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12116 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12117 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12118
12119 * print.c (print_object): Use new macros for per-buffer variables.
12120
12121 * category.c (Fset_category_table): Use new macros for per-buffer
12122 variables.
12123
12124 * buffer.c (buffer_permanent_local_flags): Make a char array.
12125 (max_buffer_local_idx): New variable.
12126 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12127 for new handling of per-buffer variables.
12128 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12129 (init_buffer_once): Initialize per-buffer vars differently.
12130 Set max_buffer_local_idx.
12131
12132 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12133 variables.
12134
12135 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
12136
12137 * data.c (do_symval_forwarding, store_symval_forwarding)
12138 (find_symbol_value, set_internal, default_value, Fset_default)
12139 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12140 per-buffer variables.
12141
12142 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12143
12144 2000-03-24 Gerd Moellmann <gerd@gnu.org>
12145
12146 * xterm.c (x_term_init): Unblock input around call1 of
12147 Qvendor_specific_keysyms.
12148
12149 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12150 (find_defun_start): Consider an open parenthesis in column 0
12151 a defun start only if open_paren_in_column_0_is_defun_start is set.
12152 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12153
12154 2000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12155
12156 * eval.c (Fautoload): Add entry in load-history (if after dump).
12157 * lread.c (load-history): Update docstring.
12158
12159 2000-03-24 Gerd Moellmann <gerd@gnu.org>
12160
12161 * indent.c (Fvertical_motion): Always use the current buffer.
12162 Temporarily change the window's buffer, if necessary.
12163
12164 2000-03-23 Gerd Moellmann <gerd@gnu.org>
12165
12166 * xterm.c (fast_find_position): Make sure not to consider rows
12167 not visible in the window.
12168
12169 2000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12170
12171 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12172 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12173
12174 2000-03-22 Jason Rumney <jasonr@gnu.org>
12175
12176 * w32menu.c (single_submenu): Set help string to NULL if none.
12177 (w32_menu_show): Set help string correctly.
12178 (add-menu-item): Set help string in MIIM_DATA for menu item.
12179 Load SetMenuItemInfoA explicitly.
12180 (w32_menu_display_help): New function.
12181
12182 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12183 (QCdata): Moved to xdisp.c.
12184
12185 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12186 (Vw32_charset_to_codepage_alist): Removed.
12187 (Vw32_charset_info_alist): New variable.
12188 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12189 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12190 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
12191 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12192 with TODO comment.
12193 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12194 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12195 Define Vw32_charset_info_alist and w32_charset symbols.
12196
12197 2000-03-22 Jason Rumney <jasonr@gnu.org>
12198
12199 * makefile.nt (w32bdf.obj): Update dependencies.
12200
12201 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12202
12203 * w32fns.c: Include fontset.h after dispextern.h.
12204 (Fx_create_frame): Do not create fontset.
12205 (w32_load_system_font): Doc fix.
12206 (Fx_close_connection): Free full_name if it is not shared.
12207
12208 * w32term.c: Include fontset.h after dispextern.h.
12209 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12210 Callers updated.
12211 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12212 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12213 (w32_font_is_double_byte): New function, needs body.
12214 (x_append_glyph): Set glyph->glyph_not_available_p.
12215 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12216 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12217 character, convert it to a unibyte character.
12218 (struct glyph_string): Delete member `charset'.
12219 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12220 calculating it is found.
12221 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12222 the case that per char metric is not available correctly.
12223 (x_fill_glyph_string): Handle the case that the specific glyph is
12224 not available correctly.
12225 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12226 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12227 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12228 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12229 fontset. Don't call FS_LOAD_FONT.
12230
12231 2000-03-22 Ken Raeburn <raeburn@gnu.org>
12232
12233 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12234 (INT_LISPLIKE): New macro.
12235 (NULL_INTERVAL_P): Use it.
12236 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12237 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12238 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
12239
12240 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12241 explicit references to "parent" field of struct interval and
12242 associated unclean type conversions.
12243 * intervals.c (create_root_interval, root_interval, rotate_right)
12244 (rotate_left, balance_possible_root_interval, split_interval_right)
12245 (split_interval_left, interval_start_pos, find_interval)
12246 (next_interval, previous_interval, update_interval)
12247 (adjust_intervals_for_insertion, delete_node, delete_interval)
12248 (adjust_intervals_for_deletion, merge_interval_right)
12249 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12250 (copy_intervals_to_string): Likewise.
12251 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12252 Likewise.
12253 * syntax.c (update_syntax_table): Likewise.
12254
12255 * intervals.c (reproduce_tree_obj): New function, like
12256 reproduce_tree but takes a Lisp_Object for the parent. Declare
12257 with prototype.
12258 (graft_intervals_into_buffer): Use it when appropriate.
12259 (reproduce_tree): Declare with prototype.
12260 (balance_possible_root_interval): Check that the parent is a lisp
12261 object before trying to examine its type.
12262
12263 2000-03-22 Gerd Moellmann <gerd@gnu.org>
12264
12265 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12266 as strings only if both are known to be strings.
12267
12268 * s/openbsd.h (LIBS_TERMCAP): Undef.
12269
12270 2000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12271
12272 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12273 definitions for non-Emacs compilation.
12274 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12275 outside of `#ifdef emacs'.
12276 (print_partial_compiled_pattern): Update.
12277 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12278 (re_compile_fastmap): Merge handling of charset and charset_not (for
12279 emacs and non-emacs compilation as well).
12280 Similarly for (not)categoryspec and (not)syntaxspec.
12281 Don't use the fastmap when reaching `anychar' since the added
12282 complexity is not justified.
12283 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12284 and (not)syntaxspec. Merge (not)categoryspec.
12285
12286 2000-03-22 Kenichi Handa <handa@etl.go.jp>
12287
12288 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12289 (FACE_FOR_CHAR): Define them differently for the configuration of
12290 --without-x.
12291
12292 2000-03-21 Dave Love <fx@gnu.org>
12293
12294 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12295 doc string.
12296
12297 2000-03-21 Gerd Moellmann <gerd@gnu.org>
12298
12299 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12300 (lface_fully_specified_p): Don't check contents of
12301 LFACE_FONT_INDEX because that attribute is optional.
12302 (realize_x_face): Remove now unwarranted xassert.
12303
12304 2000-03-21 Kenichi HANDA <handa@etl.go.jp>
12305
12306 The following changes are to make font selection based on
12307 characters, not charset. In addition, they recover fontset
12308 facilities while utilizing the new font selection mechanism.
12309
12310 * Makefile.in (fontset.o): Depend on dispextern.h.
12311
12312 * alloc.c (mark_face_cache): Don't mark face->registry.
12313
12314 * dispextern.h (struct glyph): New member glyph_not_available_p.
12315 Use 22 bits for face_id.
12316 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12317 (struct face): Delete member registry, new member ascii_face.
12318 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12319 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12320 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
12321 (struct it): Delete member charset, new member glyph_not_available_p.
12322
12323 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12324 (struct fontset_info, struct fontset_data): Structs removed.
12325 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12326 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
12327 (fs_load_font, fs_query_fontset): Adjusted for new argument.
12328 (fs_free_face_fontset, fontset_font_pattern)
12329 (face_suitable_for_char_p, face_for_char)
12330 (make_fontset_for_ascii_face): Extern them.
12331 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12332 (FS_LOAD_FACE_FONT): New macro.
12333
12334 * fontset.c: All codes rewritten or adjusted for the change of
12335 fontset implementation. Now fontset is represented by char table.
12336 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12337 Variables removed.
12338 (my_strcasecmp): Function removed.
12339 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
12340 (AREF, ASIZE): New macros.
12341 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12342 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12343 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12344 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12345 (fontset_id_valid_p, font_family_registry, fontset_name)
12346 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12347 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
12348 New functions.
12349 (fs_load_font): New arg FACE. Caller changed.
12350 (fs_query_fontset): Argument changed. Caller changed.
12351 (Fquery_fontset): call fs_query_fontset.
12352 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12353 Functions removed.
12354 (clear_fontset_elements, check_registry_encoding)
12355 (check_fontset_name): New functions.
12356 (syms_of_fontset): Set char-table-extra-slots property of fontset
12357 to 3. Staticpro and initialize Vfontset_table and
12358 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12359
12360 * frame.h (struct frame): Member `fontset_data' removed.
12361 (FRAME_FONTSET_DATA): Macro removed.
12362
12363 * frame.c (make_frame): Don't allocate f->fontset_data.
12364 (Fdelete_frame): Don't free f->fontset_data.
12365
12366 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12367
12368 * xdisp.c (charset_at_position): Function removed.
12369 (init_iterator): Don't set member charset of struct `it'.
12370 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12371 (next_element_from_display_vector, insert_left_trunc_glyphs):
12372 Likewise.
12373 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12374 FACE_FOR_CHARSET.
12375 (get_next_display_element, append_space)
12376 (extend_face_to_end_of_line): Likewise.
12377
12378 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12379 Variables removed.
12380 (clear_font_table, frame_update_line_height, load_face_font):
12381 Adjusted for the change of fontset implementation.
12382 (load_face_fontset_font): Function removed.
12383 (pixel_point_size): New function.
12384 (font_list): Argument type changed. Caller changed.
12385 (LFACE_FONT): New macro.
12386 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12387 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12388 Lisp_Object. Determine the font name by actually loading a font
12389 by the specified pattern. Set LFACE_FONT (lface) to the specified
12390 pattern. Even if a font is not found, don't try alternatives.
12391 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12392 (set_font_frame_param): If `font' is specified in lface, use it.
12393 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12394 (lface_same_font_attributes_p): Likewise.
12395 (make_realized_face): Arguent changed. Caller changed. Set
12396 face->ascii_face to face itself.
12397 (free_realized_face): Free face->fontset if face is for ASCII.
12398 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12399 (deduce_unibyte_registry, x_charset_registry): Functions removed.
12400 (free_realized_multibyte_face): New function.
12401 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12402 changed. Caller changed.
12403 (try_font_list): Argument type changed.
12404 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12405 (choose_face_font): Argument changed. Handle fontset properly.
12406 (choose_face_fontset_font): Function removed.
12407 (realize_default_face, realize_named_face): Don't remove the
12408 former face here.
12409 (realize_face): Argument changed. Caller changed. Remove face
12410 with the arg former_face_id in advance. Load font for the new face.
12411 (realize_x_face): Argument changed. Caller changed. For a
12412 multibyte character, share fontset with base_face. For a single
12413 byte character, make a new realized fontset. Don't load a font here.
12414 (realize_tty_face): Argument changed. Caller changed.
12415 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12416 (face_at_buffer_position): Don't check multibyte_p for returning
12417 DEFAULT_FACE_ID.
12418 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12419 FACE_SUITABLE_FOR_CHARSET_P.
12420 (syms_of_xfaces): Remove code for Qx_charset_registry and
12421 Vface_default_registry.
12422
12423 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12424 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
12425 (x_per_char_metric): Don't try FONT->default_char. Even if
12426 pcm->width is zero, glyph bits may exist.
12427 (x_encode_char): Always initialize char2b->byte1.
12428 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
12429 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
12430 (x_append_glyph): Set glyph->glyph_not_available_p.
12431 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12432 it->charset. Handle the case that per char metric is not
12433 available. If it->multibyte_p is zero and it->c is a multibyte
12434 character, convert it to a unibyte character.
12435 (struct glyph_string): Delete member `charset'.
12436 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12437 the case that per char metric is not available correctly.
12438 (x_fill_glyph_string): Handle the case that the specific glyph is
12439 not available correctly.
12440 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12441 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12442 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12443 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12444 fontset. Don't call FS_LOAD_FONT.
12445
12446 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12447 (x_create_tip_frame): Likewise.
12448 (Fx_close_connection): Free full_name of font_info.
12449
12450 * fns.c (optimize_sub_char_table): New function.
12451 (Foptimize_char_table): New function.
12452 (syms_of_fns): Defsubr Soptimize_char_table.
12453
12454 2000-03-20 Gerd Moellmann <gerd@gnu.org>
12455
12456 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12457 only if buffer is displayed in some window.
12458
12459 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12460 (try_window_reusing_current_matrix): Don't call scroll run
12461 function if run's current and desired position are the same;
12462 this prevents cursor flickering.
12463
12464 2000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12465
12466 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12467
12468 * regex.c (RE_STRING_CHAR): New macro.
12469 (GET_CHAR_AFER_2): Remove.
12470 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12471 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12472 (print_partial_compiled_pattern, re_compile_fastmap)
12473 (re_match_2_internal): Remove on_failure_jump_exclusive.
12474 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12475 optimization only need to work for * (ie. can use of_keep_string_jump).
12476 Remove the special case for .*\n since it is now covered by the general
12477 optimization.
12478 (re_search_2): Don't bother with `room'.
12479 (skip_one_char): New function.
12480 (skip_noops): Simplify since `memory' is not needed any more.
12481 (mutually_exclusive_p): Restructure slightly to use `switch' and
12482 add handling for "all" remaining cases.
12483 (re_match_2_internal): Change on_failure_jump_smart to use
12484 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12485 rather than on_failure_jump_exclusive.
12486
12487 2000-03-19 Gerd Moellmann <gerd@gnu.org>
12488
12489 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12490 number of bits per RGB because it's everywhere used as the depth
12491 of the visual.
12492
12493 * term.c (calculate_costs): Remove code dealing with X frames.
12494
12495 2000-03-19 Richard M. Stallman <rms@gnu.org>
12496
12497 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12498
12499 2000-03-18 Gerd Moellmann <gerd@gnu.org>
12500
12501 * lread.c (read_integer): Unread the last char not consumed.
12502
12503 2000-03-17 Gerd Moellmann <gerd@gnu.org>
12504
12505 * xterm.c (x_update_window_cursor): Don't update in frames
12506 which are in the process of being deleted.
12507
12508 2000-03-16 Gerd Moellmann <gerd@gnu.org>
12509
12510 * Makefile.in (mostlyclean): Add `*.core'.
12511 (clean): Add `bootstrap-emacs'.
12512
12513 * lread.c (read_integer): New function.
12514 (read1): Support read syntax #o, #x, #b, #r.
12515
12516 2000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12517
12518 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12519 make sure POINTER_TO_OFFSET gives the same value before and after
12520 PREFETCH. Use `dfail' to guarantee "atomic" matching.
12521 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12522 (debug): Now only active if > 0 rather than if != 0.
12523 (DEBUG_*): Update for the new meaning of `debug'.
12524 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12525 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12526 in `succeed_n', `jump_n' and `set_number_at'.
12527 (store_op1, store_op2, insert_op1, insert_op2)
12528 (at_begline_loc_p, at_endline_loc_p): Add prototype.
12529 (group_in_compile_stack): Move to after its arg's types are
12530 declared and add a prototype.
12531 (PATFETCH): Define in terms of PATFETCH_RAW.
12532 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
12533 (QUIT): Redefine as a nop except for NTemacs.
12534 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12535 indentation of the greedy-op and shy-group code.
12536 (at_(beg|end)line_loc_p): Fix argument's types.
12537 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12538 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12539 (MATCHING_IN_FIRST_STRING): Remove.
12540 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12541 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12542 QUIT unconditionally.
12543
12544 2000-03-15 Gerd Moellmann <gerd@gnu.org>
12545
12546 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12547 a sole completion.
12548
12549 * process.c (send_process): Add a hint that the function
12550 can call Lisp code to its comment.
12551
12552 * lread.c (load_dangerous_libraries): New variable.
12553 (Vbytecomp_version_regexp): New variable.
12554 (safe_to_load_p): New function.
12555 (Fload): Handle files not compiled with Emacs specially.
12556 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12557
12558 2000-03-14 Gerd Moellmann <gerd@gnu.org>
12559
12560 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12561
12562 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12563 support functions only if HAVE_X11R6_XIM is defined.
12564 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12565
12566 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12567
12568 * xfns.c (X_I18N_INHIBITED): Don't define.
12569 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
12570 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12571
12572 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12573 (HAVE_X11R6_XIM): Define.
12574
12575 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12576
12577 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12578 If set, call XSynchronize.
12579
12580 2000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12581
12582 * regex.c: Declare a new type `re_char' used throughout the code
12583 for the string char type. It's `const unsigned char' to match the
12584 rest of Emacs. Consistently make sure all pointers to strings use
12585 it and make sure all pointers into the pattern use `unsigned char'.
12586 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
12587 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12588 code duplication.
12589
12590 * charset.h (GET_CHAR_AFTER_2): Remove.
12591 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12592
12593 2000-03-12 Ken Raeburn <raeburn@gnu.org>
12594
12595 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12596 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12597 of them try to use backquotes.
12598
12599 2000-03-12 Dave Love <fx@gnu.org>
12600
12601 * unexelf.c: Restore changes of 1999-10-19.
12602 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12603 fix its type and alignment; copy it from current process.
12604
12605 2000-03-12 Gerd Moellmann <gerd@gnu.org>
12606
12607 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12608 has been found. Fix bug not computing timer's predecessor.
12609
12610 * fileio.c (Fread_file_name): Handle case that DIR contains a
12611 file name.
12612
12613 * window.c (Fsave_window_excursion): Doc fix.
12614
12615 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
12616
12617 2000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12618
12619 * msdos.c (vga_installed): New function, code moved from
12620 dos_set_window_size.
12621 (Qbar, Qcursor_type, outside_cursor): New variables.
12622 (syms_of_msdos): Intern and staticpro them.
12623 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12624 shape used outside Emacs when called for the first time.
12625 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12626 cursor shape used outside Emacs.
12627 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12628 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12629 type has changed.
12630 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12631 parameters specify the cursor. Make qreverse a global
12632 variable (renamed to Qreverse).
12633
12634 2000-03-09 Gerd Moellmann <gerd@gnu.org>
12635
12636 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12637
12638 2000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12639
12640 This is a big redesign of failure-stack and register handling, prompted
12641 by bugs revealed when trying to add shy-groups. Overall, what happened
12642 is that loops are now structured a little differently, groups can be
12643 shy and the code is a little simpler.
12644
12645 * regex.h: Update the copyright.
12646 (RE_SHY_GROUPS): New value.
12647 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12648 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12649
12650 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12651 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12652 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12653 for (start|stop)_memory since they now only take one argument (the
12654 second has becomes unnecessary).
12655 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
12656 (print_compiled_pattern): Use %ld to printf long ints and flush to
12657 make debugging a little easier.
12658 (union fail_stack_elt): Make the integer unsigned.
12659 (struct fail_stack_type): Add a `frame' element.
12660 (INIT_FAIL_STACK): Init `frame' as well.
12661 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12662 (DEBUG_PUSH, DEBUG_POP): Remove.
12663 (NUM_REG_ITEMS): Remove.
12664 (NUM_NONREG_ITEMS): Adjust.
12665 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12666 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
12667 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
12668 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12669 New macros.
12670 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12671 address pushed is not the destination of the jump but the source
12672 of it instead.
12673 (NUM_FAILURE_ITEMS): Remove.
12674 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
12675 registers before the actual failure point). Don't hardcode any
12676 meaning for str==NULL anymore.
12677 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
12678 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12679 Remove.
12680 (REG_UNSET_VALUE): Use NULL (why not?).
12681 (compile_range): Remove declaration since it doesn't exist.
12682 (struct compile_stack_elt_t): Remove inner_group_offset.
12683 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12684 (regex_grow_registers): Remove dead code.
12685 (FIXUP_ALT_JUMP): New macro.
12686 (regex_compile): Add shy-groups Change loops to use
12687 on_failure_jump_smart&jump instead of
12688 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12689 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12690 variable to me). Use `jump' instead of `jump_past_alt' and don't
12691 bother with push_dummy_failure in alternatives since it is now
12692 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12693 emacs' for (re)allocating the stack.
12694 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12695 from loop when bufp->can_be_null rather than jumping to `done'.
12696 Avoid jumping backwards so as to ensure termination. Use
12697 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12698 backreferences. Remove dead code in handling of `anychar'.
12699 (skip_noops, mutually_exclusive_p): New functions taken from the
12700 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12701 improve mutually_exclusive_p to handle ".+\n".
12702 (lowest_active_reg, highest_active_reg)
12703 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
12704 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12705 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12706 variables. Push register (in `start_memory') on the stack rather
12707 than storing it in old_reg(start|end). Remove the cycle detection
12708 from `stop_memory', replaced by the use of on_failure_jump_loop
12709 for greedy loops. Add code for the new on_failure_jump_<foo>.
12710 Remove ad-hoc code in `on_failure_jump' to push more registers in
12711 the case of a loop. Take out code from `maybe_pop_jump' into
12712 separate functions and adapt it to the semantics of
12713 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12714 and push_dummy_failure. Remove dummy_failure handling and
12715 handling of `failures to jump to on_failure_jump' (this last one
12716 was already dead code, it seems).
12717 (group_match_null_string_p, alt_match_null_string_p)
12718 (common_op_match_null_string_p): Remove.
12719
12720 2000-03-08 Dave Love <fx@gnu.org>
12721
12722 * config.in: Don't depend on __STDC__ for volatile.
12723 Add POINTER_TYPE, PTR, PROTOTYPES.
12724
12725 * hftctl.c, strftime.c: Use PROTOTYPES.
12726 * eval.c (find_handler_clause): Likewise.
12727
12728 * mem-limits.h: Use POINTER_TYPE.
12729
12730 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12731 (memory_warnings): Declare using POINTER_TYPE.
12732
12733 2000-03-08 Gerd Moellmann <gerd@gnu.org>
12734
12735 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12736
12737 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
12738
12739 * xfns.c: Remove obsolete code in #if 0.
12740 (Fx_focus_frame): New function.
12741
12742 2000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12743
12744 * coding.c (coding_category_name): Add coding-category-utf-8,
12745 coding-category-utf-16-be, coding-category-utf-16-le.
12746 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12747 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12748 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12749 (detect_coding_utf_8): New function.
12750 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12751 UTF_16_LOW_SURROGATE_P): New macros.
12752 (detect_coding_utf_16): New function
12753 (detect_coding_mask): When priorities are specified, skip any
12754 categories that have `nil' coding-system. Fix bug of returning
12755 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12756 returns a mask not set in PRIORITIES.
12757 (detect_eol_type_in_2_octet_form): New function.
12758 (detect_eol): selects detect_eol_type_XXX to call according to
12759 cooding->category_idx.
12760 (detect_coding_system): Remove `nil' coding-system in the result.
12761 (Fupdate_coding_systems_internal): Update all coding-categories.
12762
12763 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12764 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12765 New macros.
12766 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12767 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12768 (CODING_CATEGORY_IDX_UTF_16_LE)
12769 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12770 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
12771 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12772 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12773
12774 2000-03-07 Gerd Moellmann <gerd@gnu.org>
12775
12776 * doc.c (Fdocumentation_property): If value is not a string,
12777 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12778
12779 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12780 close the display with XtCloseDisplay. This caused a bus error
12781 on OpenWindows.
12782
12783 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12784 complete but not unique.
12785
12786 2000-03-06 Gerd Moellmann <gerd@gnu.org>
12787
12788 * process.c (send_process): Remove local variable `procname' that
12789 might become invalid when a GC happens. Instead, access the
12790 process name slot directly.
12791
12792 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12793 orig_height if set.
12794
12795 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12796 orig_height if set.
12797
12798 2000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12799
12800 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12801 glyph matrices have been freed.
12802
12803 2000-03-05 Gerd Moellmann <gerd@gnu.org>
12804
12805 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
12806 (bootstrap-temacs): Set LC_ALL to C like for temacs.
12807
12808 * xfns.c (QCdata): Moved to xdisp.c.
12809
12810 * xdisp.c (QCdata): Moved here from xfns.c.
12811 (syms_of_xdisp): Initialize QCdata.
12812
12813 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12814
12815 * window.c (coordinates_in_window): Use
12816 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12817 FRAME_INTERNAL_BORDER_WIDTH.
12818
12819 * xdisp.c (try_window_id): Recompute unchanged information if
12820 it is obviously invalid.
12821
12822 * xterm.c (x_term_init): Create a colormap if not using the
12823 default visual.
12824
12825 * xterm.h (select_visual): Change prototype.
12826
12827 * xfns.c (select_visual): Rewritten. Recognize user-specified
12828 visual classes.
12829 (visual_classes): New variable.
12830
12831 2000-03-04 Gerd Moellmann <gerd@gnu.org>
12832
12833 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12834 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12835 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
12836 (x_decode_color): Don't handle allocation of white and black specially.
12837 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12838 XtNcolormap resources.
12839 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12840 (Fx_create_frame): Initialize color members of x_output structure.
12841 (xpm_load): Pass colormap to XPM lib.
12842
12843 * xfaces.c (x_free_colors): Access colormap of frame using
12844 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12845 when default colormap is used.
12846
12847 * xterm.c (x_term_init): Set Colormap member of x_display_info
12848 structure. Copy colormap if resource `privateColormap' is
12849 specified (PseudoColor only).
12850 (x_setup_relief_color): Access colormap of frame using
12851 FRAME_X_COLORMAP.
12852
12853 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12854 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12855
12856 2000-03-04 Jason Rumney <jasonr@gnu.org>
12857
12858 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12859 other non-platform-specific equivalents.
12860 [WINDOWSNT]: Include w32term.h, fontset.h and define X
12861 specific functions and macros as their w32 equivalents where
12862 non-platform-specifics are not available.
12863 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12864 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12865 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12866 (frame_update_line_height): Use macros to access f->output_data.
12867 (defined_color): Remove FIXME comments; fixed.
12868 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12869 into #ifdef blocks. Add WINDOWSNT blocks.
12870 (Fx_list_fonts): Use macros for accessing font data.
12871 (set_lface_from_font_name): Different default fonts for X and
12872 WINDOWSNT.
12873 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12874 scalable for backward compatibility.
12875 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
12876 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12877
12878 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
12879 syms_of_w32faces.
12880
12881 * makefile.nt (w32faces.obj): Remove.
12882 (xfaces.obj): Add.
12883
12884 2000-03-03 Jason Rumney <jasonr@gnu.org>
12885
12886 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12887 correct parameters.
12888
12889 2000-03-03 Ken Raeburn <raeburn@gnu.org>
12890
12891 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12892 standard ELF definitions here if the system header does not.
12893
12894 2000-03-03 Gerd Moellmann <gerd@gnu.org>
12895
12896 * xterm.c (PER_CHAR_METRIC): Removed.
12897 (x_per_char_metric_1, x_default_char): New functions.
12898 (x_per_char_metric): If font's default char is invalid, return
12899 metrics of a suitably chosen usable default char.
12900 (x_draw_glyph_string_foreground): If font has an invalid default
12901 char, replace occurrences of unprintable chars with a suitably
12902 chosen usable default char.
12903
12904 2000-03-02 Gerd Moellmann <gerd@gnu.org>
12905
12906 * xterm.c (note_mouse_highlight): Return quickly if frame's
12907 glyph matrices have been freed.
12908
12909 * dispnew.c (free_glyphs): Block input while freeing matrices.
12910
12911 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12912
12913 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12914 Use x_free_colors.
12915
12916 * dispextern.h (x_free_colors): Add prototype.
12917
12918 * xfaces.c (x_free_colors): New function.
12919 (unload_color, free_face_colors): Use it.
12920
12921 2000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12922
12923 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12924
12925 * window.c [MSDOS]: Include msdos.h.
12926
12927 2000-03-02 Dave Love <fx@gnu.org>
12928
12929 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12930
12931 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12932 set C_OPTIMIZE_SWITCH for gcc.
12933
12934 2000-03-02 Kenichi Handa <handa@etl.go.jp>
12935
12936 * coding.c (coding_save_composition): Be sure to allocate
12937 composition data area in coding even if there's no composition in
12938 the current run.
12939
12940 2000-03-01 Jason Rumney <jasonr@gnu.org>
12941
12942 * w32term.c: Equivalent changes to those made to xterm.c on
12943 2000-02-25 and 2000-02-24.
12944
12945 * w32fns.c: Equivalent changes to those made to xfns.c on
12946 2000-02-25 and 2000-02-21.
12947
12948 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12949 correct line-end convention is followed.
12950
12951 * w32menu.c [HAVE_BOXES]: Remove #undef.
12952 (single_keymap_panes): Remove code for simulating checkmarks.
12953 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12954 Remove code for drawing simulated checkmarks.
12955 (w32_menu_show): make unibyte help string correctly.
12956 (add_menu_item): draw standard Windows checkmarks. Draw radio
12957 buttons as radio buttons if possible.
12958
12959 2000-03-01 Gerd Moellmann <gerd@gnu.org>
12960
12961 * sysdep.c (start_of_text): Don't define this function for NetBSD
12962 with ELF.
12963
12964 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
12965 Don't define.
12966 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12967 (LINKER): Don't undef if __NetBSD__ is defined.
12968
12969 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12970
12971 * fileio.c [__NetBSD__]: Define `unix'.
12972
12973 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12974
12975 2000-02-29 Gerd Moellmann <gerd@gnu.org>
12976
12977 * atimer.c (start_atimer): Don't abort when timers are stopped.
12978 (append_atimer_lists): New function.
12979 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12980 arbitrary lists of stopped and running atimers.
12981
12982 * atimer.c (cancel_atimer): Handle canceling an atimer when
12983 some timers are stopped.
12984
12985 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12986 after canceling it.
12987
12988 * fns.c (maybe_resize_hash_table): Handle case of new size
12989 coming out as being the same as old size.
12990
12991 2000-02-27 Jason Rumney <jasonr@gnu.org>
12992
12993 * makefile.nt: Add atimer.h to dependencies.
12994 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12995 * w32console.c: Only disable window system features for dispextern.h
12996 (initialize_w32_display): Build a display info for the console.
12997 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12998 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12999 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13000 as 2 button mice.
13001 * w32gui.h (struct W32FontStruct): Revert last change after change
13002 to xdisp.c.
13003 * w32menu.c (single_submenu): Set up help string.
13004 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13005 (w32_dialog_show): Set up help string.
13006 * w32term.c (w32_display_info_for_display): Remove unused function.
13007 (w32_draw_bitmap): Use pre-built bitmaps.
13008 (w32_initialize_display_info): New function to initialize parts of
13009 display info that are common to both GUI and console frames.
13010 (w32_term_init): Use w32_initialize_display_info. Do not set
13011 Vw32_num_mouse_buttons here, as it is not called for console
13012 frames. Build bitmaps for indicating truncated lines etc.
13013 (x_delete_display): Destroy pre-built bitmaps.
13014 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13015 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13016
13017 2000-02-27 Dave Love <fx@gnu.org>
13018
13019 * lisp.h: Add a bunch of prototypes.
13020
13021 2000-02-26 Kenichi Handa <handa@etl.go.jp>
13022
13023 * keyboard.c (read_char): Set `usec' correctly.
13024
13025 2000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13026
13027 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13028 `lambda', set reg[RRR] to the map index.
13029 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13030 reg[RRR] to 0. Otherwise, set it to -1.
13031
13032 2000-02-25 Gerd Moellmann <gerd@gnu.org>
13033
13034 * emacs.c (main): Remove code snippet commented out with `//'.
13035
13036 2000-02-25 Richard M. Stallman <rms@gnu.org>
13037
13038 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13039 and contains a `:', prepend `/:'.
13040
13041 * window.c (select_window_1): If selected_window is nil,
13042 don't "swap out" the buffer's point.
13043 (Fset_window_configuration): Set selected_window to nil
13044 before calling Fselect_window.
13045 (unshow_buffer): Don't set point in buffer from window's point
13046 if another more recently selected window also shows the buffer.
13047
13048 2000-02-25 Gerd Moellmann <gerd@gnu.org>
13049
13050 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13051
13052 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13053 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
13054 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13055 New variables.
13056 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13057 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13058 (hide_busy_cursor): New functions.
13059 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13060
13061 * minibuf.c (read_minibuf): Cancel busy-cursor.
13062
13063 * keyboard.c (command_loop_1): Call start_busy_cursor before
13064 Fcommand_execute and cancel_busy_cursor after it.
13065 (timer_check): Remove busy-cursor code.
13066 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13067 cursor timer.
13068
13069 * process.c (wait_reading_process_input): Remove busy-cursor code.
13070
13071 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13072 Fx_hide_busy_cursor.
13073
13074 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13075 Remove prototyoes.
13076 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13077
13078 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13079
13080 * xterm.c (XTread_socket): Remove busy-cursor code.
13081
13082 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13083 (build_frame_matrix_from_leaf_window): Put code handling
13084 glyph row's not being a slice of a frame row in #if 0.
13085 (sync_window_with_frame_matrix_rows): New function.
13086 (frame_row_to_window): New function.
13087 (mirror_line_dance): Handle copies between windows.
13088
13089 * lread.c (Fload): Use `xfree' instead of `free'.
13090 (init_obarray): Use `xmalloc' instead of `malloc'.
13091
13092 * window.c (Fset_window_buffer): Set WINDOW to the window
13093 after decoding.
13094 (coordinates_in_window): Take frame's internal border width
13095 into account.
13096
13097 2000-02-24 Gerd Moellmann <gerd@gnu.org>
13098
13099 * xterm.c (x_display_and_set_cursor): Display cursor of
13100 non-selected windows depending on the setting of
13101 cursor_in_non_selected_windows.
13102
13103 * xdisp.c (cursor_in_non_selected_windows): New variable.
13104 (syms_of_xdisp): DEFVAR_BOOL it.
13105
13106 2000-02-23 Gerd Moellmann <gerd@gnu.org>
13107
13108 * data.c (Fstring_to_number): If number is greater than what
13109 fits into an integer, return a float.
13110
13111 * eval.c (specbind): Remove references to
13112 keyword_symbols_constant_flag.
13113
13114 * data.c (keyword_symbols_constant_flag): Removed.
13115 (Fmakunbound, set_internal, syms_of_data): Remove references to
13116 keyword_symbols_constant_flag.
13117
13118 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13119
13120 2000-02-23 Kenichi Handa <handa@etl.go.jp>
13121
13122 * syntax.c (multibyte_syntax_as_symbol): New variable.
13123 (syms_of_syntax): Declare it as a Lisp variable.
13124 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13125 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13126 nonzero, treat all multibyte characters as symbol.
13127 (init_syntax_once): Give syntax `word' to all multibyte characters.
13128
13129 2000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13130
13131 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
13132 a deleted frame.
13133
13134 2000-02-21 Gerd Moellmann <gerd@gnu.org>
13135
13136 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13137
13138 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13139 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13140
13141 2000-02-21 Dave Love <fx@gnu.org>
13142
13143 * frame.c (Vmouse_position_function): New variable.
13144 (Fmouse_position): Use it.
13145 (syms_of_frame): Install it.
13146
13147 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13148
13149 2000-02-20 Gerd Moellmann <gerd@gnu.org>
13150
13151 * fileio.c (Finsert_file_contents): Unbind the binding of
13152 standard-output done by temp_output_buffer_setup.
13153
13154 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13155 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13156 (specbind, unbind_to): Handle most common case of non-constant
13157 symbol with trivial value specially.
13158
13159 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13160
13161 2000-02-20 Richard M. Stallman <rms@gnu.org>
13162
13163 * data.c (Fmake_variable_buffer_local): Doc fix.
13164 Init found_for_buffer to 0.
13165 (Fmake_variable_frame_local): If the variable has already
13166 been buffer-local, set the check_frame field.
13167
13168 2000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13169
13170 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13171 produced for CODING_MODE_LAST_BLOCK requires.
13172
13173 2000-02-18 Dave Love <fx@gnu.org>
13174
13175 * keyboard.c (echo_keystrokes): Remove declaration.
13176 (Vecho_keystrokes) New variable.
13177 (read_char, record_menu_key, read_key_sequence): Use it to allow
13178 use of float value.
13179 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13180
13181 * lread.c: Undef feature selection macros before defining.
13182
13183 2000-02-18 Gerd Moellmann <gerd@gnu.org>
13184
13185 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13186 for symbols other than the symbol in question.
13187
13188 2000-02-17 Dave Love <fx@gnu.org>
13189
13190 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13191
13192 2000-02-17 Gerd Moellmann <gerd@gnu.org>
13193
13194 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13195
13196 * alloc.c (enum mem_type): Compile unconditionally.
13197
13198 2000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13199
13200 * xfaces.c (tty_defined_color): Don't return faulire indication
13201 for unspecified-fg and unspecified-bg pseudo-colors.
13202
13203 2000-02-17 Gerd Moellmann <gerd@gnu.org>
13204
13205 * alloc.c (mark_object): Don't mark symbol names in pure space.
13206 (gc_sweep): Don't unmark symbol names in pure space.
13207
13208 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13209 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13210 [GC_MARK_STACK]: New defines.
13211 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
13212 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13213
13214 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13215
13216 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13217 allocate_buffer instead of xmalloc.
13218
13219 * alloc.c (toplevel): Include setjmp.h.
13220 (PURE_POINTER_P): New define.
13221 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13222 (Vdead) [GC_MARK_STACK]: New variable.
13223 (lisp_malloc): Add parameter TYPE, call mem_insert if
13224 GC_MARK_STACK is defined.
13225 (allocate_buffer): New function.
13226 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
13227 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13228 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13229 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13230 (MEM_NIL) [GC_MARK_STACK]: New define.
13231 (struct mem_node) [GC_MARK_STACK]: New structure.
13232 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13233 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13234 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13235 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13236 (mark_stack) [GC_MARK_STACK]: New functions.
13237 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13238 (clear_marks): Removed.
13239 (gc_sweep): Set free conses' car, free floats' type, free
13240 symbols' function to Vdead. Use lisp_free to free buffers.
13241 (init_alloc_once): Initialize Vdead.
13242 (survives_gc_p): Return non-zero for pure objects.
13243
13244 * alloc.c: Add comments throughout the file.
13245
13246 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13247 that unblocks alarms.
13248
13249 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13250 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13251 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13252
13253 * frame.c (make_frame): Set frame initiallly to `garbaged'.
13254
13255 2000-02-17 Kenichi Handa <handa@etl.go.jp>
13256
13257 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13258 avoid infinite error signaling. Allocate sufficient memory for
13259 eol_str in the case that eoltype is Lisp_Int.
13260
13261 2000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13262
13263 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13264 depends on the previous behavior.
13265
13266 2000-02-16 Gerd Moellmann <gerd@gnu.org>
13267
13268 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13269
13270 2000-02-15 Gerd Moellmann <gerd@gnu.org>
13271
13272 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13273
13274 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
13275 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
13276 write(2).
13277
13278 2000-02-15 Richard M. Stallman <rms@gnu.org>
13279
13280 * data.c (set_internal): Don't make variable buffer-local
13281 if within a let-binding for the same buffer.
13282 (let_shadows_buffer_binding_p): New function.
13283
13284 * eval.c (specbind): For buffer-local value,
13285 record the current buffer also.
13286 (unbind_to): Cope with that change.
13287
13288 2000-02-15 Gerd Moellmann <gerd@gnu.org>
13289
13290 * window.c (Fsave_window_excursion): Doc fix.
13291
13292 2000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13293
13294 * syntax.c (back_comment): Make sure we only consider comment-starters
13295 of the relevant style and return -1 in case of a failure to find the
13296 beginning of the comment.
13297 (Fforward_comment): If back_comment fails, go back to the position just
13298 after the comment-end.
13299 (scan_lists): Add comment describing a very minor bug.
13300
13301 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13302
13303 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13304 `completion-regexp-list' in the docstring.
13305
13306 2000-02-14 Dave Love <fx@gnu.org>
13307
13308 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13309
13310 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13311
13312 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13313 to Emacs' syntax. Also fix the comment about set/not-set meanings
13314 since Emacs syntax is not the value 0 any more.
13315 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13316 since it's now part of RE_SYNTAX_EMACS.
13317
13318 2000-02-12 Dave Love <fx@gnu.org>
13319
13320 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
13321
13322 2000-02-12 Gerd Moellmann <gerd@gnu.org>
13323
13324 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13325
13326 2000-02-12 Dave Love <fx@gnu.org>
13327
13328 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13329
13330 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
13331 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13332 * s/hpux.h: Don't define HAVE_VFORK.
13333
13334 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13335
13336 * s/nextstep.h: Don't define HAVE_ALLOCA.
13337
13338 * config.in: Add vfork bits.
13339
13340 2000-02-12 Gerd Moellmann <gerd@gnu.org>
13341
13342 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13343 unwind function to undo the effect of stopping atimers.
13344
13345 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
13346
13347 * atimer.c (stopped_atimers): New variable.
13348 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13349 New functions.
13350
13351 * atimer.h (stop_other_atimers, run_all_atimers)
13352 (unwind_stop_other_atimers): Add function prototypes.
13353
13354 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13355
13356 2000-02-11 Ken Raeburn <raeburn@gnu.org>
13357
13358 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13359 library may depend on jpeg.
13360 (atimer.o): Depends on atimer.c.
13361
13362 2000-02-11 Kenichi Handa <handa@etl.go.jp>
13363
13364 * insdel.c (del_range_1): Call update_compositions.
13365 (del_range_both): Call update_compositions just once..
13366
13367 2000-02-10 Dave Love <fx@gnu.org>
13368
13369 * xfns.c (create_frame_xic): Fix initialization of automatic
13370 aggregates for pcc.
13371
13372 2000-02-09 Kenichi Handa <handa@etl.go.jp>
13373
13374 * ccl.c (CCL_MAKE_CHAR): New macro.
13375 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13376 registers by CCL_MAKE_CHAR before calling translate_char.
13377 <CCL_TranslateCharacterConstTbl> Likewise.
13378
13379 2000-02-08 Dave Love <fx@gnu.org>
13380
13381 * lread.c (__EXTENSIONS__): Define.
13382
13383 2000-02-08 Gerd Moellmann <gerd@gnu.org>
13384
13385 * puresize.h (BASE_PURESIZE): Increase to 650000.
13386
13387 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13388
13389 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13390 the help message.
13391
13392 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13393
13394 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13395 md, mh, mb, mr, and me to the fake termcap entry.
13396
13397 2000-02-06 Ken Raeburn <raeburn@gnu.org>
13398
13399 * sound.c (sound_cleanup): Don't call device close routine if the
13400 function pointer is null.
13401
13402 2000-02-06 Andrew Innes <andrewi@gnu.org>
13403
13404 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13405 around image definitions and prototypes.
13406 (gamma_correct) [WINDOWSNT]: New prototype.
13407
13408 * w32term.c (x_make_frame_visible): Replace call to
13409 input_poll_signal with poll_for_input.
13410
13411 * window.c [WINDOWSNT]: Include w32term.h.
13412
13413 * xdisp.c [WINDOWSNT]: Include w32term.h.
13414
13415 * makefile.nt: Add dependencies on w32gui.h.
13416 (OBJ1): Include atimer.obj.
13417 ($(BLD)\atimer.obj): New dependency rule.
13418
13419 * w32.c (sigmask): New function (does nothing).
13420 (sigunblock): Ditto.
13421
13422 * frame.c [WINDOWSNT]: Include w32term.h.
13423
13424 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13425
13426 * lread.c (syms_of_lread): Fix literal newlines.
13427
13428 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13429 the string constant limit (2048 bytes) in MSVC.
13430 (main): Ditto.
13431
13432 2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13433
13434 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
13435 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13436 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13437 dispatch the event.
13438
13439 2000-02-04 Dave Love <fx@gnu.org>
13440
13441 * fileio.c: Remove some unused vars.
13442 (_GNU_SOURCE): Define (for euidaccess).
13443
13444 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13445
13446 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13447 gcpro1, gcpro2.
13448 (read_minibuf): Deal with allow_props correctly.
13449
13450 2000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13451
13452 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13453
13454 2000-02-03 Ken Raeburn <raeburn@gnu.org>
13455
13456 * search.c (compile_pattern): If a cache entry has a nil regexp,
13457 fill in that entry instead of clobbering a previously cached
13458 string regexp.
13459
13460 2000-02-02 Ken Raeburn <raeburn@gnu.org>
13461
13462 * puresize.h (BASE_PURESIZE): Increase to 610000.
13463
13464 2000-02-02 Gerd Moellmann <gerd@gnu.org>
13465
13466 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13467 can GC.
13468
13469 2000-02-02 Kenichi Handa <handa@etl.go.jp>
13470
13471 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13472 instead of incrementing ic directly.
13473 <CCL_WriteExprConst> Likewise.
13474 <ccl_set_expr>: Set ic to jump_address.
13475
13476 * fileio.c (e_write): Fix the handling of
13477 CODING_FINISH_INSUFFICIENT_SRC.
13478
13479 2000-02-01 Dave Love <fx@gnu.org>
13480
13481 * editfns.c (Fpropertize): Doc fix.
13482
13483 * process.c (Fstart_process): Doc fix.
13484
13485 * eval.c: Fix various doc strings not to duplicate information
13486 from help-manyarg-func-alist.
13487
13488 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
13489
13490 * doc.c (Vhelp_manyarg_func_alist): New variable.
13491 (Fdocumentation): Use it.
13492 (syms_of_doc): Define it.
13493
13494 2000-01-31 Gerd Moellmann <gerd@gnu.org>
13495
13496 * xterm.c (xim_open_dpy): Remove unused local variable.
13497
13498 * emacs.c (USAGE): Use term `display options' instead of `X options'.
13499
13500 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13501 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13502
13503 * fns.c (sweep_weak_table): New function.
13504 (sweep_weak_hash_tables): Use it. Keep on marking until there
13505 is no more change.
13506
13507 2000-01-30 Gerd Moellmann <gerd@gnu.org>
13508
13509 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13510 that XTread_socket does not crash by trying to call XNoOp on a
13511 closed display.
13512
13513 2000-01-30 Jason Rumney <jasonr@gnu.org>
13514
13515 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13516 Change selected_frame to SELECTED_FRAME ().
13517 (w32_console_mouse_position): Remove #ifndef MULE from around
13518 `insist' parameter.
13519
13520 * makefile.nt: Remove dosfns.obj.
13521
13522 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13523
13524 * w32fns.c (w32_defined_color): Check for valid frame before
13525 applying gamma correction. Eliminate dependency on frame elsewhere.
13526 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13527 (w32_to_x_font): Use resx and resy not height_in and width_in.
13528 (x_to_w32_font): Doc fix.
13529 (xlfd_strip_height): New function to strip and return font height.
13530 (w32_font_match): Compare height separately from rest of xlfd
13531 spec, using xlfd_strip_height.
13532
13533 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13534 width_in. Use w32_defined_color in place of defined_color.
13535
13536 * w32faces.c: Merge more of DOS and X specifics in preparation for
13537 merge with xfaces.c.
13538 (defined_color): Remove FIXME comment.
13539 (tty_color_name): Provide w32-specific function.
13540 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13541
13542 * w32console.c (turn_on_face, turn_off_face): Removed.
13543 (w32_face_attributes): New function.
13544 (Global_variables): Reduce scope where possible.
13545 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13546 fill attribute.
13547 (hl_mode): Don't modify text attributes.
13548 (write_glyphs): Don't do anything if len <= 0. Use
13549 w32_face_attributes to get attributes for drawing. Write
13550 terminating codes using char_attr_normal.
13551 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13552 (update_begin, update_end): Likewise.
13553 (vga_stdcolor_name): New function.
13554 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13555 (Fset_screen_color): Remove char_attr_reverse.
13556
13557 2000-01-29 Gerd Moellmann <gerd@gnu.org>
13558
13559 * xfns.c (xic_set_preeditarea): Take window parameter and
13560 window-relative pixel-positions.
13561
13562 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13563 is its frame's selected window.
13564 (xim_instantiate_callback): Likewise.
13565
13566 * xfns.c (x_create_im): Removed.
13567 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13568 (supported_xim_styles): Renamed from supported_styles.
13569 (best_xim_style): Renamed from best_style.
13570 (create_frame_xic): Renamed from xic_create_frame.
13571 (free_frame_xic): Renamed from xic_destroy_frame.
13572
13573 2000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13574
13575 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13576 our frames, call XFilterEvent with 2nd parameter `None'.
13577 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13578 returning XBufferOverflow.
13579 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
13580 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13581 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13582 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13583 (xim_initialize, xim_close)
13584 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13585 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13586 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13587 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13588
13589 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13590 and `xim_styles'.
13591 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13592 `xic_style' and `xic_xfs'.
13593 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13594 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13595 (FRAME_XIM): Removed.
13596
13597 * xfns.c (supported_styles): New variable.
13598 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13599 (xic_create_xfontset, best_style, xic_create_frame)
13600 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13601 (xic_set_xfontset): New functions.
13602
13603 2000-01-28 Dave Love <fx@gnu.org>
13604
13605 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13606
13607 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13608
13609 2000-01-28 Gerd Moellmann <gerd@gnu.org>
13610
13611 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13612 for *scratch* if it already existed.
13613
13614 * emacs.c (USAGE): New macro.
13615 (main): Use it to display usage information.
13616
13617 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13618
13619 Support for the menu-help feature:
13620
13621 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
13622
13623 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13624 part of the line to the termscript file.
13625 (IT_clear_to_end): Clear the entire line, not just its beginning.
13626 (menu_help_message, prev_menu_help_message): New variables.
13627 (IT_menu_make_room): Make room for the help_text member.
13628 (IT_menu_display): New argument disp_help; all callers changed.
13629 If disp_help is non-zero, store the help text of the active menu
13630 item in menu_help_message.
13631 (XMenuAddPane): Initialize the help_text member to NULL.
13632 (XMenuAddSelection): New argument help_text. Store it in the
13633 XMenu structure.
13634 (XMenuActivate): New argument help_callback. If the value of
13635 menu_help_message has changed since the last time, display the
13636 menu help message text while waiting for the mouse to move. Clear
13637 the echo area before exiting.
13638 (XMenuDestroy): Free the help_text member.
13639
13640 2000-01-27 Gerd Moellmann <gerd@gnu.org>
13641
13642 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13643 XMenuAddSelection. Pass help callback to XMenuActivate.
13644 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13645
13646 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13647
13648 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13649 and EMACS_SET_USECS.
13650
13651 2000-01-26 Dave Love <fx@gnu.org>
13652
13653 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13654
13655 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13656 an error may be signalled.
13657
13658 2000-01-26 Gerd Moellmann <gerd@gnu.org>
13659
13660 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13661 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13662
13663 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13664
13665 2000-01-25 Gerd Moellmann <gerd@gnu.org>
13666
13667 * charset.c (Fstring): If there is a multibyte char among
13668 the args, always return a multibyte string.
13669
13670 2000-01-25 Gerd Moellmann <gerd@gnu.org>
13671
13672 * sysdep.c (sys_select): Turn atimers off and on instead of
13673 recording and restoring old alarm handler
13674
13675 * process.c (toplevel): Include atimer.h.
13676 (create_process_1): Rewritten.
13677 (create_process): Use atimers instead of alarm.
13678 (wait_reading_process_input) [hpux]: Turn atimers off instead
13679 of turning off SIGALRM.
13680 (wait_reading_process_input): Turn off atimers instead off
13681 calling stop_polling.
13682
13683 * emacs.c (main): Call init_atimer.
13684
13685 * keyboard.c (toplevel): Include systime.h and atimer.h.
13686 (polling_for_input): Removed because unused.
13687 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13688 (poll_timer): New variable.
13689 (poll_for_input, poll_for_input_1): New functions.
13690 (start_polling, stop_polling): Rewritten.
13691
13692 * keyboard.h (polling_for_input): Removed.
13693
13694 * atimer.h, atimer.c: New files.
13695
13696 * Makefile.in (obj): Add atimer.o.
13697 (atimer.o): New target.
13698
13699 * blockinput.h (pending_atimers): Add extern declaration.
13700 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13701
13702 * lisp.h (popup_activated_flag): Add extern declaration.
13703
13704 * xmenu.c (popup_activated_flag): Make externally visible.
13705 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
13706 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13707
13708 * xterm.c (toplevel): Include atimer.h.
13709 (toolkit_scroll_bar_interaction): New variable.
13710 (Fxt_process_timeouts): Removed.
13711 (x_process_timeouts): New function.
13712 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13713 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13714 (x_make_frame_visible): Call poll_for_input_1 instead of
13715 input_poll_signal. Don't call alarm.
13716 (x_initialize): Install timer calling x_process_timeouts.
13717
13718 2000-01-24 Dave Love <fx@gnu.org>
13719
13720 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
13721 Don't use -cckr -- apparently not now necessary.
13722
13723 2000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13724
13725 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13726 screen boundary.
13727
13728 2000-01-23 Jason Rumney <jasonr@gnu.org>
13729
13730 * w32fns.c (w32_defined_color): Apply gamma correction before
13731 trying to map to the palette.
13732 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13733 to w32_clear_rect.
13734
13735 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13736 here. Callers changed to always pass real device context.
13737 (w32_draw_bitmap): Likewise.
13738 (w32_get_glyph_overhangs): Likewise.
13739 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
13740 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13741 pfnSetScrollInfo and SetScrollRange.
13742 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13743 back into MULE characters after decoding them.
13744 (x_get_glyph_face_and_encoding): Likewise.
13745 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13746 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13747 (x_produce_glyphs): Calculate per char metrics for a character
13748 that we know exists in default font when font_not_found_p is true.
13749
13750 2000-01-22 Jason Rumney <jasonr@gnu.org>
13751
13752 * makefile.nt (intervals.obj, composite.obj): New modules.
13753 (composite.h): Added as dependency where appropriate.
13754
13755 * w32gui.h (XGCValue): New struct for emulating X GCs.
13756
13757 * w32term.h (XCharStruct): New struct for emulating X.
13758
13759 * w32console.c (turn_on_face, turn_off_face): New functions.
13760 (change_line_highlight): New prototype for new redisplay.
13761 (write_glyphs): Support multibyte text. Support faces.
13762
13763 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
13764
13765 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13766 throughout. struct frame * in place of FRAME_PTR.
13767 Skeleton support for images, toolbars, tooltips from xfns.c.
13768 (Fx_create_frame): Use system default for default scroll bar width.
13769 (w32_get_arg): Renamed from x_get_arg.
13770 (Fx_file_dialog): New function.
13771 (w32_list_fonts): Check cache before asking system.
13772 (Vw32_enable_synthesized_fonts): New variable.
13773 (Vw32_enable_italics): Obsolete, removed.
13774
13775 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13776 Use SELECTED_FRAME macro.
13777
13778 * w32menu.c: Add skeleton support for help strings on menus.
13779 (add_menu_item): Native checkbox and radio support added, but not
13780 yet enabled due to bugs.
13781 (push_menu_item): Add parameters type, selection and help.
13782 Callers updated.
13783 Formatting changes to reduce unnecessary diffs with xmenu.c.
13784
13785 * w32select.c (Fw32_set_clipboard_data): Update call to
13786 find_charset_in_str.
13787
13788 * w32term.c: Complete rewrite for new redisplay based on new
13789 xterm.c with necessary sections merged back in from old w32term.c.
13790
13791 2000-01-21 Richard M. Stallman <rms@gnu.org>
13792
13793 * data.c (set_internal): Further fix in same criterion.
13794
13795 2000-01-20 Richard M. Stallman <rms@gnu.org>
13796
13797 * data.c (set_internal): Fix the criteria for whether
13798 to swap out the old cached binding.
13799
13800 2000-01-19 Dave Love <fx@gnu.org>
13801
13802 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13803
13804 2000-01-18 Kenichi Handa <handa@etl.go.jp>
13805
13806 * regex.c (re_compile_fastmap): While checking a range table for
13807 `charset', skip flag bits for a character class correctly.
13808
13809 2000-01-17 Gerd Moellmann <gerd@gnu.org>
13810
13811 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13812
13813 * xfns.c (x_window): Call lw_create_widget with new parameter list.
13814
13815 * widget.c (EmacsFrameSetCharSize): Change size of children first
13816 because of problems with main window geometry management under Lesstif.
13817
13818 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13819 MENU_ITEMS_ITEM_.*.
13820 (MENU_ITEMS_ITEM_HELP): New enumerator.
13821 (push_menu_item): Add parameter HELP. Record help in menu_items.
13822 (single_menu_item, single_submenu, list_of_items): Call
13823 push_menu_item with new parameter.
13824 (single_submenu): Set help string in widget value.
13825 (menu_highlight_callback): New function.
13826 (set_frame_menubar): Call lw_create_widget with new
13827 parameter list.
13828 (xmenu_show, xdialog_show): Ditto.
13829
13830 2000-01-13 Gerd Moellmann <gerd@gnu.org>
13831
13832 * sound.c (Fplay_sound): Improve doc string.
13833
13834 2000-01-11 Richard M. Stallman <rms@gnu.org>
13835
13836 * lisp.h (set_internal): Enter the new arg.
13837
13838 * eval.c (specbind): Record buffer-local variables specially,
13839 indicating which buffer's binding was saved.
13840 (unbind_to): Restore buffer-local variables specially
13841 in the proper buffer.
13842
13843 * data.c (set_internal): New arg BUF.
13844
13845 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13846 * data.c (Fset): Pass new arg to set_internal.
13847 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
13848
13849 2000-01-11 Gerd Moellmann <gerd@gnu.org>
13850
13851 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
13852
13853 2000-01-11 Richard M. Stallman <rms@gnu.org>
13854
13855 * minibuf.c (Ftry_completion): Doc fix.
13856
13857 2000-01-11 Gerd Moellmann <gerd@gnu.org>
13858
13859 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13860 vector, too.
13861
13862 2000-01-11 Andreas Schwab <schwab@suse.de>
13863
13864 * coding.c (code_convert_region): Initialize total_skip.
13865
13866 2000-01-08 Dave Love <fx@gnu.org>
13867
13868 * eval.c (Fuser_variable_p): Check customizability too.
13869
13870 2000-01-07 Gerd Moellmann <gerd@gnu.org>
13871
13872 * minibuf.c (Fcompleting_read): Doc fix.
13873
13874 2000-01-05 Gerd Moellmann <gerd@gnu.org>
13875
13876 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13877 -L /usr/local/lib.
13878
13879 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13880 Check that input style is supported before trying to create an
13881 IC for it.
13882 (x_window): Call x_create_im.
13883
13884 2000-01-04 Gerd Moellmann <gerd@gnu.org>
13885
13886 * xfns.c (current_gif_memory_src): New variable.
13887 (gif_load): Record the address of the current memory source
13888 in current_gif_memory_src.
13889 (gif_read_from_memory): Use current_gif_memory_src.
13890
13891 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13892 macros statement form.
13893
13894 * sound.c (struct sound): Renamed from struct sound_file.
13895 (struct sound): Add members `data' and `header_size'.
13896 (enum sound_attr): Add SOUND_DATA.
13897 (current_sound, current_sound_device): Variables renamed from
13898 sound_file and sound_device.
13899 (parse_sound): Parse :data.
13900 (parse_sound): Handle sound data in strings.
13901 (find_sound_type): Function renamed from find_sound_file_type.
13902 (wav_init, au_init): Fail if sound's header_size is smaller than
13903 needed header size.
13904 (wav_play, au_play): Play sounds from string data.
13905
13906 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13907
13908 * lisp.h: Add prototype for allocate_string_data.
13909
13910 * alloc.c (Fgarbage_collect): Return number of live and free strings.
13911
13912 * alloc.c (mark_buffer): Remove code in #if 0.
13913 (gc_sweep): Ditto.
13914 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13915 (strings_consed): New variable.
13916 (allocate_string): Set it.
13917 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13918 (Fmemory_use_counts): Return strings_consed. Use Flist.
13919
13920 * alloc.c: General cleanup in comments etc. Remove conditional
13921 compilation for `standalone'.
13922
13923 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13924
13925 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13926 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13927 (DONT_COPY_FLAG): Removed.
13928 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13929 (struct sdata, struct sblock): New
13930 (struct string_block): Rewritten.
13931 (STRINGS_IN_STRING_BLOCK): New macro.
13932 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13933 (large_sblocks, string_blocks, string_free_list): New variables.
13934 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13935 (init_strings): Rewritten.
13936 (allocate_string, allocate_string_data, compact_small_strings)
13937 (free_large_strings, sweep_strings): New functions.
13938 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13939 (struct string_block_head, current_string_block)
13940 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13941 (STRING_PAD): Removed.
13942 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13943 (Fgarbage_collect): Don't set mark bit in large strings.
13944 (mark_object): Mark strings differently. Mark symbol names
13945 differently.
13946 (survives_gc_p): Test marked strings differently.
13947 (gc_sweep): Sweep strings differently, unmark strings in
13948 symbol names.
13949 (compact_strings): Removed.
13950
13951 2000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13952
13953 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13954 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13955
13956 2000-01-04 Kenichi Handa <handa@etl.go.jp>
13957
13958 * fileio.c (Finsert_file_contents): Signal error if visiting file
13959 in a non-empty buffer.
13960
13961 * term.c (encode_terminal_code): Fix the previous change.
13962
13963 2000-01-03 Gerd Moellmann <gerd@gnu.org>
13964
13965 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13966 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13967
13968 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13969
13970 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13971
13972 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13973 need to test for MSDOS frames.
13974
13975 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13976
13977 * dosfns.c (unspecified_colors): Remove.
13978 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13979 unspecified_bg.
13980 (msdos_stdcolor_name): Return strings for unspecified fore- and
13981 back-ground colors.
13982
13983 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
13984 (syms_of_xfaces): Remove their staticpro's.
13985 (tty_color_name): Return Lisp strings for unspecified fore- and
13986 back-ground colors.
13987 (Finternal_set_lisp_face_attribute): Remove the special treatment
13988 for Qunspecified_{f,b}g.
13989 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
13990
13991 2000-01-03 Gerd Moellmann <gerd@gnu.org>
13992
13993 * xdisp.c (reseat_at_next_visible_line_start): Position before
13994 newline only if ending up on a newline.
13995 (next_element_from_ellipsis): Return success. Handle case of
13996 displaying no ellipsis. Fix case of ellipsis defined in display table.
13997 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13998 returns 0.
13999
14000 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14001
14002 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14003 (Fcolor_supported_p): Renamed from face-color-supported-p.
14004
14005 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14006
14007 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14008 list of colors renamed to tty-defined-color-alist.
14009 (tty_color_name): Pass the frame to tty-color-by-index.
14010 (realize_tty_face): tty-color-alist is now a function which
14011 accepts the frame as argument.
14012
14013 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
14014
14015 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14016
14017 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14018 encode_terminal_code.
14019
14020 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14021
14022 * dispnew.c (mode_line_string): Support termcap frames as well.
14023
14024 2000-01-01 Gerd Moellmann <gerd@gnu.org>
14025
14026 * syntax.c (Fforward_word): Undo previous change.
14027
14028 * editfns.c (Fconstrain_to_field): Don't constrain if
14029 inhibit-field-text-motion is non-nil.
14030 (Fline_beginning_position): Undo previous change.
14031 (Fline_end_position): Ditto.
14032
14033 * syntax.c (Fforward_word): Notice field boundaries only if
14034 inhibit-field-text-motion is nil.
14035
14036 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14037
14038 * editfns.c (Vinhibit_field_text_motion): New variable.
14039 (inhibit-field-text-motion): New DEFVAR_LISP.
14040 (Fline_beginning_position, Fline_end_position): Notice field
14041 boundaries only if inhibit-field-text-motion is nil.
14042
14043 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14044 All calls adjusted.
14045 (x_build_heuristic_mask): Likewise.
14046 (xbm_load_image_from_file): Change error output.
14047 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14048 (gif_load, gs_load, x_kill_gs_process): Ditto.
14049
14050 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14051 color indices when accessing raster pixels.
14052 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14053 one of :file or :data.
14054 (enum pbm_keyword_index): Add PBM_DATA.
14055 (pbm_format): Add :data.
14056 (pbm_image_p): Allow either :file or :data.
14057 (pbm_read_file): New function.
14058 (pbm_scan_number): Rewritten to read from string.
14059 (pbm_load): Support :data.
14060
14061 See ChangeLog.8 for earlier changes.
14062
14063 ;; Local Variables:
14064 ;; coding: iso-2022-7bit
14065 ;; End:
14066
14067 Copyright (C) 2001 Free Software Foundation, Inc.
14068 Copying and distribution of this file, with or without modification,
14069 are permitted provided the copyright notice and this notice are preserved.