(Flookup_key): Add error message for trying to bind [DEL], [RET], etc.
[bpt/emacs.git] / src / ChangeLog
1 2001-12-28 Richard M. Stallman <rms@gnu.org>
2
3 * keymap.c (Flookup_key):
4 Add error message for trying to bind [DEL], [RET], etc.
5
6 2001-12-28 Gerd Moellmann <gerd@gnu.org>
7
8 * xterm.c (x_setup_relief_colors): Don't compute an image's
9 background color if it doesn't have a Pixmap.
10
11 * xterm.c (notice_overwritten_cursor): Don't depend on
12 output_cursor and updated_area. Compare pixel coordinates with
13 window's cursor pixel coordinates.
14 (x_draw_glyphs, x_clear_end_of_line, show_mouse_face): Call
15 notice_overwritten_cursor with new arg list.
16 (show_mouse_face): Fix bug setting a row's mouse_face_p flag
17 unconditionally.
18
19 * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
20 height of the cursor line to the amount to scroll.
21
22 2001-12-27 Richard M. Stallman <rms@gnu.org>
23
24 * intervals.c (set_point_both): The position after an invisible,
25 intangible character is not an acceptable stopping point.
26
27 2001-12-27 Ken Raeburn <raeburn@gnu.org>
28
29 * window.c (enlarge_window): In new preserve_before code, convert
30 CURBEG from lisp object to integer before doing arithmetic.
31
32 2001-12-27 Richard M. Stallman <rms@gnu.org>
33
34 * bytecode.c (Fbyte_code): Undo previous change.
35
36 2001-12-26 Kim F. Storm <storm@cua.dk>
37
38 * keyboard.c (record_char): Ignore duplicate help-echo events only
39 separated by mouse-movement. When tracking mouse, only record
40 first and last mouse-movement event in same window.
41 Don't record mouse-movement events in keyboard macros.
42
43 2001-12-25 Richard M. Stallman <rms@gnu.org>
44
45 * window.c (enlarge_window): New arg PRESERVE_BEFORE. Callers changed.
46 (Fenlarge_window): New arg PRESERVE_BEFORE.
47
48 * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
49 instead of Fstring_as_unibyte.
50
51 2001-12-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
52
53 The following changes remove mocklisp support:
54
55 * mocklisp.h, mocklisp.c: Files removed.
56
57 * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
58 `Qmocklisp' and `Qmocklisp_arguments'.
59 Remove prototype of syms_of_mocklisp.
60
61 * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp
62 files.
63
64 * callint.c: Do not include mocklisp.h.
65 (Fcall_interactively): Do not test for mocklisp case.
66
67 * eval.c: Remove variables `Qmocklisp_arguments',
68 `Vmocklisp_arguments' and `Qmocklisp'. Remove prototype of
69 ml_apply.
70 (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda): Do
71 not test for mocklisp case.
72 (Fwhile): Remove unused variable `tem'.
73 (syms_of_eval): Remove variable `moclisp-arguments'.
74
75 * data.c (wrong_type_argument): Remove mocklisp case.
76
77 * doc.c (Fdocumentation): Remove mocklisp case.
78
79 * emacs.c (main): Do not call syms_of_mocklisp.
80
81 2001-12-21 Richard M. Stallman <rms@gnu.org>
82
83 * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
84 to the left or to the right of the pointer, put it against
85 the left screen edge.
86
87 2001-12-21 Eli Zaretskii <eliz@is.elta.co.il>
88
89 * Makefile.in (distclean): Remove .gdbinit if we are building
90 outside the source tree.
91
92 2001-12-19 Eli Zaretskii <eliz@is.elta.co.il>
93
94 * w32.c (emacs_root_dir): New function.
95
96 * msdos.c (emacs_root_dir): New function.
97
98 * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
99 of the current drive as the fallback for default_directory.
100
101 * dired.c (file_name_completion): Run the elements of
102 completion-ignored-extensions through ENCODE_FILE.
103
104 * lisp.h (scmp): Remove prototype, since it's now a static
105 function private to dired.c.
106
107 2001-12-18 Richard M. Stallman <rms@gnu.org>
108
109 * dired.c (scmp): Function moved from minibuf.c.
110 Delete multibyte handling--used only on encoded strings.
111
112 * minibuf.c (scmp): Function moved to dired.c.
113
114 * fns.c (merge): Add QUIT call.
115
116 2001-12-18 Dave Love <fx@gnu.org>
117
118 * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
119 language/georgian.el.
120
121 2001-12-18 Eli Zaretskii <eliz@is.elta.co.il>
122
123 * Makefile.in (lisp, shortlisp): Synchronize with changes to
124 lisp/Makefile.in:DONTCOMPILE.
125
126 2001-12-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
127
128 * xdisp.c (window_box_height): Do not return negative values.
129 From Gerd Moellmann <gerd@gnu.org>.
130
131 * keyboard.c (head_table): Add missing braces around initializer.
132
133 * term.c (keys): Likewise.
134
135 * xfns.c (x_frame_parms, visual_classes): Likewise.
136
137 2001-12-17 Sam Steingold <sds@gnu.org>
138
139 * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
140 patch (COMPOSING_P, not COMPOSING).
141
142 2001-12-17 Richard M. Stallman <rms@gnu.org>
143
144 * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
145
146 * coding.c (code_convert_region): Update coding->cmp_data->char_offset
147 before calling decode_coding.
148
149 * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
150
151 * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
152 instead of only for COMPOSITION_DISABLED.
153
154 2001-12-16 Richard M. Stallman <rms@gnu.org>
155
156 * alloc.c (pure_alloc): After overflow, allocate just a small block.
157
158 * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
159
160 * buffer.h (struct buffer): New field `display_error_modiff'.
161 * buffer.c (reset_buffer): Initialize `display_error_modiff'.
162
163 * window.c (Frecenter): Clear display_error_modiff field.
164
165 * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
166 Call redisplay_window, but not if display_error_modiff field says no.
167 (redisplay_window_error): New function.
168 (displayed_buffer): New variable.
169 (redisplay_internal, redisplay_windows): Call the new functions
170 instead of redisplay_window directly.
171
172 2001-12-15 Richard M. Stallman <rms@gnu.org>
173
174 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
175
176 2001-12-14 Andrew Innes <andrewi@gnu.org>
177
178 * makefile.w32-in (EMACSLOADPATH): Define.
179 ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
180 (bootstrap-temacs): Remove dependency on bootstrap-clean.
181
182 2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
183
184 * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
185 parameter have a numeric value all the time.
186
187 * w32fns.c (x_report_frame_params): Likewise.
188
189 2001-12-12 Richard M. Stallman <rms@gnu.org>
190
191 * fileio.c (Fwrite_region): Doc fix.
192
193 * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
194 (redisplay_internal): Call clear_image_cache only for window terminals.
195
196 2001-12-12 Gerd Moellmann <gerd@gnu.org>
197
198 * xdisp.c (move_it_vertically_backward): Change heuristic
199 for the case that we didn't move far enough initially.
200
201 * window.c (Frecenter): Simplify computation in the case of window
202 system frames and ARG < 0; use window_box_height.
203
204 2001-12-11 Richard M. Stallman <rms@gnu.org>
205
206 * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
207 * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
208
209 2001-12-11 Andrew Innes <andrewi@gnu.org>
210
211 * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
212 arg is negative.
213
214 2001-12-11 Richard M. Stallman <rms@gnu.org>
215
216 * m/hp800.h: Split the __hpux conditional into the parts
217 that are right for GNU/Linux too and the parts that are not.
218 Use the former if GNU_LINUX.
219 (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
220
221 * s/gnu-linux.h (GNU_LINUX): Defined.
222
223 2001-12-11 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
224
225 * macros.c, msdos.c, w16select.c: Change doc-string comments to
226 `new style' [w/`doc:' keyword].
227
228 2001-12-10 Jason Rumney <jasonr@gnu.org>
229
230 * w32menu.c (w32_free_submenu_strings): Clear menu item struct
231 before using.
232
233 2001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
234
235 * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
236 keyword].
237
238 2001-12-09 Eli Zaretskii <eliz@is.elta.co.il>
239
240 * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
241
242 * s/hpux10.h (srand48): Don't undefine.
243
244 2001-12-09 Jason Rumney <jasonr@gnu.org>
245
246 * w32menu.c (_widget_value): Make `help' field a Lisp_Object. Add
247 comment to explain where the struct came from.
248 (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
249 (add_menu_item): Process pop-up menus first to avoid memory leak.
250 (add_menu_item, w32_menu_display_help): Use `help' field as
251 Lisp_Object.
252 (w32_free_submenu_strings): Only free owner-drawn strings.
253
254 2001-12-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
255
256 * COPYING: Moved back.
257
258 * charset.c (char_to_string_1, translate_char, Fdefine_charset):
259 Add parentheses around && within ||.
260
261 * indent.c (compute_motion): Likewise.
262
263 * intervals.c (merge_properties_sticky): Likewise.
264
265 * coding.c (setup_coding_system, shrink_encoding_region)
266 (Fdecode_sjis_char): Likewise.
267
268 2001-12-07 Andreas Schwab <schwab@suse.de>
269
270 * xdisp.c (display_mode_element): Don't read past end of string if
271 it ends with '%'.
272
273 * alloc.c (inhibit_garbage_collection): Don't exceed value an int
274 can hold.
275
276 * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Renamed
277 from most_positive_fixnum and most_negative_fixnum, resp., and
278 type changed to Lisp_Object.
279 (syms_of_data): DEFVAR_LISP them.
280
281 2001-12-07 Richard M. Stallman <rms@gnu.org>
282
283 * callproc.c (init_callproc): Set Vdata_directory based on the source
284 location whenever Emacs was run uninstalled.
285
286 2001-12-06 Paul Eggert <eggert@twinsun.com>
287
288 * config.in (HAVE_WORKING_VFORK): New #undefs.
289 * process.c (create_process):
290 Use HAVE_WORKING_VFORK, not HAVE_VFORK.
291 * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
292 * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
293 * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
294 * m/intel386.h (HAVE_VFORK): Likewise.
295 * m/mips-siemens.h (HAVE_VFORK): Likewise.
296 * m/mips.h (HAVE_VFORK): Likewise.
297 * s/freebsd.h (vfork): Remove #define.
298 * s/lynxos.h (HAVE_VFORK): Remove #undef.
299 * s/usg5-4-2.h: Fix comment about vfork.
300
301 2001-12-06 Richard M. Stallman <rms@gnu.org>
302
303 * s/hpux10.h (random): Add undef.
304 (HAVE_RANDOM): Define it just once.
305
306 2001-12-06 Stefan Monnier <monnier@cs.yale.edu>
307
308 * eval.c: Undo last change: the standard syntax is not wanted.
309
310 2001-12-06 Eli Zaretskii <eliz@is.elta.co.il>
311
312 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
313 scroll bars of the frame before deleting the frame itself. If the
314 frame has a widget, delete the frame with XtDestroyWidget, and do
315 not call XDestroyWindow before that.
316
317 2001-12-06 Kim F. Storm <storm@cua.dk>
318
319 * xfns.c (x_report_frame_params): Return actual fringe widths.
320
321 * w32fns.c (x_report_frame_params): Return actual fringe widths.
322
323 2001-12-05 Andrew Innes <andrewi@gnu.org>
324
325 * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
326 excessively large.
327
328 * insdel.c (make_gap_larger): New function.
329 (make_gap_smaller): New function.
330 (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
331 make_gap_smaller if arg is negative.
332
333 2001-12-04 Stefan Monnier <monnier@cs.yale.edu>
334
335 * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
336 Pass a dummy argument when calling interrupt_signal.
337 (parse_menu_item): Mark disabled items before checking for empty def.
338 (read_char_minibuf_menu_prompt): Make safety more visible.
339 (read_key_sequence): Add a `first_unbound' variable.
340 Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
341 unbound prefix as soon as we can detect it.
342
343 * doc.c (Fsnarf_documentation): Add prototype.
344 (get_doc_string): Handle negative arguments.
345 (Fdocumentation): Use AREF and ASIZE.
346 Move the calls to get_doc_string to a single place.
347 Don't confuse an interactive-spec for a docstring reference.
348 (Fdocumentation_property): Take advantage of the fact that
349 get_doc_string now ignores the sign of the docstring position.
350
351 * eval.c: Use standard syntax for usage in docstrings.
352
353 2001-12-03 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
354
355 * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
356
357 2001-12-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
358
359 * xterm.c (x_draw_image_relief): Use predefined macro instead of
360 constant when the value of `tool_bar_button_relief' is negative.
361
362 2001-12-02 Richard M. Stallman <rms@gnu.org>
363
364 * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
365 (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
366
367 * fileio.c (read_non_regular): Delete Fsignal call.
368
369 2001-12-01 Stefan Monnier <monnier@cs.yale.edu>
370
371 * lisp.h (run_hook_list_with_args): Undo last change.
372
373 2001-12-01 Gerd Moellmann <gerd@gnu.org>
374
375 * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
376
377 2001-12-01 Jason Rumney <jasonr@gnu.org>
378
379 * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
380
381 * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
382 [!WM_MOUSELEAVE]: Define.
383
384 * w32menu.c (current_popup_menu, get_menu_item_info):
385 (set_menu_item_info): New vars.
386 (set_frame_menubar): Doc fix clarifying GC interaction with menus.
387 (w32_menu_show): Set current_popup_menu.
388 (add_menu_item): Allocate new strings for owner-drawn menu items
389 and help strings.
390 Use owner-draw for disabled menu items again.
391 (w32_menu_display_help): Ignore owner-drawn items and popup menus.
392 (w32_free_submenu_strings, w32_free_menu_strings): New functions.
393
394 * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
395 (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
396 <WM_EXITMENULOOP>: Free menu strings.
397 <WM_MOUSELEAVE>: Stop tracking mouse.
398 (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
399
400 * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
401 and mouse face.
402
403 2001-12-01 Kim F. Storm <storm@cua.dk>
404
405 The following changes add left-fringe and right-fringe
406 frame parameters to adjust fringe widths, or remove one or
407 both fringes.
408
409 * frame.h (struct frame): Remove trunc_area_pixel_width and
410 trunc_area_cols fields.
411 (Qleft_fringe, Qright_fringe): Declare.
412 (FRAME_RIGHT_FRINGE_WIDTH): New macro.
413
414 * frame.c (Qleft_fringe, Qright_fringe): New vars.
415 (syms_of_frame): Initialize them.
416
417 * window.c (coordinates_in_window): Handle separate left and right
418 fringe widths.
419
420 * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
421 and fringe_cols fields.
422 (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
423 (FRAME_X_FRINGE_COLS): Use fringe_cols field.
424 (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
425 (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
426 (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
427 (x_compute_fringe_widths): Add prototype.
428
429 * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
430 fill fringe evenly with small dashes.
431 (x_draw_fringe_bitmap): Clear background if necessary. Align and
432 clip the new ZV bitmap to avoid jitter between rows.
433 (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
434 background. Don't draw fringe bitmaps if fringe width is zero.
435 (x_compute_fringe_widths): New function.
436 (x_new_font, x_set_window_size_1): Use it.
437
438 * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
439 (x_set_frame_parameters): Process Process `font' parameter before other
440 parameters as fringe widths depend on it.
441 (x_set_fringe_width): New function.
442 (x_figure_window_size): Use x_compute_fringe_widths.
443 (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
444 parameters.
445
446 * widget.c (set_frame_size): Use x_compute_fringe_widths.
447 (EmacsFrameSetCharSize): Ditto.
448
449 * w32term.h: Merged changes from xterm.h.
450 * w32term.c: Merged changes from xterm.c.
451 * w32fns.c: Merged changes from xfns.c.
452
453 2001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
454
455 * COPYING: Removed.
456
457 2001-11-29 Dave Love <fx@gnu.org>
458
459 * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
460 extra extra slot.
461 (detect_coding_mask): Fix call of detect_coding_iso2022.
462
463 2001-11-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
464
465 * fileio.c (file-name-coding-system)
466 (default-file-name-coding-system): Doc fix (links to referenced
467 variables added).
468
469 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
470
471 * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
472 Add dummy uses of gcproN variables.
473
474 * category.c (describe_category, describe_category_1)
475 (Fdescribe_categories): Remove. (Moved to lisp/help-fns.el.)
476 (syms_of_category): Don't defsubr Sdescribe_categories.
477
478 2001-11-28 Richard M. Stallman <rms@gnu.org>
479
480 * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
481
482 * Makefile.in (lispdir): New variable, referring to build dir.
483 (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
484
485 2001-11-28 Andrew Innes <andrewi@gnu.org>
486
487 * w32menu.c (w32_menu_display_help): Actually add the new argument
488 OWNER.
489
490 2001-11-28 Jason Rumney <jasonr@gnu.org>
491
492 * w32menu.c (add_menu_item): Do not use owner-draw for disabled
493 menu items. From David Ponce <dponce@wanadoo.fr>.
494 (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
495 conditionally.
496 (w32_menu_display_help): New argument OWNER. Rewritten to store a
497 help event in the owner frame's keyboard buffer.
498
499 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
500 (Fx_show_tip): Don't subtract last width from row width.
501
502 * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
503 (w32_read_socket): Use EQ to compare frames.
504
505 2001-11-28 Gerd Moellmann <gerd@gnu.org>
506
507 * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
508 OVERLAPS_P.
509
510 2001-11-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
511
512 * xdisp.c (message_dolog): Remove unused variables `gcpro2',
513 `gcpro3' and `gcpro4'.
514
515 * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
516
517 2001-11-28 Stefan Monnier <monnier@cs.yale.edu>
518
519 * ccl.c: Use AREF and ASIZE.
520
521 2001-11-27 Stefan Monnier <monnier@cs.yale.edu>
522
523 * lisp.h (run_hook_list_with_args): Remove.
524 (LIST_END_P): Fix call to wrong_type_argument.
525 (make_fixnum_or_float): Use EMACS_INT rather than int.
526
527 2001-11-26 Stefan Monnier <monnier@cs.yale.edu>
528
529 * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
530 (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
531
532 * eval.c: Use AREF and ASIZE.
533 (Ffetch_bytecode): Add the file name to the error message.
534
535 * fileio.c (Ffind_file_name_handler): Give precedence to handlers
536 which match the end of the file-name.
537 (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
538 is not a valid env var, but leave it as is instead.
539
540 * keymap.c (access_keymap): Handle t bindings like nil bindings.
541 Make nil bindings in char-tables transparent.
542 (store_in_keymap): Turn a nil binding into a t binding for char-tables.
543
544 2001-11-26 Richard M. Stallman <rms@gnu.org>
545
546 * textprop.c (set_text_properties_1): Allow START, END in either order.
547 Do nothing if range is empty.
548
549 * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
550
551 * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
552 (clean): Not here.
553
554 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
555
556 * textprop.c (set_text_properties_1): Clearly mark that the
557 interval should not be empty.
558
559 * intervals.c (graft_intervals_into_buffer):
560 Don't call set_text_properties_1 on an empty interval.
561
562 2001-11-25 Richard M. Stallman <rms@gnu.org>
563
564 * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
565
566 * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
567 don't lose the data in it.
568
569 2001-11-25 Juanma Barranquero <lektu@terra.es>
570
571 * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
572
573 * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
574
575 * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
576
577 2001-11-25 Stefan Monnier <monnier@cs.yale.edu>
578
579 * xfaces.c (merge_face_heights): Coerce back to int explicitly.
580
581 2001-11-25 Eli Zaretskii <eliz@is.elta.co.il>
582
583 * window.c (Fset_window_vscroll): Doc fix. From Kalle Olavi
584 Niemitalo <kon@iki.fi>.
585
586 2001-11-25 Jason Rumney <jasonr@gnu.org>
587
588 * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
589
590 * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
591 (Fx_show_tip): Block input during frame creation.
592 (Fx_show_tip, Fx_hide_tip): Enable.
593
594 2001-11-24 Richard M. Stallman <rms@gnu.org>
595
596 * lread.c (Fload): Detect recursive load error for more than 3
597 nestings of the same file.
598 (Vrecursive_load_depth_limit): Variable deleted.
599 (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
600
601 2001-11-24 Jason Rumney <jasonr@gnu.org>
602
603 * xfns.c (compute_tip_xy): Initialize root_x and root_y from
604 mouse position if either left or top is not specified.
605
606 * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
607 <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
608 (my_create_tip_window, Fx_show_tip): Adjust size for external border.
609 (my_create_tip_window): Assign tip_window.
610 (x_create_tip_frame): Use same defaults as X.
611 (compute_tip_xy): Remove unused variable. Use full screen width.
612 (Fx_show_tip): Do not double height. Call ShowWindow directly.
613
614 * w32term.c (x_after_update_window_line): Doc fix.
615 (w32_read_socket): Doc fix. Avoid SET_FRAME_GARBAGED for tip
616 frames.
617 <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
618
619 * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
620 for all Windowed systems.
621
622 2001-11-23 Eli Zaretskii <eliz@is.elta.co.il>
623
624 * msdos.c (IT_clear_screen): If the frame's faces are not yet
625 realized, use the initial screen colors to clear the screen.
626
627 2001-11-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
628
629 * textprop.c (Fset_text_properties): Remove unused variables
630 `unchanged', `prev_changed', `s' and `len'.
631
632 * search.c (Freplace_match): Remove unused variable `inslen'.
633
634 * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
635
636 2001-11-22 Jason Rumney <jasonr@gnu.org>
637
638 * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
639 (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
640 (my_create_tip_window): New function.
641 (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
642 (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
643
644 2001-11-20 Jason Rumney <jasonr@gnu.org>
645
646 * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
647 (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
648
649 * w32fns.c (Vw32_system_coding_system): Remove.
650 (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
651
652 2001-11-19 Stefan Monnier <monnier@cs.yale.edu>
653
654 * fileio.c (Fwrite_region): Move choose_write_coding_system to
655 after build_annotations.
656
657 * syntax.c (describe_syntax): Add dummy arg.
658 (describe_syntax_1): Update call to describe_vector.
659
660 * category.c (describe_category): Add dummy arg.
661 (describe_category_1): Update call to describe_vector.
662
663 * keymap.c (Fdescribe_vector): Add `describer' parameter.
664 (describe_command, describe_translation): Add dummy second param.
665 (describe_map): Call elt_describer with two arguments.
666 (describe_vector_princ): Add `fun' parameter.
667 Call it instead of the hardcoded `princ'.
668 (describe_vector): Add arg `args'.
669 Pass it as a new second argument to elt_describer.
670
671 * keymap.h (describe_vector): Update prototype.
672
673 * frame.c: Don't include keymap.h any more.
674 (keys_of_frame): Remove.
675
676 * lisp.h (keys_of_frame): Remove declaration.
677
678 * emacs.c (main): Don't call `keys_of_frame' any more.
679
680 2001-11-14 Andreas Schwab <schwab@suse.de>
681
682 * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
683 if defined, 0 otherwise.
684 (MAP_FAILED): Define if not defined and use it to test mmap failure.
685 (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
686
687 2001-11-19 Richard M. Stallman <rms@gnu.org>
688
689 * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
690
691 2001-11-18 Jason Rumney <jasonr@gnu.org>
692
693 * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
694 (x_draw_bar_cursor): If the background color of the glyph under
695 the cursor equals the frame's cursor color, use the glyph's
696 foreground color for drawing the bar cursor.
697 (x_after_update_window_line): Clear internal border in different
698 circumstances.
699 (w32_set_vertical_scroll_bar): Check for width and height > 0.
700 (w32_draw_relief_rect): Correct relief by 1 pixel.
701 (x_set_glyph_string_background_width):
702 Set extends_to_end_of_line_p if the row's fill_line_p is set and
703 drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
704 (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
705 if cursor_in_non_selected_windows is false.
706 (show_mouse_face): Clean up. Recognize overwritten cursor differently.
707 (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
708 Notice if cursor gets overwritten.
709 (notice_overwritten_cursor): Renamed from
710 note_overwritten_text_cursor. Rewritten to take glyph widths
711 into account, and to take X positions as parameters.
712 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
713 around call to x_draw_glyphs.
714 (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
715 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
716 color to use for image glyph reliefs.
717 (x_draw_image_relief): Accept zero tool_bar_button_relief.
718 (glyph_rect): Remove unused variable `area'.
719
720 * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
721 some items.
722 (x_set_internal_border_width): Set frame garbaged when window
723 doesn't exist yet.
724 (Fx_create_frame): Accept zero tool_bar_button_relief.
725 (x_clear_image_1, four_corners_best, image_background)
726 (image_background_transparent): New functions.
727 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
728 (gs_format): Add `:background' entry.
729 (lookup_image): Set IMG's background color if specified.
730 (pbm_load, xbm_load_image, png_load): Set IMG's background field
731 when appropriate.
732 (x_clear_image_1): Reset `background_valid' and
733 `background_transparent_valid' fields.
734 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
735 calculating it here. Set IMG's background_transparent field.
736 (enum xpm_keyword_index): Add XPM_BACKGROUND.
737 (enum png_keyword_index): Add PNG_BACKGROUND.
738 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
739 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
740 (enum gif_keyword_index): Add GIF_BACKGROUND.
741 (enum gs_keyword_index): Add GS_BACKGROUND.
742 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
743 Pre-calculate image background color where necessary.
744 (x_create_x_image_and_pixmap, xbm_load, gs_load):
745 Use display info's n_cbits entry for screen depth.
746 (Fx_show_tip): Remove unused variables `buffer', `top',
747 `left', `max_width' and `max_height'.
748
749 * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
750
751 2001-11-18 Gerd Moellmann <gerd@gnu.org>
752
753 * puresize.h (BASE_PURESIZE): Increase to 750000.
754
755 2001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
756
757 * frame.c (Fframe_live_p): Doc fix.
758
759 2001-11-18 Richard M. Stallman <rms@gnu.org>
760
761 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
762 (message_dolog_marker3): New static variables hold three markers.
763 (syms_of_xdisp): Initialize and staticpro them.
764 (message_dolog): Use message_dolog_marker1..3 instead of
765 allocating markers each time. Unchain them when done.
766
767 2001-11-17 Richard M. Stallman <rms@gnu.org>
768
769 * doc.c (Fsnarf_documentation): Doc fix.
770
771 2001-11-17 Andreas Schwab <schwab@suse.de>
772
773 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
774
775 2001-11-17 Richard M. Stallman <rms@gnu.org>
776
777 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
778
779 2001-11-17 Jason Rumney <jasonr@gnu.org>
780
781 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
782
783 2001-11-17 Gerd Moellmann <gerd@gnu.org>
784
785 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
786 with invalid position.
787
788 2001-11-16 Richard M. Stallman <rms@gnu.org>
789
790 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
791
792 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
793 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
794 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
795
796 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
797
798 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
799
800 * fileio.c (build_annotations): Split off the tail.
801 (build_annotations_2): New fun. Extracted from build_annotations.
802 (Fwrite_region): Split the call to build_annotations into two
803 calls to build_annotations and build_annotations_2.
804
805 2001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
806
807 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
808 clear_waiting_for_input with argument.
809
810 * xterm.h (x_update_cursor): Remove duplicated prototype.
811
812 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
813
814 * xterm.c (waiting_for_input): Remove unnecessary declaration.
815
816 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
817
818 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
819
820 * fileio.c (choose_write_coding_system): New fun, extracted
821 from Fwrite_region.
822 (Fwrite_region): Use it.
823
824 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
825 (funcall_lambda, run_hook_with_args): Make static and add prototype.
826 (ml_apply, find_handler_clause): Add prototype.
827
828 2001-11-16 Eli Zaretskii <eliz@gnu.org>
829
830 * config.in: Add #undef HAVE_COFF_H.
831
832 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
833 Required for ISC 4.1.
834
835 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
836
837 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
838 Andrew Wiseman <a.wiseman@btclick.com>.
839
840 2001-11-16 Kim F. Storm <storm@cua.dk>
841
842 The following changes are made to clean up the various internal
843 references to the fringes to actually use the term `fringe' for
844 them. Previously, they were called `flags areas', `bitmap areas',
845 `left/right side of windows', or implicitly as `flags' or
846 `bitmaps':
847
848 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
849 Comments fixed. Use renamed symbols.
850
851 * dispnew.c: Comment fix. Use renamed symbols.
852
853 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
854 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
855 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
856
857 * msdos.c: Comment fix.
858
859 * w32fns.c: Use renamed symbols.
860
861 * w32term.c: Comment fixes. Use renamed symbols.
862 (fringe_bitmap_type): Renamed from bitmap_type.
863 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
864 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
865 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
866
867 * w32term.h: Comment fixes. Use renamed symbols.
868 (fringes_extra): Renamed from flags_areas_extra.
869 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
870 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
871 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
872 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
873 (FRAME_X_LEFT_FRINGE_WIDTH):
874 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
875 (FRAME_X_RIGHT_FRINGE_WIDTH):
876 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
877
878 * widget.c: Use renamed symbols.
879
880 * window.c: Comment fixes. Use renamed symbols.
881 (coordinates-in-window-p): Doc fix.
882
883 * xdisp.c: Comment fixes. Use renamed symbols.
884
885 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
886
887 * xfns.c: Use renamed symbols.
888
889 * xterm.c: Comment fixes. Use renamed symbols.
890 (fringe_bitmap_type): Renamed from bitmap_type.
891 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
892 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
893 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
894
895 * xterm.h: Comment fixes. Use renamed symbols.
896 (fringes_extra): Renamed from flags_areas_extra.
897 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
898 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
899 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
900 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
901 (FRAME_X_LEFT_FRINGE_WIDTH):
902 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
903 (FRAME_X_RIGHT_FRINGE_WIDTH):
904 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
905
906 2001-11-15 Jason Rumney <jasonr@gnu.org>
907
908 * w32menu.c (add-menu-item): Make help_echo and radio buttons
909 work for most menu items. From David Ponce
910 <david.ponce@wanadoo.fr>.
911
912 2001-11-15 Gerd Moellmann <gerd@gnu.org>
913
914 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
915 Some x_set_* function expect to be called even if old and new
916 value are equal.
917
918 * xdisp.c (build_desired_tool_bar_string): Accept zero
919 tool_bar_button_relief.
920
921 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
922
923 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
924
925 * xterm.c (x_draw_bar_cursor): If the background color of the
926 glyph under the cursor equals the frame's cursor color, use
927 the glyph's foreground color for drawing the bar cursor.
928
929 * dispnew.c (direct_output_forward_char): Fix character/byte
930 position comparison.
931
932 2001-11-15 Miles Bader <miles@gnu.org>
933
934 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
935 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
936 Update arguments to find_field.
937 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
938 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
939 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
940 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
941
942 2001-11-14 Richard M. Stallman <rms@gnu.org>
943
944 * editfns.c (Fpropertize): Allow call with 1 arg.
945
946 * dispextern.h (image_background, image_background_transparent):
947 Conditionalize on HAVE_X_WINDOWS.
948
949 2001-11-13 Richard M. Stallman <rms@gnu.org>
950
951 * print.c (Fprin1_to_string): Doc fix.
952
953 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
954
955 * floatfns.c (Fceiling, Ffloor): Doc fixes.
956
957 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
958
959 * fileio.c (Ffile_accessible_directory_p): Doc fix.
960
961 * eval.c (syms_of_eval): Doc fix.
962
963 * coding.c (syms_of_coding): Doc fix.
964
965 * doc.c (Fsnarf_documentation): Doc fix.
966
967 * dispnew.c (syms_of_display): Doc fix.
968
969 * category.c (Fget_unused_category): Doc fix.
970
971 * buffer.c (syms_of_buffer): Doc fixes.
972
973 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
974
975 * print.c (prin1, print): Doc fix.
976
977 2001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
978
979 * fontset.h: Remove declarations of variables
980 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
981
982 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
983 `Vclip_large_size_font'.
984
985 2001-11-13 Jason Rumney <jasonr@gnu.org>
986
987 * w32fns.c: Doc fix.
988
989 2001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
990
991 * xfaces.c (Fface_attributes_as_vector): Doc fix.
992
993 * w32fns.c (Fx_synchronize): Reindent.
994
995 * fns.c: Doc fix.
996
997 * emacs.c: Doc fix.
998
999 * coding.c: Doc fix.
1000
1001 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
1002 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
1003 `new style' [w/`doc:' keyword].
1004
1005 * xmenu.c (x-popup-menu): Reindent.
1006 (x-popup-dialog): Likewise.
1007
1008 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
1009
1010 * xdisp.c (Fdump_tool_bar_row): Reindent.
1011
1012 * minibuf.c (Fminibuffer_complete_word): Reindent.
1013 (Fminibuffer_complete_and_exit): Likewise.
1014 (Fminibuffer_completion_help): Likewise.
1015 (Fminibuffer_message): Likewise.
1016
1017 * fns.c (Freverse): Reindent.
1018
1019 * eval.c (Fif): Reindent.
1020 (Fand): Likewise.
1021
1022 * editfns.c (Fuser_real_login_name): Reindent.
1023 (Finsert_buffer_substring): Likewise.
1024 (Fcompare_buffer_substrings): Likewise.
1025 (Fsubst_char_in_region): Likewise.
1026
1027 * dispnew.c (Fsit_for): Reindent.
1028 (Fframe_or_buffer_changed_p): Likewise.
1029 (Finternal_show_cursor_p): Likewise.
1030 (syms_of_display): Likewise.
1031
1032 * alloc.c (Flist): Reindent.
1033 (Fvector): Likewise.
1034
1035 2001-11-12 Richard M. Stallman <rms@gnu.org>
1036
1037 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
1038 LeaveNotify events. Only FocusIn and FocusOut do that now.
1039 (x_display_and_set_cursor): Do display hollow cursors in active
1040 minibuffer windows when they are not selected.
1041
1042 2001-11-12 Jason Rumney <jasonr@gnu.org>
1043
1044 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
1045 * w32term.c: Change doc-string comments to `new style'.
1046 [w/`doc:' keyword]. Doc fixes.
1047
1048 * w32fns.c: Don't define max.
1049 (Fx_open_connection): Only execute once.
1050
1051 2001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1052
1053 * ccl.c: Change macros to use do-while block instead of if-else.
1054 Use braces to follow GNU Coding Standards.
1055
1056 2001-11-11 Richard M. Stallman <rms@gnu.org>
1057
1058 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
1059
1060 * lread.c (read_escape): Use end_of_file_error for reporting eof.
1061
1062 * insdel.c (replace_range): Use adjust_markers_for_replace
1063 instead of adjust_markers_for_delete and adjust_markers_for_insert.
1064
1065 * intervals.h: Declare set_text_properties and set_text_properties_1.
1066
1067 * textprop.c (set_text_properties_1): New subroutine
1068 broken out of set_text_properties.
1069 (set_text_properties): Use set_text_properties_1.
1070
1071 * intervals.c (graft_intervals_into_buffer):
1072 Use set_text_properties_1 to clear out properties.
1073
1074 * search.c (Freplace_match): Use replace_range to insert
1075 and delete. Don't request property inheritance from
1076 surrounding text.
1077
1078 2001-11-10 Jason Rumney <jasonr@gnu.org>
1079
1080 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
1081 vertical fonts. Allow them if face name is explicitly specified.
1082 Do not give up if we find a font that cannot be converted to an xlfd.
1083
1084 2001-11-10 Gerd Moellmann <gerd@gnu.org>
1085
1086 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
1087 instead of malloc/free.
1088
1089 2001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1090
1091 * xfaces.c (merge_face_vectors): Use braces to follow GNU
1092 Coding Standards.
1093 (Finternal_set_lisp_face_attribute): Likewise.
1094
1095 * buffer.c (Fbury_buffer): Likewise.
1096
1097 * indent.c (current_column_1): Remove unused variable `prev_col'.
1098
1099 * coding.c (encode_coding): Use precomputed value of `src'.
1100 (encode_coding): Remove unused variable `src_end'.
1101 (code_convert_region): Remove unused variables `count'.
1102
1103 2001-11-07 Jason Rumney <jasonr@gnu.org>
1104
1105 * w32term.c (x_display_and_set_cursor): Do not move system caret
1106 if cursor_glyph is NULL.
1107
1108 2001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1109
1110 * keymap.c (access_keymap): Fix compilation error.
1111
1112 2001-11-07 Miles Bader <miles@gnu.org>
1113
1114 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
1115
1116 2001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1117
1118 * intervals.c (graft_intervals_into_buffer):
1119 Remove #ifdef'd-out code.
1120 (graft_intervals_into_buffer): Remove unused variable `middle'.
1121
1122 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
1123 code (eval-current-buffer).
1124 Change doc-string comments to `new style' [w/`doc:' keyword].
1125
1126 2001-11-06 Richard M. Stallman <rms@gnu.org>
1127
1128 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
1129
1130 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
1131
1132 * lread.c (read1): Fix behavior with nested backquoting.
1133
1134 * keyboard.c (make_lispy_event): Check integerness and fix
1135 Lisp_Object/int mixup.
1136
1137 2001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1138
1139 * fns.c (copy_hash_table): Remove unused variable `v'.
1140
1141 * fontset.c (fontset_font_pattern): Remove unused variable
1142 `family_registry'.
1143
1144 * indent.c (current_column_1): Remove unused variable `prev_col'.
1145
1146 2001-11-05 Richard M. Stallman <rms@gnu.org>
1147
1148 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
1149
1150 * buffer.c (Fkill_buffer): Don't delete auto save file
1151 if buffer is modified.
1152
1153 2001-11-05 Andrew Innes <andrewi@gnu.org>
1154
1155 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
1156 CHECK_NUMBER_CDR.
1157
1158 2001-11-05 Richard M. Stallman <rms@gnu.org>
1159
1160 * unexelf.c (unexec): Minor changes; clean up comments.
1161
1162 2001-11-05 Sam Steingold <sds@gnu.org>
1163
1164 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
1165
1166 2001-11-05 Andreas Schwab <schwab@suse.de>
1167
1168 * sound.c (sound_perror): Save errno from being clobbered.
1169
1170 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
1171
1172 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
1173 the program image directly.
1174
1175 2001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1176
1177 * buffer.h (Fbuffer_local_value): Add prototype.
1178
1179 2001-11-04 Richard M. Stallman <rms@gnu.org>
1180
1181 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
1182 and CHECK_BUFFER.
1183
1184 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
1185 (record_char): Likewise.
1186
1187 * keyboard.c (make_lispy_event): Don't insist a drag event must
1188 move to a different buffer position. Instead, check for moving at
1189 least double_click_fuzz.
1190
1191 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
1192
1193 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
1194
1195 * indent.c (current_column_1, Fmove_to_column): Separate the code
1196 for display-table glyphs from the code buffer text, to fix
1197 bugs in the former.
1198
1199 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
1200
1201 * buffer.c (Fbuffer_local_value): New function.
1202 (syms_of_buffer): Defsubr it.
1203
1204 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
1205 value of `cursor-in-non-selected-windows'.
1206
1207 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
1208 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
1209 (syms_of_xdisp): Initialize it.
1210
1211 2001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1212
1213 * xfns.c (Fx_create_frame): Doc fix.
1214
1215 * coding.c: Change doc-string comments to `new style' [w/`doc:'
1216 keyword].
1217
1218 * eval.c (top_level_value, top_level_set): Remove commented and
1219 #ifdef'd-out code.
1220 (Fdefvar): Fix usage in doc-string.
1221
1222 2001-11-03 Richard M. Stallman <rms@gnu.org>
1223
1224 * xfns.c: Include unistd.h, if it exists.
1225
1226 * editfns.c: Move the include of ctype.h after unistd.h.
1227
1228 * gmalloc.c: Test BROKEN_PROTOTYPES.
1229
1230 2001-11-03 Ken Raeburn <raeburn@gnu.org>
1231
1232 * lisp.h (CHECK_STRING_CAR): New macro.
1233 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
1234 treating XCAR and XCDR as lvalues.
1235 (openp): Use CHECK_STRING_CAR.
1236 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
1237
1238 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
1239
1240 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
1241 (SIGMASKTYPE): Define.
1242
1243 * syssignal.h (sigunblock): Don't define if already defined.
1244
1245 2001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1246
1247 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
1248 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1249 Fix typos in comments.
1250
1251 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
1252 and #ifdef'd-out code.
1253 Fix and reindent comments.
1254
1255 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
1256
1257 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
1258 argument `i' in macros.
1259
1260 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
1261 `i' in macros.
1262
1263 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
1264 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
1265 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
1266 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
1267 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
1268 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
1269 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
1270 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
1271 in macros.
1272
1273 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
1274 * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
1275 * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
1276 * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
1277 * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
1278 * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
1279 * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
1280 * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
1281 * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
1282 (remove unused second argument).
1283
1284 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
1285
1286 * syntax.c (describe_syntax): New wrapper.
1287 (Finternal_describe_syntax_value): Rename from describe_syntax.
1288 Don't insert space at front and \n at the end.
1289 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
1290
1291 * regex.c (re_wctype): Try to fix some warnings.
1292 (regcomp, regexec): Don't forget the __restrict.
1293
1294 2001-11-02 Richard M. Stallman <rms@gnu.org>
1295
1296 * textprop.c (Fget_char_property): Doc fix.
1297
1298 2001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1299
1300 * process.c (Fstart_process): Add usage to doc-string.
1301
1302 * data.c (Fsetq_default): Ditto.
1303
1304 * callint.c (Finteractive): Ditto.
1305
1306 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
1307
1308 * macros.c: Don't include keymap.h any more.
1309
1310 2001-11-01 Richard M. Stallman <rms@gnu.org>
1311
1312 * data.c (Fmake_local_variable): Doc fix.
1313
1314 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
1315 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
1316
1317 * keymap.c (Fdescribe_buffer_bindings): Print character property
1318 bindings along with or instead of the buffer local map.
1319 Make the overriding maps override what they should.
1320
1321 2001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1322
1323 * window.c (grow_mini_window): Fix typo in comment.
1324
1325 2001-11-01 Gerd Moellmann <gerd@gnu.org>
1326
1327 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
1328 (XTset_vertical_scroll_bar): Likewise.
1329
1330 * xfns.c (x_build_heuristic_mask): Use four_corners_best
1331 instead of IMAGE_BACKGROUND.
1332
1333 * xfns.c (four_corners_best): Reindent.
1334
1335 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
1336 Handle :box so that it is possible to specify sexprs.
1337
1338 2001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1339
1340 * xfaces.c (Finternal_merge_in_global_face): Reindent.
1341 (Fface_font): Ditto.
1342 (Finternal_set_alternative_font_registry_alist): Ditto.
1343 (Ftty_suppress_bold_inverse_default_colors): Ditto.
1344
1345 * xfns.c (x-get-resource): Reindent.
1346
1347 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
1348
1349 * s/hpux11.h: New file.
1350
1351 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1352
1353 * emacs.c (USAGE1): Show command line option --no-window-system
1354 instead of --no-windows in usage.
1355 (standard_args): Rename --no-windows to --no-window-system.
1356 (bug_reporting_address): Follow Emacs coding conventions.
1357
1358 * eval.c (Fcommandp): Doc fix.
1359 Change doc-string comments to `new style' [w/`doc:' keyword].
1360
1361 * frame.c (Fframe_live_p): Doc fix.
1362
1363 * buffer.c (selective-display-ellipses): Doc fix.
1364
1365 2001-10-31 Gerd Moellmann <gerd@gnu.org>
1366
1367 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
1368
1369 * xfaces.c (realize_x_face): If C is not a single-byte character,
1370 set the face's colors_copied_bitwise_p instead of the defaulted_p
1371 members which have a different meaning.
1372 (free_face_colors): Do nothing for a face whose colors have been
1373 copied bitwise.
1374
1375 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
1376
1377 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1378
1379 * marker.c, mocklisp.c: Change doc-string comments to `new style'
1380 [w/`doc:' keyword].
1381
1382 2001-10-31 Gerd Moellmann <gerd@gnu.org>
1383
1384 * fns.c (require_unwind): Return Lisp_Object.
1385
1386 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1387
1388 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
1389 (last-input-char): Revert doc-string to be the same as the
1390 doc-string of `last-input-event'.
1391
1392 * xdisp.c: Fix typos in comments.
1393
1394 2001-10-31 Gerd Moellmann <gerd@gnu.org>
1395
1396 * window.c (grow_mini_window): Handle case that the root
1397 window is already smaller than the nominal mininum height.
1398
1399 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
1400
1401 * emacs.c (main): Don't call keys_of_macros any more.
1402
1403 * lisp.h (keys_of_macros): Remove.
1404
1405 * macros.c (keys_of_macros): Remove.
1406
1407 * xfaces.c (Fface_attribute_relative_p): Declare args.
1408
1409 2001-10-30 Jason Rumney <jasonr@gnu.org>
1410
1411 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
1412 (enum_font_cb2): Ignore fonts with vertical orientation.
1413
1414 2001-10-30 Richard M. Stallman <rms@gnu.org>
1415
1416 * keyboard.c (Finput_pending_p): Doc fix.
1417
1418 2001-10-30 Gerd Moellmann <gerd@gnu.org>
1419
1420 * xterm.c (x_after_update_window_line): Don't run the code
1421 clearing in borders for rows whose visible height is 0.
1422
1423 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
1424 resized_p flag is set. If not set, use the much less flickering
1425 method previously used.
1426
1427 * dispnew.c (change_frame_size_1): Set frame's resized_p.
1428
1429 * frame.h (struct frame) <resized_p>: New member.
1430
1431 * lread.c (to_multibyte): Ensure read_buffer is at least twice
1432 as large as the number of bytes to convert.
1433
1434 * lread.c (to_multibyte): New function.
1435 (read1): Use it.
1436
1437 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
1438
1439 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
1440
1441 2001-10-30 Gerd Moellmann <gerd@gnu.org>
1442
1443 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
1444 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
1445 if the row's fill_line_p is set and drawing the last glyph with
1446 DRAW_IMAGE_{RAISED,SUNKEN}.
1447
1448 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
1449
1450 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
1451
1452 * xmenu.c: Include coding.h and charset.h.
1453 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
1454 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
1455 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
1456 Explicitly set wv->help. Use `TRUE' rather than `True'.
1457 (menu_help_callback): Use empty_string.
1458
1459 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
1460 (Fx_popup_dialog): Explicitly init f.
1461 (w32_menu_display_help): Use empty_string.
1462
1463 2001-10-29 Richard M. Stallman <rms@gnu.org>
1464
1465 * fns.c (Frequire): Detect recursive try to require the same
1466 feature 3 or more levels deep, and get error.
1467 (require_unwind): New subroutine.
1468 (require_nesting_list): New variable.
1469 (syms_of_fns): Init and staticpro it.
1470
1471 * print.c (print_object): Clarify indication of insertion type.
1472
1473 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
1474
1475 * coding.c (syms_of_coding): Document that locale-coding-system is
1476 used for decoding input on X.
1477
1478 * window.c (Fscroll_left, Fscroll_right): Doc fix.
1479
1480 2001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1481
1482 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
1483 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
1484
1485 2001-10-29 Gerd Moellmann <gerd@gnu.org>
1486
1487 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
1488 use NO_CURSOR if cursor_in_non_selected_windows is false.
1489
1490 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
1491 the slant attribute if FRAME is t.
1492
1493 * xfns.c (x_set_internal_border_width): Set frame garbaged
1494 when X window doesn't exist yet.
1495
1496 * xterm.c (x_after_update_window_line): Clear internal border
1497 in different circumstances.
1498
1499 * xterm.c (XTread_socket) <KeyPress>: Don't use
1500 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
1501 <handa@etl.go.jp>.
1502
1503 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1504
1505 * m/ibms390.h: New file. From Adam Thornton
1506 <athornton@sinenomine.net>.
1507
1508 2001-10-28 Gerd Moellmann <gerd@gnu.org>
1509
1510 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
1511
1512 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
1513 a loop counter.
1514
1515 2001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1516
1517 * emacs.c: Use argv[0] instead of emacs when -t was specified.
1518
1519 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
1520 keyword].
1521 Fix typos in comments.
1522
1523 * emacs.c (bug_reporting_address): New function.
1524 Use it when displaying usage message.
1525
1526 * minibuf.c (read_minibuf): Remove unused external declaration of
1527 variable `Qread_only'.
1528
1529 * keymap.c (access_keymap): Remove unused variable `charset'.
1530
1531 2001-10-28 Miles Bader <miles@gnu.org>
1532
1533 * xfaces.c (merge_face_heights): Handle TO being relative as well.
1534 Remove #ifdef'd-out code.
1535 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
1536 (syms_of_xfaces): Initialize them.
1537
1538 2001-10-27 Jason Rumney <jasonr@gnu.org>
1539
1540 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
1541 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
1542 position using the system caret.
1543
1544 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
1545 (w32_system_caret_height, w32_system_caret_x)
1546 (w32_system_caret_y): New variables for tracking system caret.
1547 (w32_initialize): Initialize them.
1548 (x_display_and_set_cursor): Make system caret follow the active cursor.
1549
1550 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
1551 New messages types.
1552
1553 * w32term.c (note_mouse_highlight): Clear old help_echo.
1554
1555 2001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1556
1557 * xterm.c: Fix typo in a comment.
1558
1559 * emacs.c: Fix typos in comments.
1560 Remove unnecessary spaces.
1561 Change doc-string comments to `new style' [w/`doc:' keyword].
1562 (USAGE2): Fix typos in usage string.
1563
1564 * xterm.c: Fix typo in a comment.
1565
1566 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
1567 emacs.c.
1568
1569 2001-10-27 Gerd Moellmann <gerd@gnu.org>
1570
1571 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
1572 instead of 1/2 line_height in the heuristic for skipping
1573 farther backward when target_y was not reached.
1574
1575 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
1576 Display errno only if non-zero.
1577 (sound_warning): New function.
1578 (vox_configure): Don't treat failing to set sample rate as error.
1579 (various places): Improve error messages.
1580
1581 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
1582
1583 * fileio.c (Faccess_file): Run the argument filename through
1584 Fexpand_file_name, before using it.
1585
1586 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
1587 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
1588
1589 2001-10-26 Gerd Moellmann <gerd@gnu.org>
1590
1591 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
1592
1593 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1594 Fix clearing in the case of scroll bars on the right.
1595
1596 2001-10-26 Juanma Barranquero <lektu@terra.es>
1597
1598 * w32gui.h (XImage): Add a dummy typedef.
1599
1600 2001-10-26 Gerd Moellmann <gerd@gnu.org>
1601
1602 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
1603
1604 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
1605
1606 * frame.c (Fframe_parameter): Fix last change.
1607
1608 * fileio.c: Revert last change (which removed old commented-out
1609 version of expand-file-name). Add a comment that explains why
1610 this old version should not be removed.
1611
1612 2001-10-25 Gerd Moellmann <gerd@gnu.org>
1613
1614 * frame.c (Fframe_parameter): Fix a bug whereby some
1615 ``artificial'' frame parameters, like `minibuffer' were not
1616 obtained by calling Fframe_parameters.
1617
1618 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
1619 cursor differently.
1620
1621 * xdisp.c (move_it_vertically_backward): Compute line height
1622 differently. Add heuristic to try to be more compatible to 20.x.
1623
1624 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
1625
1626 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
1627
1628 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
1629 boolean.
1630
1631 2001-10-25 Miles Bader <miles@gnu.org>
1632
1633 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
1634 BG is a pointer to a structure, not a structure.
1635 (gif_format, png_format): Add missing commas.
1636
1637 2001-10-24 Richard M. Stallman <rms@gnu.org>
1638
1639 * xfaces.c (Fface_attributes_as_vector): New function.
1640 (syms_of_xfaces): Defsubr it.
1641
1642 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1643
1644 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
1645 variable `area'.
1646
1647 2001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1648
1649 * search.c (scan_newline): Remove unused variable `selective_display'.
1650
1651 2001-10-25 Miles Bader <miles@gnu.org>
1652
1653 * dispextern.h (struct image): Add `background',
1654 `background_valid', and `background_transparent' fields.
1655 (image_background, image_background_transparent): New declarations.
1656 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
1657 * xfns.c (image_background, image_background_transparent)
1658 (four_corners_best): New functions.
1659 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
1660 (gs_format): Add `:background' entry.
1661 (lookup_image): Set IMG's background color if specified.
1662 (pbm_load, xbm_load_image, png_load): Set IMG's background field
1663 when appropriate.
1664 (x_clear_image_1): Reset `background_valid' and
1665 `background_transparent_valid' fields.
1666 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
1667 calculating it here. Set IMG's background_transparent field.
1668 (enum xpm_keyword_index): Add XPM_BACKGROUND.
1669 (enum png_keyword_index): Add PNG_BACKGROUND.
1670 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
1671 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
1672 (enum gif_keyword_index): Add GIF_BACKGROUND.
1673 (enum gs_keyword_index): Add GS_BACKGROUND.
1674 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
1675 Pre-calculate image background color where necessary.
1676 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
1677 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
1678 color to use for image glyph reliefs.
1679
1680 2001-10-24 Gerd Moellmann <gerd@gnu.org>
1681
1682 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
1683 in full-width rows.
1684
1685 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1686 Fix clearing of area not covered by scroll bar.
1687
1688 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1689
1690 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
1691 and `real_start'.
1692 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
1693 (glyph_rect): Remove unused variable `area'.
1694
1695 2001-10-24 Gerd Moellmann <gerd@gnu.org>
1696
1697 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
1698
1699 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
1700 (row_containing_pos): Take additional argument DY.
1701 Treat rows ending in middle of char differently.
1702 (display_line): Handle tabs on window systems differently.
1703
1704 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
1705 with additional argument.
1706
1707 * dispextern.h (row_containing_pos): Adjust prototype.
1708
1709 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
1710 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
1711 (try_window_id, try_window_reusing_current_matrix)
1712 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
1713 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
1714
1715 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1716
1717 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
1718 gnuemacs).
1719 (HAVE_BOXES): Fix typo in comment.
1720 (push_menu_pane): Fix typo in comment.
1721
1722 * xdisp.c: (display_prop_string_p): Remove unused local declaration
1723 of `Qwhen'.
1724 (single_display_prop_string_p): Remove unused local declarations
1725 of `Qwhen' and `Qmargin'.
1726 (string_buffer_position): Remove unused variable `around'.
1727 (store_frame_title): Remove unused variable `width'.
1728
1729 * window.c: Don't define max.
1730 (coordinates_in_window): Remove unused variable `uy'.
1731
1732 * widget.c: Don't define max.
1733
1734 * process.c: Don't define max.
1735 (create_process): Remove unused variable `buffer'.
1736
1737 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1738
1739 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
1740
1741 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
1742
1743 * xfaces.c (Finternal_set_lisp_face_attribute)
1744 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
1745 frame is on a windowed display.
1746
1747 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1748
1749 * dispnew.c (sync_window_with_frame_matrix_rows):
1750 Fix handling of windows which aren't full-width, fix handling
1751 of marginal areas.
1752
1753 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
1754
1755 2001-10-23 Andreas Schwab <schwab@suse.de>
1756
1757 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1758 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1759
1760 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1761
1762 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
1763 REAL_END. Notice if cursor gets overwritten.
1764 (notice_overwritten_cursor): Take X positions as parameters.
1765 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1766 around call to x_draw_glyphs.
1767
1768 2001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1769
1770 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1771 instead of C) and usage.
1772
1773 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1774 of C) and usage.
1775
1776 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1777 `left', `max_width' and `max_height'.
1778
1779 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1780
1781 * xdisp.c (display_line): For a tab continued to the next line,
1782 set row's ends_in_middle_of_char_p.
1783
1784 2001-10-22 Gerd Moellmann <gerd@gnu.org>
1785
1786 * xdisp.c (display_line): Fix computation of continuation lines
1787 width for TABs.
1788
1789 2001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1790
1791 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1792 `Qlaplace'.
1793
1794 * fileio.c: Remove unused code.
1795
1796 2001-10-22 Miles Bader <miles@gnu.org>
1797
1798 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1799 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1800 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1801
1802 2001-10-21 Jason Rumney <jasonr@gnu.org>
1803
1804 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1805
1806 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1807
1808 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1809 (Finsert_string): Avoid the multi-line string literals warning.
1810
1811 2001-10-22 Miles Bader <miles@gnu.org>
1812
1813 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1814 (Fdocumentation): Don't use it.
1815 (syms_of_doc): Don't initialize it.
1816
1817 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1818 * print.c (Fwith_output_to_temp_buffer): Likewise.
1819 * window.c (Fsave_window_excursion): Likewise.
1820 * editfns.c (Fsave_excursion, Fsave_current_buffer)
1821 (Fsave_restriction): Likewise.
1822 * eval.c (Frun_hooks, Frun_hook_with_args)
1823 (Frun_hook_with_args_until_failure)
1824 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1825 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1826 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
1827 (Funwind_protect, Fcondition_case): Likewise.
1828 * coding.c (Ffind_operation_coding_system): Likewise.
1829 * keyboard.c (Ftrack_mouse): Likewise.
1830
1831 2001-10-21 Miles Bader <miles@gnu.org>
1832
1833 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
1834 (Fmake_hash_table): Add usage: string to doc string.
1835 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
1836 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
1837 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1838 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1839 (Fml_prefix_argument_loop): Likewise.
1840
1841 2001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1842
1843 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
1844
1845 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1846 style' [w/`doc:' keyword].
1847
1848 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1849 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1850 comments to `new style' [w/`doc:' keyword].
1851
1852 2001-10-21 Jason Rumney <jasonr@gnu.org>
1853
1854 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1855
1856 * w32term.c (remember_mouse_glyph): New function.
1857 (w32_mouse_position): Use it.
1858 (note_mouse_movement): If the mouse moved off the glyph, remember
1859 its new position.
1860
1861 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1862 (w32_display_info): Add mouse_face_overlay.
1863
1864 * w32term.c (notice_overwritten_cursor): Renamed from
1865 note_overwritten_text_cursor. Rewritten to take glyph widths into
1866 account.
1867 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1868 (fast_find_string_pos): New function.
1869 (fast_find_position): Return the correct vpos. Add parameter
1870 STOP. In the final row, stop before glyphs having STOP as object.
1871 Don't consider glyphs that are not from a buffer.
1872 (fast_find_position) [0]: Add a presumably more correct version
1873 for after 21.1.
1874 (expose_window_tree, expose_frame): Don't compute intersections here.
1875 (expose_window): Do it here instead.
1876 (expose_window_tree, expose_window, expose_line): Return 1 when
1877 overwriting mouse-face.
1878 (expose_window): If W is the window currently being updated, mark
1879 the frame garbaged.
1880 (expose_frame): If mouse-face was overwritten, redo it.
1881 (x_use_underline_position_properties): New variable.
1882 (syms_of_xterm): DEFVAR_BOOL it.
1883 (x_draw_glyph_string): Add comment to use it in future.
1884 (x_draw_glyph_string): Restore clipping after drawing box.
1885 Fix a computation of the underline position.
1886 (w32_get_glyph_string_clip_rect): Minor cleanup.
1887 (x_fill_stretch_glyph_string): Remove an assertion.
1888 (x_produce_glyphs): Don't convert multibyte characters
1889 to unibyte characters in unibyte buffers.
1890 (cursor_in_mouse_face_p): New function.
1891 (x_draw_stretch_glyph_string): Use it to choose a different GC
1892 when drawing a cursor within highlighted text. Don't draw
1893 background again if it has already been drawn.
1894 (x_draw_glyph_string_box): Don't draw a full-width
1895 box just because the glyph row's full_width_p flag is set.
1896 (x_draw_glyphs): Fix computation of rightmost x for
1897 full-width rows.
1898 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1899 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1900 change bottom shadow accordingly. Some cleanup.
1901 (x_update_window_end): Handle overwritten mouse face
1902 also for tool bar windows.
1903 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1904 DRAW is DRAW_IMAGE_RAISED.
1905 (clear_mouse_face): Return 1 if text with mouse face was
1906 actually redrawn. Make the function static. Reset
1907 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1908 optimize away highlighting if we pass over that same overlay again.
1909 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1910 to detect a case where we have to highlight a different region
1911 despite not having left the currently highlighted region.
1912 Set mouse_face_overlay in the x_display_info. Avoid changing the
1913 mouse pointer shape when show_mouse_face has already done it, or
1914 there is no need. Handle mouse-face and help-echo in strings.
1915 (glyph_rect): New function.
1916 (w32_mouse_position): Use it to raise the threshold for mouse
1917 movement event generation.
1918 (w32_initialize_display_info): Initialize the x_display_info's
1919 mouse_face_overlay.
1920 (w32_set_vertical_scroll_bar): Don't clear a zero height
1921 or width area.
1922 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1923 a widget to zero height.
1924
1925 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
1926 Protect unibyte strings created by replacing their multibyte
1927 equivalents in menu_items.
1928 (w32_menu_show): Don't overwrite an item's name with its key
1929 description in case the description is a multibyte string.
1930 (single_submenu): Some cleanup.
1931
1932 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1933 (postprocess_image): New function.
1934 (lookup_image): Call it for all image types except PostScript.
1935 (x_kill_gs_process): Call postprocess_image.
1936 (tiff_error_handler, tiff_warning_handler): New functions.
1937 (tiff_load): Install them as handlers.
1938 (x_kill_gs_process): Recognize if someone has cleared the image
1939 cache under us.
1940 (valid_image_p): Protect better against invalid image
1941 specifications. Previous code could signal an error.
1942 (Fx_hide_tip, Fshow_tip): Doc fix.
1943 (Fv_max_tooltip_size): New variable.
1944 (syns_of_xfns): DEFVAR_LISP it.
1945 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1946 window buffer to *tip* right after creating the frame. Set frame's
1947 window_width. Use a maximum tooltip size specified by
1948 Vx_max_tooltip_size, if that has valid contents.
1949 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1950 Make sure the tooltip is completely visible.
1951 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1952 (Fx_create_frame): Adjust the frame's height for presence
1953 of the tool bar before calling x_figure_window_size.
1954 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1955 when the window gets smaller.
1956 (x_set_foreground_color): Set frame's cursor_pixel.
1957 (x_set_foreground_color, x_set_background_color): Cleaned up.
1958 (x_set_font): Handle case of x_new_fontset returning the same name
1959 as before, although there was a change in fontsets.
1960
1961 2001-10-21 Miles Bader <miles@gnu.org>
1962
1963 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
1964 (Flogxor): Add usage: string to doc string.
1965 * charset.c (Fstring): Likewise.
1966 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1967 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1968
1969 2001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1970
1971 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1972
1973 * alloc.c: Reindent DEFUNs with doc: keywords.
1974
1975 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1976
1977 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1978 keyword].
1979
1980 2001-10-20 Gerd Moellmann <gerd@gnu.org>
1981
1982 * (Version 21.1 released.)
1983
1984 2001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1985
1986 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
1987
1988 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1989 0 because unused.
1990
1991 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
1992 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1993 Change doc-string comments to `new style' [w/`doc:' keyword].
1994
1995 2001-10-20 Miles Bader <miles@gnu.org>
1996
1997 The following changes remove the glyph_row `inverse_p' field,
1998 which is never set anymore, due to other changes:
1999
2000 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
2001 (reassert_line_highlight, change_line_highlight): Declarations removed.
2002 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
2003 (line_hash_code, row_equal_p, fake_current_matrices)
2004 (build_frame_matrix_from_leaf_window, update_frame_line)
2005 (update_frame_line, update_frame_line, update_frame_line):
2006 Don't use `inverse_p' field.
2007 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
2008 change_line_highlight_hook.
2009 (XTreassert_line_highlight, x_change_line_highlight):
2010 Functions removed.
2011 (x_fix_overlapping_area, x_write_glyphs, expose_area)
2012 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2013 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
2014 `inverse_p' field.
2015 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
2016 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
2017 (w32_reassert_line_highlight, x_change_line_highlight):
2018 Functions removed.
2019 * w32console.c (reassert_line_highlight, change_line_highlight):
2020 Functions removed.
2021 (initialize_w32_display): Don't set reassert_line_highlight_hook
2022 or change_line_highlight_hook.
2023 (hl_mode): Function removed.
2024 (reset_terminal_modes, set_terminal_modes, update_begin)
2025 (update_end, w32_face_attributes, initialize_w32_display):
2026 (clear_frame, ins_del_lines): Don't call it.
2027 * termhooks.h (reassert_line_highlight_hook)
2028 (change_line_highlight_hook): Declarations removed.
2029 * term.c (reassert_line_highlight_hook)
2030 (change_line_highlight_hook): Variables removed.
2031 (reassert_line_highlight, change_line_highlight): Functions removed.
2032 * msdos.c (IT_reassert_line_highlight)
2033 (IT_change_line_highlight): Functions removed.
2034 (internal_terminal_init): Don't set reassert_line_highlight_hook
2035 or change_line_highlight_hook.
2036 (highlight): Variable removed.
2037 (IT_set_face, IT_update_begin, IT_update_end)
2038 (IT_set_terminal_modes): Don't set or use it.
2039
2040 The following changes remove inverse-video support for terminals
2041 that use a `magic cookie' standout mode. Due to changes in the
2042 way mode-lines are displayed, such support no longer works
2043 anyway, and it's probable that almost no one uses such terminals
2044 anymore:
2045
2046 * term.c (standout_requested): Variable removed.
2047 (update_end, highlight_if_desired): Don't use it.
2048 (chars_wasted, copybuf): Variables removed.
2049 (write_standout_marker): Function removed.
2050 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
2051 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
2052 Don't use `chars_wasted' or `copybuf'.
2053 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
2054 Set `costs_set' to true.
2055 (cursor_to, clear_end_of_line): Test `costs_set' instead of
2056 `chars_wasted'.
2057 (clear_end_of_line): Function removed.
2058 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
2059 (clear_to_end): Call `clear_end_of_line' instead of
2060 `clear_end_of_line_raw'.
2061 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
2062 (term_init): Don't set them.
2063 Turn off any standout/underline modes that require magic cookies.
2064 (ins_del_lines, highlight_if_desired, background_highlight)
2065 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
2066 Remove special processing for magic-cookie standout modes.
2067 (turn_off_face, turn_on_face): Remove special processing for
2068 underline magic-cookie glitch.
2069
2070 2001-10-19 Richard M. Stallman <rms@gnu.org>
2071
2072 * eval.c (syms_of_eval): Doc fixes.
2073
2074 2001-10-19 Gerd Moellmann <gerd@gnu.org>
2075
2076 * xdisp.c (redisplay_internal): Don't clear echo area if the
2077 mini-window is selected.
2078
2079 2001-10-19 Miles Bader <miles@gnu.org>
2080
2081 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
2082 doesn't take precedence if the affected property's value is nil.
2083
2084 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
2085
2086 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
2087 with fields and suggest using `forward-line' to avoid them.
2088 * editfns.c (Fline_beginning_position, Fline_end_position):
2089 Clarify documentation.
2090
2091 2001-10-18 Stefan Monnier <monnier@cs.yale.edu>
2092
2093 * keymap.c (current_minor_maps): `override' only shadows its
2094 correspondent in minor-mode-map-alist, not the whole tail.
2095
2096 2001-10-18 Andrew Innes <andrewi@gnu.org>
2097
2098 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
2099 optimization. The fontp->encoding array was not being initialized
2100 correctly when compiled with optimizations by MSVC.
2101
2102 2001-10-18 Gerd Moellmann <gerd@gnu.org>
2103
2104 * xdisp.c (display_line): Indicate empty lines in active mini-window.
2105
2106 2001-10-17 Andrew Innes <andrewi@gnu.org>
2107
2108 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
2109
2110 * w32fns.c (w32_load_system_font): Cache codepage for font, in
2111 font_info.charset field.
2112
2113 * w32term.c (w32_encode_char): Get cached codepage from font_info,
2114 rather than working it out by calling w32_codepage_for_font for
2115 every glyph.
2116
2117 2001-10-17 Andrew Innes <andrewi@gnu.org>
2118
2119 * w32term.c (w32_read_socket): Determine clipping rectangle for
2120 the entire frame, including areas covered by scrollbars and the
2121 menubar. This avoids internal arguments about whether a frame is
2122 fully obscured or not.
2123
2124 2001-10-17 Gerd Moellmann <gerd@gnu.org>
2125
2126 * xdisp.c (try_window_id): Undo last change. Give up if
2127 window ends in strings.
2128
2129 * xdisp.c (try_window_id): Don't display lines after the window
2130 end if the rest of the window after the window end was already blank.
2131
2132 * xdisp.c (try_window_id): Remove code that was only there
2133 for the release of 21.1.
2134
2135 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
2136
2137 2001-10-17 Miles Bader <miles@gnu.org>
2138
2139 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
2140 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
2141 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
2142 Change doc-string comments to `new style' [w/`doc:' keyword].
2143 (DOC_STRINGS_IN_COMMENTS): Macro removed.
2144 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
2145 out make-docfile.
2146
2147 2001-10-16 Miles Bader <miles@gnu.org>
2148
2149 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
2150
2151 2001-10-16 Gerd Moellmann <gerd@gnu.org>
2152
2153 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
2154 *scratch*.
2155
2156 2001-10-16 Ken Raeburn <raeburn@gnu.org>
2157
2158 Avoid the assumption that car and cdr slots of cons cells are
2159 addressable lvalues; this allows for easier experimentation with
2160 other lisp implementations that may not permit such accesses for
2161 various reasons. Not quite complete -- buffer.c still needs some
2162 work, and w32/mac files need rechecking -- so compile-time
2163 enforcement is left disabled for now.
2164
2165 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
2166 gcc with a union-based Lisp object rep. Redefine as no-op for now.
2167 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
2168 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
2169 (XSETCAR, XSETCDR): New macros.
2170 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
2171 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
2172 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
2173 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
2174 XSETCDR.
2175 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
2176 * buffer.c (record_buffer, Fbury_buffer)
2177 (swap_out_buffer_local_variables, recenter_overlay_lists)
2178 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
2179 fields of a cons cell respectively.
2180 * callint.c (quotify_args, Fcall_interactively): Likewise.
2181 * ccl.c (Fregister_code_conversion_map): Likewise.
2182 * coding.c (detect_coding_system): Likewise.
2183 * composite.c (get_composition_id, make_composition_value_copy):
2184 Likewise.
2185 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
2186 (swap_in_symval_forwarding, set_internal, Fset_default)
2187 (Fmake_variable_buffer_local, Fmake_local_variable)
2188 (Fmake_variable_frame_local): Likewise.
2189 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
2190 * keymap.c (Fset_keymap_parent, store_in_keymap)
2191 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
2192 * minibuf.c (get_minibuffer): Likewise.
2193 * search.c (Fmatch_data): Likewise.
2194 * textprop.c (extend_property_ranges): Likewise.
2195 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
2196 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
2197 Likewise.
2198 * w32term.c (x_delete_display): Likewise.
2199 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
2200 Likewise.
2201 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
2202 * doc.c (store_function_docstring): Use XSETCARFASTINT.
2203 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
2204 (Fread_file_name): Use XSETCAR.
2205 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
2206 CHECK_NUMBER_CDR.
2207 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
2208 * frame.c (Fmake_terminal_frame): Use XSETCDR.
2209 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
2210 CHECK_NUMBER_CDR.
2211 * keyboard.c (read_char): Alter list traversal to avoid taking the
2212 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
2213 (parse_menu_item): Use XSETCAR and XSETCDR.
2214 (reach_char_x_menu_prompt): Use XSETCAR.
2215 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
2216 (Fcommand_execute): Use XSETCDR.
2217 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
2218 (openp): Change list traversal to avoid using XCAR as lvalue.
2219 (read_list): Use XSETCDR.
2220 * process.c (wait_reading_process_input): Change wait_for_cell
2221 handling to avoid taking addresses of cons cell slots.
2222 * xselect.c (x_own_selection, x_handle_selection_clear)
2223 (x_clear_frame_selections): Use XSETCDR.
2224 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
2225 (x_handle_property_notify, x_get_foreign_selection)
2226 (x_handle_selection_notify): Use XSETCAR.
2227
2228 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2229
2230 * buffer.c: Put doc strings in comments.
2231
2232 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
2233
2234 2001-10-15 Sam Steingold <sds@gnu.org>
2235
2236 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
2237
2238 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2239
2240 * process.c (process-inherit-coding-system-flag)
2241 (get-buffer-process): Do not confuse make-docfile with doc strings
2242 in comment.
2243
2244 * editfns.c (Fchar_to_string): Make doc string consistent with
2245 arguments. Put doc strings in comments.
2246
2247 * abbrev.c, minibuf.c: Put doc strings in comments.
2248
2249 2001-10-15 Gerd Moellmann <gerd@gnu.org>
2250
2251 * window.c (window_loop): Don't check for Fother_buffer returning nil.
2252
2253 * window.c (select_window_1): Unfreeze window start. Remove a
2254 doubled test for WINDOW being live.
2255
2256 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2257
2258 * fns.c (Fmapconcat): Fix typo in a doc string.
2259
2260 * dispnew.c (Fsleep_for): Fix typo in a doc string.
2261
2262 2001-10-15 Gerd Moellmann <gerd@gnu.org>
2263
2264 * xterm.c (x_draw_glyph_string): Restore clipping after
2265 drawing box.
2266
2267 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2268
2269 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
2270
2271 2001-10-14 Stefan Monnier <monnier@cs.yale.edu>
2272
2273 * indent.c (skip_invisible): Use new retval of
2274 TEXT_PROP_MEANS_INVISIBLE.
2275
2276 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
2277 If a parent is reached and noinherit is set, exit immediately.
2278 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
2279
2280 * s/ms-w32.h (EXEC_SUFFIXES):
2281 * s/msdos.h (EXEC_SUFFIXES):
2282 * process.h (EXEC_SUFFIXES): Remove.
2283
2284 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
2285 (decode_suffixes): Remove.
2286
2287 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
2288 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
2289 (invisible_ellipsis_p): Remove.
2290
2291 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
2292 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
2293 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
2294 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
2295 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
2296
2297 2001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2298
2299 * lisp.h (Ftop_level): Add prototype.
2300
2301 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
2302 (XTread_socket): Improve style of comments to follow other
2303 comments.
2304
2305 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
2306 is already prototyped in included lisp.h).
2307
2308 * frame.c (Fset_mouse_position): Improve style of comment to
2309 follow other comments.
2310 (Fset_mouse_pixel_position): Improve style of comment to follow
2311 other comments.
2312 (Fmake_frame_visible): Doc fix and typo in comment.
2313 (Fmake_frame_invisible): Doc fix and typo in comment.
2314 (Ficonify_frame): Fix typo in comment.
2315
2316 2001-10-14 Gerd Moellmann <gerd@gnu.org>
2317
2318 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
2319 * term.c, alloc.c: Put doc strings in comments.
2320
2321 2001-10-13 Gerd Moellmann <gerd@gnu.org>
2322
2323 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
2324 Provide definitions for doc strings in comments.
2325
2326 * fns.c: Put doc strings in comments.
2327
2328 2001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
2329
2330 * dired.c (file_name_completion): Ignore a candidate directory if
2331 it matches an element in completion-ignored-extensions that ends
2332 in a slash.
2333 (syms_of_dired) <completion-ignored-extensions>: Mention the above
2334 feature in the doc string.
2335 (Ffile_name_completion): Ditto.
2336
2337 2001-10-12 Stefan Monnier <monnier@cs.yale.edu>
2338
2339 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
2340
2341 * xfns.c (syms_of_xfns): Update calls to Fprovide.
2342
2343 * lisp.h (Fprovide): Update prototype.
2344 (Ffeaturep, invisible_p): Remove.
2345
2346 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
2347 (DOLIST, LOOP_PROPVAL): New macros.
2348 (invisible_p, invisible_ellipsis_p): Use them.
2349 (invisible_noellipsis_p): New function.
2350 (syms_of_xdisp): Use empty_string.
2351
2352 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
2353
2354 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
2355 (syms_of_lread) <Vafter_load_alist>: Update docstring.
2356
2357 * print.c (Fwith_output_to_temp_buffer): Align with
2358 internal_with_output_to_temp_buffer.
2359 (print_preprocess): Use traverse_intervals_noorder.
2360 (print_object): Update call to traverse_intervals.
2361
2362 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
2363 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
2364
2365 * intervals.c (traverse_intervals_noorder): New function.
2366 (search_for_interval, count_intervals): Use it.
2367 (traverse_intervals): Use less stack space and drop `depth' arg.
2368
2369 * fns.c (Ffeaturep): Add new `subfeature' arg.
2370 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
2371 (Qsubfeatures): New var.
2372 (syms_of_fns): Initialize it.
2373
2374 * keymap.c (Fkey_description): Use empty_string.
2375 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
2376 (syms_of_keymap): Setup inheritance between maps.
2377 Don't export Sdescribe_bindings_internal any more.
2378
2379 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
2380
2381 2001-10-12 Gerd Moellmann <gerd@gnu.org>
2382
2383 * xterm.c (notice_overwritten_cursor): Renamed from
2384 note_overwritten_text_cursor. Rewritten to take glyph widths into
2385 account.
2386
2387 2001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2388
2389 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
2390 multi-line strings without a trailing "\n\".
2391
2392 2001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2393
2394 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
2395 defined.
2396
2397 2001-10-11 Stefan Monnier <monnier@cs.yale.edu>
2398
2399 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
2400
2401 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
2402 * w32proc.c (sys_spawnve):
2403 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
2404 * w32.c (check_windows_init_file):
2405 * sound.c (Fplay_sound):
2406 * emacs.c (init_cmdargs):
2407 * process.c (Fstart_process): Update calls to openp.
2408
2409 * callproc.c (Vexec_suffixes): New var.
2410 (Fcall_process): Update call to openp.
2411 (decode_suffixes): New function.
2412 (syms_of_callproc): Init exec-suffixes.
2413
2414 * lread.c (Vload_suffixes, default_suffixes): New vars.
2415 (openp): Take a lisp list of suffixes.
2416 Check for file-name-handlers even if the file was absolute already.
2417 (syms_of_lread): Declare load-suffixes.
2418 (Fload): Fix up call to openp.
2419 Don't bother checking for file-name-handler at the very beginning.
2420
2421 * keymap.h (Fcopy_keymap): Don't export.
2422
2423 * lisp.h (empty_string): Declare.
2424 (Vload_suffixes, Vexec_suffixes): Declare.
2425 (openp): Update prototype.
2426
2427 * emacs.c (empty_string): New var.
2428 (syms_of_emacs): Initialize it.
2429
2430 * search.c (wordify): Use it.
2431
2432 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
2433 selected window if it's not displayed there. Handle the case
2434 when the window is dedicated.
2435 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
2436
2437 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
2438
2439 * syntax.h (struct gl_state_s): Change the meaning of b_property.
2440 Remove left_ok and right_ok.
2441 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
2442 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
2443 new meaning of b_property.
2444
2445 * syntax.c (update_syntax_table): Simplify.
2446 (Fforward_comment): Don't skip quoted chars when going backward.
2447
2448 2001-10-11 Gerd Moellmann <gerd@gnu.org>
2449
2450 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
2451 in case I is of some unsigned type, in which case
2452 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
2453 comparison becomes bogus.
2454
2455 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
2456 (Fuser_full_name): Fix bug treating a float as a fixnum.
2457
2458 * data.c (Fstring_to_number): Use make_fixnum_or_float.
2459
2460 * lisp.h (make_fixnum_or_float): New macro.
2461
2462 * lisp.h (circular_list_error): Add prototype.
2463
2464 * data.c (Qcircular_list): New variable.
2465 (circular_list_error): New function.
2466 (syms_of_data): Initialize it Qcircular_list.
2467
2468 2001-10-10 Stefan Monnier <monnier@cs.yale.edu>
2469
2470 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
2471 casefiddle.c, buffer.c: Include keymap.h.
2472
2473 2001-10-10 Gerd Moellmann <gerd@gnu.org>
2474
2475 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
2476 options. From Dave Love <d.love@dl.ac.uk>.
2477
2478 2001-10-09 Gerd Moellmann <gerd@gnu.org>
2479
2480 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
2481 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2482
2483 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
2484 unsigned char.
2485 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
2486
2487 2001-10-08 Andrew Innes <andrewi@gnu.org>
2488
2489 * lisp.h [max]: Undef min and max before redefining them.
2490
2491 * w32gui.h: Do not undef min and max.
2492
2493 * w32heap.h: Do not undef min and max.
2494
2495 * s/ms-w32.h: Do not undef min and max.
2496
2497 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2498
2499 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
2500
2501 2001-10-08 Sam Steingold <sds@gnu.org>
2502
2503 * keymap.c (current-active-maps): Quote newlines (compilation error).
2504
2505 2001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2506
2507 * Makefile.in (lisp, shortlisp): Replace bindings.el with
2508 bindings.elc, since otherwise doc strings in bindings.el get wrong
2509 offsets in etc/DOC.
2510
2511 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
2512
2513 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
2514
2515 * keyboard.h (map_prompt): Remove.
2516
2517 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
2518 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
2519
2520 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2521
2522 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
2523
2524 * keyboard.c (map_prompt): Remove.
2525 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
2526 Use Fkeymap_prompt.
2527
2528 * keymap.h: New file. Extracted from lisp.h.
2529
2530 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
2531 (accessible_keymaps_1): New function.
2532 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
2533 (Fwhere_is_internal): Use Fcurrent_active_maps.
2534 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
2535 Insert in current buffer rather than standard-output.
2536 Don't call `help-mode'. Export to elisp.
2537 (describe_buffer_bindings): New wrapper.
2538 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
2539 and Sdescribe_buffer_bindings.
2540
2541 2001-10-08 Gerd Moellmann <gerd@gnu.org>
2542
2543 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
2544 Remove code setting signal handler.
2545
2546 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
2547 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
2548
2549 2001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2550
2551 * keyboard.c: Don't define min/max.
2552
2553 2001-10-08 Gerd Moellmann <gerd@gnu.org>
2554
2555 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
2556 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
2557 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
2558 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
2559 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
2560 Don't define min/max.
2561
2562 * lisp.h (min, max): New macros.
2563
2564 * puresize.h (BASE_PURESIZE): Increase to 725000.
2565
2566 2001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2567
2568 * xfaces.c (free_frame_menubar): Add prototype.
2569
2570 * lisp.h (init_window): Add prototype.
2571
2572 * editfns.c: Include ctype.h.
2573
2574 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
2575 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
2576 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
2577 variable `sb'.
2578
2579 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
2580 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
2581 `popup_activated_flag' and `title'.
2582
2583 * doc.c (Fdocumentation_property): Fix typo in a doc string.
2584
2585 * emacs.c (main): Remove extra `;'.
2586
2587 * atimer.h (struct atimer): Fix typos in a comment.
2588
2589 * atimer.c: Fix typo.
2590
2591 * Makefile.in: Fix typo.
2592
2593 * README: Remove obsolete part mentioning removed VMS file.
2594
2595 2001-10-07 Miles Bader <miles@gnu.org>
2596
2597 * Makefile.in (lisp, shortlisp): Add `button.elc'.
2598
2599 2001-10-07 Ken Raeburn <raeburn@gnu.org>
2600
2601 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
2602 Lisp_Object.
2603
2604 * lisp.h (Ffield_end): Declare.
2605
2606 2001-10-07 Gerd Moellmann <gerd@gnu.org>
2607
2608 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
2609
2610 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
2611
2612 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
2613
2614 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
2615
2616 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
2617 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
2618
2619 * alloc.c (inhibit_garbage_collection): Simplify.
2620 (Fmemory_use_counts): Ditto.
2621
2622 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
2623 (syms_of_data): DEFVAR_INT most-positive-fixnum and
2624 most-negative-fixnum.
2625
2626 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
2627 (FIXNUM_OVERFLOW_P): New macros.
2628
2629 2001-10-06 Miles Bader <miles@gnu.org>
2630
2631 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
2632 scroll_bar_bottom_shadow_pixel fields.
2633 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
2634 for the shadows, and tell the toolkit about them if we succeed.
2635 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
2636 Free scroll-bar shadow colors.
2637 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
2638 Free scroll-bar shadow colors when the background color changes.
2639 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
2640 Initialize scroll-bar shadow-color fields.
2641
2642 2001-10-05 Gerd Moellmann <gerd@gnu.org>
2643
2644 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
2645
2646 2001-10-05 Miles Bader <miles@gnu.org>
2647
2648 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
2649 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
2650 New functions (were in simple.el).
2651 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
2652 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
2653 (syms_of_minibuf): Initialize them.
2654
2655 2001-10-05 Gerd Moellmann <gerd@gnu.org>
2656
2657 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
2658 (tiff_load): Install them as error and warning handler.
2659
2660 2001-10-04 Andrew Innes <andrewi@gnu.org>
2661
2662 * w32fns.c (x_to_w32_color): Fix argument to alloca.
2663 (w32_load_system_font): Don't believe what GetLanguageFontInfo
2664 says; query codepage info directly to determine if font is double byte.
2665 (x_to_w32_charset): Handle private format for unknown charsets.
2666 Handle wildcards in charset spec, by ignoring them.
2667 (w32_codepage_for_font): Fix argument to alloca. Don't remove
2668 "*-" prefix from charset.
2669 (x_to_w32_font): Enlarge remainder array for safety. Specifically
2670 handle the truncated font spec form constructed by font_list_1, so
2671 that we correctly identify the charset fields. Don't remove "*-"
2672 prefix from charset.
2673 (w32_list_synthesized_fonts): Fix argument to alloca.
2674
2675 2001-10-04 Stefan Monnier <monnier@cs.yale.edu>
2676
2677 * window.h (MINI_WINDOW_P): Use NILP.
2678
2679 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
2680
2681 * termhooks.h (struct input_event): Use proper type for `kind'.
2682
2683 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2684
2685 This handles unknown keysyms better than before. For example,
2686 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
2687 Emacs formerly completely ignored F5. With the change, it derives
2688 a key symbol from the name of the X keysym, `ccaron' in this case.
2689 Reported by Martin Buchholz.
2690
2691 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
2692 unknown keysyms.
2693
2694 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
2695 that EVENT->code isn't a function key, use the keysym's name.
2696
2697 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2698
2699 FOREACH is a macro that should make it easier to loop over Lisp
2700 lists with checks for cycles and proper lists.
2701
2702 * lisp.h (LIST_END_P, FOREACH): New macros.
2703
2704 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2705
2706 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
2707 called for a lost connection. Prevent dumping core in this case.
2708 Instead print the X error, and exit. On user request.
2709
2710 * xterm.c (error_msg): New variable.
2711 (x_fatal_error_signal): New function.
2712 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
2713 as fatal_error_signal_hook around the call to XtCloseDisplay.
2714
2715 * emacs.c (fatal_error_signal_hook): New variable.
2716 (fatal_error_signal): Call that function.
2717
2718 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2719
2720 With this, Emacs prints how much pure storage it will
2721 approximately need in case pure storage overflows while dumping.
2722
2723 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
2724 New variables.
2725 (init_alloc_once): Initialize new variables.
2726 (PURE_POINTER_P): Use new variables.
2727 (pure_alloc): If pure storage overflows, allocate from the heap.
2728 (check_pure_size): New function.
2729 (Fgarbage_collect): Don't GC if pure storage has overflowed.
2730
2731 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
2732 (check_pure_size): Add prototype.
2733
2734 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
2735
2736 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2737
2738 This adds a post-gc-hook that's run with GC inhibited.
2739 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
2740
2741 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
2742 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
2743 (Fgarbage_collect): Run post-gc-hook.
2744
2745 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2746
2747 This adds `defvaralias' and `indirect-variable'. Changes not
2748 directly related to this feature are there to gain the same
2749 performance again as before variable aliases.
2750
2751 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2752 code to get and set symbol values, to take defvaralias into account.
2753
2754 (Note: the new `constant' bit-flag in symbols would make it
2755 possible to define arbitrary read-only variables, e.g. with
2756 `defconst'.)
2757
2758 Documentation is in lispref/variables.texi. Added to NEWS.
2759
2760 * lisp.h (enum symbol_interned): New enumeration.
2761 (struct Lisp_Symbol): Remove member `obarray', add
2762 `indirect_variable', `constant', and `interned'.
2763 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2764 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2765 (indirect_variable): Add prototype.
2766
2767 * print.c (print_preprocess, print_object): Test internedness of
2768 symbols differently.
2769
2770 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2771 bit-fields.
2772 (init_obarray): Likewise for t and nil.
2773
2774 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2775 (Fdefvaralias): New function.
2776 (specbind): Simplify the test if symbol is a constant.
2777 (syms_of_eval): Defsubr Fdefvaralias.
2778
2779 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2780 (Qcyclic_variable_indirection): New variable.
2781 (Fkeywordp): Check for internedness differently.
2782 (Fmakunbound): Simplify the test if symbol is a constant.
2783 (indirect_variable, Findirect_variable): New functions.
2784 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2785 aliased symbol.
2786 (let_shadows_buffer_binding_p): Check for variable aliases.
2787 (set_internal): Simplify the test if SYMBOL is a constant.
2788 If SYMBOL has a buffer-local value and is an alias, use the aliased
2789 symbol instead.
2790 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2791 Sindirect_variable.
2792
2793 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2794 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2795 set directly.
2796
2797 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2798
2799 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2800 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2801 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2802
2803 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2804
2805 * Branch for 21.1.
2806
2807 2001-10-03 Miles Bader <miles@gnu.org>
2808
2809 * callproc.c (syms_of_callproc): Explicitly state in the
2810 documentation for `process-environment' that earlier entries take
2811 precedence over later ones.
2812
2813 2001-10-02 Miles Bader <miles@gnu.org>
2814
2815 * textprop.c (Fnext_char_property_change)
2816 (Fprevious_char_property_change): Remove reference to non-existant
2817 argument OBJECT from doc-string.
2818
2819 2001-10-01 Gerd Moellmann <gerd@gnu.org>
2820
2821 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2822 (try_window_id): Skip back over lines ending in a newline from a
2823 string.
2824
2825 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2826 New bit flag
2827
2828 2001-10-01 Richard M. Stallman <rms@gnu.org>
2829
2830 * search.c (Freplace_match): Doc fix.
2831
2832 2001-09-28 Andrew Innes <andrewi@gnu.org>
2833
2834 * w32menu.c (set_frame_menubar): Take into account that
2835 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2836 <raeburn@gnu.org>.
2837
2838 2001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2839
2840 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2841
2842 2001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2843
2844 * s/gnu-linux.h: Fix a typo in comment.
2845
2846 2001-09-28 Andreas Schwab <schwab@suse.de>
2847
2848 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2849 nocombreloc, in case -z combreloc is the default.
2850
2851 2001-09-28 Gerd Moellmann <gerd@gnu.org>
2852
2853 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2854 really going on here.
2855
2856 2001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2857
2858 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2859
2860 2001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2861
2862 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2863 utf-8, menu-bar, and latin-N.
2864 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2865 unconditionally now.
2866 (lisp): Add latin-N, since they are preloaded.
2867
2868 2001-09-27 Gerd Moellmann <gerd@gnu.org>
2869
2870 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2871 to the left. Some cleanup.
2872
2873 * xdisp.c (display_mode_element): One more case where a string's
2874 multibyteness should be used for display.
2875
2876 2001-09-26 Gerd Moellmann <gerd@gnu.org>
2877
2878 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2879 reading at EOF.
2880
2881 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
2882 of the only temporarily set echoing flag for deciding when
2883 the cancel echoing.
2884
2885 * keyboard.c (echo_kboard): Make externally visible.
2886
2887 * lisp.h (echo_kboard): Declare extern.
2888
2889 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
2890 fonts_changed_p if we need larger matrices due to vscrolling.
2891 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2892 this round of redisplay if make_cursor_line_fully_visible fails.
2893 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
2894 (try_cursor_movement, try_scrolling): Use them instead of integers.
2895
2896 * dispextern.h (required_matrix_width, required_matrix_height):
2897 Add prototypes.
2898
2899 * dispnew.c (required_matrix_width, required_matrix_height):
2900 New functions.
2901 (allocate_matrices_for_window_redisplay)
2902 (allocate_matrices_for_frame_redisplay: Use them.
2903 Remove parameters CH_DIM.
2904
2905 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2906 and selected_window to the frame of the window whose mode-lines
2907 are displayed, and to the window itself.
2908 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
2909 here.
2910
2911 2001-09-25 Gerd Moellmann <gerd@gnu.org>
2912
2913 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2914 the image cache under us.
2915
2916 * xdisp.c (display_mode_element): If the mode element is a symbol
2917 with a string value, use that string's multibyteness for displaying.
2918
2919 * keyboard.c (read_char): Don't clear a message for a switch-frame
2920 event. From Stefan Monnier <monnier@cs.yale.edu>.
2921
2922 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2923 version for after 21.1.
2924
2925 * xdisp.c (row_containing_pos): Make externally visible.
2926
2927 * dispextern.h (row_containing_pos): Add prototype.
2928
2929 * process.c (send_process): Disable composition if from_byte < 0.
2930 From Kenichi Handa <handa@etl.go.jp>.
2931
2932 2001-09-24 Gerd Moellmann <gerd@gnu.org>
2933
2934 * xterm.c (refreshicon): Function removed.
2935
2936 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2937
2938 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2939
2940 * xterm.c (toplevel): Remove includes in #if 0.
2941
2942 * process.c (sigchld_handler) [LINUX]: Don't return from
2943 the signal handler at the end of the loop.
2944
2945 2001-09-21 Gerd Moellmann <gerd@gnu.org>
2946
2947 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2948 Terminate only if kill returns -1, and errno is ESRCH.
2949
2950 2001-09-21 Markus Rost <rost@math.ohio-state.edu>
2951
2952 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2953
2954 2001-09-20 Gerd Moellmann <gerd@gnu.org>
2955
2956 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2957 since this function can be called during GC.
2958
2959 * callproc.c (Fcall_process): Handle errors from pipe(2).
2960 (child_setup): Delete code in #ifdef vipc.
2961
2962 2001-09-19 Gerd Moellmann <gerd@gnu.org>
2963
2964 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2965 (display_mode_element): Display the string from decode_mode_spec
2966 depending on its multibyteness.
2967
2968 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2969
2970 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2971
2972 2001-09-18 Gerd Moellmann <gerd@gnu.org>
2973
2974 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2975 recursive_edit_unwind.
2976 (recursive_edit_unwind): Set kboard state according to
2977 SINGLE-KBOARD.
2978
2979 * buffer.c (modify_overlay): Don't do nothing if START == END;
2980 This can still be a modification, for example when an overlay has
2981 a before-string or after-string.
2982 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2983 an overlay with before-string or after-string.
2984
2985 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2986 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2987
2988 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2989 first_unchanged_at_end_row is in front of
2990 last_unchanged_at_beg_row. This code should be removed after the
2991 release of 21.1.
2992
2993 2001-09-17 Gerd Moellmann <gerd@gnu.org>
2994
2995 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2996 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2997
2998 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2999 versions >= 2.95.
3000
3001 2001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
3002
3003 * dired.c (Ffile_attributes): Doc fix.
3004
3005 2001-09-14 Gerd Moellmann <gerd@gnu.org>
3006
3007 * fileio.c (Ffile_symlink_p): Fix last change.
3008
3009 * filelock.c (current_lock_owner): Fix last change.
3010
3011 2001-09-13 Gerd Moellmann <gerd@gnu.org>
3012
3013 * filelock.c (current_lock_owner): If readlink returns ERANGE,
3014 take that to mean that the buffer is too small.
3015
3016 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
3017 that to mean that the buffer is too small.
3018
3019 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
3020 current buffer's multibyteness when discarding the iterator's
3021 stack.
3022
3023 * xfns.c (Fx_window_property): Handle case that property gets
3024 deleted between the two calls to XGetWindowProperty.
3025
3026 2001-09-11 Gerd Moellmann <gerd@gnu.org>
3027
3028 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
3029
3030 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
3031 in addition to read-only.
3032
3033 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
3034 to t in addition to read-only.
3035
3036 * lisp.h (Qinhibit_modification_hooks): Declare.
3037
3038 * insdel.c (Qinhibit_modification_hooks): New variable.
3039 (syms_of_insdel): Initialize and staticpro it.
3040
3041 * textprop.c (verify_interval_modification): Don't run
3042 modification-hooks if inhibit_modification_hooks.
3043
3044 * dispnew.c (set_window_cursor_after_update): Fix code
3045 finding glyph row containing cursor when cursor_in_echo_area
3046 is >= 0.
3047
3048 * xdisp.c (init_from_display_pos): Put some code in #if 0.
3049 (add_to_log): Use bcopy instead of strcpy.
3050 (init_from_display_pos): Use an explicit loop over bytes in
3051 overlay strings instead of calling index.
3052
3053 2001-09-10 Gerd Moellmann <gerd@gnu.org>
3054
3055 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
3056
3057 * dispnew.c (direct_output_for_insert): Don't change IT's
3058 stop_charpos to something in front of its current position.
3059
3060 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
3061 `format'.
3062
3063 2001-09-10 Richard M. Stallman <rms@gnu.org>
3064
3065 * frame.c (Fmouse_position): Doc fix.
3066
3067 2001-09-07 Gerd Moellmann <gerd@gnu.org>
3068
3069 * xdisp.c (init_from_display_pos): Don't compare the result
3070 of calling index with NULL.
3071
3072 2001-09-06 Gerd Moellmann <gerd@gnu.org>
3073
3074 * xfns.c (x_set_background_color): Don't change the colors
3075 of the X window of scroll bar widgets.
3076
3077 2001-09-05 Andrew Innes <andrewi@gnu.org>
3078
3079 * w32fns.c (w32_createwindow): Undo last change.
3080
3081 2001-09-05 Gerd Moellmann <gerd@gnu.org>
3082
3083 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
3084
3085 * xdisp.c (string_buffer_position): Use *single_char_property*
3086 functions instead of the *single_property* functions.
3087
3088 2001-09-04 Andrew Innes <andrewi@gnu.org>
3089
3090 * w32term.c (w32_read_socket): Add more information to debugging
3091 output.
3092
3093 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
3094 from Emacs frames, so that calls to GetClipBox in w32term.c
3095 correctly report when part of a frame is visible (including
3096 scrollbars, etc). This prevents repeated redrawing of frames when
3097 only a scrollbar is visible.
3098 (w32_wnd_proc): Add more frame information to debugging output.
3099
3100 2001-09-03 Stefan Monnier <monnier@cs.yale.edu>
3101
3102 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
3103
3104 2001-09-03 Gerd Moellmann <gerd@gnu.org>
3105
3106 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
3107 help-echo for a string which doesn't have help-echo itself, use
3108 get-char-property to obtain the help-echo from the string's buffer
3109 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
3110 have mouse-face, look ``under'' the string for mouse-face from an
3111 overlay.
3112 (fast_find_position): Add parameter STOP. In the final row, stop
3113 before glyphs having STOP as object. Don't consider glyphs that
3114 are not from a buffer.
3115
3116 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
3117
3118 2001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
3119
3120 * fns.c (Fmd5): Doc fix.
3121
3122 2001-08-31 Gerd Moellmann <gerd@gnu.org>
3123
3124 * composite.c (update_compositions): Do nothing if
3125 inhibit-modification-hooks is set.
3126
3127 2001-08-30 Gerd Moellmann <gerd@gnu.org>
3128
3129 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
3130 and check_message_stack if terminating abnormally. We want
3131 glyph matrices etc. in a core dump.
3132
3133 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
3134 (syms_of_xdisp): Initialize them.
3135 (handle_single_display_prop): Don't change point, bind `object',
3136 `position', and `buffer-position' instead to the object having the
3137 `display' property, position in the object and position in the buffer.
3138
3139 * fileio.c (Finsert_file_contents): Don't change the multibyteness
3140 of the buffer if REPLACE is non-nil.
3141
3142 2001-08-29 Gerd Moellmann <gerd@gnu.org>
3143
3144 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
3145
3146 2001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
3147
3148 * w32term.c (x_set_glyph_string_background_width)
3149 (show_mouse_face): Track the last changes in xterm.c.
3150
3151 2001-08-28 Gerd Moellmann <gerd@gnu.org>
3152
3153 * xterm.c (x_set_glyph_string_background_width): Set the glyph
3154 string's background width so that multi-line mouse-face is drawn
3155 to the right edge of the window.
3156 (show_mouse_face): Set the row's mouse_face_p flag after drawing
3157 glyphs.
3158
3159 * dispnew.c (direct_output_for_insert): Set updated_area
3160 before inserting/writing glyphs.
3161
3162 * xdisp.c (display_mode_element): Use string_byte_to_char to
3163 determine character positions in strings, use chars_in_text
3164 instead of strwidth.
3165 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
3166 a matrix as parameter; this is easier to use from GDB.
3167
3168 2001-08-28 Miles Bader <miles@gnu.org>
3169
3170 * textprop.c (Fprevious_single_char_property_change)
3171 (Fnext_single_char_property_change): Doc fixes.
3172
3173 2001-08-27 Gerd Moellmann <gerd@gnu.org>
3174
3175 * fileio.c (Finsert_file_contents): Allocate, restore, and
3176 free composition data in the case of REPLACE not being nil.
3177
3178 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
3179 there exist overlay strings with newlines at POS.
3180 (text_outside_line_unchanged_p): Return 0 if changes start at
3181 START and overlays exist at START. Likewise for END.
3182 (try_window_id): Give up if init_to_row_end returns 0.
3183
3184 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
3185 unconditionally.
3186
3187 2001-08-24 Gerd Moellmann <gerd@gnu.org>
3188
3189 * keymap.c (access_keymap): Return the cdr of the binding of
3190 a generic character instead of its definition (KEY . BINDING).
3191
3192 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
3193 to 0 also in the REPLACE case.
3194
3195 2001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
3196
3197 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
3198 open to determine whether file is readable (as for DOS_NT).
3199
3200 2001-08-23 Gerd Moellmann <gerd@gnu.org>
3201
3202 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
3203 coding.type is coding_type_no_conversion or coding_type_raw_text,
3204 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
3205 non-nil instead of just setting enable_multibyte_characters in the
3206 buffer to nil.
3207
3208 2001-08-22 Gerd Moellmann <gerd@gnu.org>
3209
3210 * dispextern.h (struct face_cache): Add member
3211 menu_face_changed_p.
3212
3213 * xfaces.c (menu_face_changed_default): New variable.
3214 (menu_face_changed_count): Variable removed.
3215 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
3216 the menu_face_changed_default flag, otherwise set the FRAME's
3217 menu_face_changed_p flag if the `menu' face has been changed.
3218 Prevent calling set_font_frame_param if FRAME is t.
3219 (make_face_cache): Initialize cache's menu_face_changed_p
3220 from menu_face_changed_default.
3221 (realize_basic_faces): Look into the frame's face cache to
3222 determine if the menu appearance needs updating.
3223
3224 * keymap.c (access_keymap): Fix last change to not consider
3225 IDX when it has modifiers.
3226
3227 2001-08-21 Gerd Moellmann <gerd@gnu.org>
3228
3229 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
3230 . BINDING) exists, where GENERIC-CHAR is the generic character of
3231 the charset of IDX, return BINDING unless there exists a binding
3232 for IDX itself.
3233
3234 2001-08-16 Gerd Moellmann <gerd@gnu.org>
3235
3236 * xrdb.c (SYSV): Don't define on Solaris 2.
3237 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
3238
3239 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
3240 of the screen line, not text line, containing IT's current position.
3241
3242 2001-08-15 Gerd Moellmann <gerd@gnu.org>
3243
3244 * window.c (window_scroll_pixel_based): Don't recenter if
3245 PT is partially visible in the window.
3246
3247 * xterm.c (expose_window_tree, expose_window, expose_line):
3248 Return 1 when overwriting mouse-face.
3249 (expose_frame): If mouse-face was overwritten, redo it.
3250
3251 * xfaces.c (x_update_menu_appearance): Don't call
3252 set_frame_menubar, let the next redisplay do it.
3253
3254 2001-08-14 Andrew Innes <andrewi@gnu.org>
3255
3256 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
3257 drawing glyph string.
3258
3259 2001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
3260
3261 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
3262 running HI-UX/MPP.
3263
3264 2001-08-14 Gerd Moellmann <gerd@gnu.org>
3265
3266 * xfaces.c (x_update_menu_appearance): Save and restore value of
3267 interrupt_input_blocked.
3268
3269 2001-08-13 Gerd Moellmann <gerd@gnu.org>
3270
3271 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
3272 a line start, move back to the line start.
3273
3274 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
3275 exactly when a mini-buffer is active.
3276
3277 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
3278 in units of 1/8 character on non window-system frames.
3279 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
3280
3281 2001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3282
3283 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
3284 a doc string.
3285
3286 2001-08-09 Gerd Moellmann <gerd@gnu.org>
3287
3288 * keyboard.c (Vpre_help_message): New variable.
3289 (syms_of_keyboard): Initialize and staticpro it.
3290 (show_help_echo): Record current message before displaying a
3291 help-echo, and restore that message when clearing the help.
3292
3293 * xfns.c (x_create_im): Remove prototype.
3294
3295 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
3296
3297 * dispnew.c (adjust_glyph_matrix): Undo last change.
3298
3299 2001-08-08 Gerd Moellmann <gerd@gnu.org>
3300
3301 * dispnew.c (adjust_glyph_matrix): In the optimization for
3302 windows whose height has changed, disable partially visible lines.
3303
3304 2001-08-07 Gerd Moellmann <gerd@gnu.org>
3305
3306 * window.c (Frecenter): If ARG < 0, and on a window system
3307 frame, count in some empty lines when we can't move -ARG lines down.
3308
3309 * xdisp.c (start_display): Don't try to determine the continuation
3310 lines width if lines are truncated. It's superfluous and leads to
3311 incorrect results if POS is not visible in the window after
3312 reseating the iterator at the previous line start.
3313
3314 2001-08-06 Gerd Moellmann <gerd@gnu.org>
3315
3316 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3317
3318 2001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
3319
3320 * alloc.c (init_stack): Remove declaration.
3321
3322 2001-08-03 Gerd Moellmann <gerd@gnu.org>
3323
3324 * keyboard.c (read_key_sequence): Check that key is an integer
3325 before comparing it with quit_char.
3326 (add_command_key): Use larger_vector.
3327 (read_char_x_menu_prompt): Instead of converting symbol and
3328 integer events into conses (EVENT . nil), use (EVENT . disabled)
3329 which cannot be confused with valid events.
3330 (read_char): When reading from Vunread_command_events, check for
3331 events of the form (EVENT . disabled) instead of
3332 (EVENT . nil).
3333
3334 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
3335 a float, determine the max height from the frame's height.
3336
3337 2001-08-02 Gerd Moellmann <gerd@gnu.org>
3338
3339 * xdisp.c (redisplay_internal): Take message_cleared_p into
3340 account only if minibuf_level == 0.
3341
3342 2001-08-01 Gerd Moellmann <gerd@gnu.org>
3343
3344 * xdisp.c (redisplay_internal): Add a check for the last
3345 displayed message.
3346
3347 * xdisp.c (message_cleared_p): New variable.
3348 (clear_message): Set message_cleared_p when clearing the current
3349 message.
3350 (redisplay_internal): Look at message_cleared_p to capture
3351 the case that the echo area should be cleared.
3352
3353 * keyboard.c (command_loop_1): Fix spelling of
3354 resize_echo_area_exactly.
3355
3356 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
3357
3358 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
3359
3360 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
3361 current matrix when the window gets smaller.
3362
3363 2001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
3364
3365 * print.c (strout): Cast the character passed to insert_char to
3366 unsigned char, to avoid sign extension when it is promoted to int.
3367
3368 2001-07-31 Gerd Moellmann <gerd@gnu.org>
3369
3370 * fileio.c (Finsert_file_contents): Don't treat a return value
3371 of 0 from emacs_read as an IO error.
3372
3373 2001-07-30 Gerd Moellmann <gerd@gnu.org>
3374
3375 * keyboard.c (abs): New macro.
3376 (double_click_fuzz): New variable.
3377 (make_lispy_event): Use it to determine what makes a double-click.
3378 (syms_of_keyboard): DEFVAR_INT it.
3379
3380 * xmenu.c (set_frame_menubar): Take into account that
3381 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
3382 <raeburn@gnu.org>.
3383
3384 2001-07-27 Gerd Moellmann <gerd@gnu.org>
3385
3386 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
3387
3388 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
3389 of row's visible height.
3390
3391 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3392 deal with the first overlay string having an image `display' property.
3393 (try_window_reusing_current_matrix, compute_line_metrics):
3394 Fix computation of row's visible height for the case that part of the
3395 row is invisible above and part of the row is at the same time
3396 invisible below the window.
3397
3398 2001-07-26 Gerd Moellmann <gerd@gnu.org>
3399
3400 * xfns.c (x-show-tip): Doc fix.
3401
3402 * xfns.c (Vx_max_tooltip_size): New variable.
3403 (syms_of_xfns): DEFVAR_LISP it.
3404 (Fx_show_tip): Set frame's window_width to the width of the
3405 window. Use a maximum tooltip size specified by
3406 Vx_max_tooltip_size, if that has valid contents.
3407 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3408
3409 2001-07-26 Andrew Innes <andrewi@gnu.org>
3410
3411 * w32term.c (x_display_list): New variable.
3412 (w32_term_init): Set it.
3413
3414 * w32term.h (x_display_list): New extern.
3415
3416 2001-07-26 Gerd Moellmann <gerd@gnu.org>
3417
3418 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3419 is non-nil, instead of when redisplaying_p is non-zero.
3420 See comment there.
3421 (mark_window_display_accurate_1): Add an assertion.
3422
3423 2001-07-25 Gerd Moellmann <gerd@gnu.org>
3424
3425 * dispextern.h (struct it): Increase size of ctl_chars to 16.
3426
3427 * xfns.c (Fx_file_dialog): Block/unblock input while processing
3428 events so that we get a chance of processing expose events.
3429
3430 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
3431
3432 2001-07-24 Gerd Moellmann <gerd@gnu.org>
3433
3434 * xfns.c (valid_image_p): Protect better against invalid image
3435 specifications. Previous code could signal an error.
3436
3437 2001-07-23 Gerd Moellmann <gerd@gnu.org>
3438
3439 * indent.c (current_column): Fix column computation in the
3440 presence of display table entries.
3441 (current_column_1, Fmove_to_column, compute_motion): Likewise.
3442
3443 * dispnew.c (adjust_glyph_matrix): In the optimization for
3444 windows whose height has changed, use the new window height
3445 to compute which rows to invalidate.
3446
3447 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
3448 (MAX_10_EXP): New macro.
3449 (Fformat): Use it.
3450
3451 * coding.c (code_convert_region): Handle the multibyte case if
3452 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
3453
3454 2001-07-20 Gerd Moellmann <gerd@gnu.org>
3455
3456 * dispextern.h (struct face): Change type of `stipple' to
3457 int; it's an ID.
3458
3459 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
3460
3461 2001-07-19 Gerd Moellmann <gerd@gnu.org>
3462
3463 * dispnew.c (update_window): Don't set the cursor at the end
3464 of the update if display update has been paused.
3465
3466 * composite.h (syms_of_composite): Renamed from syms_of_composition.
3467
3468 2001-07-18 Ken Raeburn <raeburn@gnu.org>
3469
3470 * fns.c (Fset_char_table_default): Check that a charset is defined
3471 before checking its dimension.
3472
3473 2001-07-17 Ken Raeburn <raeburn@gnu.org>
3474
3475 * coding.c (setup_coding_system): Don't do any designation based
3476 on reg_bits if charset is not yet defined.
3477
3478 * lisp.h (XVECTOR): Verify correct object type before returning a
3479 pointer, using eassert.
3480
3481 2001-07-17 Gerd Moellmann <gerd@gnu.org>
3482
3483 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
3484 Increase to 4096 because of paste problems reported on GNU/Linux.
3485
3486 2001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
3487
3488 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
3489
3490 2001-07-16 Gerd Moellmann <gerd@gnu.org>
3491
3492 * fileio.c (unwind_read): Function removed.
3493 (read_non_regular, read_non_regular_quit): New functions.
3494 (Finsert_file_contents): When reading from non-regular files,
3495 arrange to catch a `quit' and terminate the loop. Rearrange
3496 code so that a `quit' when reading from a regular file doesn't
3497 insert text in the buffer.
3498
3499 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
3500 Clear faces afterwards.
3501 (clear_font_table): Take a x_display_info parameter. Don't free
3502 fonts being the default font of any frame on the given display.
3503
3504 2001-07-13 Gerd Moellmann <gerd@gnu.org>
3505
3506 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
3507 instead of CHAR_STRING which can signal an error.
3508
3509 * charset.c (char_to_string_1): Extracted from char_to_string.
3510 Return -1 instead of signaling an error.
3511 (char_to_string): Use it.
3512
3513 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
3514
3515 2001-07-12 Stefan Monnier <monnier@cs.yale.edu>
3516
3517 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
3518 is t, don't try to append anything to it.
3519
3520 2001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
3521
3522 * dired.c (file_name_completion): Pass dp->d_name to
3523 Fstring_match, not elt, which is always nil here.
3524
3525 2001-07-12 Gerd Moellmann <gerd@gnu.org>
3526
3527 * xselect.c (x_decline_selection_request): Handle errors
3528 caused by receivers that have vanished.
3529
3530 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
3531 ignoring events on foreign windows in #if 0. Always dispatch
3532 the event after checking it with x_handle_property_notify.
3533
3534 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
3535 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
3536 TRACE macros to facilitate debugging. Add additional trace statements.
3537 (toplevel): Add prototypes for file-local functions.
3538 (x_atom_to_symbol): Remove DPYINFO parameter.
3539
3540 2001-07-11 Stefan Monnier <monnier@cs.yale.edu>
3541
3542 * w32menu.c (menubar_selection_callback, w32_menu_show):
3543 Initialize `entry' to nil.
3544 (w32_dialog_show): Remove unused `save_wv' variable.
3545 (name_is_separator): Recognize "--:foo" and "--foo-bar".
3546
3547 2001-07-11 Gerd Moellmann <gerd@gnu.org>
3548
3549 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
3550
3551 * fileio.c (unwind_read): Print a message when discarding inserted
3552 text or switching the buffer to unibyte. Change parameter.
3553 (Finsert_file_contents): Don't pass VISIT to unwind_read.
3554
3555 * fileio.c (unwind_read): New function.
3556 (Finsert_file_contents): Record it as unwind-function for
3557 the case that reading is interrupted by C-g.
3558
3559 2001-07-10 Gerd Moellmann <gerd@gnu.org>
3560
3561 * dispnew.c (update_window): Don't skip the header-line
3562 update when scrolling_window returns 0.
3563
3564 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
3565
3566 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
3567 for the case that x_decode_color signals an error.
3568
3569 * xdisp.c (add_to_log): Do nothing if called asynchronously.
3570
3571 2001-07-09 Gerd Moellmann <gerd@gnu.org>
3572
3573 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
3574 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
3575 around ioctls.
3576
3577 2001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
3578
3579 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
3580 doc string line for dos-timezone-offset.
3581
3582 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
3583 inline assembly, to avoid compiler warnings.
3584 (syms_of_msdos): Add \n\ at the end of a line in the doc string
3585 line for dos-unsupported-char-glyph.
3586
3587 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
3588
3589 2001-07-05 Gerd Moellmann <gerd@gnu.org>
3590
3591 * sound.c: Include Emacs' header files with #include "...".
3592
3593 * eval.c (specbind): Additionally record the buffer that was
3594 current when a buffer-local or frame-local variable was bound.
3595
3596 2001-07-04 Gerd Moellmann <gerd@gnu.org>
3597
3598 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
3599 to unibyte characters in unibyte buffers.
3600
3601 2001-07-03 Gerd Moellmann <gerd@gnu.org>
3602
3603 * eval.c (specbind): If SYMBOL has a frame-local binding, record
3604 the frame on the binding stack. Change format of entries for
3605 local bindings on the binding stack to '(SYMBOL . WHERE)'.
3606 (unbind_to): Handle unbinding a frame-local variable.
3607
3608 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
3609 glyphs and truncation glyphs at the end of a row from its pixel width.
3610 (dump_glyph_row): Print row's continuation_lines_width.
3611 (try_window_id): Take the shortcut if ZV is visible in the
3612 window, but there are actually no changes at ZV.
3613
3614 2001-07-02 Gerd Moellmann <gerd@gnu.org>
3615
3616 * xterm.h (x_free_dpy_colors): Add prototype.
3617
3618 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
3619 right number of arguments.
3620
3621 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
3622 ($(lwlibdir)TAGS): New target.
3623 (TAGS): Fix dependency list.
3624
3625 * xterm.c (x_list_fonts): Make sure XFreeFont is called
3626 with input blocked.
3627
3628 2001-06-30 Gerd Moellmann <gerd@gnu.org>
3629
3630 * emacs.c (main): Remove extern declaration for sys_nerr, which
3631 isn't used and causes a compilation error with GCC 3.0 on
3632 FreeBSD 4.3.
3633
3634 2001-06-27 Gerd Moellmann <gerd@gnu.org>
3635
3636 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3637 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
3638 (toplevel): Include <signal.h> and syssignal.h.
3639
3640 * sound.c (vox_configure, vox_close): Turn off atimers
3641 around ioctls.
3642
3643 2001-06-26 Gerd Moellmann <gerd@gnu.org>
3644
3645 * keyboard.c (read_char) <non_reread>: Record the previous idle
3646 start time before calling timer_stop_idle.
3647 (read_char) <reread_first>: After processing a help-echo event,
3648 restore the previous idle start time.
3649
3650 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
3651 the start of invisible text.
3652 (setup_for_ellipsis): New function.
3653 (next_overlay_string): After all overlay strings have been
3654 processed, display an ellipsis if necessary.
3655 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
3656 (push_it): Initialize display_ellipsis_p on the iterator's stack.
3657
3658 * dispextern.h (struct iterator_stack_entry): Add member
3659 display_ellipsis_p.
3660
3661 2001-06-25 Gerd Moellmann <gerd@gnu.org>
3662
3663 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
3664 on the value of the wait-for-wm frame parameter.
3665
3666 * xterm.h (struct x_output): Add member wait_for_wm.
3667
3668 * xfns.c (Qwait_for_wm): New variable.
3669 (x_frame_parms): Add entry for `wait-for-wm".
3670 (x_set_wait_for_wm): New function.
3671 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
3672 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
3673
3674 * xdisp.c (try_window_id) <all changes below window end>: Don't
3675 take this shortcut if ZV is visible in the window.
3676 (try_window_id): When checking for window start being in changed
3677 text, don't check that the buffer's size has changed.
3678
3679 2001-06-23 Richard M. Stallman <rms@gnu.org>
3680
3681 * minibuf.c (Fcompleting_read): Doc fix.
3682
3683 2001-06-19 Gerd Moellmann <gerd@gnu.org>
3684
3685 * composite.c (Ffind_composition_internal): Accept ZV
3686 and a string's end position as POS.
3687
3688 2001-06-18 Gerd Moellmann <gerd@gnu.org>
3689
3690 * composite.c (Ffind_composition_internal): Check POS
3691 for validity.
3692
3693 2001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
3694
3695 * editfns.c (Fmessage_box): If the frame is not under a window
3696 system, output the message in the echo area.
3697
3698 2001-06-14 Richard M. Stallman <rms@gnu.org>
3699
3700 * xdisp.c (try_window_id): When EOB is visible, don't treat
3701 insertion at EOB as if it were "off the bottom of the screen."
3702
3703 2001-06-11 Andrew Innes <andrewi@gnu.org>
3704
3705 * w32proc.c (create_child): Add new parameter is_gui_app.
3706 (w32_executable_type): Add new parameter is_gui_app.
3707 (sys_spawnve): Use it.
3708 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
3709 SIGQUIT. This matches better how the signals are interpreted by
3710 MSVC compiled programs.
3711 (syms_of_ntproc): Update docstring.
3712
3713 2001-06-02 Stefan Monnier <monnier@cs.yale.edu>
3714
3715 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
3716 well otherwise note_mouse_highlight might optimize away highlighting
3717 if we pass over that same overlay again.
3718
3719 2001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
3720
3721 * lread.c (Fload): Document that the argument is run via
3722 substitute-in-file-name.
3723
3724 2001-05-31 Gerd Moellmann <gerd@gnu.org>
3725
3726 * Makefile.in (bootstrap-doc): New target.
3727 (bootstrap-emacs): Depend on it.
3728
3729 * fileio.c (Fdo_auto_save): Don't try to create the directory of
3730 auto-save-list-file-name when shutting down Emacs, because
3731 creating the directory might signal an error, and leaves
3732 Emacs in a strange state.
3733
3734 * term.c: (tty_cursor_hidden): New variable.
3735 (update_begin): Don't call tty_hide_cursor. Clean up.
3736 (update_end, set_terminal_window, set_scroll_region): Clean up.
3737 (ring_bell, reset_terminal_modes): Clean up.
3738 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
3739 on tty_cursor_hidden.
3740 (write_glyphs): Call tty_hide_cursor.
3741
3742 2001-05-30 Stefan Monnier <monnier@cs.yale.edu>
3743
3744 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
3745
3746 2001-05-30 Gerd Moellmann <gerd@gnu.org>
3747
3748 * xfns.c (enum image_value_type): New enumerator
3749 IMAGE_STRING_OR_NIL_VALUE.
3750 (parse_image_spec): Handle it.
3751 (xbm_format, pbm_format): Use it for :foreground and :background.
3752 (xbm_load, pbm_load): Check for nil color names.
3753
3754 * xterm.c (note_mouse_highlight): If an overlapping overlay
3755 exists, but we find that we highlight the same overlay as before,
3756 don't do the highlighting again.
3757
3758 2001-05-29 Gerd Moellmann <gerd@gnu.org>
3759
3760 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3761 Protect unibyte strings created by replacing their multibyte
3762 equivalents in menu_items.
3763
3764 * keymap.c (Fsingle_key_description): NUL-terminate the string
3765 buffer before calling build_string.
3766
3767 * callproc.c (Fcall_process): Deal with decode_coding returning
3768 CODING_FINISH_INCONSISTENT_EOL.
3769
3770 2001-05-28 Gerd Moellmann <gerd@gnu.org>
3771
3772 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3773 an item's name with its key description in case the description
3774 is a multibyte string.
3775
3776 * keymap.c (Fsingle_key_description): Create a multibyte string
3777 only if necessary.
3778
3779 * macros.c (Fstart_kbd_macro): Doc fix.
3780
3781 * xterm.c (cursor_in_mouse_face_p): New function.
3782 (x_draw_stretch_glyph_string): Use it to choose a different GC
3783 when drawing a cursor within highlighted text.
3784
3785 * editfns.c (char_property_eq): Put in #if 0.
3786
3787 * indent.c (string_display_width): Put in #if 0.
3788
3789 * lread.c (Fload): Remove unused label.
3790
3791 * termcap.c (speeds): Put in #if 0.
3792
3793 2001-05-18 Gerd Moellmann <gerd@gnu.org>
3794
3795 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3796
3797 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3798 transformation matrix by 10.
3799
3800 2001-05-16 Gerd Moellmann <gerd@gnu.org>
3801
3802 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3803 only if it's equal to the former foreground pixel color.
3804 (x_set_foreground_color, x_set_background_color)
3805 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3806
3807 2001-05-16 Dave Love <fx@gnu.org>
3808
3809 * insdel.c (signal_before_change, signal_after_change): Consider a
3810 local change hook which changes the buffer.
3811
3812 * process.c (read_process_output): Don't call signal_after_change
3813 and update_compositions after insert_from_string_before_markers.
3814
3815 2001-05-16 Gerd Moellmann <gerd@gnu.org>
3816
3817 * xfaces.c (split_font_name): Use the right field when
3818 checking for `[...]' syntax.
3819
3820 * buffer.c (copy_overlays): New function.
3821 (clone_per_buffer_values): Use it.
3822
3823 * buffer.h (OVERLAY_PLIST): New macro.
3824
3825 * keymap.c (Fsingle_key_description): Replace a build_string with
3826 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3827
3828 * fontset.c (Ffontset_info): Check that face is non-null
3829 before accessing its fields.
3830
3831 2001-05-15 Gerd Moellmann <gerd@gnu.org>
3832
3833 * keyboard.c (read_key_sequence): Prevent generating a fake
3834 prefix key twice.
3835
3836 * xfaces.c (split_font_name): Handle `[...]' for the right
3837 font name fields.
3838
3839 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3840 of CCL_STAT_INVALID_CMD.
3841
3842 2001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3843
3844 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3845 in <var> has no default value yet.
3846
3847 * xfaces.c (try_alternative_families): First try the FAMILY.
3848 And if nothing is found in the end, try again with scalable fonts.
3849 (try_font_list): Let try_alternative_families do a bit more of
3850 the work. Only use FAMILY if it is not nil.
3851 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3852
3853 2001-05-14 Gerd Moellmann <gerd@gnu.org>
3854
3855 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3856 pointer shape when show_mouse_face has already done it.
3857
3858 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
3859 full-width rows.
3860
3861 * xfaces.c (split_font_name): Make sure to leave the loop
3862 with the right value of `i'.
3863
3864 * xfaces.c (split_font_name): Handle matrix transformations
3865 in the pixel and point size fields of XLFD font names.
3866 (xlfd_point_size): Likewise.
3867
3868 2001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3869
3870 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
3871 (x_to_w32_font): Add prototype.
3872
3873 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3874 redefining, to avoid compiler warnings.
3875
3876 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3877
3878 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3879 (w32_get_bdf_glyph): Cast between unsigned char and char when
3880 passing arguments to subroutines, to shut up compiler warnings.
3881 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3882 GET_HEX_VAL.
3883
3884 * xfaces.c: Include keyboard.h before frame.h, not after it.
3885
3886 * widget.c: Include keyboard.h before frame.h.
3887
3888 * w32term.h (struct image, struct face): Forward declaration, to
3889 avoid compiler warnings.
3890
3891 2001-05-11 Gerd Moellmann <gerd@gnu.org>
3892
3893 * keyboard.c (read_key_sequence): Don't modify events when
3894 generating fake prefix keys (mode-line, scroll-bar, ...) since
3895 this prevents proper processing of such events when pushed back
3896 into unread-command-events.
3897
3898 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3899 actually redrawn. Make the function static.
3900 (note_mouse_highlight): Fix a case where the mouse cursor
3901 was changed back to the text cursor.
3902
3903 * xterm.h (clear_mouse_face): Remove prototype.
3904
3905 * xdisp.c (try_window_id): Fix the fix and set the right
3906 window_end_vpos.
3907
3908 * xdisp.c (try_window_id): Fix computation of window end in the
3909 case that lines were deleted at the end of the window. Add some
3910 more debug_method_adds.
3911
3912 * xfaces.c (try_alternative_families): New function.
3913 (try_font_list): Use it. If ATTRS specifies a family, check
3914 fonts from that family first.
3915 (choose_face_font): Remove code setting the family part of
3916 the pattern to nil.
3917
3918 2001-05-10 Gerd Moellmann <gerd@gnu.org>
3919
3920 * xdisp.c (try_window_id): Fix case of all changes before
3921 the window start.
3922
3923 * xdisp.c (try_window_id): Add some xasserts.
3924
3925 2001-05-09 Gerd Moellmann <gerd@gnu.org>
3926
3927 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3928
3929 2001-05-09 Dave Love <fx@gnu.org>
3930
3931 * xdisp.c (GIVE_UP): Fix for K&R C.
3932
3933 2001-05-09 Gerd Moellmann <gerd@gnu.org>
3934
3935 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3936
3937 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3938 back to the text cursor shape without need.
3939
3940 2001-05-07 Gerd Moellmann <gerd@gnu.org>
3941
3942 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3943
3944 * dispextern.h (inverse_video): Declare extern.
3945
3946 * keyboard.c (delete_kboard): Handle the case that selected_frame
3947 has been deleted in the course of x_connection_closed.
3948
3949 2001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3950
3951 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3952 Fix the change from 2001-04-30.
3953
3954 2001-05-03 Gerd Moellmann <gerd@gnu.org>
3955
3956 * xfns.c (file_dialog_unmap_cb): New function.
3957 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3958 where a dialog is closed via the window manager.
3959
3960 * xdisp.c (try_window_id): Cases of changes all in front of
3961 the window start or all below the window end mostly rewritten.
3962 (redisplay_window): Move the tests if try_window_id is
3963 applicable to try_window_id.
3964 (GIVE_UP): New macro.
3965
3966 2001-05-02 Gerd Moellmann <gerd@gnu.org>
3967
3968 * xterm.c (expose_window): Return int. If W is the window
3969 currently being updated, mark the frame garbaged.
3970 Fix computation of rows intersecting the exposed rectangle.
3971 (expose_window_tree): Stop when expose_window returns 0.
3972
3973 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3974 again if it has already been drawn.
3975
3976 2001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3977
3978 * syntax.c (update_syntax_table): Check that oldi has the same
3979 properties as old_prop before deciding not to invalidate.
3980
3981 2001-04-30 Gerd Moellmann <gerd@gnu.org>
3982
3983 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3984 read-only text that is so because of text properties.
3985
3986 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
3987 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
3988 windows that are components of a Lucid menu bar.
3989
3990 2001-04-27 Gerd Moellmann <gerd@gnu.org>
3991
3992 * term.c (turn_on_face): Fix reverse video handling on terminals
3993 that don't support colors.
3994
3995 2001-04-26 Gerd Moellmann <gerd@gnu.org>
3996
3997 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3998 a non-buffer.
3999
4000 2001-04-25 Gerd Moellmann <gerd@gnu.org>
4001
4002 * term.c (toggle_highlight): New function.
4003 (turn_on_face): Change handling of reverse video.
4004
4005 * process.c (wait_reading_process_input):
4006 Call record_asynch_buffer_change only if a timer really changed buffers.
4007
4008 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
4009 of the number of overlays to check.
4010
4011 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
4012
4013 * xdisp.c (try_window_id): Fix a case where window_end_pos
4014 and window_end_bytepos were not adjusted.
4015
4016 2001-04-23 Gerd Moellmann <gerd@gnu.org>
4017
4018 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
4019 zero instead of -1.
4020
4021 2001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
4022
4023 * process.c (wait_reading_process_input) [!subprocesses]:
4024 Don't reference waiting_for_user_input_p, it's not defined in the
4025 branch without async subprocesses support.
4026
4027 2001-04-19 Gerd Moellmann <gerd@gnu.org>
4028
4029 * keyboard.c (delete_kboard): Prevent a dangling reference
4030 from current_kboard to KB, which is freed.
4031
4032 * process.c (wait_reading_process_input):
4033 Call record_asynch_buffer_change after running timers, to make
4034 read_key_sequence aware of buffer changes from under it.
4035
4036 2001-04-18 Gerd Moellmann <gerd@gnu.org>
4037
4038 * xfaces.c (Qscalable_fonts_allowed): New variable.
4039 (realizing_basic_faces_p): Removed.
4040 (x_face_list_fonts): Special handling for realizing_basic_faces_p
4041 removed.
4042 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
4043 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
4044 for scalable-fonts-allowed to t.
4045
4046 * fileio.c (Finsert_file_contents): If the file size returned from
4047 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
4048 read from files on a procfs whose contents are generated dynamically.
4049
4050 2001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
4051
4052 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
4053 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
4054 (__memalign_hook): Make the two prototypes consistent.
4055
4056 2001-04-17 Gerd Moellmann <gerd@gnu.org>
4057
4058 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
4059 matrix of mini-windows.
4060
4061 2001-04-12 Stefan Monnier <monnier@cs.yale.edu>
4062
4063 * intervals.c (find_interval): Don't rebalance during signal handling.
4064
4065 2001-04-11 Gerd Moellmann <gerd@gnu.org>
4066
4067 * fns.c: Include blockinput.h.
4068
4069 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
4070
4071 2001-04-10 Gerd Moellmann <gerd@gnu.org>
4072
4073 * fns.c (Fcompare_strings): Fix return values.
4074
4075 * window.c (window_scroll): Change the meaning of N to mean
4076 N screen-fulls or N lines.
4077 (window_scroll_pixel_based, window_scroll_line_based)
4078 (scroll_command, Fscroll_other_window): Change accordingly.
4079
4080 * window.c (window_scroll_pixel_based, Frecenter):
4081 Call window_box_height instead of using it.last_visible_y for the
4082 height of the window.
4083
4084 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
4085 instead of using it.last_visible_y for the height of the window.
4086
4087 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
4088 From Dan Holmsand <dan@eyebee.com>.
4089
4090 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
4091 able to write to hidden and system files. From Dan Holmsand
4092 <dan@eyebee.com>.
4093
4094 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
4095 Holmsand <dan@eyebee.com>.
4096
4097 2001-04-09 Gerd Moellmann <gerd@gnu.org>
4098
4099 * fns.c (Fplist_get, Fplist_put): Add QUITs.
4100
4101 * window.c (window_internal_height): Return 1 less if the
4102 window has a header line.
4103
4104 * xdisp.c (try_window_id): When scrolling on a terminal, take
4105 the change of window_internal_height into account.
4106
4107 2001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
4108
4109 * gmalloc.c (align): If the argument SIZE would overflow
4110 __malloc_ptrdiff_t, fail right away.
4111
4112 2001-04-06 Gerd Moellmann <gerd@gnu.org>
4113
4114 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
4115 Make sure the tooltip is completely visible.
4116 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
4117
4118 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
4119
4120 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
4121
4122 2001-04-06 Dave Love <fx@gnu.org>
4123
4124 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
4125 Fix test of `from'.
4126
4127 2001-04-06 Gerd Moellmann <gerd@gnu.org>
4128
4129 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
4130
4131 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
4132
4133 2001-04-05 Gerd Moellmann <gerd@gnu.org>
4134
4135 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
4136
4137 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
4138
4139 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
4140 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
4141
4142 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
4143 shell widget's position only if it is non-null.
4144
4145 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
4146 Set f->output_data.x->widget to null after destroying it.
4147
4148 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
4149 FILENAME to bring it in synch with the documentation.
4150
4151 * xfaces.c (realizing_basic_faces_p): Renamed from
4152 realize_default_face_p.
4153 (realize_basic_faces): Set/clear realizing_basic_faces_p.
4154 (realize_default_face): Don't set the flag.
4155
4156 2001-04-04 Gerd Moellmann <gerd@gnu.org>
4157
4158 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
4159
4160 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
4161
4162 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
4163 the buffer that was used for echoing.
4164
4165 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
4166 (first_font_matching): Removed unused function.
4167 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
4168 (may_use_scalable_font_p): Remove parameter FONT; rename
4169 parameter NAME to FONT.
4170 (x_face_list_fonts): Fix missing bounds check.
4171 (realizing_default_face_p): New variable.
4172 (realize_default_face): Set and clear that flag.
4173 (x_face_list_fonts): When called during the realization of the
4174 default face, and no matching fonts are found when ignoring
4175 scalable fonts and fonts matching a regexp from
4176 face-ignored-fonts, try without ignoring fonts.
4177
4178 2001-04-03 Gerd Moellmann <gerd@gnu.org>
4179
4180 * xfns.c (postprocess_image): New function.
4181 (lookup_image): Call it for all image types except PostScript.
4182 (x_kill_gs_process): Call postprocess_image.
4183
4184 * xterm.c (x_use_underline_position_properties): New variable.
4185 (x_draw_glyph_string): Use it.
4186 (syms_of_xterm): DEFVAR_BOOL it.
4187
4188 2001-04-02 Gerd Moellmann <gerd@gnu.org>
4189
4190 * xterm.c (x_alloc_nearest_color_1): New function.
4191 (x_alloc_nearest_color): Use it.
4192 (x_color_cells): Take a Display as argument, instead of a frame.
4193 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
4194 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
4195 (x_initialize): Register cvt_string_to_pixel as resource converter
4196 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
4197
4198 2001-03-30 Gerd Moellmann <gerd@gnu.org>
4199
4200 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
4201 (set_iterator_to_next): If a string from a display property ends,
4202 consider the case that this might also be the end of an
4203 overlay string having the display property.
4204
4205 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
4206
4207 * xdisp.c (reseat_to_string): Undo last change.
4208
4209 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
4210 matrix of a window when the header line changes, when
4211 new rows are allocated, or when the width changes.
4212
4213 2001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
4214
4215 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
4216
4217 2001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
4218
4219 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
4220 deprecated.
4221
4222 2001-03-29 Gerd Moellmann <gerd@gnu.org>
4223
4224 * data.c (Fsubr_interactive_form): New function.
4225 (syms_of_data): Defsubr it.
4226
4227 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
4228 (live_float_p, live_misc_p): Return 1 only if the offset of the
4229 pointer in its block is >= 0.
4230
4231 2001-03-28 Paul Eggert <eggert@twinsun.com>
4232
4233 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
4234 microseconds calcuation. Avoid double-rounding problem.
4235 In doc string, warn that the result is approximate.
4236
4237 2001-03-28 Gerd Moellmann <gerd@gnu.org>
4238
4239 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
4240 bind `inhibit-eval-during-redisplay' to t.
4241
4242 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
4243
4244 * xdisp.c (inhibit_eval_during_redisplay)
4245 (Qinhibit_eval_during_redisplay): New variables.
4246 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
4247 don't eval, return nil instead.
4248 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
4249 Initialize Qinhibit_eval_during_redisplay.
4250
4251 * xdisp.c (reseat_to_string): If STRING is multibyte, set
4252 the iterator's multibyte_p flag.
4253
4254 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
4255 instead of setting it to zero; it's incremented for each frame
4256 where the menu face is changed.
4257
4258 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
4259 change bottom shadow accordingly.
4260
4261 * xterm.c (expose_window_tree, expose_frame): Don't compute
4262 intersections here.
4263 (expose_window): Do it here instead.
4264 (x_draw_glyph_string): Fix a computation of the underline position.
4265
4266 * bytecode.c (BYTE_CODE_QUIT): New macro.
4267 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
4268
4269 2001-03-27 Gerd Moellmann <gerd@gnu.org>
4270
4271 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
4272 Give up if matrix starts in an ellipsis.
4273 (init_from_display_pos): Do nothing if POS doesn't specify
4274 a dpvec_index but the iterator has such a position.
4275
4276 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
4277
4278 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
4279 x/y position is (0, 0) after destroying the menu bar, restore
4280 its original position.
4281
4282 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
4283 (init_from_display_pos): Use it.
4284 (try_window_reusing_current_matrix): Don't use cursor_row_p.
4285
4286 2001-03-26 Gerd Moellmann <gerd@gnu.org>
4287
4288 * xdisp.c (try_window_id): Undo last change.
4289
4290 2001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
4291
4292 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
4293
4294 * buffer.c (syms_of_buffer): Doc fix.
4295
4296 2001-03-26 Gerd Moellmann <gerd@gnu.org>
4297
4298 * xfaces.c (x_update_menu_appearance): Use local variable
4299 popup_path for setting font resources.
4300
4301 2001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
4302
4303 * frame.c (Fframe_list): Don't reference tip_frame if
4304 HAVE_WINDOW_SYSTEM is not defined.
4305
4306 * emacs.c (main): Update the copyright year. From Werner LEMBERG
4307 <wl@gnu.org>.
4308
4309 2001-03-25 Gerd Moellmann <gerd@gnu.org>
4310
4311 * xdisp.c (init_from_display_pos): Test invisible property
4312 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
4313
4314 * xdisp.c (redisplay_internal) <update one window>: Make sure
4315 last_arrow_position and last_arrow_string are set.
4316
4317 * frame.c (Fframe_list): Don't return a tooltip frame.
4318
4319 2001-03-23 Gerd Moellmann <gerd@gnu.org>
4320
4321 * xdisp.c (mark_window_display_accurate_1): New function,
4322 extracted from mark_window_display_accurate.
4323 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
4324 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
4325 (mark_window_display_accurate): Use it.
4326 (redisplay_internal): Use it for the selected window.
4327 (redisplay_internal): Avoid duplicate mark_window_display_accurate
4328 for the selected frame.
4329
4330 * xdisp.c Use make_number, for readability.
4331 (try_window_id): Disable rows below the window end.
4332 (try_window_reusing_current_matrix): Use cursor_row_p.
4333 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
4334 of rows.
4335 (init_from_display_pos): If POS specifies a position in a display
4336 vector, maybe get the iterator set up for that ellipsis.
4337
4338 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
4339
4340 2001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
4341
4342 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
4343
4344 2001-03-23 Gerd Moellmann <gerd@gnu.org>
4345
4346 * xfaces.c (x_update_menu_appearance): Use a different path
4347 for Lucid popup menus.
4348
4349 2001-03-22 Stefan Monnier <monnier@cs.yale.edu>
4350
4351 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
4352
4353 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
4354 (string_buffer_position): Use `make_number'.
4355
4356 2001-03-22 Gerd Moellmann <gerd@gnu.org>
4357
4358 * xfaces.c (x_update_menu_appearance): Renamed from
4359 x_set_menu_face_resources. Use different resources for popups.
4360
4361 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
4362 (GC_CHECK_STRING_BYTES): Don't define.
4363
4364 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
4365 Removed, together with subroutines.
4366 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
4367 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
4368
4369 * dispextern.h (x_set_menu_resources_from_menu_face):
4370 Remove prototype.
4371
4372 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
4373 Remove calls to x_set_menu_resources_from_menu_face.
4374
4375 * xfaces.c (xm_set_menu_resources_from_menu_face):
4376 Remove #ifndef LESSTIF_VERSION.
4377
4378 * xmenu.c: Include widget.h.
4379 (single_submenu): Return int. Some cleanup.
4380 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
4381
4382 2001-03-21 Gerd Moellmann <gerd@gnu.org>
4383
4384 * xterm.c (x_update_window_end): Handle overwritten mouse face
4385 also for tool bar windows.
4386 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
4387 DRAW is DRAW_IMAGE_RAISED.
4388
4389 2001-03-20 Gerd Moellmann <gerd@gnu.org>
4390
4391 * print.c (syms_of_print): Doc fixes.
4392
4393 * fns.c (Fmd5): Doc fix.
4394
4395 2001-03-19 Gerd Moellmann <gerd@gnu.org>
4396
4397 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4398 Clear area of the frame not occupied by the scroll bar.
4399
4400 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
4401 tip frame's root window buffer to *tip* right after creating
4402 the frame.
4403
4404 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
4405 is an integer don't have to be for space characters.
4406
4407 2001-03-16 Gerd Moellmann <gerd@gnu.org>
4408
4409 * indent.c (current_column, current_column_1, Fmove_to_column)
4410 (compute_motion): Handle characters from display vectors differently.
4411
4412 2001-03-15 Kenichi Handa <handa@etl.go.jp>
4413
4414 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
4415 drawing glyph string.
4416
4417 2001-03-15 Gerd Moellmann <gerd@gnu.org>
4418
4419 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
4420 (command_loop_1): Undo last change.
4421
4422 * xterm.c (fast_find_position): Return the correct vpos.
4423
4424 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
4425 non-null, set a per-buffer value in BUF instead of the current buffer.
4426 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
4427 Call store_symval_forwarding with BUF null.
4428 (set_internal): Call store_symval_forwarding with the BUF
4429 parameter passed to set_internal. Formerly, the value was always
4430 set in the current buffer; the buffer recorded in specbind for
4431 this case wasn't used.
4432 (arith_driver): Reindent.
4433
4434 * buffer.c (swap_out_buffer_local_variables):
4435 Call store_symval_forwarding with BUF null.
4436
4437 * lisp.h (store_symval_forwarding): Change prototype.
4438
4439 * eval.c (specbind): Call store_symval_forwarding with BUF null.
4440
4441 2001-03-14 Gerd Moellmann <gerd@gnu.org>
4442
4443 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
4444 FOR_DELETION. Avoid resizing the mini-window of the selected
4445 frame if FOR_DELETION is set.
4446 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
4447 (Fmake_frame_invisible): Change calls to do_switch_frame for new
4448 signature.
4449
4450 * window.c (Fset_window_configuration): Change call to
4451 do_switch_frame to new format.
4452
4453 * keyboard.c (quit_throw_to_read_char): Change call to
4454 do_switch_frame to new format.
4455
4456 * lisp.h (do_switch_frame): Change prototype.
4457
4458 * frame.c (Fframe_parameters): In the `buffer-list' frame
4459 parameter, store the buffer list of FRAME, not the list of the
4460 selected frame.
4461
4462 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
4463 box just because the glyph row's full_width_p flag is set.
4464
4465 2001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
4466
4467 * xdisp.c (highlight_trailing_whitespace): On character terminals,
4468 skip the padding blanks inserted in extend_face_to_end_of_line,
4469 before checking for trailing whitespace.
4470
4471 2001-03-13 Gerd Moellmann <gerd@gnu.org>
4472
4473 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
4474 Remove special handling for LessTif/Motif.
4475 (toplevel): Don't include Xm/Xm.h.
4476
4477 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
4478 Remove workaround code for LessTif; it doesn't work anymore.
4479
4480 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
4481 Xm/ScrollBarP.h.
4482
4483 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
4484 Don't access private scroll bar data; it's no longer necessary with
4485 contemporary LessTif.
4486
4487 * xfaces.c (xm_set_menu_resources_from_menu_face):
4488 Change #if 0 to #ifndef LESSTIF_VERSION.
4489
4490 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
4491 removing button grabs.
4492
4493 2001-03-13 Kenichi Handa <handa@etl.go.jp>
4494
4495 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
4496 and clip-large-size-font as obsolete.
4497
4498 * lread.c (read_multibyte): Check the validity of multibyte
4499 sequence. If invalid, return the first byte.
4500
4501 2001-03-12 Gerd Moellmann <gerd@gnu.org>
4502
4503 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
4504 before running the command; timer functions or process
4505 filters may have set it.
4506
4507 2001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4508
4509 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
4510 Doc fix.
4511
4512 2001-03-12 Gerd Moellmann <gerd@gnu.org>
4513
4514 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
4515 to sprintf.
4516
4517 2001-03-09 Gerd Moellmann <gerd@gnu.org>
4518
4519 * dispextern.h (string_buffer_position): Add prototype.
4520
4521 * xdisp.c (string_buffer_position, display_prop_string_p)
4522 (single_display_prop_string_p): New functions.
4523
4524 * xterm.c (note_mouse_highlight): If there's no help-echo on
4525 a string, look at the buffer text ``under'' it.
4526
4527 * keyboard.c (make_lispy_event): Add string info to the event,
4528 analogous to what's done on mode lines.
4529 (read_key_sequence): For a click on a string, consider `local-map'
4530 and `keymap' of that string.
4531
4532 * keyboard.c (make_lispy_event, make_lispy_movement):
4533 Adjust calls to buffer_posn_from_coords to new format.
4534
4535 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
4536
4537 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
4538 POS; return void.
4539
4540 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
4541 flags argument to emacs_open; it seems to conflict with O_EXCL.
4542
4543 2001-03-09 Kenichi Handa <handa@etl.go.jp>
4544
4545 * composite.h (struct composition): Change types of members;
4546 glyph_len to unsigned, width to unsigned short.
4547
4548 2001-03-08 Andrew Innes <andrewi@gnu.org>
4549
4550 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
4551 menu titles.
4552
4553 2001-03-08 Gerd Moellmann <gerd@gnu.org>
4554
4555 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
4556 instead of nil.
4557
4558 * xterm.c (note_mouse_highlight): Handle mouse-face and
4559 help-echo in strings.
4560 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
4561 (fast_find_string_pos): New function.
4562
4563 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
4564 (display_string): Call face_at_string_position with new parameter.
4565
4566 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
4567 Handle `mouse-face'.
4568
4569 * dispextern.h (face_at_string_position): Change prototype.
4570
4571 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
4572
4573 * keyboard.c (make_lispy_event): Avoid generating drag events
4574 if the mouse hasn't actually moved to another buffer position.
4575
4576 2001-03-08 Dave Love <fx@gnu.org>
4577
4578 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
4579
4580 2001-03-08 Gerd Moellmann <gerd@gnu.org>
4581
4582 * process.c (Fset_process_window_size): Fix a typo.
4583
4584 2001-03-08 Kenichi Handa <handa@etl.go.jp>
4585
4586 * coding.c (detect_coding_sjis): Do more rigid check.
4587 (detect_coding_big5): Likewise.
4588 (decode_coding_sjis_big5): Likewise.
4589 (Fdetect_coding_region): Call detect_coding_system with tailing
4590 anchor byte `\0' for more rigid detection.
4591 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
4592 (Fdetect_coding_string): Likewise.
4593
4594 2001-03-07 Stefan Monnier <monnier@cs.yale.edu>
4595
4596 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
4597 a string before extracting its data.
4598
4599 2001-03-07 Gerd Moellmann <gerd@gnu.org>
4600
4601 * window.c (Frecenter): Rewrite code handling negative values
4602 of ARG on graphical frames.
4603
4604 2001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
4605
4606 * window.c (displayed_window_lines): If W->start is outside the
4607 accessible portion of the buffer, call start_display with BEGV or
4608 ZV instead of W->start.
4609
4610 2001-03-07 Gerd Moellmann <gerd@gnu.org>
4611
4612 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
4613
4614 * process.c (Fset_process_filter): Don't crash if the input
4615 file descriptor of PROCESS is closed.
4616 (Fset_process_window_size): Likewise.
4617
4618 2001-03-06 Kenichi Handa <handa@etl.go.jp>
4619
4620 * xterm.c (XTflash): Make the timeout of select shorter, and call
4621 select repeatedly until the desired time expires.
4622
4623 2001-03-06 Gerd Moellmann <gerd@gnu.org>
4624
4625 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
4626
4627 * xfns.c (Fx_create_frame): Clear Vwindow_list.
4628
4629 * lisp.h (Vwindow_list): Declare extern.
4630
4631 2001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4632
4633 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
4634
4635 2001-03-06 Gerd Moellmann <gerd@gnu.org>
4636
4637 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
4638 to detect a case where we have to highlight a different region
4639 despite not having left the currently highlighted region.
4640 Set mouse_face_overlay in the x_display_info.
4641 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
4642
4643 * xterm.h (struct x_display_info): Add mouse_face_overlay.
4644
4645 * buffer.c (mouse_face_overlay_overlaps): New function.
4646
4647 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
4648 (Qmouse_face): Declare extern.
4649
4650 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
4651 if face_change_count is non-zero.
4652
4653 2001-03-06 Kenichi Handa <handa@etl.go.jp>
4654
4655 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
4656 that the source is unibyte.
4657
4658 2001-03-05 Dave Love <fx@gnu.org>
4659
4660 * xterm.c (XTmouse_position): Fix typo.
4661
4662 2001-03-05 Gerd Moellmann <gerd@gnu.org>
4663
4664 * minibuf.c (read_minibuf): Clean up the binding stack if
4665 called noninteractively.
4666
4667 2001-03-05 Kenichi Handa <handa@etl.go.jp>
4668
4669 * coding.c (syms_of_coding): Docstring modified.
4670
4671 2001-03-05 Kenichi Handa <handa@etl.go.jp>
4672
4673 * charset.c (char_to_string): If a single byte char has modifier
4674 bits that can't be reflected to the character code, ignore them
4675 instead of signaling an error.
4676
4677 2001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
4678
4679 * s/msdos.h: Update copyright notice.
4680
4681 * dosfns.h: Update copyright notice.
4682
4683 * dosfns.c: Update copyright notice.
4684
4685 * msdos.c: Update copyright notice.
4686
4687 2001-03-02 Gerd Moellmann <gerd@gnu.org>
4688
4689 * xterm.c (glyph_rect): New function.
4690 (XTmouse_position): Use it to raise the threshold for mouse
4691 movement event generation.
4692
4693 2001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
4694
4695 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
4696 specifies (reverse . t), reverse the initial screen colors.
4697 (IT_set_frame_parameters): If the property is foreground-color,
4698 but we are reversing the colors, set bg_set, not fg_set.
4699 Likewise for setting background-color and reversing: set fg_set.
4700 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
4701 in effect.
4702
4703 * xfaces.c (Finternal_set_lisp_face_attribute)
4704 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
4705 parameters alist.
4706
4707 2001-03-02 Gerd Moellmann <gerd@gnu.org>
4708
4709 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
4710 to a single slash in the middle of file names.
4711
4712 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
4713 Accept only alphanumeric time zone names.
4714
4715 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
4716 or width area.
4717 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
4718 a widget to zero height.
4719
4720 2001-03-01 Gerd Moellmann <gerd@gnu.org>
4721
4722 * window.c (Fwindow_end): Call move_it_past_eol only if
4723 ending up on a partially visible line.
4724
4725 2001-03-01 Dave Love <fx@gnu.org>
4726
4727 * ccl.c (Fccl_execute): Doc fix.
4728
4729 2001-03-01 Gerd Moellmann <gerd@gnu.org>
4730
4731 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
4732 of the tool bar before calling x_figure_window_size.
4733
4734 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
4735 NULL after destroying it, otherwise XTread_socket can access a
4736 destroyed widget when input is unblocked.
4737
4738 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
4739
4740 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
4741 same name as before, although there was a change in fontsets.
4742
4743 2001-02-28 Ken Raeburn <raeburn@gnu.org>
4744
4745 * lisp.h (Fframe_parameter): Declare.
4746
4747 * window.c (set_window_buffer): Field vscroll is an int, not a
4748 Lisp_Object.
4749
4750 2001-02-28 Gerd Moellmann <gerd@gnu.org>
4751
4752 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4753 NULL instead.
4754
4755 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4756 NULL instead.
4757
4758 * alloc.c (toplevel): Include process.h.
4759 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4760 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4761 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
4762 (allocate_vector, allocate_hash_table, allocate_window)
4763 (allocate_frame, allocate_process, allocate_other_vector):
4764 New functions.
4765 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4766 (mark_maybe_pointer): New function.
4767 (mark_memory): Also mark Lisp data to which only pointers
4768 remain and not Lisp_Objects.
4769 (min_heap_address, max_heap_address): New variables.
4770 (mem_find): Return MEM_NIL if START is below min_heap_address or
4771 above max_heap_address.
4772 (mem_insert): Compute min_heap_address and max_heap_address.
4773
4774 * process.c (make_process): Use allocate_process.
4775
4776 * frame.c (make_frame): Use allocate_frame.
4777
4778 * window.c (make_window, make_dummy_parent): Use allocate_window.
4779 (Fcurrent_window_configuration): Use allocate_other_vector.
4780
4781 * lisp.h (allocate_vectorlike): Remove prototype.
4782 (allocate_vector, allocate_other_vector, allocate_frame)
4783 (allocate_window, allocate_process, allocate_hash_table):
4784 Add prototypes.
4785
4786 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4787 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4788
4789 2001-02-27 Kenichi Handa <handa@etl.go.jp>
4790
4791 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4792 treat the produced bytes as a valid multibyte sequence.
4793
4794 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
4795 (ccl_driver) <CCL_WriteMultibyteChar2>:
4796 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
4797 <ccl_finish>: Set ccl->eight_bit_control properly.
4798
4799 * ccl.h (struct ccl_program): New member eight_bit_control.
4800
4801 2001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4802
4803 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4804 accessible_keymaps_char_table.
4805 (accessible_keymaps_char_table): Obey `is_metized'.
4806 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4807 Lisp_Object.
4808
4809 2001-02-26 Gerd Moellmann <gerd@gnu.org>
4810
4811 * dispnew.c: Check HAVE_TERM_H before including term.h.
4812
4813 2001-02-24 Andrew Innes <andrewi@gnu.org>
4814
4815 * makefile.w32-in: Update copyright notice.
4816
4817 2001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4818
4819 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4820
4821 2001-02-24 Kenichi Handa <handa@etl.go.jp>
4822
4823 * Makefile.in (lisp): Add international/utf-8.elc.
4824
4825 * fontset.c (Fnew_fontset): Fix handling of the case that an
4826 element of FONTLIST is a cons of family and registry.
4827
4828 2001-02-23 Jason Rumney <jasonr@gnu.org>
4829
4830 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4831 to height unconditionally.
4832
4833 * w32term.c (x_set_glyph_string_background_width): Extend the
4834 background face to the end of the drawing area in the text area, only.
4835 (x_insert_glyphs): Call window_box_left to obtain the left
4836 x-coordinate of the area to shift.
4837
4838 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4839 safe_run_hooks.
4840
4841 2001-02-22 Andrew Innes <andrewi@gnu.org>
4842
4843 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
4844 ($(BLD)\dispnew.obj):
4845 ($(BLD)\editfns.obj):
4846 ($(BLD)\fileio.obj):
4847 ($(BLD)\filelock.obj):
4848 ($(BLD)\keyboard.obj):
4849 ($(BLD)\w32proc.obj):
4850 ($(BLD)\process.obj):
4851 ($(BLD)\sysdep.obj): Ditto.
4852
4853 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4854 header files.
4855 ($(BLD)/dispnew.$(O)):
4856 ($(BLD)/editfns.$(O)):
4857 ($(BLD)/fileio.$(O)):
4858 ($(BLD)/filelock.$(O)):
4859 ($(BLD)/keyboard.$(O)):
4860 ($(BLD)/w32proc.$(O)):
4861 ($(BLD)/process.$(O)):
4862 ($(BLD)/sysdep.$(O)): Ditto.
4863
4864 2001-02-22 Gerd Moellmann <gerd@gnu.org>
4865
4866 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4867 at the start of the function, check that the \n in it->c is
4868 from the iterator's current position.
4869
4870 * xdisp.c (handle_single_display_prop): Add parameter
4871 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4872 properties which replace the display of text with something else.
4873 (handle_display_prop): Call handle_single_display_prop with
4874 additional argument saying if we already replaced text display
4875 with something else. Use AREF.
4876 (with_echo_area_buffer_unwind_data, display_menu_bar)
4877 (decode_mode_spec_coding): Use AREF and ASIZE.
4878
4879 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4880 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4881 * vmstime.h: Files removed.
4882
4883 * unexencap.c, unexfx2800.c: Files removed.
4884
4885 * dispnew.c (direct_output_for_insert): Give up if we are showing
4886 a message or just cleared the message because we might need to
4887 resize the echo area window or display an empty echo area.
4888
4889 2001-02-21 Gerd Moellmann <gerd@gnu.org>
4890
4891 * xdisp.c (redisplay_internal): Do the
4892 mark_window_display_accurate after all windows have been
4893 redisplayed because this call resets flags in buffers which are
4894 needed for proper redisplay.
4895
4896 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4897 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
4898 the old names.
4899
4900 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4901 busy_window to hourglass_window, busy_p to hourglass_p.
4902
4903 * msdos.h (struct x_output): Rename busy_window to
4904 hourglass_window, busy_p to hourglass_p.
4905
4906 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4907 busy_window to hourglass_window, busy_p to hourglass_p.
4908
4909 * xfns.c: Rename everything containing *busy_cursor* and similar
4910 to *hourglass*.
4911 (syms_of_w32fns): Rename x-busy-pointer-shape to
4912 x-hourglass-pointer-shape, display-busy-cursor to
4913 display-hourglass, busy-cursor-delay to hourglass-delay.
4914
4915 * w32fns.c: Rename everything containing *busy_cursor* and similar
4916 to *hourglass*.
4917 (syms_of_w32fns): Rename x-busy-pointer-shape to
4918 x-hourglass-pointer-shape, display-busy-cursor to
4919 display-hourglass, busy-cursor-delay to hourglass-delay.
4920
4921 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4922 of its busy_p flag.
4923
4924 * dispextern.h (start_hourglass, cancel_hourglass)
4925 (display_hourglass_p): Renamed from *busy_cursor*.
4926
4927 2001-02-20 Gerd Moellmann <gerd@gnu.org>
4928
4929 * keyboard.c (read_char): When an event from unread-command-events
4930 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4931
4932 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4933 equal to the current buffer.
4934
4935 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4936 nil, otherwise we're left with truncate_lines t when a message
4937 is printed with message-truncate-lines bound to t.
4938
4939 2001-02-19 Gerd Moellmann <gerd@gnu.org>
4940
4941 * window.c (Fmove_to_window_line): Undo last change.
4942 (displayed_window_lines): Call line_bottom_y to determine
4943 the line's bottom position.
4944
4945 * dispextern.h (line_bottom_y): Add prototype.
4946
4947 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
4948 (pos_visible_p): Use it.
4949
4950 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4951 set redisplaying_p to 0 here instead of in Frecursive_edit.
4952 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4953 set redisplaying_p.
4954
4955 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
4956 New variables.
4957 (syms_of_xdisp): Initialize new variables.
4958 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4959 Specbind `inhibit-menubar-update' when updating the menu bar.
4960
4961 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4962 safe_run_hooks.
4963
4964 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4965 safe_run_hooks.
4966
4967 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4968 is null.
4969
4970 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4971 to the start of the file.
4972
4973 2001-02-16 Gerd Moellmann <gerd@gnu.org>
4974
4975 * window.c (set_window_buffer): Fix last change.
4976
4977 * window.c (set_window_buffer): Set window's vscroll to 0.
4978
4979 * window.c (coordinates_in_window): Increase width of area
4980 where the vertical line can be dragged.
4981
4982 * xterm.c (x_set_glyph_string_background_width): Extend the
4983 background face to the end of the drawing area in the text
4984 area, only.
4985
4986 * xdisp.c (handle_single_display_prop): Set iterator's position
4987 to where the `display' property starts, like for images.
4988 (dump_glyph): New function.
4989 (dump_glyph_row): Use it. Dump info about marginal areas.
4990
4991 * dispnew.c (direct_output_for_insert): Recognize more cases where
4992 glyphs can be written instead of being inserted.
4993
4994 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4995 the left x-coordinate of the area to shift.
4996
4997 * dired.c (directory_files_internal): Set result list to nil
4998 before retrying.
4999
5000 2001-02-15 Kenichi Handa <handa@etl.go.jp>
5001
5002 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
5003 invalid multibyte sequence, treat *SRC as a character of
5004 eight-bit-graphic.
5005
5006 2001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
5007
5008 * textprop.c (Fset_text_properties): Doc fix.
5009
5010 2001-02-15 Gerd Moellmann <gerd@gnu.org>
5011
5012 * dispnew.c (update_text_area): Undo change of 2001-01-12.
5013
5014 2001-02-14 Dave Love <fx@gnu.org>
5015
5016 * coding.c: Doc and message fixes.
5017
5018 2001-02-14 Andrew Innes <andrewi@gnu.org>
5019
5020 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
5021 Emacs frame above the screen size.
5022
5023 2001-02-14 Gerd Moellmann <gerd@gnu.org>
5024
5025 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
5026
5027 2001-02-13 Gerd Moellmann <gerd@gnu.org>
5028
5029 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
5030 case that TO ends up beyond ZV after running before-change-functions.
5031
5032 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
5033 the selected window if it is showing the buffer in question.
5034
5035 * dired.c (directory_files_internal): Initialize errno.
5036 (toplevel): Include errno.h.
5037
5038 2001-02-13 Kenichi Handa <handa@etl.go.jp>
5039
5040 * xfaces.c (best_matching_font): New parameter width_ratio.
5041 Multiply avgwidth by width_ratio.
5042 (choose_face_font): Call best_matching_font with width_ratio
5043 calculated from the column width of C.
5044
5045 2001-02-12 Andrew Innes <andrewi@gnu.org>
5046
5047 The following changes are to draw box lines inside characters area
5048 if line-width is negative.
5049
5050 * w32term.c (x_produce_image_glyph): Pay attention to the case that
5051 face->box_line_width is negative.
5052 (x_produce_stretch_glyph): Likewise.
5053 (x_produce_glyphs): Likewise.
5054 (x_estimate_mode_line_height): Likewise.
5055 (x_draw_glyph_string_background): Likewise.
5056 (x_draw_glyph_string_foreground): Likewise.
5057 (x_draw_composite_glyph_string_foreground): Likewise.
5058 (x_draw_glyph_string_box): Likewise.
5059 (x_draw_image_foreground): Likewise.
5060 (x_draw_image_relief): Likewise.
5061 (x_draw_image_foreground_1): Likewise.
5062 (x_draw_image_glyph_string): Likewise.
5063
5064 2001-02-09 Kenichi Handa <handa@etl.go.jp>
5065
5066 The following changes are to draw box lines inside characters area
5067 if line-width is negative.
5068
5069 * xterm.c (x_produce_image_glyph): Pay attention to the case that
5070 face->box_line_width is negative.
5071 (x_produce_stretch_glyph): Likewise.
5072 (x_produce_glyphs): Likewise.
5073 (x_estimate_mode_line_height): Likewise.
5074 (x_draw_glyph_string_background): Likewise.
5075 (x_draw_glyph_string_foreground): Likewise.
5076 (x_draw_composite_glyph_string_foreground): Likewise.
5077 (x_draw_glyph_string_box): Likewise.
5078 (x_draw_image_foreground): Likewise.
5079 (x_draw_image_relief): Likewise.
5080 (x_draw_image_foreground_1): Likewise.
5081 (x_draw_image_glyph_string): Likewise.
5082
5083 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
5084 and :line-width can be negative.
5085 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
5086
5087 2001-02-09 Jason Rumney <jasonr@gnu.org>
5088
5089 * w32term.c (w32_encode_char): Treat eight bit graphic and control
5090 characters the same as ASCII and latin-1.
5091 (x_display_and_set_cursor): Check for the focus frame's selected
5092 window instead of selected_window.
5093 (x_after_update_window_line): Don't clear if frame's internal
5094 border width is zero.
5095 (x_new_font): Don't change a tooltip's size.
5096 (w32_initialize): Set char_ins_del_ok to 1.
5097
5098 * w32fns.c (Fx_show_tip): Fix calls to make_number.
5099 (x_set_font): If font hasn't changed, avoid recomputing
5100 faces and other things.
5101 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
5102 (Fx_create_frame): Add the tool bar height to the frame height.
5103 (x_create_tip_frame): Prevent changing the tooltip's
5104 background color by specifying a color for the default font
5105 in .Xdefaults.
5106 (Qcancel_timer): New variable.
5107 (syms_of_w32fns): Initialize and staticpro it.
5108 (Fx_hide_tip, Fx_show_tip): Use it.
5109 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5110 the timer.
5111 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
5112
5113 * w32.c (init_environment): Duplicate local string before putenv.
5114
5115 2001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
5116
5117 * charset.c (Fstring): A typo.
5118
5119 2001-02-09 Kenichi Handa <handa@etl.go.jp>
5120
5121 * charset.c (Fstring): If all arguments are less than 256, return
5122 a unibyte string.
5123
5124 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
5125 return a unibyte string.
5126
5127 * coding.c (code_convert_region): After detecting a coding, if
5128 nothing found, set coding->composing to COMPOSITION_NO.
5129 (decode_coding_string): Likewise.
5130
5131 2001-02-08 Stefan Monnier <monnier@cs.yale.edu>
5132
5133 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
5134 to avoid overflow.
5135
5136 2001-02-07 Kenichi Handa <handa@etl.go.jp>
5137
5138 * charset.c (parse_str_to_multibyte): New function.
5139
5140 * charset.h (parse_str_to_multibyte): Extern it.
5141
5142 * print.c (print_string): If we are going to print a unibyte
5143 string into a multibyte buffer, convert the string to multibyte by
5144 str_to_multibyte.
5145
5146 2001-02-06 Andrew Innes <andrewi@gnu.org>
5147
5148 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
5149 been created. It seems we can get sent window messages such as
5150 WM_ERASEBKGND before we properly update a frame.
5151
5152 2001-02-06 Gerd Moellmann <gerd@gnu.org>
5153
5154 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
5155 Avoid some unnecessary cursor positioning.
5156
5157 2001-02-05 Gerd Moellmann <gerd@gnu.org>
5158
5159 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
5160 (LFACE_AVGWIDTH): New macro.
5161 (LFACEP): Use AREF.
5162 (check_lface_attrs): Check LFACE_AVGWIDTH.
5163 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
5164 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
5165 (merge_face_vectors): Check LFACE_AVGWIDTH.
5166 (Finternal_make_lisp_face): Use AREF.
5167 (xm_set_menu_resources_from_menu_face)
5168 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
5169 (Finternal_lisp_face_empty_p): Use AREF.
5170 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
5171 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
5172 Compare average widths..
5173 (best_matching_font): Arrange for comparing average widths.
5174
5175 * dispextern.h (enum lface_attribute_index):
5176 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
5177
5178 2001-02-05 Dave Love <fx@gnu.org>
5179
5180 * puresize.h: Revert last change following loadup.el change.
5181
5182 2001-02-05 Andrew Innes <andrewi@gnu.org>
5183
5184 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
5185 invocation of temacs, to work with Windows 2000.
5186 (bootstrap-emacs): Ditto.
5187
5188 2001-02-05 Gerd Moellmann <gerd@gnu.org>
5189
5190 * xterm.c (x_display_and_set_cursor): Check for the focus
5191 frame's selected window instead of selected_window.
5192
5193 * xdisp.c (try_scrolling): If point is in the line below the
5194 window, make sure to move the iterator at least a canonical
5195 char height down.
5196
5197 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
5198
5199 2001-02-05 Kenichi Handa <handa@etl.go.jp>
5200
5201 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
5202 If invalid, execute CCL_INVALID_CMD.
5203 (ccl_driver): If the CCL program is terminated because of
5204 CCL_STAT_INVALID_CMD, copy the remaining source data to the
5205 destination instead of throwing them away.
5206
5207 2001-02-02 Gerd Moellmann <gerd@gnu.org>
5208
5209 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
5210 faces and other things.
5211
5212 * xdisp.c (get_next_display_element): Fix case of empty
5213 display table entry.
5214
5215 2001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
5216
5217 * editfns.c (Fconstrain_to_field): Doc fix.
5218
5219 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
5220 into `thoroughly', to make it consistent with the doc string.
5221
5222 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
5223
5224 2001-02-01 Gerd Moellmann <gerd@gnu.org>
5225
5226 * search.c (search_buffer): Call set_search_regs with a byte
5227 position, not a character position.
5228
5229 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
5230 minibuffer-only,
5231
5232 2001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
5233
5234 * frame.c (Fmodify_frame_parameters): Doc fix.
5235
5236 2001-01-31 Gerd Moellmann <gerd@gnu.org>
5237
5238 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
5239 identifier which is not reserved by Standard C.
5240
5241 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
5242
5243 * window.c (enum window_part): New enumeration.
5244 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
5245 Qright_bitmap_area.
5246 (coordinates_in_window): Return an enumerator from enum
5247 window_part. Fix handling of right scroll bar.
5248 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
5249 `right-fringe' instead of `left-bitmap-area' and
5250 `right-bitmap-area'. Use enumerators from enum window_part
5251 instead of hard-coded integers.
5252 (check_window_containing, window_from_coordinates):
5253 Use enumerators from enum window_part instead of hard-coded integers.
5254 (syms_of_window): Replace Qleft_bitmap_area and
5255 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
5256
5257 2001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
5258
5259 * editfns.c (Fformat_time_string): Doc fix.
5260
5261 2001-01-31 Stefan Monnier <monnier@cs.yale.edu>
5262
5263 * keymap.c (Fwhere_is_internal): Use the first valid binding
5264 if no ascii binding is found (when firstonly is t).
5265
5266 2001-01-31 Gerd Moellmann <gerd@gnu.org>
5267
5268 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
5269 instead of Finteractive_p.
5270
5271 * lisp.h (interactive_p): Add prototype.
5272
5273 * eval.c (interactive_p): New function.
5274 (Finteractive_p): Use it.
5275
5276 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
5277
5278 2001-01-31 Dave Love <fx@gnu.org>
5279
5280 * .gdbinit (hook-run): Define to run xreload.
5281
5282 * textprop.c (Fset_text_properties): Fix newline in doc string.
5283
5284 2001-01-30 Gerd Moellmann <gerd@gnu.org>
5285
5286 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
5287 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
5288
5289 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
5290 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
5291 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
5292
5293 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
5294 height.
5295
5296 2001-01-30 Dave Love <fx@gnu.org>
5297
5298 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
5299 AFTER_POTENTIAL_GC.
5300
5301 2001-01-29 Gerd Moellmann <gerd@gnu.org>
5302
5303 * bytecode.c (Fbyte_code) <Bcurrent_column>:
5304 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
5305
5306 2001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
5307
5308 * textprop.c (Fset_text_properties): Doc fix.
5309
5310 2001-01-29 Gerd Moellmann <gerd@gnu.org>
5311
5312 * xdisp.c (forward_to_next_line_start): Remove xassert.
5313
5314 2001-01-29 Jason Rumney <jasonr@gnu.org>
5315
5316 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
5317 returning without releasing it.
5318
5319 2001-01-29 Kenichi Handa <handa@etl.go.jp>
5320
5321 * w32fns.c (w32_font_match): Allocate three more bytes to regex
5322 for '^', '$', and '\0'.
5323
5324 2001-01-28 Andrew Choi <akochoi@i-cable.com>
5325
5326 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
5327 regex for '^', '$', and '\0'.
5328
5329 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
5330 only if current_sblock has been initialized.
5331
5332 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
5333 terminal frame even if it is the only visible frame.
5334
5335 2001-01-28 Kenichi Handa <handa@etl.go.jp>
5336
5337 * fontset.c (font_family_registry): Even if FONTNAME conform to
5338 XLFD, if it specifies other fields than family and registry,
5339 return FONTANME. New argument FORCE if nonzero cancel that feature.
5340 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
5341 a signle byte character. Don't set FAMILY part to nil here.
5342 It is handled by the caller choose_face_font.
5343 (Fnew_fontset): Call font_family_registry with FORCE 0.
5344 (Fset_fontset_font): Likewise.
5345
5346 2001-01-27 Gerd Moellmann <gerd@gnu.org>
5347
5348 * xdisp.c (display_line): Don't treat a newline as fitting
5349 on the line.
5350
5351 2001-01-26 Gerd Moellmann <gerd@gnu.org>
5352
5353 * window.c (size_window): Set the window's orig_top to nil when
5354 changing heights, so that a future shrink_mini_window won't
5355 restore a bogus height.
5356
5357 * frame.c (do_switch_frame): If selected frame has a mini-window,
5358 resize that to exact size.
5359
5360 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
5361
5362 * xdisp.c (display_line): Simplify check for glyphs fitting
5363 entirely in the line.
5364
5365 * xfns.c (xic_style): New variable.
5366 (create_frame_xic): Move static variable to global scope for
5367 the case that `static' gets defined away.
5368
5369 2001-01-26 Kenichi Handa <handa@etl.go.jp>
5370
5371 * coding.c (decode_coding): Set a flag for inhibiting
5372 inconsistent eol.
5373 (code_convert_region): Always set saved_coding_symbol.
5374 (decode_coding_string): Likewise. Update coding->symbol when we
5375 encounter a inconsistent eol by the same way as code_convert_region.
5376
5377 2001-01-25 Gerd Moellmann <gerd@gnu.org>
5378
5379 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
5380 XClearArea.
5381
5382 * xterm.c (x_after_update_window_line): Don't clear if frame's
5383 internal border width is zero.
5384 (x_clear_area): New function.
5385 (x_after_update_window_line, x_clear_end_of_line)
5386 (x_scroll_bar_create, x_scroll_bar_set_handle)
5387 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
5388 instead of XClearArea.
5389
5390 * xterm.h (x_clear_area): Add prototype.
5391
5392 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
5393 which doesn't seem necessary anymore with Lesstif 0.92.
5394
5395 2001-01-25 Dave Love <fx@gnu.org>
5396
5397 * puresize.h (BASE_PURESIZE): Up to 720000.
5398
5399 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
5400
5401 2001-01-25 Gerd Moellmann <gerd@gnu.org>
5402
5403 * xdisp.c (echo_area_display): Don't call redisplay_internal
5404 when Emacs is shutting down. We can't run hooks etc. that
5405 would be necessary to do a redisplay.
5406
5407 * lread.c (read_integer): Use type EMACS_INT instead of int.
5408
5409 2001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
5410
5411 * ccl.c (ccl_driver): Fix last change.
5412
5413 2001-01-25 Kenichi Handa <handa@etl.go.jp>
5414
5415 * ccl.h (sturct ccl_program): New member suppress_error.
5416
5417 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
5418 insert error message to the output.
5419 (setup_ccl_program): Initialize ccl->suppress_error to 0.
5420
5421 * coding.h (struct coding_system): New member suppress_error.
5422
5423 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
5424 (Fset_terminal_coding_system_internal): Set the member
5425 suppress_error to 1.
5426 (Fset_safe_terminal_coding_system_internal): Likewise.
5427
5428 2001-01-24 Stefan Monnier <monnier@cs.yale.edu>
5429
5430 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
5431 as if it was a `charset'.
5432
5433 2001-01-24 Gerd Moellmann <gerd@gnu.org>
5434
5435 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
5436 value in where_is_cache; the next lookup in the cache returns
5437 something bogus if we do.
5438
5439 2001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5440
5441 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
5442 if HAVE_WINDOW_SYSTEM isn't defined.
5443
5444 2001-01-24 Gerd Moellmann <gerd@gnu.org>
5445
5446 * fns.c (sweep_weak_table): Fix code taking items out of
5447 the hash collision chain. Some cleanup.
5448
5449 * xterm.c (x_new_font): Don't change a tooltip's size.
5450
5451 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
5452 background color by specifying a color for the default font
5453 in .Xdefaults.
5454
5455 2001-01-24 Kenichi Handa <handa@etl.go.jp>
5456
5457 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
5458 a workaround for SunOS 4's cc.
5459 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
5460 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
5461 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
5462 statement.
5463
5464 2001-01-23 Gerd Moellmann <gerd@gnu.org>
5465
5466 * xterm.c (x_set_window_size_1): New function extracted from
5467 x_set_window_size.
5468 (x_set_window_size): Use it.
5469 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
5470 doesn't have a widget, like tooltips.
5471
5472 2001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
5473
5474 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5475
5476 2001-01-23 Kenichi Handa <handa@etl.go.jp>
5477
5478 * fns.c (Fset_char_table_default): Fix to make sub char-table
5479 correctly.
5480
5481 2001-01-22 Gerd Moellmann <gerd@gnu.org>
5482
5483 * xdisp.c (build_desired_tool_bar_string): Make sure we have
5484 a desired tool bar string, even if there are no tool bar items.
5485
5486 * xdisp.c (Ftool_bar_lines_needed): New function.
5487 (syms_of_xdisp): Defsubr it.
5488
5489 * editfns.c (Fformat): Don't extend text properties from arguments
5490 to padding chars in the result.
5491
5492 2001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
5493
5494 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
5495
5496 2001-01-20 Andrew Innes <andrewi@gnu.org>
5497
5498 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
5499 (w32_initialize): Don't set term hooks that aren't actually needed
5500 in windowed mode.
5501
5502 * xfaces.c (realize_default_face):
5503 (realize_face):
5504 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
5505
5506 * xdisp.c (handle_single_display_prop): Remove references to
5507 FRAME_W32_CONSOLE_P.
5508
5509 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
5510
5511 * frame.h (output_method): Remove output_w32_console method.
5512 (FRAME_W32_CONSOLE_P): Remove macro.
5513
5514 * frame.c (Qw32_console): Remove variable.
5515 (Fframep): Remove references to it.
5516 (syms_of_frame): Ditto.
5517 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
5518
5519 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
5520 redefinition.
5521
5522 2001-01-20 Kenichi Handa <handa@etl.go.jp>
5523
5524 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
5525
5526 2001-01-19 Andrew Innes <andrewi@gnu.org>
5527
5528 * w32.c (init_environment): Add a version-independent site-lisp
5529 directory to EMACSLOADPATH, after the version dependent one.
5530
5531 2001-01-19 Gerd Moellmann <gerd@gnu.org>
5532
5533 * editfns.c (Fbuffer_substring): Doc fix.
5534
5535 * xdisp.c (message_dolog, message2, message2_nolog):
5536 Rename parameter LEN to NBYTES.
5537
5538 2001-01-19 Kenichi Handa <handa@etl.go.jp>
5539
5540 * charset.c (strwidth): Use c_string_width.
5541 (c_string_width): New function.
5542 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
5543 Caller changed.
5544
5545 * charset.h (c_string_width, lisp_string_width): Extern them.
5546
5547 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
5548
5549 * indent.c (check_composition): Check validity of composition.
5550
5551 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
5552 characters by calling c_string_width.
5553 (x_consider_frame_title): Get byte length of frame tile string
5554 correctly.
5555 (display_mode_element): Pay attention to width of non-ASCII
5556 characters by calling strwidth.
5557
5558 2001-01-18 Gerd Moellmann <gerd@gnu.org>
5559
5560 * xfns.c (Qcancel_timer): New variable.
5561 (syms_of_xfns): Initialize and staticpro it.
5562 (Fx_hide_tip, Fx_show_tip): Use it.
5563 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
5564 the timer.
5565 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
5566
5567 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
5568
5569 * window.h (WINDOW_LIVE_P): New macro.
5570
5571 * window.c (window_size_fixed): New variable.
5572 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
5573 the doc string.
5574
5575 * eval.c (specbind): If binding a per-buffer variable which
5576 doesn't have a buffer-local value in the current buffer, change
5577 the global value by changing the value of the symbol bound in all
5578 buffers not having their own value, to make it consistent with
5579 what happens with other buffer-local variables.
5580
5581 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
5582
5583 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
5584 when searching for a newline.
5585
5586 2001-01-18 Kenichi Handa <handa@etl.go.jp>
5587
5588 * xdisp.c (display_string): Fix previous change.
5589
5590 2001-01-18 Jason Rumney <jasonr@gnu.org>
5591
5592 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
5593 GLYPH_DEBUG is defined.
5594 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
5595 true for images with `:ascent 100'.
5596 (x_set_mouse_face_gc): If the last used mouse face has gone in the
5597 meantime, use face MOUSE_FACE_ID.
5598 If first glyph isn't a character glyph, use the ASCII NUL
5599 character to determine the face.
5600 (expose_area): Do not treat left margin specially.
5601 (note_mode_line_highlight): If no local_map, check global keymap.
5602 (note_mouse_highlight): Initialize overlay.
5603 (clear_mouse_face): Don't return if tip_frame is non-nil.
5604 (show_scroll_bars): Remove unused function.
5605 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
5606 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
5607 Clip to row.
5608 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
5609 (x_free_frame_resources): Unload relief colors.
5610
5611 2001-01-17 Gerd Moellmann <gerd@gnu.org>
5612
5613 * xdisp.c (forward_to_next_line_start): Avoid calling
5614 get_next_display_element when the newline is already found.
5615 This may change the iterator's position, when its current position is
5616 equal to the iterator's stop_charpos.
5617
5618 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
5619 zero, use this method only at the end of a line.
5620
5621 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
5622 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
5623 if SCALABLE_FONTS_P is set.
5624
5625 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
5626 so that scalable fonts are included.
5627
5628 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
5629 In the cache, use a key containing the information if scalable
5630 fonts are included.
5631 (x_load_font): Adapt to change of keys in the font cache.
5632
5633 2001-01-17 Kim F. Storm <storm@filanet.dk>
5634
5635 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
5636 XListFonts to take advantage of font caching.
5637
5638 * xterm.c (x_list_fonts): Ensure caching font information when
5639 called for a null frame, which is the case frequently when Emacs
5640 starts.
5641
5642 2001-01-17 Gerd Moellmann <gerd@gnu.org>
5643
5644 * xfns.c (QCconversion): Replaces QCalgorithm.
5645
5646 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
5647
5648 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
5649 of :algorithm.
5650
5651 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
5652 not everything could be displayed.
5653
5654 * line.h, x-list-font.c: Files removed because unused.
5655
5656 2001-01-17 Andrew Innes <andrewi@gnu.org>
5657
5658 * dired.c (directory_files_internal): Convert result from readdir
5659 to a unibyte string initially, to avoid possible misinterpretation
5660 of some bytes as the internal form of Emacs characters.
5661
5662 2001-01-17 Kenichi Handa <handa@etl.go.jp>
5663
5664 * fns.c (concat): Be sure to avoid putting the same `composition'
5665 property on the adjacent regions.
5666
5667 2001-01-16 Gerd Moellmann <gerd@gnu.org>
5668
5669 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
5670 (Fscroll_right, Fscroll_left): Set it here instead, if called
5671 interactively.
5672
5673 * buffer.c (Fset_buffer_modified_p): Set buffer's
5674 prevent_redisplay_optimizations_p flag.
5675
5676 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
5677 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
5678 with additional arg.
5679
5680 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
5681 Change prototype.
5682
5683 * xdisp.c (redisplay_preserve_echo_area): Add parameter
5684 FROM_WHERE, for debugging.
5685
5686 2001-01-16 Kenichi Handa <handa@etl.go.jp>
5687
5688 * ccl.c (Fregister_ccl_program): Handle the return value of
5689 resolve_symbol_ccl_program correctly.
5690 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
5691
5692 2001-01-15 Gerd Moellmann <gerd@gnu.org>
5693
5694 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
5695 has gone in the meantime, use face MOUSE_FACE_ID.
5696
5697 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
5698 If x_display_info_for_display returns null, don't try to close
5699 the display; we didn't open it.
5700
5701 * dispnew.c (save_or_restore_current_matrices): Function removed.
5702 (save_current_matrix, restore_current_matrix): New functions.
5703 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
5704 restore the frame's current matrix. Due to the glyph pointer
5705 setup done in adjust_glyph_matrix, there is no easy way to make
5706 saving the current matrix in the desired matrix generally correct,
5707 so don't try it.
5708
5709 2001-01-15 Kenichi Handa <handa@etl.go.jp>
5710
5711 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
5712 truncation glyphs.
5713 (display_line): Optimize for wide characters.
5714 (display_string): Don't try to display a multi-column character
5715 partially. On ttys, produce more than one truncation glyph for
5716 multi-column characters that don't fit on the line.
5717
5718 2001-01-13 Kenichi Handa <handa@etl.go.jp>
5719
5720 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
5721 Define it instead of WORDS_BIGENDIAN. Caller changed.
5722
5723 2001-01-13 Jason Rumney <jasonr@gnu.org>
5724
5725 * w32fns.c (Fimage_size, image_ascent, lookup_image)
5726 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
5727 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5728 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
5729
5730 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
5731 (x_draw_image_relief, x_draw_image_foreground_1)
5732 (x_draw_image_glyph_string): Adapt to change of image margins.
5733
5734 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
5735 variables.
5736
5737 * w32bdf.c (search_file_line, get_cached_font_char)
5738 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
5739
5740 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
5741
5742 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
5743 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
5744 (Fw32_send_sys_command): Remove unused variables.
5745 (w32_msg_pump): Add parentheses.
5746
5747 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
5748 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
5749 Add parentheses.
5750
5751 2001-01-12 Gerd Moellmann <gerd@gnu.org>
5752
5753 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5754 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5755 being a pair of margins.
5756 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5757 to DEFVAR_LISP. Extend doc.
5758
5759 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5760 margins.
5761 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5762 pair of integers `(X . Y)', use X for the horizontal and Y for the
5763 vertical margin.
5764 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5765 (parse_image_spec): Check it.
5766 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5767 (tiff_format, gif_format, gs_format):
5768 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
5769
5770 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5771 (x_draw_image_relief, x_draw_image_foreground_1)
5772 (x_draw_image_glyph_string): Adapt to the change of image margins.
5773
5774 * dispextern.h (struct image): Replace member `margin' with
5775 `hmargin' and `vmargin'.
5776
5777 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5778 and GLYPHS.
5779
5780 * dispnew.c (update_text_area): Put code which decrements the
5781 stop position when the row's face extends to the end of the
5782 line in #if 0.
5783
5784 * xfns.c (x_set_mouse_color): Fix color allocation.
5785
5786 * keyboard.c: Call get_local_map with new argument list.
5787
5788 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5789
5790 * intervals.h (enum map_property): Removed.
5791 (get_local_map): Change prototype.
5792
5793 * keymap.c: Call get_local_map with new argument list.
5794 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5795
5796 2001-01-11 Gerd Moellmann <gerd@gnu.org>
5797
5798 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5799 of the size needed for the tool bar string. For the last image,
5800 use a `display' property that reaches to the end of the string.
5801
5802 * xselect.c (selection_request_dpyinfo): New variable.
5803 (x_handle_selection_request): Set it.
5804 (x_selection_request_lisp_error): Don't call
5805 x_decline_selection_request if selection request's display has
5806 been closed.
5807
5808 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5809 Do the unregister_colors before calling XFreeColors.
5810
5811 2001-01-10 Dave Love <fx@gnu.org>
5812
5813 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5814 ${SOME_MACHINE_LISP}, not ${lisp}.
5815
5816 2001-01-10 Gerd Moellmann <gerd@gnu.org>
5817
5818 * xdisp.c (display_line): On ttys, produce more than one truncation
5819 glyph for multi-column characters that don't fit on the line.
5820
5821 * xselect.c (x_reply_selection_request): Add a comment.
5822
5823 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5824 XkbGetNames instead of XkbGetKeyboard.
5825
5826 2001-01-10 Dave Love <fx@gnu.org>
5827
5828 * sysdep.c (random): Revert the declaration.
5829
5830 2001-01-09 Gerd Moellmann <gerd@gnu.org>
5831
5832 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5833 Call function string_bytes.
5834 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5835
5836 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5837 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5838 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5839 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5840 the current sblock.
5841 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5842 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5843 after sweeping strings, and at the end.
5844 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5845
5846 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5847 ensure that pop_message is called.
5848
5849 * keyboard.c (Fexecute_extended_command): Use a
5850 record_unwind_protect to ensure that pop_message is called.
5851
5852 * lisp.h (push_message_unwind): Add prototype.
5853
5854 * xdisp.c (push_message_unwind): New function.
5855
5856 * fileio.c (do_auto_save_unwind): Do the pop_message here
5857 instead of in Fdo_auto_save.
5858 (Fdo_auto_save): Don't call pop_message.
5859
5860 2001-01-08 Ken Raeburn <raeburn@gnu.org>
5861
5862 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5863 in inner block.
5864
5865 2001-01-08 Gerd Moellmann <gerd@gnu.org>
5866
5867 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5868 when increasing window's vscroll.
5869
5870 * macros.c (Qkbd_macro_termination_hook): New variable.
5871 (syms_of_macros): Initialize and staticpro it.
5872 (pop_kbd_macro): Run kbd-macro-termination-hook.
5873
5874 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5875
5876 2001-01-07 Dave Love <fx@gnu.org>
5877
5878 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5879 arglist, for documentation's sake.
5880
5881 2001-01-06 Andrew Innes <andrewi@gnu.org>
5882
5883 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5884 of *.pdb.
5885
5886 2001-01-05 Andrew Innes <andrewi@gnu.org>
5887
5888 * term.c (update_end): Don't check updating_frame; for some reason
5889 this can be 0 sometimes, such as after dismissing a popup menu,
5890 and isn't necessary given the explicit frame argument.
5891
5892 2001-01-05 Gerd Moellmann <gerd@gnu.org>
5893
5894 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5895 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5896
5897 2001-01-04 Gerd Moellmann <gerd@gnu.org>
5898
5899 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
5900
5901 * xfns.c (x_create_tip_frame): Preserve the value of
5902 face_change_count around the creation of the tip frame.
5903
5904 * xfns.c (last_show_tip_args): New variable.
5905 (compute_tip_xy): New function.
5906 (Fx_show_tip): Reuse an existing tip frame, if possible.
5907 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5908
5909 2001-01-04 Dave Love <fx@gnu.org>
5910
5911 * editfns.c (Fformat): Doc fix.
5912
5913 * systime.h (set_file_times): Prototype.
5914
5915 * widget.h (EmacsFrameSetCharSize_): Prototype.
5916
5917 * sysdep.c (random, srandom): Declare explicitly.
5918
5919 * dispextern.h (move_it_vertically_backward): Declare.
5920
5921 2001-01-04 Gerd Moellmann <gerd@gnu.org>
5922
5923 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5924 like in Fx_create_frame.
5925
5926 * xfaces.c (set_font_frame_param): Don't do anything for
5927 non-graphical frames.
5928
5929 * window.c (Fdelete_other_windows): Set window's window_end_valid
5930 to nil when changing the window's start. Don't change the
5931 window's start when its top position hasn't changed. If we do,
5932 this will set the window's optional_new_start, which act's like a
5933 force_start during redisplay with C-x 1 M-> under particular
5934 circumstances (see report from Per Starback to emacs-pretest-bug
5935 from 2000-12-13.).
5936
5937 2001-01-03 Gerd Moellmann <gerd@gnu.org>
5938
5939 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5940 short cut at the start of the function. Add an assertion.
5941 (reseat_at_next_visible_line_start): Add an assertion.
5942
5943 * window.c (Frecenter): When changing the window start, set the
5944 window's window_end_valid to nil.
5945 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5946
5947 * dispextern.h (move_it_past_eol): Add prototype.
5948
5949 * xdisp.c (move_it_past_eol): New function.
5950
5951 * window.c (Fwindow_end): Doc fix.
5952
5953 2001-01-03 Dave Love <fx@gnu.org>
5954
5955 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
5956
5957 2001-01-03 Gerd Moellmann <gerd@gnu.org>
5958
5959 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5960 the enabled_p flag of the glyph row at window_end_vpos to 0.
5961 (handle_single_display_prop): Fix last change.
5962
5963 2001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5964
5965 * window.c (Frecenter): Doc fix.
5966
5967 2001-01-02 Andrew Innes <andrewi@gnu.org>
5968
5969 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5970
5971 * frame.h (output_method): Add output_w32_console method.
5972 (FRAME_W32_CONSOLE_P): New macro.
5973
5974 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5975 use output_w32_console method.
5976 (Qw32_console): New Lisp_Object.
5977 (Fframep): Return it.
5978 (syms_of_frame): Init it.
5979 (Fframe_parameters): Report w32console as font for w32_console frames.
5980
5981 * xfaces.c (realize_default_face): Set face foreground and
5982 background to unspecified for w32_console frames.
5983 (realize_face): Realize face cache for w32_console frames.
5984 (realize_tty_face): Accept w32_console frames.
5985
5986 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
5987 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5988 necessary, even if running interactively.
5989
5990 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5991 w32_console frames.
5992
5993 * w32term.c (x_update_begin):
5994 (x_update_end):
5995 (x_clear_frame):
5996 (x_ins_del_lines):
5997 (x_change_line_highlight):
5998 (x_delete_glyphs):
5999 (w32_ring_bell):
6000 (x_update_begin):
6001 (x_update_end):
6002 (w32_reassert_line_highlight):
6003 (w32_frame_rehighlight):
6004 (w32_frame_raise_lower): Do nothing if not w32 frame.
6005
6006 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
6007
6008 * w32fns.c (Fx_display_color_cells): Determine correct value, when
6009 system doesn't tell us directly.
6010 (Fx_display_visual_class): Implement properly.
6011
6012 2001-01-02 Gerd Moellmann <gerd@gnu.org>
6013
6014 * window.c (Frecenter): Handle centering in graphical frames
6015 specially. Centering on the basis of line counts doesn't work
6016 reliably with variable-height lines.
6017
6018 2001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
6019
6020 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
6021 and al[].
6022
6023 * composite.c (run_composition_function): Remove unused var `val'.
6024 (update_compositions): Remove unused variable `hook'.
6025
6026 * intervals.c (get_local_map): Remove unused variable `tem'.
6027
6028 * doprnt.c (doprnt1): Remove unused variable `size'.
6029
6030 * fns.c (Flength): Remove unused variable `tail'.
6031 (Fdelete): Remove unused variable `size'.
6032
6033 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
6034 and `gcpro2'.
6035
6036 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
6037
6038 * data.c (find_symbol_value): Remove extra 3rd argument in the
6039 call to swap_in_symval_forwarding.
6040
6041 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
6042
6043 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
6044 (trivial_regexp_p): Remove unused variable `c'.
6045 (boyer_moore): Remove unused variable `k'.
6046
6047 * indent.c (current_column): Remove unused variable `stopchar'.
6048 (Fcompute_motion): Remove unused variable `contin'.
6049
6050 * casefiddle.c (casify_object): Remove unused variable `tolen'.
6051
6052 * dired.c (directory_files_internal): Fix a typo in a comment.
6053 Remove an unused variable `handler'.
6054 (file_name_completion): Remove unused function-scope variable `dp'.
6055 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
6056 on BSD4_2.
6057
6058 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
6059
6060 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
6061 and `buf'.
6062 (Fmarker_insertion_type): Remove unused variable `buf'.
6063
6064 * insdel.c (make_gap): Remove unused variable `result'.
6065
6066 * keyboard.c (record_char): Remove unused function-scope var `help'.
6067 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
6068 (menu_bar_items): Remove unused function-scope variable `tem'.
6069
6070 * fontset.c (fontset_ref): Remove unused variable `i'.
6071 (fontset_set): Remove unused variables `j' and `tmp'.
6072 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
6073 (make_fontset_for_ascii_face): Remove unused variable `name'.
6074 (fs_load_font): Remove unused variable `font_idx'.
6075 (fs_query_fontset): Remove unused function-local variable `fontset'.
6076 (list_fontsets): Remove unused variable `tail'.
6077 (Fnew_fontset): Remove unused variables `family' and `registry'.
6078 (accumulate_font_info): Remove unused variable `tmp'.
6079 (Ffontset_font): Remove unused variable `id'.
6080 (syms_of_fontset): Remove unused variable `i'.
6081
6082 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
6083 to x_term_init.
6084 (lookup_image): Remove unused variable `file'.
6085 (xbm_load): Remove unused variables `bitmap_data', `height', and
6086 `width'. Remove function-local variable `i', leave the
6087 block-local one.
6088 (gif_load): Remove unused variable `inc'.
6089
6090 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
6091 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
6092 leave only the one in the inner block.
6093
6094 * xfaces.c (face_fontset, realize_default_face): Remove unused
6095 variable `fontset'.
6096 (face_at_buffer_position): Remove unused variable `multibyte_p'.
6097
6098 * term.c (encode_terminal_code): Remove unused variable `c'.
6099
6100 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
6101 char *' instead of `char *'.
6102
6103 * category.c (Fcategory_docstring): Remove unused variable `doc'.
6104 (Fget_unused_category): Remove unused variable `docstring_vector'.
6105 (Fchar_category_set): Remove unused variables `val', `charset',
6106 `c1' and `c2'.
6107
6108 * coding.c (detect_coding_iso2022, setup_coding_system):
6109 Remove unused variable `i'.
6110 (detect_coding_mask): Remove unused variable `idx'.
6111 (detect_coding): Remove unused variable `i'.
6112 (ccl_coding_driver): Remove unused variable `result'.
6113 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
6114 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
6115 (encode_coding_string): Remove unused variables `gcpro1' and
6116 `saved_coding_symbol'.
6117 (Ffind_coding_systems_region_internal): Remove function-local
6118 variable args[], leave only the block-local one.
6119 (code_convert_region1): Remove unused variable `len'.
6120
6121 * charset.c (char_printable_p): Remove unused variable `chars'.
6122 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
6123 (str_to_multibyte): Remove unused variable `c'.
6124
6125 * window.c (size_window): Remove block-local variable `min_size'.
6126
6127 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
6128 `header_line_height'.
6129 (append_space, extend_face_to_end_of_line): Declare `saved_what'
6130 enum display_element_type.
6131
6132 2001-01-02 Gerd Moellmann <gerd@gnu.org>
6133
6134 * xterm.c (x_connection_closed): Catch X errors around all
6135 statements that call X. Save away the error message in a local copy.
6136
6137 * xterm.c (x_connection_closed): Set handling_signal to 0 at
6138 the start.
6139
6140 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
6141 in or at the start of invisible text.
6142
6143 * dispnew.c (update_window): Don't check_current_matrix_flags.
6144
6145 2001-01-01 Jason Rumney <jasonr@gnu.org>
6146
6147 * w32fns.c (x_figure_window_size): Do not allow new_height and
6148 new_width of frame to override specified values.
6149
6150 2000-12-30 Kenichi Handa <handa@etl.go.jp>
6151
6152 * composite.c (find_composition): Fix a code for searching backward.
6153
6154 2000-12-29 Gerd Moellmann <gerd@gnu.org>
6155
6156 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
6157 (update_window) [GLYPH_DEBUG]: Call it.
6158 (scrolling_window): Prevent including current rows which are below
6159 what's displayed in the window.
6160
6161 * xdisp.c (try_window_reusing_current_matrix)
6162 <new start <= old start>: Disable rows in the current matrix
6163 which are below the window after scrolling.
6164
6165 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
6166 is zero. It's not worth the complexity.
6167 (invisible_text_between_p): Put in #if 0 because unused.
6168
6169 2000-12-28 Gerd Moellmann <gerd@gnu.org>
6170
6171 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
6172 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
6173
6174 * keyboard.c (echo_char): If C is an integer, always call
6175 push_key_description. Former code could signal an invalid
6176 character error.
6177
6178 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
6179 If set, print multibyte text.
6180 (Fsingle_key_description): Call push_key_description with
6181 FORCE_MULTIBYTE set.
6182 (describe_buffer_bindings): Likewise.
6183
6184 * lisp.h (push_key_description): Add prototype.
6185
6186 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
6187 around the call to redisplay_internal.
6188
6189 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6190
6191 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
6192
6193 2000-12-28 Kenichi Handa <handa@etl.go.jp>
6194
6195 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
6196 (ccl_driver): New local variable `extra_bytes'.
6197
6198 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
6199
6200 * coding.c (setup_coding_system):
6201 Initialize coding->spec.ccl.eight_bit_carryover.
6202 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
6203
6204 2000-12-28 Kenichi Handa <handa@etl.go.jp>
6205
6206 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
6207 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
6208 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
6209 (decode_composition_emacs_mule): New function.
6210 (decode_coding_emacs_mule): Decode composition sequence by calling
6211 decode_composition_emacs_mule.
6212 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
6213 (encode_coding_emacs_mule): Changed from macro to function.
6214 If a text contains compositions, encode them correctly.
6215 (setup_coding_system): Set coding->commong_flags for emacs-mule so
6216 that decoding and encoding are required.
6217
6218 2000-12-27 Gerd Moellmann <gerd@gnu.org>
6219
6220 * xfaces.c (PT_PER_INCH): New macro.
6221 (xlfd_point_size): Compute real point size from font's pixel size.
6222 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
6223 instead of 72.
6224
6225 * .gdbinit: Comment out the line pointing to the Lesstif source
6226 directory.
6227
6228 * window.c (Frecenter): Use displayed_window_lines instead
6229 of window_internal_height.
6230
6231 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6232 instead of x-toolkit-scroll-bars-p.
6233 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6234
6235 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
6236 instead of x-toolkit-scroll-bars-p.
6237 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
6238
6239 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
6240 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
6241 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
6242 New variables.
6243 (add_window_display_history, add_frame_display_history)
6244 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
6245 (build_frame_matrix_from_leaf_window): Remove unused code.
6246 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
6247 redisplay history.
6248 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
6249 (update_window) [GLYPH_DEBUG]: Likewise.
6250 (syms_of_display): Defsubr dump-redisplay-history.
6251
6252 2000-12-23 Gerd Moellmann <gerd@gnu.org>
6253
6254 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
6255 the end of the prompt. Set echo_after_prompt to the offset
6256 of echoptr in echobuf.
6257
6258 * xdisp.c (init_from_display_pos): Pop until the iterator's
6259 stack is empty; there may be frames for stretch or images
6260 on the stack.
6261
6262 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
6263 (save_or_restore_current_matrix): New function for the same
6264 purpose, but more efficient.
6265 (adjust_frame_glyphs_for_frame_redisplay): Use it.
6266
6267 2000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
6268
6269 * xdisp.c (syms_of_xdisp): Fix last change.
6270
6271 2000-12-23 Gerd Moellmann <gerd@gnu.org>
6272
6273 * xdisp.c (syms_of_xdisp): Doc fix.
6274
6275 * xdisp.c (redisplay_window): Remove label restore_buffers;
6276 use finish_scroll_bars instead to make sure that scroll bars
6277 are redeemed. If we don't do this, flickering can result from
6278 scroll bars being destroyed and recreated.
6279
6280 2000-12-22 Jason Rumney <jasonr@gnu.org>
6281
6282 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
6283 in the wrong colors when the foreground is not black.
6284 (expose_window): Don't redraw the window that's currently being
6285 updated.
6286
6287 2000-12-22 Gerd Moellmann <gerd@gnu.org>
6288
6289 * window.c (size_window): When setting the window's too_small_ok
6290 flag, compare old size with minimum size depending on WIDTH_P,
6291 don't compare with window_min_width.
6292
6293 * window.c (delete_window): Simplify somewhat.
6294 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
6295 freeing window matrices. The flag windows_or_buffers_changed is
6296 set, so the next redisplay will consider all windows; this should
6297 suffice.
6298
6299 2000-12-22 Kenichi Handa <handa@etl.go.jp>
6300
6301 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
6302
6303 * ccl.h (struct ccl_program): New member cr_consumed.
6304
6305 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
6306 (CCL_READ_CHAR): Handle EOL conversion here.
6307 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
6308
6309 2000-12-21 Gerd Moellmann <gerd@gnu.org>
6310
6311 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6312
6313 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
6314 otherwise tabs of different size compare equal.
6315
6316 * callint.c (Fcall_interactively): Prevent a compiler warning.
6317
6318 * print.c (print_unwind): Return nil.
6319 (PRINTDECLARE): Initialize all local variables.
6320 (print_preprocess): Add a default case.
6321
6322 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
6323
6324 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
6325
6326 * window.c (delete_window, Fsplit_window)
6327 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
6328
6329 * dispextern.h (ensure_frame_matrix): Function declaration removed.
6330
6331 * dispnew.c (ensure_frame_matrix): Removed.
6332 (save_frame_matrix, restore_frame_matrix): New functions.
6333 (adjust_frame_glyphs_for_frame_redisplay): Use them.
6334
6335 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
6336 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
6337
6338 2000-12-21 Andrew Innes <andrewi@gnu.org>
6339
6340 * w32term.c (x_update_begin): Regenerate the palette here, rather
6341 than for each window.
6342
6343 * w32xfns.c (select_palette): Avoid calling SelectPalette if
6344 palette is NULL, since this corrupts memory! Also get
6345 display_info reference from frame.
6346
6347 2000-12-21 Jason Rumney <jasonr@gnu.org>
6348
6349 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
6350
6351 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
6352 to avoid returning without releasing it.
6353
6354 2000-12-21 Kenichi Handa <handa@etl.go.jp>
6355
6356 * keymap.c (push_key_description): Don't convert eight-bit-control
6357 and eight-bit-graphic to multibyte character.
6358
6359 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
6360 generic character and CODE1 is nil, return the smallest character
6361 in CHARSET.
6362
6363 2000-12-20 Dave Love <fx@gnu.org>
6364
6365 * s/osf5-0.h (NSIG): Don't redefine.
6366
6367 2000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6368
6369 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
6370 excluding menu-bar and tool-bar.
6371 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
6372 (menu_item_p): Remove.
6373 (where_is_internal_1): Don't ignore menu-items.
6374
6375 2000-12-20 Gerd Moellmann <gerd@gnu.org>
6376
6377 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
6378 into account.
6379
6380 * window.c (make_window): Initialize window's min_hscroll.
6381 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
6382 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
6383 to zero.
6384 (struct saved_window): New member min_hscroll.
6385 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
6386 (Fset_window_configuration): Set window's min_hscroll.
6387 (save_window_save): Save window's min_hscroll.
6388 (compare_window_configurations): Compare min_hscroll values.
6389
6390 * window.h (struct window): New member min_hscroll.
6391
6392 * keyboard.c (echo_prompt): Prevent a compiler warning.
6393
6394 * xdisp.c (try_cursor_movement): Fix last change. The real
6395 condition is that PT is at the end of the row, and should
6396 be displayed at the start of the next row.
6397
6398 * xdisp.c (try_cursor_movement): If we end on a partially
6399 visible line, end we already decided to scroll, return -1.
6400
6401 * dispextern.h (ensure_frame_matrix): Add prototype.
6402
6403 * window.c (delete_window, Fsplit_window)
6404 (Fset_window_configuration): Call ensure_frame_matrix.
6405
6406 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
6407 New functions.
6408 (adjust_frame_glyphs_for_frame_redisplay): If display has been
6409 completed, call fake_current_matrices instead of marking frame
6410 garbaged.
6411
6412 2000-12-20 Jason Rumney <jasonr@gnu.org>
6413
6414 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
6415
6416 2000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
6417
6418 * fns.c (Frequire): Doc fix.
6419
6420 2000-12-19 Gerd Moellmann <gerd@gnu.org>
6421
6422 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
6423
6424 * dispnew.c (direct_output_for_insert): Fix check for mini-window
6425 currently displaying a message.
6426
6427 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
6428 xterm.h.
6429 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
6430
6431 2000-12-18 Andrew Innes <andrewi@gnu.org>
6432
6433 * w32.c (w32_strerror): New function.
6434
6435 * w32.h (w32_strerror): New extern.
6436
6437 * w32fns.c (Fw32_shell_execute): Use it.
6438
6439 2000-12-18 Gerd Moellmann <gerd@gnu.org>
6440
6441 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
6442
6443 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6444
6445 * msdos.c (IT_set_face): Obey inverse_video.
6446
6447 2000-12-18 Kenichi Handa <handa@etl.go.jp>
6448
6449 * dired.c (directory_files_internal): Always return decoded filenames.
6450
6451 2000-12-18 Gerd Moellmann <gerd@gnu.org>
6452
6453 * xterm.c (x_connection_closed): Prevent being called recursively
6454 because of an error condition in XtCloseDisplay.
6455
6456 * xdisp.c (init_iterator): If noninteractive, and the frame's
6457 face cache is null, make one.
6458
6459 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
6460
6461 * process.c (wait_reading_process_input): Check for pending
6462 input when running timers.
6463
6464 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
6465
6466 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
6467
6468 2000-12-18 Kenichi Handa <handa@etl.go.jp>
6469
6470 * process.c (read_process_output): Don't run a filter if the code
6471 decoder produces nothing but carryover.
6472
6473 2000-12-17 Andrew Innes <andrewi@gnu.org>
6474
6475 * w32.c (sys_rename): Only check errno against EEXIST, and not
6476 EACCES, when determining whether rename failed because the target
6477 exists. This was resulting in indefinite looping on Windows 9x if
6478 the source file was locked by another process.
6479
6480 * w32fns.c (Ffile_system_info): New function.
6481 (syms_of_w32fns): Defsubr it.
6482
6483 2000-12-17 Gerd Moellmann <gerd@gnu.org>
6484
6485 * window.c (coordinates_in_window): Fix computation for
6486 position on vertical line between mode lines.
6487
6488 * xfns.c (unwind_create_frame): Return t if frame was deleted.
6489 Don't alter tip_frame or tip_window.
6490 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6491 was deleted.
6492
6493 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
6494 Don't alter tip_frame or tip_window.
6495 (unwind_create_tip_frame): Set tip_frame to nil only if frame
6496 was deleted.
6497
6498 2000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
6499
6500 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
6501 be consistent with the doc string. Reported by NAKAJIMA Mikio
6502 <minakaji@osaka.email.ne.jp>.
6503
6504 2000-12-16 Kenichi Handa <handa@etl.go.jp>
6505
6506 * xfaces.c (Vface_ignored_fonts): New variable.
6507 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
6508 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
6509
6510 2000-12-15 Gerd Moellmann <gerd@gnu.org>
6511
6512 * dispnew.c (update_window): Detect pending input every nth line
6513 updated, i.e. do it depending on real work done, and not on the
6514 vpos of the line.
6515
6516 * xterm.c (expose_window): Don't redraw the window that's
6517 currently being updated.
6518
6519 * window.c (Fset_window_point): Remove test for
6520 cursor_in_non_selected_windows.
6521
6522 * lread.c (read1): Recognize end of file after `\\'.
6523
6524 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
6525 not unwind_create_frame.
6526
6527 2000-12-15 Dave Love <fx@gnu.org>
6528
6529 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
6530 bcopy & al.
6531
6532 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
6533
6534 2000-12-15 Kenichi Handa <handa@etl.go.jp>
6535
6536 * coding.c (setup_coding_system): Clear all members of the struct
6537 coding_system at first.
6538 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
6539 argument.
6540 (code_convert_region): Don't override coding->src_multibyte and
6541 coding->dst_multibyte.
6542
6543 * fns.c (Fmd5): Docstring improved.
6544
6545 2000-12-15 Miles Bader <miles@gnu.org>
6546
6547 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
6548 are actually marked as mode-lines; otherwise use
6549 estimate_mode_line_height.
6550
6551 2000-12-14 Gerd Moellmann <gerd@gnu.org>
6552
6553 * editfns.c (Fformat): Prevent a buffer overrun when the format
6554 specifies a precision.
6555
6556 2000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
6557
6558 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
6559 argument is outside the range [2..3].
6560
6561 2000-12-14 Andrew Innes <andrewi@gnu.org>
6562
6563 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
6564 nothing to do. Bind inhibit-quit.
6565 (tip_frame): Make it a Lisp_Object.
6566 (x_create_tip_frame): Set tip_frame after it has been added to
6567 Vframe_list.
6568 (Fx_show_tip): Don't set tip_frame here.
6569 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
6570 (unwind_create_frame, unwind_create_tip_frame): New functions.
6571 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6572 while a frame is only partially constructed.
6573
6574 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6575 (x_free_frame_resources): New function.
6576 (x_destroy_window): Use it.
6577
6578 2000-12-14 Gerd Moellmann <gerd@gnu.org>
6579
6580 * xfns.c (Fx_backspace_delete_keys_p): New function.
6581 (syms_of_xfns): Defsubr it.
6582
6583 * config.in (HAVE_XKBGETKEYBOARD): Add.
6584
6585 2000-12-14 Kenichi Handa <handa@etl.go.jp>
6586
6587 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
6588 Always store string in multibyte representation in echobuf.
6589 (echo_char): Always store string in multibyte representation in
6590 echobuf.
6591 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
6592 (read_key_sequence): Adjusted for the change of echo_prompt.
6593
6594 * fns.c (Fmd5): Docstring improved.
6595
6596 * lisp.h (detect_coding_system): Prototype adjusted.
6597
6598 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
6599 (detect_coding_emacs_mule, detect_coding_iso2022,)
6600 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
6601 (detect_coding_utf_16, detect_coding_ccl): Make them static.
6602 New argument MULTIBYTEP. Callers changed.
6603 (detect_coding_mask, detect_coding_system): New argument
6604 MULTIBYTEP. Callers changed.
6605 (decode_coding_string): Set coding->src_multibyte and
6606 coding->dst_multibyte before calling detect_coding and detect_eol.
6607 Update them after some coding system is detected.
6608
6609 2000-12-13 Stefan Monnier <monnier@cs.yale.edu>
6610
6611 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
6612
6613 * keyboard.c (menu_bar_items, tool_bar_items):
6614 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
6615
6616 2000-12-13 Gerd Moellmann <gerd@gnu.org>
6617
6618 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
6619 New variables.
6620 (unwind_create_frame, unwind_create_tip_frame): New functions.
6621 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
6622 while a frame is only partially constructed.
6623
6624 * xterm.h (x_free_frame_resources): Declare.
6625
6626 * xterm.c (x_free_frame_resources): New function.
6627 (x_destroy_window): Use it.
6628
6629 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
6630 don't interrupt the update for pending input initially, i.e.
6631 update at least some lines.
6632
6633 * keyboard.c (do_mouse_tracking): Make externally visible.
6634
6635 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
6636
6637 * xfns.c (gray_bitmap_bits): Declare `char *'.
6638
6639 2000-12-12 Gerd Moellmann <gerd@gnu.org>
6640
6641 * xdisp.c (display_tool_bar_line): Make sure that tool bar
6642 lines start with a relief line.
6643
6644 2000-12-12 Dave Love <fx@gnu.org>
6645
6646 * window.c (Fdisplay_buffer): Doc fix.
6647 (Fwindow_list): Remove unused var.
6648
6649 * buffer.h (mmap_set_vars): Declare.
6650
6651 * window.h (Fset_window_point): Declare.
6652
6653 2000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
6654
6655 * msdos.c (fast_find_position): Don't overstep the last window row.
6656 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
6657 variable `area'. When looking for a row under (X,Y), give up if some
6658 of the previous rows is not enabled.
6659
6660 2000-12-12 Gerd Moellmann <gerd@gnu.org>
6661
6662 * window.c (Fset_window_point): If displaying cursors in windows
6663 other than the selected window, make sure redisplay updates
6664 other windows to show the new value of point in the window.
6665
6666 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
6667
6668 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
6669 the buffer is the sole visible buffer when in the mini-buffer.
6670
6671 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
6672 Bind `inhibit-read-only' to t.
6673 (unwind_with_echo_area_buffer): Use AREF.
6674
6675 * xfns.c (Fx_hide_tip): Simplified.
6676
6677 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
6678 instead of `1'.
6679
6680 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
6681
6682 2000-12-11 Gerd Moellmann <gerd@gnu.org>
6683
6684 * xfns.c (Fx_hide_tip): Fix last change.
6685
6686 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
6687 nothing to do. Bind inhibit-quit.
6688 (tip_frame): Make it a Lisp_Object.
6689 (x_create_tip_frame): Set tip_frame after it has been added to
6690 Vframe_list.
6691 (Fx_show_tip): Don't set tip_frame here.
6692
6693 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
6694
6695 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
6696 Lisp_Object.
6697
6698 * dispextern.h: Change external declaration of tip_frame.
6699
6700 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
6701 return an empty string.
6702
6703 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
6704 of the window's update_mode_line flag, since the former is set by
6705 force-mode-line-update, not the latter. This makes
6706 column-number-mode slightly faster.
6707
6708 * xdisp.c (try_window_id) <all changes above window start>:
6709 Set the cursor.
6710
6711 2000-12-11 Paul Eggert <eggert@twinsun.com>
6712
6713 * config.in (HAVE_FTELLO): Remove.
6714 (HAVE_FSEEKO): Add.
6715 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
6716 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
6717 HAVE_FTELLO.
6718 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
6719 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
6720
6721 2000-12-11 Miles Bader <miles@gnu.org>
6722
6723 * window.c (displayed_window_lines): Don't round up when
6724 converting empty space at bottom to lines.
6725 Handle non-newline-terminated final lines properly.
6726 (Fwindow_text_height): New function (used to be in lisp).
6727 (syms_of_window): Initialize it.
6728
6729 2000-12-09 Stefan Monnier <monnier@cs.yale.edu>
6730
6731 * syntax.c (scan_lists): Check that the right quote char has the
6732 right Sstring syntax when jumping over strings.
6733 (init_syntax_once): Use Smax rather than 13.
6734
6735 2000-12-09 Miles Bader <miles@gnu.org>
6736
6737 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
6738 with PARTIALLY, inverting the sense.
6739 (window_scroll_pixel_based): Scroll partially visible lines into
6740 place if we hit the beginning or end of the buffer.
6741 (displayed_window_lines): Don't include partially visible lines.
6742 (Fmove_to_window_line): Skip past any partially visible first line.
6743
6744 2000-12-08 Gerd Moellmann <gerd@gnu.org>
6745
6746 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
6747
6748 * tparam.c (tparam1): Change the way buffers are reallocated to be
6749 portable and less obfuscated.
6750
6751 * termcap.c (tgetent): Change the way buffers are reallocated to
6752 be portable and less obfuscated.
6753
6754 * macros.c (store_kbd_macro_char): Change the way buffers are
6755 reallocated to be portable and less obfuscated.
6756
6757 * lread.c (read1): Change the way buffers are reallocated to be
6758 portable and less obfuscated.
6759
6760 * doc.c (Fsubstitute_command_keys): Change the way buffers
6761 are reallocated so that it is portable.
6762
6763 2000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6764
6765 * dosfns.c (Ffile_system_info): New function.
6766 (syms_of_dosfns): Defsubr it.
6767
6768 2000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6769
6770 * alloc.c (gc_sweep): Add comment.
6771
6772 2000-12-07 Gerd Moellmann <gerd@gnu.org>
6773
6774 * sound.c (vox_configure): Change order of ioctls.
6775 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
6776 Ignore errors when changing volume.
6777 (vox_close): Don't reset the device.
6778
6779 * process.c (read_process_output): Make sure the process marker's
6780 position is valid when the process buffer is changed in
6781 after-change functions. W3 does that.
6782
6783 * xfns.c (x_free_gcs): New function.
6784
6785 * xterm.h (x_free_gcs): Add prototype.
6786
6787 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6788 freeing GCs here.
6789
6790 * xterm.c (x_destroy_window): Call x_free_gcs so that
6791 resources of non-toolkit X windows will be freed.
6792
6793 2000-12-07 Andrew Innes <andrewi@gnu.org>
6794
6795 * w32fns.c (xlfd_charset_of_font): Fix last change.
6796
6797 2000-12-06 Dave Love <fx@gnu.org>
6798
6799 * md5.h (__P): Don't define -- it comes from config.h.
6800
6801 * strftime.c: Change some #if foo to #ifdef foo.
6802
6803 2000-12-06 Andrew Innes <andrewi@gnu.org>
6804
6805 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6806
6807 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
6808 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
6809 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
6810
6811 2000-12-06 Gerd Moellmann <gerd@gnu.org>
6812
6813 * alloc.c (gc_sweep): Prevent symbols read during loadup
6814 from being freed.
6815
6816 * xdisp.c (underlying_face_id): New function.
6817 (handle_face_prop, face_before_or_after_it_pos): Use it
6818 to determine the face ``under'' a string. Let strings inherit
6819 the face of the buffer under them.
6820
6821 * xfaces.c (face_at_string_position): Update function comment.
6822
6823 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6824 matrix if the window's left position has changed; we need to
6825 redraw it in this case.
6826
6827 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6828
6829 * window.c (coordinates_in_window): Check mouse on mode-line or
6830 header-line first.
6831
6832 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6833 advertized by the function documentation.
6834
6835 * window.c (syms_of_window): Doc fix.
6836
6837 * sound.c (vox_configure): Set volume for left and right channel.
6838 (sound_cleanup): Return nil.
6839
6840 * xdisp.c (move_it_by_lines): Fix paren typo.
6841
6842 * xterm.c (x_load_font): Don't use the font's max_bounds for
6843 computing the height of the font. If max_bounds' ascent or
6844 descent are greater than the font's ascent or descent, this means
6845 glyphs overlap, which should be handled now by redisplay.
6846
6847 * window.c (Veven_window_heights): New variable.
6848 (syms_of_window): DEFVAR_LISP it.
6849 (Fdisplay_buffer): Check Veven_window_heights before evening the
6850 window heights.
6851
6852 2000-12-06 Miles Bader <miles@gnu.org>
6853
6854 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6855 update `default-frame-alist' instead of setting no frame parameters.
6856
6857 2000-12-06 Kenichi Handa <handa@etl.go.jp>
6858
6859 * composite.c (update_compositions): Fix typo (use the correct
6860 variable).
6861
6862 2000-12-05 Jason Rumney <jasonr@gnu.org>
6863
6864 * md5.h: Remove underscores from function declarations.
6865 (__attribute__, __alignof__) [!__GNUC__]: Define.
6866
6867 * md5.c: Delay include of md5.h until after namespace cleaning.
6868
6869 * makefile.w32-in (fns.o): Depend on md5.h
6870 (md5.o): New target.
6871 (sunfns.o): Remove.
6872
6873 * makefile.nt: Likewise.
6874
6875 2000-12-05 Jason Rumney <jasonr@altavista.net>
6876
6877 * w32term.c (expose_area): Complete last change.
6878
6879 2000-12-05 Ken Raeburn <raeburn@gnu.org>
6880
6881 * minibuf.c: Include intervals.h.
6882
6883 2000-12-05 Jason Rumney <jasonr@gnu.org>
6884
6885 * w32term.c (x_produce_glyphs): If a font for a component of
6886 a composition is not found, use 1 pixel dot ascent and 0 dot
6887 descent value to avoid displaying terribly tall empty boxes.
6888 (expose_area): Pass x-coordinate relative to the exposed
6889 area to x_draw_glyphs instead of a window-relative coordinate.
6890
6891 2000-12-05 Gerd Moellmann <gerd@gnu.org>
6892
6893 * xdisp.c (next_element_from_ellipsis): Save face before selective
6894 display in saved_face_id, and set face_before_selective_p.
6895 (reseat_1): Reset face_before_selective_p.
6896 (append_space, extend_face_to_end_of_line): If iterator's
6897 face_before_selective_p is set, use the face from saved_face_id.
6898 (extend_face_to_end_of_line): For tty frames, make sure to
6899 use the right face id when producing spaces at the end of
6900 the line.
6901
6902 * dispextern.h (struct it): Add face_before_selective_p.
6903
6904 * keyboard.c (record_char): Don't record identical help-echo
6905 events in recent_keys.
6906
6907 * xterm.c [USE_X_TOOLKIT]: Close the display.
6908 (xim_close_dpy): Handle case that the display has been closed.
6909
6910 * xterm.c (x_destroy_window): Reset the frame's X window after
6911 destroying it.
6912
6913 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6914 variable window_width.
6915 (line_draw_cost): Fix code skipping over spaces at the end of the
6916 line when must_write_spaces is not set.
6917 (scrolling_window): Fix code inserting runs in list of all runs.
6918
6919 2000-12-05 Kenichi Handa <handa@etl.go.jp>
6920
6921 * coding.c (setup_coding_system): Be sure to initialize
6922 coding->category_idx.
6923
6924 2000-12-04 Gerd Moellmann <gerd@gnu.org>
6925
6926 * xterm.c (PER_CHAR_METRIC): Removed because not used.
6927
6928 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6929 area to x_draw_glyphs instead of a window-relative coordinate.
6930
6931 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6932 error in the message.
6933
6934 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6935 timer after having read a key. It's not good for code reading
6936 several keys in a loop, like an input method.
6937
6938 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6939 record undo information for format-decode.
6940
6941 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6942 current buffer is read-only, not if it isn't.
6943
6944 * keyboard.c (record_char): Record `help-echo' input events
6945 in recent_keys only if they display some help. Don't record
6946 `help-echo' events as macro char.
6947
6948 2000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6949
6950 * editfns.c (save_excursion_restore): Don't move point
6951 in another window if it is showing the wrong buffer.
6952 Avoid the call to Fwindow_live_p, for speed.
6953
6954 2000-12-04 Kenichi Handa <handa@etl.go.jp>
6955
6956 * xfaces.c (struct font_name): New member registry_priority.
6957 (split_font_name): Initialize the above member to zero.
6958 (concat_font_list): New function.
6959 (font_list): Include fonts of all alternative registries.
6960 (FONT_POINT_SIZE_QUANTUM): New macro.
6961 (better_font_p): Ignore point size difference less than
6962 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6963
6964 * xterm.c (x_produce_glyphs): If a font for a component of
6965 a composition is not found, use 1 pixel dot ascent and 0 dot
6966 descent value to avoid displaying terribly tall empty boxes.
6967
6968 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6969
6970 2000-12-03 Ken Raeburn <raeburn@gnu.org>
6971
6972 * coding.h (code_convert_string1): Declare.
6973
6974 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6975
6976 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
6977
6978 2000-12-02 Jason Rumney <jasonr@gnu.org>
6979
6980 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6981 correctly for single byte character case.
6982 (w32_per_char_metric): Do not try to make any assumptions about
6983 the metrics of BDF fonts.
6984 (x_estimate_mode_line_height): If `mode-line' face
6985 hasn't a font, use that of the frame, as drawing glyphs does.
6986 (note_mouse_highlight): Change the cursor shape on the vertical
6987 border between windows [not enabled].
6988
6989 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6990
6991 * w32fns.c (Fx_create_frame): Reintroduce the call to
6992 face-set-after-frame-defaults.
6993 (Vx_window_horizontal_drag_shape): New variable.
6994 (syms_of_xfns): DEFVAR_LISP it.
6995 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6996 enabled].
6997
6998 2000-12-02 Simon Josefsson <simon@josefsson.org>
6999
7000 * fns.c (Fmd5): Use a different logic to decide the coding system
7001 to use.
7002
7003 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
7004
7005 2000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
7006
7007 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
7008
7009 2000-12-01 Gerd Moellmann <gerd@gnu.org>
7010
7011 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
7012 height for YNegative.
7013 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
7014 height; also see comment there.
7015
7016 * window.c (coordinates_in_window): Handle computations for
7017 positions on the vertical bar and fringes differently for
7018 window-system frames. Consider some pixels near the vertical bar
7019 as on the bar if the frame doesn't have vertical scroll bars.
7020 Associate positions between mode or header lines with the
7021 right window, the left one.
7022
7023 2000-12-01 Jason Rumney <jasonr@gnu.org>
7024
7025 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
7026
7027 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
7028 invalid frame.
7029
7030 2000-12-01 Gerd Moellmann <gerd@gnu.org>
7031
7032 * window.c (struct saved_window): Add members orig_top and orig_height.
7033 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
7034 (save_window_save, Fset_window_configuration): Save/restore
7035 window's orig_top and orig_height.
7036
7037 2000-12-01 Jason Rumney <jasonr@gnu.org>
7038
7039 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
7040
7041 * w32fns.c (x_set_cursor_color): Fix last change.
7042
7043 2000-11-30 Gerd Moellmann <gerd@gnu.org>
7044
7045 * xdisp.c (echo_area_display): If cursor is in the echo area, make
7046 sure that the next redisplay displays the minibuffer, so that
7047 the cursor will be replaced with what the minibuffer wants.
7048
7049 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
7050 #ifndef instead of using #if.
7051 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
7052 USE_TOOLKIT_SCROLL_BARS is defined.
7053
7054 2000-11-30 Jason Rumney <jasonr@gnu.org>
7055
7056 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
7057 x_display_cursor.
7058
7059 2000-11-30 Gerd Moellmann <gerd@gnu.org>
7060
7061 * fns.c (Fmd5): Doc fix.
7062
7063 2000-11-30 Simon Josefsson <simon@josefsson.org>
7064
7065 * fns.c (Fmd5): New function.
7066 (syms_of_fns): Defsubr md5.
7067
7068 * Makefile.in (obj): Add md5.o
7069
7070 2000-11-30 Gerd Moellmann <gerd@gnu.org>
7071
7072 * md5.h, md5.c: New files, taken from glibc.
7073
7074 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
7075
7076 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
7077 hasn't a font, use that of the frame, as drawing glyphs does.
7078
7079 2000-11-29 Stefan Monnier <monnier@cs.yale.edu>
7080
7081 * eval.c (Frun_hooks): Allow 0 arguments.
7082
7083 2000-11-29 Gerd Moellmann <gerd@gnu.org>
7084
7085 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
7086 is over the menu bar widget, say it's not on the frame.
7087
7088 * xfns.c (Fx_create_frame): Reintroduce the call to
7089 face-set-after-frame-defaults.
7090
7091 * eval.c (Fsignal): Reset handling_signal.
7092
7093 2000-11-28 Jason Rumney <jasonr@gnu.org>
7094
7095 * w32menu.c (add_menu_item): Reset menu item text when changing
7096 type to radio button.
7097
7098 2000-11-28 Gerd Moellmann <gerd@gnu.org>
7099
7100 * xselect.c: Update copyright.
7101
7102 * window.c (coordinates_in_window): If on a mode or header line,
7103 but sufficiently close to its start, return ``on vertical
7104 border''. This gives us a way to drag windows horizontally when
7105 using toolkit scroll bars.
7106
7107 * xterm.c (note_mouse_highlight): Change the cursor shape
7108 on the vertical border between windows.
7109
7110 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
7111
7112 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
7113 (syms_of_xfns): DEFVAR_LISP it.
7114 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
7115
7116 * textprop.c (text_read_only): New function.
7117 (verify_interval_modification): Use it instead of signaling
7118 `text-read-only'. This makes it easier to catch this error
7119 with a breakpoint.:
7120
7121 * xdisp.c (forward_to_next_line_start): Check for newlines,
7122 not end of line, which includes CR.
7123
7124 2000-11-28 Kenichi Handa <handa@etl.go.jp>
7125
7126 * coding.c (Ffind_coding_systems_region_internal): Be sure to
7127 include no-conversion.
7128
7129 2000-11-27 Jason Rumney <jasonr@gnu.org>
7130
7131 * w32fns.c (w32_load_system_font): Always mark font as double byte
7132 if codepage is unicode.
7133
7134 2000-11-27 Gerd Moellmann <gerd@gnu.org>
7135
7136 * xdisp.c (forward_to_next_line_start): If already on a newline,
7137 just consume it to avoid unintended skipping over invisible text below.
7138
7139 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
7140 `vertical-line', `mode-line' and `header-line' events.
7141
7142 * xdisp.c (try_window_id): Avoid starting to display in the middle
7143 of a character, a TAB for instance. This is easier than to set
7144 up the iterator exactly, and it's not a frequent case, so the
7145 additional effort wouldn't really pay off.
7146
7147 2000-11-26 Andrew Choi <akochoi@i-cable.com>
7148
7149 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
7150 init_window_once.
7151
7152 2000-11-25 Jason Rumney <jasonr@gnu.org>
7153
7154 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
7155 Args to window_from_coordinates should be pixel coordinates.
7156
7157 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
7158 redisplay handles them properly.
7159
7160 2000-11-25 Miles Bader <miles@gnu.org>
7161
7162 * indent.c (compute_motion): Keep pos_byte in sync with pos.
7163
7164 2000-11-24 Jason Rumney <jasonr@gnu.org>
7165
7166 * w32.c (init_environment): Set LANG environment variable based on
7167 locale settings, if not set.
7168
7169 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
7170 making tool bar smaller. When clearing the frame, also
7171 clear current matrices. Clear frame when tool bar disappears.
7172 Don't use more lines for the tool-bar than is available.
7173 (x_change_window_heights): New function.
7174
7175 2000-11-24 Gerd Moellmann <gerd@gnu.org>
7176
7177 * xdisp.c (init_from_display_pos): If POS says we're already after
7178 an overlay string ending at POS, make sure to pop the iterator
7179 because it will be in front of that overlay string. When POS is
7180 ZV, we've thereby also ``processed'' overlay strings at ZV.
7181
7182 * xfaces.c (lface_from_face_name): Function comment fix.
7183
7184 2000-11-24 Miles Bader <miles@gnu.org>
7185
7186 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
7187 apply `mode-line-inverse-video' -- zero means force display using
7188 the default face, non-zero means display using the specialized face.
7189 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
7190
7191 2000-11-23 Kenichi Handa <handa@etl.go.jp>
7192
7193 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
7194 hard coded `4'.
7195
7196 2000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
7197
7198 * coding.c (decode_coding_emacs_mule): Fix the case of
7199 CODING_EOL_LF, which used uninitialized value of c.
7200
7201 2000-11-23 Stefan Monnier <monnier@cs.yale.edu>
7202
7203 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
7204
7205 2000-11-22 Gerd Moellmann <gerd@gnu.org>
7206
7207 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
7208 buffer object.
7209
7210 * frame.h (struct frame): Replace desired_tool_bar_items,
7211 current_tool_bar_items, n_desired_tool_bar_items,
7212 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
7213
7214 * frame.c (make_frame): Change initialization of tool bar
7215 items accordingly.
7216
7217 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
7218 Change references to members deleted from struct frame to use the
7219 new ones.
7220
7221 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
7222 references to members deleted from struct frame to use the new ones.
7223
7224 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
7225
7226 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
7227
7228 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
7229 (note_tool_bar_highlight): Change references to members deleted
7230 from struct frame to use the new ones.
7231
7232 2000-11-23 Miles Bader <miles@gnu.org>
7233
7234 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
7235 the face's inverse-video attribute, rather than overriding it.
7236
7237 2000-11-22 Gerd Moellmann <gerd@gnu.org>
7238
7239 * xfns.c (x_set_tool_bar_lines): Clear internal border when
7240 making tool bar smaller.
7241
7242 2000-11-22 Dave Love <fx@gnu.org>
7243
7244 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
7245
7246 2000-11-22 Miles Bader <miles@gnu.org>
7247
7248 * keyboard.c (Vminibuffer_message_timeout): New variable.
7249 (command_loop_1): Use it to determine message timeout.
7250 (syms_of_keyboard): Initialize it.
7251
7252 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
7253
7254 2000-11-22 Kenichi Handa <handa@etl.go.jp>
7255
7256 * sysdep.c: Move the code for declaring h_errno after #include
7257 <netdb.h>.
7258
7259 2000-11-21 Gerd Moellmann <gerd@gnu.org>
7260
7261 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
7262 the menu bar when the tooltip is unmapped.
7263
7264 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
7265 sole visible buffer when we're currently in the mini-buffer, and
7266 give up if so.
7267
7268 2000-11-21 Jason Rumney <jasonr@gnu.org>
7269
7270 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
7271 put on the clipboard.
7272 (Fw32_get_clipboard_data): Compare data on clipboard with saved
7273 copy of what Emacs last put there. If they are the same, do not
7274 use the clipboard copy to avoid losing data due to coding conversions.
7275
7276 2000-11-22 Miles Bader <miles@gnu.org>
7277
7278 * minibuf.c (Vminibuffer_prompt_properties): New variable.
7279 (syms_of_minibuf): Initialize it.
7280 (read_minibuf): Add properties from Vminibuffer_prompt_properties
7281 to prompt, don't make read-only.
7282
7283 2000-11-21 Gerd Moellmann <gerd@gnu.org>
7284
7285 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
7286 Add BEFORE/AFTER_POTENTIAL_GC.
7287
7288 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
7289
7290 * buffer.c (mmap_free_1): Avoid a compiler warning.
7291
7292 * term.c, cm.c: Don't try to include termcap.h; see comment there.
7293
7294 2000-11-21 Kenichi Handa <handa@etl.go.jp>
7295
7296 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
7297 ... #endif scope.
7298
7299 2000-11-20 Gerd Moellmann <gerd@gnu.org>
7300
7301 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
7302 screen supports it.
7303
7304 * s/gnu-linux.h: Don't use `#cpu'.
7305
7306 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
7307 not defined in mman.h.
7308
7309 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
7310 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
7311 and store an index in the XClientMessageEvent. Storing a
7312 Lisp_Object or pointer can fail on a 64 bit system, since X only
7313 transfers 32 bits.
7314 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
7315
7316 2000-11-20 Dave Love <fx@gnu.org>
7317
7318 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
7319
7320 2000-11-20 Gerd Moellmann <gerd@gnu.org>
7321
7322 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
7323
7324 2000-11-20 Kenichi Handa <handa@etl.go.jp>
7325
7326 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
7327 by WIDTH.
7328
7329 * alloc.c (make_string): Fix previous change. Be sure to make
7330 unibyte string correctly.
7331
7332 2000-11-19 Gerd Moellmann <gerd@gnu.org>
7333
7334 * window.c (Fwindow_list): Change parameter list to be XEmacs
7335 compatible.
7336 (window_list_1): New function.
7337 (window_loop): Use it instead of Fwindow_list.
7338
7339 * sysdep.c (emacs_ospeed): New variable.
7340 (toplevel): Don't declare ospeed extern.
7341 (init_baud_rate): Use emacs_ospeed instead of ospeed.
7342
7343 * termcap.c (ospeed): Remove.
7344 (tputs) [!emacs]: Remove unused code.
7345 (tgetent): Avoid a compiler warning.
7346
7347 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
7348 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
7349 SCROLL_BAR_X_WIDGET with additional argument DPY.
7350
7351 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
7352 removed.
7353 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
7354 Take the X display as additional argument.
7355 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
7356 `Widget' is a pointer type that's not easily stored in Lisp_Object
7357 form in a portable way.
7358
7359 * dispnew.c (update_text_area): Fix last change.
7360
7361 2000-11-18 Gerd Moellmann <gerd@gnu.org>
7362
7363 * xdisp.c: Use BINDING_STACK_SIZE throughout.
7364
7365 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
7366 clear current matrices.
7367
7368 * buffer.c (mmap_enlarge): Don't print a message on stderr
7369 if mapping new memory at the end of the existing region fails.
7370
7371 * dispnew.c (update_text_area): Don't skip over equal glyphs
7372 when the last current glyph overlaps the glyph to its right.
7373
7374 2000-11-18 Miles Bader <miles@gnu.org>
7375
7376 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
7377 lines that *end* with "..." too (that's the most common case!).
7378
7379 2000-11-18 Gerd Moellmann <gerd@gnu.org>
7380
7381 * xdisp.c (resize_mini_window): Temporarily change to the
7382 mini-window's buffer if necessary.
7383
7384 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
7385 the tooltip obscures less text under it.
7386
7387 2000-11-17 Gerd Moellmann <gerd@gnu.org>
7388
7389 * puresize.h (BASE_PURESIZE): Increase to 700000.
7390
7391 2000-11-18 Jason Rumney <jasonr@gnu.org>
7392
7393 * w32term.c (w32_draw_bitmap): Use face to set colors.
7394
7395 2000-11-17 Dave Love <fx@gnu.org>
7396
7397 * lread.c (Fload): Fix #ifdef for pcc.
7398
7399 2000-11-17 Gerd Moellmann <gerd@gnu.org>
7400
7401 * xdisp.c (pos_visible_p): Compute the default character height
7402 differently.
7403
7404 2000-11-16 Gerd Moellmann <gerd@gnu.org>
7405
7406 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
7407 knowing the line's height; use the default font's height in that case.
7408
7409 * xfaces.c (weight_table): Add `demi' with the same meaning as
7410 `demibold'.
7411
7412 2000-11-16 Kenichi Handa <handa@etl.go.jp>
7413
7414 * dispnew.c (null_row): New global static variable.
7415 (clear_glyph_row): Delete local static variable null_row.
7416
7417 2000-11-15 Jason Rumney <jasonr@gnu.org>
7418
7419 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
7420 (w32_alloc_lighter_color): Use new brightness calculations from
7421 xterm.c. Scale delta to be in the range expected by W32.
7422 (w32_draw_relief_rect): Use frame relief colors.
7423
7424 2000-11-15 Gerd Moellmann <gerd@gnu.org>
7425
7426 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
7427 (Qinhibit_default_face_x_resources): New variable.
7428 (syms_of_frame): Initialize it.
7429 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
7430
7431 * xdisp.c (pos_visible_p): Improve function comment.
7432
7433 * lisp.h (BINDING_STACK_SIZE): New macro.
7434
7435 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
7436 reading the directory if readdir returns null and errno is EAGAIN
7437 or EINTR.
7438
7439 2000-11-14 Stefan Monnier <monnier@cs.yale.edu>
7440
7441 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
7442 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
7443 Set amount_to_scroll to max of dx and scroll_step so that
7444 scroll-conservatively doesn't defeat scroll-step>1.
7445 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
7446 scroll-conservatively for line-at-a-time scrolling.
7447
7448 2000-11-14 Gerd Moellmann <gerd@gnu.org>
7449
7450 * window.c (Fpos_visible_in_window_p): Call pos_visible with
7451 extra argument.
7452
7453 * xdisp.c (current_mode_line_height, current_header_line_height):
7454 New variables.
7455 (init_xdisp): Initialize them.
7456 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
7457 and use exact mode line heights if it is set.
7458
7459 * lisp.h (pos_visible_p): Change prototype.
7460
7461 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
7462 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
7463 and current_header_line_height first.
7464 (current_mode_line_height, current_header_line_height):
7465 Declare extern.
7466
7467 2000-11-14 Miles Bader <miles@lsi.nec.co.jp>
7468
7469 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
7470 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
7471 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
7472
7473 2000-11-14 Miles Bader <miles@gnu.org>
7474
7475 * xterm.c (x_alloc_lighter_color): Include an additive component
7476 too for dark colors, because FACTOR isn't enough.
7477 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
7478 New macros.
7479
7480 2000-11-13 Gerd Moellmann <gerd@gnu.org>
7481
7482 * keyboard.c (show_help_echo): Call message3_nolog with number of
7483 bytes in the help string as 2nd parameter, instead of the number
7484 of characters.
7485
7486 2000-11-13 Miles Bader <miles@gnu.org>
7487
7488 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
7489 (Fload): Use new openp return protocol.
7490 Don't try to use Vload_source_file_function to load .elc files.
7491 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
7492 openp return protocol.
7493 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
7494
7495 2000-11-11 Kenichi Handa <handa@etl.go.jp>
7496
7497 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
7498
7499 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
7500 Defined these macros.
7501 (NLIST_STRUCT): Avoid re-defining it.
7502
7503 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
7504 -I/usr/contrib/X11R6/include.
7505 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
7506
7507 2000-11-10 Jason Rumney <jasonr@gnu.org>
7508
7509 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
7510
7511 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
7512 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
7513
7514 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
7515 (Qw32_charset_vietnamese): New symbol.
7516 (xlfd_charset_of_font): New function.
7517 (w32_load_system_font): Use it.
7518 (x_to_w32_charset): Use Fassoc to find charset info. Special case
7519 when Vw32_charset_info_alist is nil to ensure default face always
7520 has font. Use Fcar and Fcdr for safety.
7521 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
7522 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
7523 pseudo-codepages for special cases.
7524 (w32_to_x_font): New parameter to allow charset portion to be
7525 specified where there is many to one mapping. Callers changed.
7526 (w32_list_fonts): Avoid listing fonts that won't display.
7527
7528 2000-11-10 Gerd Moellmann <gerd@gnu.org>
7529
7530 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
7531 (font_list_1): Renamed from font_list.
7532 (font_list): New function, trying alternative registries from
7533 Vface_alternative_font_registry_alist.
7534 (Finternal_set_alternative_font_registry_alist): New function.
7535 (syms_of_xfaces): Initialize and Staticpro
7536 Vface_alternative_font_registry_alist.
7537 Defsubr Finternal_set_alternative_font_registry_alist.
7538
7539 2000-11-09 Ken Raeburn <raeburn@gnu.org>
7540
7541 * lisp.h (Flooking_at): Declare.
7542
7543 2000-11-09 Gerd Moellmann <gerd@gnu.org>
7544
7545 * dired.c (directory_files_internal): Fix a braino.
7546
7547 * dired.c (directory_files_internal): Add missing GCPRO's.
7548 Some cleanup.
7549
7550 2000-11-08 Gerd Moellmann <gerd@gnu.org>
7551
7552 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
7553 (resize_mini_window): Return quickly if Vresize_mini_window is
7554 nil. Don't return if Vmax_mini_window_height is nil.
7555
7556 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
7557 (syms_of_xdisp): Initialize them.
7558 (resize_mini_window): Act according to the setting of
7559 Vresize_mini_window.
7560 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
7561
7562 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
7563 scroll bar widget after configuring it, so that it will appear at
7564 the right position from the start.
7565 (XTredeem_scroll_bar): Cleaned up.
7566
7567 2000-11-08 Kenichi Handa <handa@etl.go.jp>
7568
7569 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
7570 font is taller than the frame line, we don't have to bias the
7571 division by two.
7572
7573 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
7574
7575 2000-11-07 Dave Love <fx@gnu.org>
7576
7577 * config.in (HAVE_MKSTEMP): Add.
7578
7579 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
7580
7581 2000-11-07 Gerd Moellmann <gerd@gnu.org>
7582
7583 * window.c (Fset_window_configuration): Don't try to preserve
7584 point in the current buffer, if that buffer is displayed in more
7585 than one window.
7586
7587 * xfaces.c (lookup_named_face): If default face isn't realized,
7588 try to realize it. Return -1 if not successful.
7589 (Fx_list_fonts): Handle case that face cannot be determined.
7590 (Fface_font): Likewise.
7591
7592 2000-11-06 Gerd Moellmann <gerd@gnu.org>
7593
7594 * window.c (displayed_window_lines): Detect partially
7595 visible lines at the bottom correctly.
7596
7597 2000-11-06 Stefan Monnier <monnier@cs.yale.edu>
7598
7599 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
7600 when ensuring we don't do visit in indirect buffer.
7601
7602 2000-11-06 Kenichi Handa <handa@etl.go.jp>
7603
7604 * composite.h (compose_chars_in_text): Add prototype.
7605
7606 * composite.c (Vcomposition_function_table): New variable.
7607 (Qcomposition_function_table): New variable.
7608 (run_composition_function): Call
7609 Vcompose_chars_after_function with three arguments.
7610 (compose_chars_in_text): New function.
7611 (syms_of_composite): Modified the doc-string of
7612 Vcompose_chars_after_function. Declare composition-function-table
7613 as a lisp variable, and initialize it.
7614
7615 * xfns.c (x_encode_text): Suppress producing escape sequences for
7616 composition.
7617
7618 * xselect.c: Include composite.h.
7619 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
7620
7621 2000-11-05 Andrew Innes <andrewi@gnu.org>
7622
7623 * w32term.c (x_produce_glyphs): Fix typo in enum name.
7624
7625 * sysdep.c (read_input_waiting): Remove extraneous argument to
7626 read_socket_hook.
7627
7628 * w32fns.c (Fx_server_version): Include w32_build_number in the
7629 return list.
7630
7631 * w32heap.c (w32_build_number): New variable.
7632 (cache_system_info): Set it.
7633
7634 * w32heap.h (w32_build_number): Add extern.
7635
7636 * emacs.c (syms_of_emacs): Update docstring for
7637 system-configuration, to reflect the actual usage on MS-Windows.
7638
7639 2000-10-31 Gerd Moellmann <gerd@gnu.org>
7640
7641 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
7642 process idle timers while waiting for another event.
7643
7644 * dispnew.c (update_frame_line): Handle case where spaces in
7645 the default face are colored.
7646
7647 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
7648 window height hasn't changed.
7649
7650 2000-10-31 Jason Rumney <jasonr@gnu.org>
7651
7652 * w32term.c (x_produce_glyphs): Handle composite characters.
7653 (x_draw_glyph_string_foreground)
7654 (x_draw_composite_glyph_string_foreground): Restore old font.
7655
7656 2000-10-31 Miles Bader <miles@lsi.nec.co.jp>
7657
7658 * minibuf.c (read_minibuf): Reset the undo history just before
7659 starting the recursive-edit.
7660
7661 2000-10-30 Gerd Moellmann <gerd@gnu.org>
7662
7663 * xfaces.c (menu_face_change_count): New variable.
7664 (Finternal_set_lisp_face_attribute): Increment it for changes
7665 of the `menu' face.
7666 (realize_basic_faces): Reflect changes in the `menu' faces
7667 in menu bars.
7668
7669 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
7670 dy obtained from the iterator's y-position after moving from
7671 scroll_margin_pos to PT; see comment there.
7672
7673 * xdisp.c (safe_eval_handler): Call add_to_log.
7674
7675 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
7676 is not a symbol or string.
7677
7678 * xdisp.c (echo_area_display): Don't perform a display update from
7679 inside redisplay. The update will happen anyway at the end of
7680 redisplay, and it can confuse redisplay (GC messages while
7681 redisplaying, for instance.)
7682
7683 2000-10-30 Stefan Monnier <monnier@cs.yale.edu>
7684
7685 * xrdb.c (x_load_resources): Use the class name in the defaults.
7686
7687 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
7688 (regex_compile): Catch bogus \(\1\).
7689
7690 2000-10-30 Gerd Moellmann <gerd@gnu.org>
7691
7692 * xterm.c (x_alloc_nearest_color): Fix last change to compare
7693 RGB values.
7694
7695 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
7696 we have a color cache, check that the cached color equals the
7697 allocated color. If not, clear the color cache.
7698
7699 * window.c (displayed_window_lines): Change buffers if necessary.
7700 Fix computation of displayed lines.
7701
7702 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
7703 update_menu_bindings to DEFVAR_BOOL.
7704
7705 2000-10-30 Kenichi Handa <handa@etl.go.jp>
7706
7707 * search.c (Fset_match_data): Be sure to make search_regs always sane.
7708
7709 * puresize.h (BASE_PURESIZE): Increase to 680000.
7710
7711 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
7712
7713 2000-10-29 Jason Rumney <jasonr@gnu.org>
7714
7715 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
7716
7717 * w32term.c (w32_bdf_per_char_metric): Negate descent.
7718 (w32_cache_char_metrics): Handle possibility that 'x' does not
7719 exist in a BDF font.
7720 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
7721
7722 * w32bdf.h (bdffont): Add nchars.
7723
7724 * w32bdf.c (set_bdf_font_info): Set it.
7725 (w32_BDF_TextOut): Swap byte order of double byte characters.
7726 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
7727
7728 2000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
7729
7730 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
7731 don't override the colors in frame's param_alist, unless they are
7732 unspecified.
7733
7734 * term.c (reassert_line_highlight): If inverse_video is non-zero,
7735 reverse the effect of the highlight flag.
7736
7737 2000-10-27 Ken Raeburn <raeburn@gnu.org>
7738
7739 * window.h (Fwindow_live_p): Declare.
7740
7741 * undo.c (record_delete): Check that last_undo_buffer is really a
7742 buffer before applying XBUFFER to it.
7743
7744 * keymap.c (where_is_internal): Pass lisp object, not integer, to
7745 Faref.
7746
7747 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7748
7749 * lisp.h (KEYMAPP): New macro.
7750 (get_keymap): Remove.
7751 (get_keymap_1): Rename get_keymap.
7752
7753 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7754
7755 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7756
7757 * xmenu.c (single_submenu): Use KEYMAPP.
7758 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7759 Use KEYMAPP rather than Fkeymapp.
7760
7761 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7762
7763 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7764 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7765 Use KEYMAPP rather than Fkeymapp.
7766 (single_submenu): Use KEYMAPP.
7767 (w32_menu_show, w32_dialog_show): Use TRUE.
7768
7769 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7770
7771 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7772 (Fkeymapp): Use KEYMAPP.
7773 (get_keymap): Rename from get_keymap_1. Remove old def.
7774 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7775 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7776 (Fminor_mode_key_binding): Don't raise an error if the binding
7777 is not a keymap.
7778 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7779 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7780
7781 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7782 Allow Vspecial_event_map to be autoloaded.
7783 (menu_bar_items): Fetch the keymap rather than using keymapp.
7784 (menu_bar_one_keymap): No need to follow func-indirect any more.
7785 (parse_menu_item): get_keymap_1 -> get_keymap.
7786 (tool_bar_items): Fetch the keymap rather than using keymapp.
7787 (read_key_sequence): Use KEYMAPP.
7788
7789 * intervals.c (get_local_map): Use get_keymap rather than following
7790 function-indirections explicitly.
7791
7792 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7793
7794 2000-10-27 Jason Rumney <jasonr@gnu.org>
7795
7796 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7797 point, as Windows has oversized fonts.
7798
7799 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7800
7801 2000-10-27 Gerd Moellmann <gerd@gnu.org>
7802
7803 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7804 (freehook, reallochook): Handle null pointer arguments.
7805 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7806
7807 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7808
7809 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7810 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7811 Giving in to popular pressure to shut up the compiler with casts.
7812
7813 2000-10-27 Gerd Moellmann <gerd@gnu.org>
7814
7815 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7816 signed value, and use a default value computed from the font's
7817 maximum descent.
7818
7819 2000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7820
7821 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7822 that specify a negative underline position can still use underlines.
7823
7824 * window.c (Fpos_visible_in_window_p): Make POS default to
7825 WINDOW's point, not the current buffer's point.
7826
7827 2000-10-26 Dave Love <fx@gnu.org>
7828
7829 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7830 when it's necessary.
7831
7832 2000-10-26 Gerd Moellmann <gerd@gnu.org>
7833
7834 * window.c (size_window): Compute size difference from sum of old
7835 child window sizes instead of from parent's size.
7836
7837 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7838 Handle obscured lines at the top of the window.
7839
7840 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7841 down after the last error condition check.
7842
7843 * frame.c (Fdelete_frame): Run delete-frame-hook.
7844
7845 2000-10-26 Kenichi Handa <handa@etl.go.jp>
7846
7847 * coding.c (decode_coding): Fix previous change (check also
7848 CODING_MODE_LAST_BLOCK).
7849
7850 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7851
7852 * regex.c: More `unsigned char' -> `re_char' changes.
7853 Also change several `int' into `re_wchar_t'.
7854 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7855 (PUSH_FAILURE_POINTER): Don't cast any more.
7856 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7857 We want GCC to complain, since this piece of code makes
7858 re_match non-reentrant, which *should* be fixed.
7859 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7860 (EXTEND_BUFFER): Use RETALLOC.
7861 (SET_LIST_BIT): Don't cast.
7862 (re_wchar_t): New type.
7863 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7864 that those two functions will always properly return.
7865 (IMMEDIATE_QUIT_CHECK): Cast to void.
7866 (analyse_first): Use recursion rather than an explicit stack.
7867 (re_compile_fastmap): Can't fail anymore.
7868 (re_search_2): Don't check re_compile_fastmap for failure.
7869 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7870 Now also sets the new value (passed in a new argument).
7871 (re_match_2_internal): Use it.
7872 Also, use a new var `reg' of type size_t when looping through regs
7873 rather than reuse the inappropriate `mcnt'.
7874
7875 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7876 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7877 (where_is_internal): Renamed from Fwhere_is_internal.
7878 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7879 (Fwhere_is_internal): New function wrapping where_is_internal.
7880 (where_is_internal_1): Handle the case where we're filling the cache.
7881 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7882
7883 2000-10-25 Miles Bader <miles@gnu.org>
7884
7885 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7886
7887 2000-10-25 Gerd Moellmann <gerd@gnu.org>
7888
7889 * window.c (pos_fully_visible_p): Removed.
7890 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7891 if position is visible and/or fully visible.
7892
7893 * lisp.h (pos_visible_p): Add prototype.
7894
7895 * xdisp.c (pos_visible_p): New function.
7896
7897 2000-10-25 Kenichi Handa <handa@etl.go.jp>
7898
7899 * process.c (send_process): If OBJECT is t, it means that the data
7900 is from C string, but we should encode it. Before calling
7901 setup_raw_text_coding_system, be sure to flush out data by the
7902 previous coding system.
7903
7904 2000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7905
7906 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7907 assignment of startpos to prev when startpos == pos.
7908
7909 * editfns.c (find_field): Set the field stickiness correctly from
7910 overlay fields. Use renamed `text_property_stickiness'.
7911 (text_property_stickiness): Renamed from `char_property_stickiness'.
7912 Only check text properties, not overlays.
7913 * textprop.c (get_char_property_and_overlay): New function.
7914 (Fget_char_property): Use it.
7915 * intervals.h (get_char_property_and_overlay): Add declaration.
7916
7917 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7918
7919 * keymap.c: Use AREF, ASET and ASIZE macros.
7920 (Fmake_sparse_keymap): Docstring fix.
7921 (synkey): Remove.
7922 (shadow_lookup): Move up.
7923 Handle the case where lookup-key returns an integer.
7924 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7925 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7926 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7927 Simplify/rewrite the keymap-finding code.
7928 Add check for command shadowing, using shadow_lookup.
7929
7930 2000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7931
7932 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7933 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7934 a symbol.
7935
7936 2000-10-24 Andrew Innes <andrewi@gnu.org>
7937
7938 * dired.c (directory_files_internal_unwind): New function.
7939 (directory_files_internal): Use it to ensure closedir is called
7940 even if expand-file-name or file-attributes throw, eg. because of
7941 a user interrupt. Also enable immediate_quit while calling
7942 re_search, so that matching can be interrupted as well.
7943
7944 2000-10-24 Andrew Innes <andrewi@gnu.org>
7945
7946 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7947 NT-Emacs only.
7948 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7949 so that re_search functions only quit when callers expect them to.
7950
7951 2000-10-24 Kenichi Handa <handa@etl.go.jp>
7952
7953 * regex.c (regex_compile): Change the way of handling a range from
7954 a char less than 256 to a char not less than 256.
7955
7956 2000-10-24 Gerd Moellmann <gerd@gnu.org>
7957
7958 * window.c (size_window): Prevent setting window's width or
7959 height to a negative value (esp. with XSETFASTINT).
7960
7961 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7962 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7963 (protect_malloc_state) [GC_MALLOC_CHECK &&
7964 GC_PROTECT_MALLOC_STATE]: New function.
7965 (PROTECT_MALLOC_STATE): New macro.
7966 (__malloc_initialize, morecore, _malloc_internal)
7967 (_free_internal) _realloc_internal): Use it to make _heapinfo
7968 read-only outside of gmalloc.
7969
7970 * keymap.c: Update copyright.
7971
7972 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7973 a symbol.
7974
7975 2000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7976
7977 * filelock.c (unlock_all_files): Use unlock_file to expand each
7978 buffer's file_truename before trying remove its lock file.
7979
7980 2000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7981
7982 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7983 or CRLF, decode EOLs.
7984
7985 2000-10-24 Kenichi Handa <handa@etl.go.jp>
7986
7987 * window.c (Fdisplay_buffer): Fix doc.
7988
7989 2000-10-23 Jason Rumney <jasonr@gnu.org>
7990
7991 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7992 ASCII font of default fontset on Windows.
7993
7994 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7995 xterm.c comment below).
7996
7997 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7998
7999 2000-10-23 Gerd Moellmann <gerd@gnu.org>
8000
8001 * xterm.c (x_connection_closed): Reset handling_signal.
8002
8003 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
8004
8005 2000-10-23 Miles Bader <miles@gnu.org>
8006
8007 * window.c (window_scroll_pixel_based, window_scroll_line_based):
8008 Pass nil for FULLY argument to Fpos_visible_in_window_p to
8009 maintain old behavior.
8010 * minibuf.c (Fminibuffer_complete): Likewise.
8011
8012 2000-10-23 Miles Bader <miles@lsi.nec.co.jp>
8013
8014 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
8015 that when a font can't be exactly centered, it errs up rather than
8016 down.
8017
8018 2000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8019
8020 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8021
8022 2000-10-23 Andrew Choi <akochoi@i-cable.com>
8023
8024 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
8025
8026 * dispnew.c [macintosh]: Include macterm.h.
8027 (init_display) [macintosh]: Initialization for window system.
8028
8029 * emacs.c (main) [macintosh]: Call syms_of_textprop,
8030 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
8031 syms_of_search, x_term_init, and init_keyboard before calling
8032 init_window_once. Also, call syms_of_xmenu.
8033
8034 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
8035 default fontset to Monaco.
8036
8037 * frame.c [macintosh]: Include macterm.h. Remove declarations of
8038 NewMacWindow and DisposeMacWindow.
8039 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
8040 instead of calling NewMacWindow and setting fields of
8041 f->output_data.mac directly. Call init_frame_faces.
8042 (Fdelete_frame) [macintosh]: Remove unused code.
8043 (Fmodify_frame_parameters) [macintosh]: Call
8044 x_set_frame_parameters instead of mac_set_frame_parameters.
8045
8046 * frame.h [macintosh]: Define menu_bar_lines field in struct
8047 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
8048
8049 * keyboard.c [macintosh]: Include macterm.h.
8050 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
8051 and menu_bar_activate_event type events as for X and NT.
8052 (make_lispy_event) [macintosh]: Construct lisp events of type
8053 MENU_BAR_EVENT as for X and NT.
8054
8055 * sysdep.c [macintosh]: Remove declaration for sys_signal.
8056 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
8057 (sys_subshell) [macintosh]: Remove definition entirely.
8058 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
8059 Vwindow_system_version here. Remove initialization of
8060 Vx_bitmap_file_path.
8061 (read_input_waiting): Correct the number of parameters passed to
8062 read_socket_hook.
8063 Move all Macintosh functions to mac/mac.c.
8064
8065 * term.c [macintosh]: Include macterm.h.
8066
8067 * window.c [macintosh]: Include macterm.h.
8068
8069 * xdisp.c [macintosh]: Include macterm.h. Declare
8070 set_frame_menubar and pending_menu_activation.
8071 (echo_area_display) [macintosh]: Do not return if terminal frame
8072 is the selected frame.
8073 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
8074 Allow only the selected frame to set menu bar.
8075 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
8076 calling FRAME_EXTERNAL_MENU_BAR (f).
8077 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
8078
8079 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
8080 and check_x. Declare XCreateGC. Define x_create_gc and
8081 x_free_gc. Initialize font_sort_order.
8082 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
8083 but call x_list_fonts instead of w32_list_fonts.
8084 (Finternal_face_x_get_resource) [macintosh]: Do not call
8085 display_x_get_resource.
8086 (prepare_face_for_display) [macintosh]: Set xgcv.font.
8087 (realize_x_face) [macintosh]: Load the font if it is specified in
8088 ATTRS.
8089 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
8090
8091 2000-10-22 Stefan Monnier <monnier@cs.yale.edu>
8092
8093 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
8094 is nil: since we go to the end of submap anyway, we'd end up
8095 setting nil to nil.
8096 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
8097 doesn't obey autoload.
8098
8099 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8100
8101 * msdos.c (dos_set_window_size): Update screen dimension variables.
8102
8103 2000-10-21 Jason Rumney <jasonr@gnu.org>
8104
8105 * w32term.c (w32_cache_char_metrics): Double check that font is
8106 really fixed pitch before trusting tmPitchAndFamily.
8107
8108 2000-10-21 Andrew Innes <andrewi@gnu.org>
8109
8110 * w32gui.h (w32_char_font_type): Move enum from w32term.c
8111
8112 * w32term.h: Extern decl for w32_cache_char_metrics.
8113
8114 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
8115
8116 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
8117 (w32_unload_font): Free per_char array if present.
8118
8119 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
8120 cached information in emulated XFontStruct to handle common cases
8121 quickly. Do not allocate XCharStruct for return.
8122 (w32_native_per_char_metric): New function.
8123 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
8124 allocating one.
8125 (x_produce_glyphs): Don't get an HDC. Change calls to
8126 w32_per_char_metric to match arg change above. Remove calls to
8127 free results.
8128 (w32_get_glyph_overhangs): Ditto.
8129 (w32_cache_char_metrics): New function.
8130
8131 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
8132 ($(BLD)/casefiddle.$(O)): Remove compile command.
8133 ($(BLD)/gmalloc.$(O)): Remove compile command.
8134 ($(BLD)/dispnew.obj):
8135 ($(BLD)/keyboard.obj):
8136 ($(BLD)/w32inevt.obj):
8137 ($(BLD)/w32bdf.obj):
8138 ($(BLD)/alloc.obj):
8139 ($(BLD)/buffer.obj):
8140 ($(BLD)/editfns.obj):
8141 ($(BLD)/emacs.obj):
8142 ($(BLD)/fileio.obj):
8143 ($(BLD)/fns.obj):
8144 ($(BLD)/indent.obj):
8145 ($(BLD)/insdel.obj):
8146 ($(BLD)/intervals.obj):
8147 ($(BLD)/minibuf.obj):
8148 ($(BLD)/print.obj):
8149 ($(BLD)/scroll.obj):
8150 ($(BLD)/sysdep.obj):
8151 ($(BLD)/textprop.obj):
8152 ($(BLD)/widget.obj):
8153 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
8154 ($(BLD)/term.obj): Add dependency on dispextern.h.
8155
8156 * makefile.nt ($(BLD)\dispnew.obj):
8157 ($(BLD)\keyboard.obj):
8158 ($(BLD)\w32inevt.obj):
8159 ($(BLD)\w32bdf.obj):
8160 ($(BLD)\alloc.obj):
8161 ($(BLD)\buffer.obj):
8162 ($(BLD)\editfns.obj):
8163 ($(BLD)\emacs.obj):
8164 ($(BLD)\fileio.obj):
8165 ($(BLD)\fns.obj):
8166 ($(BLD)\indent.obj):
8167 ($(BLD)\insdel.obj):
8168 ($(BLD)\intervals.obj):
8169 ($(BLD)\minibuf.obj):
8170 ($(BLD)\print.obj):
8171 ($(BLD)\scroll.obj):
8172 ($(BLD)\sysdep.obj):
8173 ($(BLD)\textprop.obj):
8174 ($(BLD)\widget.obj):
8175 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
8176 ($(BLD)\term.obj): Add dependency on dispextern.h
8177
8178 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
8179
8180 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
8181 with an additional argument of Qt.
8182
8183 2000-10-21 Miles Bader <miles@gnu.org>
8184
8185 * window.c (pos_fully_visible_in_window_p): New function.
8186 (Fpos_visible_in_window_p): Add FULLY argument.
8187 Use pos_fully_visible_in_window_p.
8188 (window_scroll_pixel_based, window_scroll_line_based): Update
8189 calls to Fpos_visible_in_window_p.
8190 * lisp.h (Fpos_visible_in_window_p): Update prototype
8191
8192 2000-10-20 Gerd Moellmann <gerd@gnu.org>
8193
8194 * alloc.c (toplevel): Conditionalize compilation of mem_*
8195 functions differently.
8196
8197 2000-10-20 Jason Rumney <jasonr@gnu.org>
8198
8199 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
8200 mem_init where it used to be. mem_z etc not defined otherwise.
8201
8202 2000-10-20 Gerd Moellmann <gerd@gnu.org>
8203
8204 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
8205 GC_MALLOC_CHECK.
8206 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
8207 structure definition and related variabled to the top of the file.
8208 Include this code when GC_MALLOC_CHECK is defined.
8209 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
8210 register/unregister allocated region.
8211 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
8212 which isn't allocated.
8213 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
8214 something which is already in use.
8215 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
8216 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
8217 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
8218 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
8219
8220 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
8221 _malloc_internal instead of malloc.
8222 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
8223 of free.
8224
8225 2000-10-20 Andrew Innes <andrewi@gnu.org>
8226
8227 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
8228 Windows.
8229 (my_strftime) <macro>: Don't use macro arg list when redefining as
8230 _strftime_copytm.
8231 (my_strftime) <function>: Supply 0 as ut argument.
8232
8233 2000-10-19 Jason Rumney <jasonr@altavista.net>
8234
8235 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
8236 including dispextern.h, as it stops faces from working.
8237
8238 * w32fns.c (Fx_create_frame): Don't bother calling
8239 face-set-after-frame-default since the caller does it for us
8240 anyway. Clean up calls to x_get_arg to be consistent with X.
8241
8242 * w32term.c (x_produce_glyphs): Handle
8243 unibyte_display_via_language_environment correctly.
8244 (w32_draw_box_rect): Fix the calculation of width and height.
8245
8246 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
8247 as it has stopped working.
8248 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
8249 menu-bar.
8250
8251 2000-10-19 Gerd Moellmann <gerd@gnu.org>
8252
8253 * eval.c (skip_debugger): Prevent a compiler warning.
8254 (Fcondition_case): Likewise.
8255 (Fbacktrace_frame): Use a null interactive spec.
8256
8257 2000-10-19 Kenichi Handa <handa@etl.go.jp>
8258
8259 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
8260
8261 2000-10-18 Gerd Moellmann <gerd@gnu.org>
8262
8263 * strftime.c: Sync with glibc, file version 1.78.
8264 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
8265 should no longer be used according to ISO 8601.
8266
8267 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
8268 no map for meta_prefix_char, don't try to use it as a keymap.
8269 Instead, if T_OK is non-zero, look up a default binding, if any,
8270 otherwise, if T_OK is zero, return nil.
8271
8272 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
8273 (x_to_xcolors, png_load): Use x_query_color.
8274
8275 * xterm.c (x_color_cells, x_query_colors, x_query_color):
8276 New functions.
8277 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
8278 which can be slow.
8279 (x_copy_color, x_alloc_lighter_color): Likewise.
8280
8281 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
8282 (x_query_color, x_query_colors): Add prototype.
8283
8284 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
8285 check_string_bytes only if not noninteractive, increase count to 50.
8286
8287 2000-10-18 Miles Bader <miles@lsi.nec.co.jp>
8288
8289 * insdel.c (adjust_markers_for_delete): Handle before-insertion
8290 markers correctly.
8291
8292 2000-10-17 Gerd Moellmann <gerd@gnu.org>
8293
8294 * alloc.c (pure_bytes_used): Renamed from pureptr.
8295 (ALIGN): New macro.
8296 (pure_alloc): New function.
8297 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
8298 Use it.
8299 (Fpurecopy): Use PURE_POINTER_P.
8300
8301 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
8302 PT has moved backward.
8303
8304 * xdisp.c (cursor_row_p): Take continued lines into account.
8305
8306 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
8307 string's size_byte.
8308 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
8309 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
8310 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
8311 string allocated.
8312
8313 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
8314 of selective display off while searching for the next line start.
8315
8316 2000-10-17 Kenichi Handa <handa@etl.go.jp>
8317
8318 * Makefile.in (term.o): Depend on dispextern.h.
8319
8320 2000-10-16 Stefan Monnier <monnier@cs.yale.edu>
8321
8322 * keymap.c (keymap_memberp): Ensure that nil is not a member.
8323
8324 2000-10-16 Gerd Moellmann <gerd@gnu.org>
8325
8326 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
8327 the iterator at the beginning, so that they can be set later on,
8328 for instance in reseat_at_next_visible_line_start, without being
8329 overwritten.
8330
8331 * xfns.c (pbm_format): Add :foreground and :background keywords.
8332 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
8333 (xbm_load): Recognize foreground and background color specifications.
8334
8335 2000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
8336
8337 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
8338
8339 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
8340
8341 * msdos.c (IT_set_face): Compare highlighted face with the default
8342 face, and invert colors if these faces' colors are identical.
8343 (Fmsdos_remember_default_colors): Don't swap foreground and
8344 background colors in initial_colors[].
8345 (IT_set_frame_parameters): Don't swap frame's foreground and
8346 background pixels. If ALIST includes "(reverse . t)", swap
8347 foreground-color and background-color properties in frame's
8348 param_alist. If the original frame's param_alist doesn't specify
8349 the colors, store unspecified-fg and unspecified-bg, reversed if
8350 required.
8351
8352 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
8353 the colors are unspecified and reversed, reverse fore- and back-
8354 ground in the returned value.
8355 (Fframe_parameter): Ditto.
8356
8357 2000-10-16 Gerd Moellmann <gerd@gnu.org>
8358
8359 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
8360 get_last_unchanged_at_beg_row.
8361 (find_first_unchanged_at_end_row): Renamed from
8362 get_first_unchanged_at_end_row.
8363 (find_first_unchanged_at_end_row): Convert assertions to
8364 unconditional tests which abort. When looking for a row in
8365 unchanged text, don't go further back than first_text_row.
8366
8367 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
8368 Don't add in the last line's height when deciding if the new
8369 position is below the scroll margin.
8370
8371 2000-10-16 Miles Bader <miles@gnu.org>
8372
8373 * editfns.c (Fconstrain_to_field): Check carefully for field
8374 boundaries if either OLD_POS or NEW_POS has a non-nil field
8375 property, even if they're the same.
8376
8377 2000-10-16 Kenichi Handa <handa@etl.go.jp>
8378
8379 * xterm.c (x_draw_box_rect): Fix the calculation of width and
8380 height for XFillRectangle.
8381
8382 2000-10-15 Stefan Monnier <monnier@cs.yale.edu>
8383
8384 * syntax.c (Fstring_to_syntax): New function extracted from
8385 Fmodify_syntax_entry.
8386 (Fmodify_syntax_entry): Use it and document the ! and | fences.
8387 (skip_chars, Fforward_comment): Remove unused variables.
8388 (syms_of_syntax): Add defsubr for string-to-syntax.
8389 (describe_syntax): Add code for comment and string fences.
8390
8391 2000-10-14 Stefan Monnier <monnier@cs.yale.edu>
8392
8393 * keymap.c (access_keymap): Add AUTOLOAD parameter.
8394 Do the meta->esc mapping. Call get_keyelt before returning.
8395 Start scanning from the second element (the first is always `keymap')
8396 to make it easier to detect when we reach a parent map.
8397 Handle the case of inheriting from a symbol whose function is a map.
8398 (Fkeymap_parent): Also handle the `inherit from symbol' case.
8399 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
8400 (get_keyelt, Flookup_key): Update call to access_keymap.
8401 Remove the meta->esc mappings.
8402 (define_as_prefix): Delete old disabled code.
8403 (menu_item_p): New function.
8404 (where_is_internal_1): Skip over the few remaining menu items.
8405 * lisp.h (access_keymap): Update prototype.
8406 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
8407 Update call to access_keymap.
8408 (follow_key, read_key_sequence): Update calls to access_keymap.
8409 Remove the meta->esc mappings.
8410
8411 2000-10-13 Gerd Moellmann <gerd@gnu.org>
8412
8413 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
8414 with additional argument.
8415
8416 * xdisp.c (cursor_row_p): New function.
8417 (try_cursor_movement, display_line): Use it.
8418
8419 * xdisp.c (append_space): Also save/restore iterator's current
8420 character and its length.
8421
8422 * xdisp.c (init_from_display_pos): Add an assertion.
8423 (handle_stop): Don't set iterator's add_overlay_start.
8424 (handle_invisible_prop): Likewise.
8425 (load_overlay_strings): If text under an overlay is invisible,
8426 take both before- and after-strings into account when the iterator
8427 is positioned either at the start or at the end of the overlay.
8428 (forward_to_next_line_start): Rewritten.
8429 (reseat_at_next_visible_line_start): Rewritten.
8430 (set_iterator_to_next): Add parameter RESEAT_P.
8431
8432 * dispextern.h (struct it): Remove member add_overlay_start.
8433 (set_iterator_to_next): Change prototype.
8434
8435 2000-10-13 Kenichi Handa <handa@etl.go.jp>
8436
8437 * coding.c (code_convert_region): Be sure to initialize
8438 coding->category_idx.
8439 (decode_coding_string): Set coding->src_multibyte and
8440 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
8441 (encode_coding_string): Set coding->src_multibyte and
8442 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
8443
8444 2000-10-12 Stefan Monnier <monnier@cs.yale.edu>
8445
8446 * xfns.c (Fx_create_frame): Don't bother calling
8447 face-set-after-frame-default since the caller does it for us anyway.
8448
8449 2000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
8450
8451 * window.c (coordinates_in_window): Fix detection of vertical line
8452 on character terminals.
8453
8454 2000-10-12 Gerd Moellmann <gerd@gnu.org>
8455
8456 * editfns.c (save_excursion_save): Additionally record the
8457 selected window.
8458 (save_excursion_restore): If buffer was visible in a window, and a
8459 different window was selected, and the old selected window is
8460 still live, restore point in that window.
8461
8462 2000-10-12 Kenichi Handa <handa@etl.go.jp>
8463
8464 * xterm.c (x_produce_glyphs): Handle
8465 unibyte_display_via_language_environment correctly.
8466
8467 * regex.c (regex_compile): Change the way of handling a range from
8468 unibyte char to multibyte char.
8469
8470 * syntax.c (skip_chars): Change the way of handling a range from
8471 unibyte char to multibyte char.
8472
8473 * process.c (read_process_output): Cancel previous change.
8474
8475 2000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
8476
8477 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
8478
8479 * charset.c (Ffind_charset_string): Doc fix.
8480 (Ffind_charset_region): Doc fix.
8481
8482 2000-10-11 Kenichi Handa <handa@mule.m17n.org>
8483
8484 * process.c (read_process_output): Fix previous change. Adjust
8485 multibyteness of text to insert in a buffer by
8486 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
8487
8488 2000-10-10 Andreas Schwab <schwab@suse.de>
8489
8490 * alloc.c (mark_object): Remove all workarounds installed on
8491 1993-08-08.
8492
8493 2000-10-10 Kenichi Handa <handa@etl.go.jp>
8494
8495 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
8496 (base64_encode_1): Make it work for a text of multibyte form.
8497 (Fbase64_decode_region): Allocate sufficient memory for multibyte
8498 case. Don't call str_to_multibyte because base64_decode_1
8499 produces correct multibyte form for eight-bit codes.
8500 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
8501 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
8502 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
8503 codes.
8504
8505 * charset.h (CHAR_STRING): Optimized for single byte characters.
8506
8507 2000-10-09 Andreas Schwab <schwab@suse.de>
8508
8509 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
8510 -1 after socket is closed, to fall through to error processing.
8511
8512 2000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
8513
8514 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
8515 variables. If ALIST includes foreground-color or
8516 background-color, change also the colors of the default face for
8517 this frame.
8518
8519 2000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
8520
8521 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
8522 them extern (they are defined on xfaces.c).
8523 (syms_of_msdos): Don't intern and don't staticpro
8524 Qbackground_color and Qforeground_color.
8525
8526 2000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
8527
8528 * frame.c (Fframe_parameter): For non-windowed frames, if
8529 f->param_alist says foreground or background color is unspecified,
8530 call tty_color_name to return the color name computed from the
8531 frame's current colors.
8532
8533 2000-10-06 Dave Love <fx@gnu.org>
8534
8535 * terminfo.c (ospeed): Don't declare.
8536
8537 * sysdep.c: Don't include string.h.
8538 (h_errno): Declare conditional also on TRY_AGAIN.
8539
8540 * charset.c (Ffind_charset_string): Doc fix.
8541
8542 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
8543 (Fbase64_decode_region, Fbase64_decode_string): More explicit
8544 error messages.
8545
8546 2000-10-05 Dave Love <fx@gnu.org>
8547
8548 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
8549 position like menu-bar.
8550
8551 2000-10-05 Gerd Moellmann <gerd@gnu.org>
8552
8553 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
8554
8555 * xdisp.c (handle_single_display_prop): Use safe_call1.
8556 (safe_call): Renamed from call_function.
8557 (safe_call1): New function.
8558 (handle_fontified_prop): Use safe_call1 instead of call1.
8559 (safe_eval): Renamed from eval_form.
8560 (safe_eval_handler): Renamed from eval_handler.
8561 (handle_single_display_prop, display_mode_element): Use safe_eval
8562 instead of eval_form.
8563
8564 * xfaces.c (merge_face_heights): Use safe_call instead of
8565 call_function.
8566
8567 * keyboard.c (show_help_echo): Use safe_call instead of
8568 call_function; use safe_eval instead of eval_form.
8569
8570 * lisp.h (safe_call): Renamed from call_function.
8571 (safe_eval): Renamed from eval_form.
8572 (safe_call1): Add prototype.
8573
8574 2000-10-05 Miles Bader <miles@lsi.nec.co.jp>
8575
8576 * xfns.c (image_ascent): Rearrange ascent calculation for the
8577 has-a-font case.
8578
8579 2000-10-04 Stefan Monnier <monnier@cs.yale.edu>
8580
8581 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
8582 (where_is_internal_1): Don't bother ignoring menu-items any more.
8583
8584 2000-10-04 Gerd Moellmann <gerd@gnu.org>
8585
8586 * keyboard.c (update_menu_bindings): New variable.
8587 (parse_menu_item): Use AREF. If update_menu_bindings
8588 is 0, don't update menu bindings.
8589 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
8590
8591 2000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
8592
8593 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
8594 to `mark_object'.
8595
8596 2000-10-02 Stefan Monnier <monnier@cs.yale.edu>
8597
8598 * syntax.c (forw_comment): Match nestedness of ender/starter.
8599 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
8600 (prev_char_comstart_first): Remove.
8601 (back_comment): Check two-char comment markers more carefully
8602 to better handle overlapping cases like *//* or /* */* */ ...
8603 Match nestedness of ender/starter.
8604
8605 2000-10-02 Dave Love <fx@gnu.org>
8606
8607 * config.in (HAVE_GAI_STRERROR): Add undef.
8608
8609 * process.c (Fopen_network_stream): Use it.
8610
8611 * m/alpha.h (NO_REMAP): Don't define.
8612
8613 2000-10-02 Gerd Moellmann <gerd@gnu.org>
8614
8615 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
8616 return with a string converted to an integer or vice versa when
8617 Vmocklisp_arguments is t.
8618 (Fsignal): Likewise. The function can return for `quit'.
8619 (struct gcpro): Declare member `var' to point to a volatile
8620 Lisp_Object.
8621
8622 * eval.c (error): Prevent compiler warning.
8623
8624 2000-09-30 Stefan Monnier <monnier@cs.yale.edu>
8625
8626 * keymap.c (keymap_memberp): New function.
8627 (Fset_keymap_parent): Use it.
8628 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
8629 Use keymap_memberp to avoid creating cycles.
8630 (access_keymap): Use KEYMAPP.
8631
8632 2000-09-30 Gerd Moellmann <gerd@gnu.org>
8633
8634 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
8635 gai_strerror. Make sure xerrno is set if connect fails. Improve
8636 error recovery.
8637
8638 2000-09-29 Jason Rumney <jasonr@gnu.org>
8639
8640 * w32term.c (w32_char_font_type, w32_encode_char)
8641 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
8642 (w32_bdf_per_char_metric): New function.
8643 (w32_per_char_metric): Use it.
8644 (x_draw_glyph_string_background): Always draw background for BDF
8645 glyphs.
8646
8647 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
8648 GDI object which is a scarce resource.
8649
8650 * w32bdf.c (search_file_line): Fix skipping of whitespace.
8651 (get_quoted_string): Fix limit on memchr search.
8652 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
8653 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
8654 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
8655 (get_cached_font_char, cache_char_offset): Use macro
8656 BDF_CODEPOINT_RANGE_COVER_P.
8657 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
8658 (clear_cached_bitmap_slots): New function.
8659 (GET_HEX_VALUE): G-Z, g-z are not hex.
8660 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
8661 (get_bitmap_with_cache): Use new cache implementation.
8662 (create_offscreen_bitmap): New function.
8663 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
8664
8665 * w32term.c (x_produce_glyphs): If the distance from the current
8666 position to the next tab stop is less than a canonical character
8667 width, use the tab stop after that.
8668 (x_draw_glyphs): Handle case START and END are out of bounds more
8669 carefully.
8670 (x_clear_mouse_face): Block/unblock input.
8671 (x_display_and_set_cursor): Don't show a hollow box cursor for
8672 buffers whose cursor_type is nil.
8673
8674 2000-09-29 Gerd Moellmann <gerd@gnu.org>
8675
8676 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
8677
8678 * dispextern.h (updating_frame): Declare extern.
8679
8680 2000-09-29 Andreas Schwab <schwab@suse.de>
8681
8682 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
8683
8684 2000-09-29 Gerd Moellmann <gerd@gnu.org>
8685
8686 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
8687 use its function definition.
8688 (tool_bar_items): Likewise.
8689
8690 * lisp.h (fatal): Declare NO_RETURN.
8691
8692 2000-09-29 Kenichi Handa <handa@etl.go.jp>
8693
8694 * keymap.c: Remove the line "#undef NULL".
8695
8696 2000-09-28 Gerd Moellmann <gerd@gnu.org>
8697
8698 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
8699
8700 2000-09-28 Dave Love <fx@gnu.org>
8701
8702 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
8703
8704 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
8705
8706 * .gdbinit (xreload): Note its need on GNU/Linux.
8707
8708 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
8709 r_alloc, r_alloc_free.
8710
8711 2000-09-28 Kenichi Handa <handa@etl.go.jp>
8712
8713 * syntax.c (skip_chars): Handle negation correctly.
8714
8715 2000-09-27 Gerd Moellmann <gerd@gnu.org>
8716
8717 * xfaces.c (realize_default_face): Call set_lface_from_font_name
8718 with non-zero FORCE_P argument.
8719
8720 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8721 Add assertions.
8722
8723 * xdisp.c (window_box_height): Add an assertion.
8724
8725 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
8726 tool-bar than is available.
8727 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
8728
8729 2000-09-27 Dave Love <fx@gnu.org>
8730
8731 * s/irix6-5.h: Now works 64-bit. Tidied.
8732
8733 2000-09-26 Gerd Moellmann <gerd@gnu.org>
8734
8735 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
8736 instead of BITS_PER_INT.
8737 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
8738 EMACS_UINT, respectively.
8739 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
8740
8741 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
8742
8743 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
8744
8745 * window.c (freeze_window_starts): Construct last argument for
8746 foreach_window differently.
8747
8748 * xfns.c (x_decode_color): Don't return a Lisp_Object.
8749
8750 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8751 EMACS_UINT instead of `int' and `unsigned int'.
8752 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8753
8754 * frame.h (struct frame): Make the `nothing' member of union
8755 output_data an EMACS_INT.
8756
8757 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
8758 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8759 size in the sdata structure.
8760 (SDATA_NBYTES, SDATA_DATA): New macros.
8761 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8762 differently for the different layout of the sdata structure.
8763 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8764 in sdata.
8765 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8766 Check that size recorded in the string size and size recorded in
8767 the sdata structure agree.
8768
8769 2000-09-25 Dave Love <fx@gnu.org>
8770
8771 * buffer.c: Include stdio.h.
8772
8773 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
8774
8775 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8776
8777 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
8778 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
8779 (__malloc_extra_blocks): Declare as __malloc_size_t.
8780
8781 2000-09-25 Gerd Moellmann <gerd@gnu.org>
8782
8783 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8784
8785 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8786 (read_char): If help-echo is showing, preserve the echo area
8787 when redisplaying.
8788
8789 * xdisp.c (help_echo_showing_p): New variable.
8790 (set_message): Reset it to 0.
8791 (init_xdisp): Initialize help_echo_showing_p.
8792
8793 * dispextern.h (help_echo_showing_p): Declare extern.
8794
8795 * config.in: Fix typo in __GNUC_MINOR__.
8796
8797 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8798
8799 * s/freebsd.h (POSIX_SIGNALS): Define.
8800
8801 * xterm.c (x_clear_mouse_face): Block/unblock input.
8802
8803 2000-09-24 Dave Love <fx@gnu.org>
8804
8805 * fns.c (base64_encode_1): Fix last change.
8806
8807 2000-09-22 Gerd Moellmann <gerd@gnu.org>
8808
8809 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8810
8811 * xdisp.c (try_window_reusing_current_matrix): More fixes
8812 for the case window has a header-line.
8813
8814 2000-09-22 Dave Love <fx@gnu.org>
8815
8816 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8817 a doc string.
8818
8819 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8820
8821 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8822
8823 2000-09-21 Gerd Moellmann <gerd@gnu.org>
8824
8825 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
8826 for GCC >= 2.5.
8827
8828 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8829 Declare NO_RETURN.
8830
8831 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8832 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8833 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8834 warnings.
8835
8836 * marker.c (byte_char_debug_check): Return void.
8837
8838 * xfns.c (Fx_create_frame): Set default frame parameter value
8839 for tool-bar-lines to 1.
8840
8841 * dispnew.c (scrolling_window): Compare y-positions of rows
8842 equal at the start. Some simplification.
8843
8844 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8845 reused rows' y-position in the case window has a header-line, and
8846 new window start is greater than old window start.
8847
8848 * process.c (process_sent_to): New variable.
8849 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8850 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8851 Declare more parameters volatile.
8852
8853 * lread.c (Vrecursive_load_depth_limit): New variable.
8854 (Fload): Check recursive loads whose recursion depth exceeds
8855 Vrecursive_load_depth_limit.
8856 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8857
8858 2000-09-20 Gerd Moellmann <gerd@gnu.org>
8859
8860 * fileio.c (Fread_file_name): Doc fix.
8861
8862 * editfns.c (Fmessage_or_box): Doc fix.
8863
8864 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8865
8866 * xfns.c (xbm_scan): Allow C-style comments.
8867
8868 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8869 symbols are specified, add color translations to the cache.
8870 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8871 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8872 xpm_cache_color.
8873 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8874 structures to xpm_init_color_cache.
8875
8876 2000-09-19 Gerd Moellmann <gerd@gnu.org>
8877
8878 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
8879
8880 2000-09-19 Andrew Innes <andrewi@gnu.org>
8881
8882 * makefile.nt (bootstrap-emacs): Don't change directory.
8883
8884 2000-09-19 Kenichi Handa <handa@etl.go.jp>
8885
8886 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8887
8888 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8889 If output buffer is too small, signal an appropriated error.
8890
8891 2000-09-18 Dave Love <fx@gnu.org>
8892
8893 * keyboard.c (menu_bar_items, tool_bar_items)
8894 (current_active_maps): Remove redundant get_local_map call.
8895
8896 2000-09-18 Gerd Moellmann <gerd@gnu.org>
8897
8898 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8899 cursor for buffers whose cursor_type is nil.
8900
8901 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8902 a feature to implement that is already implemented.
8903 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8904 warnings.
8905
8906 * xfns.c (x_clear_image_1): New function.
8907 (x_clear_image): Use it.
8908 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
8909
8910 * dispnew.c (update_window): Move test for invisible lines
8911 at the top to update_window_line.
8912 (update_window_line): Handle invisible lines here.
8913
8914 * xfns.c (clear_image_cache): Clear current matrices of all
8915 frames sharing an image cache. Block input while freeing
8916 images. Fix timestamp comparison.
8917 (x_clear_image): Also free the mask.
8918
8919 * xfns.c (lookup_image): Block input while loading the image so
8920 that we won't get interrupted in a state where the image isn't yet
8921 set up completely.
8922 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8923 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8924 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
8925 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
8926
8927 2000-09-16 Gerd Moellmann <gerd@gnu.org>
8928
8929 * dispnew.c (update_window): Make sure to make desired rows
8930 current even if they are completely invisible at the top
8931 of a window.
8932
8933 2000-09-15 Gerd Moellmann <gerd@gnu.org>
8934
8935 * xfns.c (lookup_image): Build mask before applying an algorithm.
8936 Recognize algorithm `disabled'.
8937 (cross_disabled_images): New variable.
8938 (COLOR_INTENSITY): New macro.
8939 (x_detect_edges): Use COLOR_INTENSITY.
8940 (x_disable_image): New function.
8941 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8942
8943 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8944 disabled state, don't apply an image transformation algorithm if
8945 the user specified an image for the disabled state. Use
8946 `:algorithm disabled' for creating a disabled item's image if the
8947 user hasn't specified an image.
8948
8949 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8950 allocation functions with the XPM lib.
8951 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8952 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8953 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8954 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
8955 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
8956 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8957 functions, if possible, because these handle color allocation
8958 failure more gracefully.
8959 (Fimage_mask_p): New function.
8960
8961 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8962 (Qedge_detection, Qheuristic): New symbols.
8963 (syms_of_xfns): Initialize new symbols.
8964 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8965 `algorithm (edge-detection ...)'.
8966 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8967 (tiff_format, gif_format, gs_format): Add `:mask'.
8968 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8969 (GIF_MASK, GS_MASK): New enumerators.
8970 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8971 (emboss_matrix, laplace_matrix): New variables.
8972 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8973 (x_edge_detection): New functions.
8974 (x_laplace): Rewritten in terms of x_detect_edges.
8975 (x_build_heuristic_mask): If image has a mask, free it.
8976
8977 2000-09-14 Andrew Innes <andrewi@gnu.org>
8978
8979 * makefile.w32-in: Revert to Unix line endings.
8980
8981 2000-09-14 Andrew Innes <andrewi@gnu.org>
8982
8983 * makefile.w32-in: Standardize indentation somewhat.
8984 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8985 cater for differences between shells.
8986
8987 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8988
8989 2000-09-14 Gerd Moellmann <gerd@gnu.org>
8990
8991 * xterm.c (x_produce_glyphs): If the distance from the current
8992 position to the next tab stop is less than a canonical character
8993 width, use the tab stop after that.
8994
8995 2000-09-14 Dave Love <fx@gnu.org>
8996
8997 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8998
8999 2000-09-14 Gerd Moellmann <gerd@gnu.org>
9000
9001 * xdisp.c (handle_fontified_prop): While running fontification
9002 functions, bind `fontification-functions' and
9003 `after-change-functions' to nil.
9004
9005 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
9006 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
9007
9008 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
9009
9010 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
9011 USE_MMAP_FOR_BUFFERS.
9012
9013 * insdel.c (make_gap): Use enlarge_buffer_text.
9014
9015 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
9016 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
9017 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
9018 from former r_alloc_* functions in ralloc.c.
9019 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
9020 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
9021 (mmap_init) [REL_ALLOC_MMAP]: New function.
9022 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
9023 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
9024 BUFFER_FREE.
9025
9026 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
9027 (enlarge_buffer_text): Add prototype.
9028
9029 * ralloc.c: Remove everything having to do with the use of mmap.
9030
9031 2000-09-13 Gerd Moellmann <gerd@gnu.org>
9032
9033 * sound.c (Fplay_sound): Doc fix.
9034
9035 * keyboard.c: Avoid some more compiler warnings.
9036 (parse_tool_bar_item): Ignore cached key bindings.
9037
9038 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
9039 and allocation of Lisp data.
9040
9041 2000-09-12 Gerd Moellmann <gerd@gnu.org>
9042
9043 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
9044 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
9045 defaults first.
9046
9047 * lread.c (Fload): Put code checking for recursive loads in #if 0.
9048
9049 2000-09-12 Miyashita Hisashi <himi@meadowy.org>
9050
9051 * ccl.c: Comment fixed.
9052 (MAX_MAP_SET_LEVEL): Increased to 30.
9053 (PUSH_MAPPING_STACK): Enclose with do-while block.
9054 (POP_MAPPING_STACK): Likewise.
9055 (stack_idx_of_map_multiple): New variable.
9056 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
9057 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
9058 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
9059 (ccl_driver) <CCL_MapSingle>: Likewise.
9060 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
9061 with the case where looking up process reaches to the end of
9062 map-set, and call CCL programs as the above change.
9063
9064 2000-09-11 Gerd Moellmann <gerd@gnu.org>
9065
9066 * xfns.c (png_load, jpeg_load): Declare some variables volatile
9067 that might be clobbered by longjmp.
9068 (check_x_display_info, x_decode_color, create_frame_xic)
9069 (Fx_display_backing_store, Fx_display_visual_class)
9070 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
9071
9072 * lread.c (init_lread): Set Vloads_in_progress to nil.
9073 (Fload): Show list of recursively loaded files, when signaling an
9074 error.
9075
9076 * lread.c (Vloads_in_progress): New variable.
9077 (record_load_unwind): New function.
9078 (Fload): Check for recursive loads.
9079 (syms_of_lread): Initialize Vloads_in_progress.
9080 (read_integer, read1): Avoid some compiler warnings.
9081
9082 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
9083 compiler warnings.
9084
9085 2000-09-11 Miles Bader <miles@gnu.org>
9086
9087 * editfns.c (Fbuffer_string): Doc fix.
9088
9089 2000-09-10 Gerd Moellmann <gerd@gnu.org>
9090
9091 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
9092
9093 2000-09-09 Ken Raeburn <raeburn@gnu.org>
9094
9095 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
9096 whether to include other header files.
9097
9098 2000-09-09 Gerd Moellmann <gerd@gnu.org>
9099
9100 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9101 by Fmemq as a boolean.
9102
9103 2000-09-08 Stefan Monnier <monnier@cs.yale.edu>
9104
9105 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
9106
9107 2000-09-08 Gerd Moellmann <gerd@gnu.org>
9108
9109 * ralloc.c (mmap_fd): Remove initializer which can make it
9110 read-only in a dumped Emacs.
9111 (mmap_fd_1): New variable.
9112 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
9113 restore it from there.
9114 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
9115 unconditionally so that mmap_fd can be initialized there.
9116 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
9117 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
9118 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
9119
9120 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
9121
9122 * xdisp.c (dump_glyph_row): Fix printf format string.
9123 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
9124
9125 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
9126
9127 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
9128 inheritance.
9129
9130 * xdisp.c (try_window_id): When trying to locate cursor in
9131 unchanged rows at the top, handle the case that we can't find it.
9132
9133 * xterm.c (x_draw_glyphs): Handle case START and END are out
9134 of bounds more carefully.
9135
9136 2000-09-08 Dave Love <fx@gnu.org>
9137
9138 * s/sol2.h (REL_ALLOC_MMAP): Define.
9139 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
9140
9141 * ralloc.c: Don't include string.h (redundant).
9142 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
9143 [!MAP_ANON]: Include fcntl.h.
9144 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
9145 (r_alloc, r_re_alloc, r_alloc_free)
9146 (mmap_enlarge, mmap_set_vars): Use it.
9147 (r_alloc_init_fd): New function.
9148 (__morecore) [SYSTEM_MALLOC]: Don't declare.
9149 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
9150 malloc type.
9151
9152 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
9153 Remove vm-limit.o.
9154
9155 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
9156 change to __NetBSD__.
9157
9158 2000-09-08 Kenichi Handa <handa@etl.go.jp>
9159
9160 * search.c (compile_pattern): Check the multibyteness of cached
9161 string and PATTERN.
9162
9163 2000-09-08 Miles Bader <miles@gnu.org>
9164
9165 * xfaces.c (default_face_vector): Function removed.
9166 (Finternal_merge_in_global_face): Restore old global/local
9167 attribute override order. Use inline loop instead of calling
9168 default_face_vector.
9169
9170 2000-09-07 Gerd Moellmann <gerd@gnu.org>
9171
9172 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
9173 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
9174 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
9175 where necessary, in case POINTER_TYPE is `void'.
9176
9177 2000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
9178
9179 * frame.c (make_terminal_frame): Initialize frame foreground and
9180 background colors to unspecified, for the initial instance of an
9181 MSDOS frame.
9182
9183 2000-09-07 Gerd Moellmann <gerd@gnu.org>
9184
9185 * ralloc.c (mmap_find): Fix overlap computation.
9186 (mmap_enlarge): Compute nbytes before trying to find an
9187 overlapping region.
9188
9189 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
9190 instead of `!='.
9191
9192 * lread.c (syms_of_lread): Change value of regexp
9193 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
9194
9195 * xmenu.c (xdialog_show): When looking up the selection in
9196 menu_items, take `quote' boundaries into account; this corresponds
9197 to a nil ITEM in x-popup-dialog.
9198
9199 2000-09-07 Kenichi Handa <handa@etl.go.jp>
9200
9201 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
9202 not 0x81.
9203 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
9204
9205 * coding.c (encode_coding_sjis_big5): Use translation table for
9206 encoding, not decoding. Fix the handling of latin-jisx0201.
9207 Check for the charset katakana-jisx0201 too.
9208 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
9209 (detect_coding_sjis): Check the byte sequence more rigidly.
9210
9211 2000-09-07 Gerd Moellmann <gerd@gnu.org>
9212
9213 * xfaces.c (Vparam_value_alist): New variable.
9214 (syms_of_xfaces): Initialize it.
9215 (Finternal_set_lisp_face_attribute): Avoid more consing.
9216
9217 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
9218 specially.
9219 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
9220 (Qbackground_mode): New variable.
9221 (syms_of_frame_1): Initialize Qbackground_mode.
9222
9223 * lisp.h (Qdisplay): Declare extern.
9224
9225 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
9226 change face on all frames, and change the default for new frames.
9227
9228 2000-09-07 Dave Love <fx@gnu.org>
9229
9230 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9231
9232 2000-09-07 Kenichi Handa <handa@etl.go.jp>
9233
9234 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
9235
9236 * charset.c: Include composite.h
9237 (lisp_string_width): New function.
9238 (Fstring_width): Call lisp_string_width instead of strwidth.
9239
9240 * Makefile.in (charset.o): Depends on composite.h.
9241
9242 * process.c (read_process_output): Before inserting the decoded
9243 text in the buffer, adjust the multibyteness.
9244
9245 2000-09-06 Gerd Moellmann <gerd@gnu.org>
9246
9247 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
9248 buffer's text buffer is null, map new memory.
9249
9250 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
9251 POINTER_TYPE and size_t.
9252 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
9253 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
9254 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
9255 [REL_ALLOC_MMAP]: New macros.
9256 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
9257 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
9258 [REL_ALLOC_MMAP]: New functions.
9259
9260 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
9261 before and after unexec.
9262
9263 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
9264 text buffers if necessary.
9265
9266 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
9267 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
9268 in prototypes.
9269
9270 * config.in (HAVE_MMAP): Add #undef.
9271
9272 2000-09-05 Gerd Moellmann <gerd@gnu.org>
9273
9274 * frame.c (Qdisplay_type): New variable.
9275 (syms_of_frame_1): Initialize it.
9276 (Fframe_parameter): New function that avoids consing.
9277 (syms_of_frame): Defsubr it.
9278
9279 * buffer.c (Fother_buffer): Consider buffers as invisible when
9280 they are displayed in a window on an invisible frame.
9281
9282 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
9283 get-largest-window always return nil.
9284
9285 2000-09-04 Gerd Moellmann <gerd@gnu.org>
9286
9287 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
9288 variable; recognize Emacs 19 elc files.
9289
9290 2000-09-04 Miles Bader <miles@gnu.org>
9291
9292 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
9293 before initially popping up the menu, so the menu doesn't flash
9294 when the face settings are significantly different from the defaults.
9295
9296 2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
9297
9298 * regex.c (WIDE_CHAR_SUPPORT): New macro.
9299 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
9300 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
9301 (BIT_UNIBYTE): Remove.
9302 (re_match_2_internal): Delete corresponding code and streamline the
9303 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
9304 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
9305 (re_wctype_t): New type.
9306 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
9307 (regex_compile): Use them and fix handling of overly long char classes.
9308
9309 2000-09-03 Andrew Innes <andrewi@gnu.org>
9310
9311 * makefile.w32-in: Change to DOS line endings.
9312
9313 * s/ms-w32.h (ORDINARY_LINK): New define.
9314
9315 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
9316 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
9317
9318 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
9319 (distclean): Delete them here instead.
9320
9321 * w32proc.c (compare_env): Convert to uppercase for comparison,
9322 not lowercase, to match how the native Windows shell works.
9323
9324 2000-09-03 Jason Rumney <jasonr@gnu.org>
9325
9326 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
9327 CVS changes the line-ends when checking in/out on DOS/Windows.
9328
9329 * makefile.nt (emacs): Do not change directory to run temacs, as
9330 the load-path is set relative to current directory.
9331
9332 2000-09-03 Miles Bader <miles@gnu.org>
9333
9334 * xterm.c (x_alloc_lighter_color_for_widget): New function.
9335
9336 2000-09-02 Gerd Moellmann <gerd@gnu.org>
9337
9338 * xdisp.c (redisplay_mode_lines): New function.
9339 (display_mode_lines): Return number of mode lines displayed.
9340 (echo_area_display): Use redisplay_mode_lines to draw garbaged
9341 mode lines. Don't temporarily bind redisplay-dont-pause to t.
9342
9343 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
9344 string.h and strings.h.
9345 (index) [HAVE_INDEX]: Add prototype.
9346
9347 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
9348 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
9349
9350 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
9351 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
9352
9353 2000-09-01 Gerd Moellmann <gerd@gnu.org>
9354
9355 * lread.c (read1): Accept `?' as symbol constituent, for
9356 compatiblity with XEmacs.
9357
9358 2000-08-31 Stefan Monnier <monnier@cs.yale.edu>
9359
9360 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
9361 (struct re_pattern_buffer): Remove newline_anchor.
9362 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
9363 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
9364 (re_max_failures, fail_stack): Use size_t rather than unsigned.
9365 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
9366 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
9367 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
9368 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
9369 Get rid of references to newline_anchor.
9370 (regcomp): Allocate and precompute a fastmap.
9371
9372 2000-08-31 Gerd Moellmann <gerd@gnu.org>
9373
9374 * lread.c (openp): GCPRO local variable `filename'.
9375
9376 2000-08-30 Stefan Monnier <monnier@cs.yale.edu>
9377
9378 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
9379
9380 * regex.c: Merge some changes from GNU libc. Add prototypes.
9381 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
9382 Use memcmp and memcpy instead of bcopy and bcmp.
9383 (init_syntax_once): Use ISALNUM.
9384 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
9385 (REG_UNSET_VALUE): Remove. Use NULL instead.
9386 (REG_UNSET, re_match_2_internal): Use NULL.
9387 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
9388 New macros.
9389 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
9390 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
9391 (regex_compile): In handle_interval, return an error rather than try to
9392 unfetch the interval if we can't find the closing brace.
9393 Obey the RE_NO_GNU_OPS syntax bit.
9394 (TOLOWER): New macro.
9395 (regcomp): Use it.
9396 (regexec): Allocate regs.start and regs.end as one block.
9397
9398 2000-08-30 Gerd Moellmann <gerd@gnu.org>
9399
9400 * xdisp.c (echo_area_display): Check display_completed instead
9401 of calling detect_input_pending.
9402
9403 * dispnew.c (update_frame): Only set display_completed here; move
9404 the update_begin and update_end calls here from update_frame_1.
9405 (update_frame_1): Don't set display_completed here, don't call
9406 update_begin/update_end.
9407
9408 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
9409 instead of store_frame_param.
9410
9411 2000-08-29 Gerd Moellmann <gerd@gnu.org>
9412
9413 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
9414 desired window matrix hasn't been displayed, use the current row
9415 instead. Make sure that only those frame rows are updated for
9416 which there exists a corresponding enabled desired row.
9417
9418 2000-08-29 Miles Bader <miles@gnu.org>
9419
9420 * xfaces.c (default_face_vector): New function.
9421 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
9422
9423 2000-08-29 Gerd Moellmann <gerd@gnu.org>
9424
9425 * lread.c (openp): Prevent temporary string passed to
9426 Ffile_readable_p from being garbage collected.
9427
9428 2000-08-28 Dave Love <fx@gnu.org>
9429
9430 * keymap.c (store_in_keymap): Add `static' to declaration.
9431
9432 2000-08-28 Gerd Moellmann <gerd@gnu.org>
9433
9434 * emacs.c, callint.c, doc.c, editfns.c
9435 (toplevel) [HAVE_STRING_H]: Include string.h.
9436 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
9437 (index): Remove prototypes which might conflict with non-standard
9438 definitions of index/strchr.
9439
9440 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
9441 (rindex): Define only if !HAVE_RINDEX.
9442
9443 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
9444
9445 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
9446
9447 2000-08-28 Miles Bader <miles@gnu.org>
9448
9449 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
9450 made inconsistent by a font-related attribute in FROM.
9451 (merge_face_inheritance): Add function comment.
9452
9453 2000-08-28 Kenichi Handa <handa@etl.go.jp>
9454
9455 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
9456 the 4th arg (PREV_EVENT) Qt to suppress input method.
9457
9458 2000-08-27 Stefan Monnier <monnier@cs.yale.edu>
9459
9460 * regex.c: Indent cpp directives and remove parens after `defined'.
9461 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
9462 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
9463 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
9464 (re_compile_pattern): Use size_t for length.
9465 (init_syntax_once): Move to a better place.
9466 * regex.h: Merge changes from GNU libc. Indent cpp directives.
9467 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
9468
9469 * syntax.c (back_comment): Detect cases where a comment-starter is
9470 actually inside another comment as in: /* a // b */ c // d \n.
9471 Make it clear that `comstart_pos' is unused for nested comments.
9472
9473 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
9474 (KEYMAPP): New macro.
9475 (Fkeymap_parent, Fset_keymap_parent): Use it.
9476 (fix_submap_inheritance): Mark it static.
9477 (define_as_prefix, describe_buffer_bindings, describe_command)
9478 (describe_translation, describe_map): Complete prototypes.
9479
9480 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
9481
9482 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
9483 to better match the key-lookup behavior.
9484
9485 2000-08-27 Gerd Moellmann <gerd@gnu.org>
9486
9487 * xfaces.c (lface_fully_specified_p): Handle :inherit.
9488 (Finternal_set_lisp_face_attribute): Fix typo in error message.
9489
9490 2000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
9491
9492 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
9493 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
9494 (xterm.o): Depend on coding.h
9495
9496 2000-08-26 Kenichi Handa <handa@etl.go.jp>
9497
9498 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
9499 the corresponding '#endif'.
9500
9501 2000-08-26 Miles Bader <miles@gnu.org>
9502
9503 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
9504 * xfaces.c (QCinherit): New variable.
9505 (syms_of_xfaces): Initialize it.
9506 (LFACE_INHERIT): New macro.
9507 (Finternal_get_lisp_face_attribute)
9508 (merge_face_vector_with_property)
9509 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
9510 (check_lface_attrs): Allow new types of face height. Check
9511 inherit attribute.
9512 (CYCLE_CHECK): New macro.
9513 (merge_face_inheritance): New function.
9514 (merge_face_vectors): Merge inherited faces too. Add F and
9515 CYCLE_CHECK arguments.
9516 (merge_face_vector_with_property, Finternal_merge_in_global_face)
9517 (lookup_named_face, lookup_derived_face, realize_named_face)
9518 (face_at_string_position, face_at_buffer_position): Supply
9519 new F and CYCLE_CHECK arguments to merge_face_vectors.
9520 (merge_face_heights): New function.
9521 (merge_face_vectors, merge_face_vector_with_property)
9522 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
9523 handle relative face heights.
9524 (lface_same_font_attributes_p): Compare heights using EQ.
9525
9526 2000-08-26 Kenichi Handa <handa@etl.go.jp>
9527
9528 * charset.c (char_to_string): Check the character validity.
9529 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
9530
9531 2000-08-25 Stefan Monnier <monnier@cs.yale.edu>
9532
9533 * regex.c (PUSH_FAILURE_COUNT): New macro.
9534 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
9535 Handle popping of a register's or a counter's data.
9536 (POP_FAILURE_POINT): Use the new name.
9537 (re_match_2_internal): Push counter data on the stack for succeed_n,
9538 jump_n and set_number_at and remove misleading dead code in succeed_n.
9539
9540 2000-08-25 Gerd Moellmann <gerd@gnu.org>
9541
9542 * xdisp.c (redisplay_internal): If considering all windows on all
9543 frames, update the display for each frame as soon as possible,
9544 instead of first building all desired matrices for all frames, and
9545 then updating them all.
9546 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
9547
9548 2000-08-24 Gerd Moellmann <gerd@gnu.org>
9549
9550 * bytecode.c (mark_byte_stack): Add a comment.
9551
9552 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
9553 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
9554 a graphical frame.
9555
9556 2000-08-24 Kenichi Handa <handa@etl.go.jp>
9557
9558 * minibuf.c (do_completion): Always use compare-string, not
9559 string-equal because the latter doesn't pay attention to
9560 multibyteness of strings.
9561
9562 * process.c (create_process): Don't setup raw-text coding here.
9563 (Fopen_network_stream): Don't set coding->src_multibyte and
9564 coding->dst_multibyte here.
9565 (read_process_output): For process filter, return unibyte string
9566 if default-enable-multibyte-characters is nil.
9567 (send_process): If OBJECT is multibyte text, be sure to encoded it
9568 by the specified coding system for the process. Otherwise, setup
9569 raw-text coding.
9570 (init_process): Don't initialize default-process-coding-system here.
9571
9572 2000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
9573
9574 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
9575 <scroll-down-aggressively>: Likewise.
9576
9577 2000-08-23 Kenichi Handa <handa@etl.go.jp>
9578
9579 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
9580 zero. Set coding->produced_char correctly.
9581
9582 2000-08-22 Andrew Innes <andrewi@gnu.org>
9583
9584 * makefile.w32-in: New file.
9585
9586 * unexw32.c (unexec): Ignore old_name, and use the actual location
9587 of the current executable instead. Base new_name on this.
9588
9589 * w32proc.c (create_child): Remove reference to security
9590 descriptor, which isn't needed and doesn't compile with mingw32.
9591
9592 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9593 up dllimport attributes.
9594 (x_update_window_end): Update prototype.
9595
9596 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
9597 extern, which screws up dllimport attributes.
9598
9599 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9600 up dllimport attributes.
9601
9602 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
9603 screws up dllimport attributes.
9604
9605 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9606 up dllimport attributes.
9607 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
9608 screws up dllimport attributes.
9609
9610 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9611 up dllimport attributes.
9612
9613 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
9614 screws up dllimport attributes.
9615
9616 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
9617 screws up dllimport attributes.
9618
9619 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9620 up dllimport attributes.
9621
9622 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
9623 unnecessary extern, which screws up dllimport attributes.
9624 (main): Ditto.
9625
9626 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9627 up dllimport attributes.
9628
9629 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
9630 unnecessary extern, which screws up dllimport attributes.
9631
9632 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
9633 screws up dllimport attributes.
9634
9635 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
9636 up dllimport attributes.
9637
9638 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
9639
9640 * w32bdf.c (search_file_line):
9641 (set_bdf_font_info):
9642 (seek_char):
9643 (w32_get_bdf_glyph):
9644 (w32_BDF_to_x_font): Fix compile warnings.
9645
9646 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
9647
9648 * w32select.c: Include keyboard.h before frame.h.
9649
9650 * w32fns.c (max): Define macro.
9651 (JOHAB_CHARSET): Define if not known.
9652 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
9653 (Fx_show_tip): Synch with X version.
9654
9655 * w32xfns.c: Include keyboard.h before frame.h.
9656
9657 * w32fns.c: Include keyboard.h before frame.h.
9658
9659 * w32term.c: Include keyboard.h before frame.h.
9660
9661 * fontset.c: Include keyboard.h before frame.h.
9662
9663 * w32inevt.c: Include keyboard.h before frame.h.
9664 (MOUSE_MOVED): Define if not known.
9665
9666 * minibuf.c: Include keyboard.h before frame.h.
9667
9668 * keyboard.c: Include keyboard.h before frame.h.
9669
9670 * indent.c: Include keyboard.h before frame.h.
9671
9672 * dispnew.c: Include keyboard.h before frame.h.
9673
9674 * buffer.c: Include keyboard.h before frame.h.
9675
9676 * alloc.c: Include keyboard.h before frame.h.
9677
9678 * print.c: Include keyboard.h before frame.h.
9679
9680 * process.c: Include keyboard.h before frame.h.
9681
9682 * scroll.c: Include keyboard.h before frame.h.
9683
9684 * sysdep.c: Include keyboard.h before frame.h.
9685
9686 * term.c: Include keyboard.h before frame.h.
9687
9688 * window.c: Include keyboard.h before frame.h.
9689
9690 * xdisp.c: Include keyboard.h before frame.h.
9691 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
9692
9693 * frame.c: Include keyboard.h before frame.h.
9694
9695 * w32heap.h: Undefine min, max.
9696
9697 * w32gui.h: Undefine min, max.
9698
9699 * unexw32.c: Change PUCHAR to PCHAR.
9700 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
9701 (relocate_offset):
9702 (get_section_info):
9703 (copy_executable_and_dump_data): Remove unnecessary static defs.
9704 (copy_executable_and_dump_data): Fix compile warnings.
9705
9706 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
9707
9708 * w32console.c (min): Define macro.
9709 (clear_frame, write_glyphs): Fix compile warning.
9710
9711 * w32proc.c (compare_env):
9712 (find_child_console): Fix compile warning.
9713
9714 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
9715 sys_errlist instead of _sys_errlist.
9716 (get_emacs_configuration_options): New function.
9717
9718 * s/ms-w32.h (sys_nerr): Provide default definition.
9719 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
9720 name with _ prepended.
9721 (NSIG): Define if not known.
9722 (get_emacs_configuration): Provide extern declaration.
9723 (get_emacs_configuration_options): Provide extern declaration.
9724 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
9725
9726 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
9727 (map_w32_filename):
9728 (read_unc_volume): Fix compile warning.
9729
9730 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
9731 definitions from being used.
9732
9733 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
9734
9735 * w32.c (unc_volume_file_attributes):
9736 (open_unc_volume): Make arg const.
9737
9738 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
9739 (read_input_waiting): Remove excess parameter.
9740
9741 * w32.c (init_environment): Call _access.
9742 (check_windows_init_file): Call _close.
9743 (init_user_info): Call _putenv.
9744 (init_environment): Call _putenv and _strdup.
9745 (init_ntproc): Reset volume info cache on startup.
9746
9747 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
9748 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
9749 cannot override the CRT malloc.
9750
9751 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9752 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9753
9754 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9755 unless we are linking with a static CRT.
9756 (RVA_TO_PTR): Cast result to unsigned char*.
9757
9758 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9759 (add_volume_info): Use xstrdup.
9760
9761 2000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9762
9763 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9764 (do_completion, Fminibuffer_complete_word): Use it.
9765 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9766 var so it can take non-boolean values.
9767
9768 2000-08-21 Gerd Moellmann <gerd@gnu.org>
9769
9770 * editfns.c (find_field): Formatting changes.
9771 (toplevel): Some old-style function forward declarations
9772 changed to prototypes, some new protypes added, some functions
9773 made static.
9774
9775 * lisp.h (set_time_zone_rule): Add prototype.
9776 (use_dialog_box): External declaration.
9777
9778 * keyboard.c (gen_help_event): Add parameter SIZE.
9779 (kbd_buffer_events_waiting): Slightly rewritten.
9780 (clear_event): New function.
9781 (kbd_buffer_get_event): Use it, and clear the input_events of
9782 HELP_EVENTs.
9783 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9784 don't fill the newly created array with nils.
9785 (toplevel): Convert some old-style function forward declarations
9786 to prototypes.
9787
9788 * keyboard.h (gen_help_event): Change prototype.
9789
9790 * xterm.c (XTread_socket): Change calls to gen_help_event.
9791
9792 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9793
9794 * eval.c (Fmacroexpand): Doc fix.
9795
9796 2000-08-20 Jason Rumney <jasonr@gnu.org>
9797
9798 * w32term.h (x_display_info_for_display): Remove as this function
9799 does not exist on W32.
9800
9801 * w32term.c (help_echo_window): New variable.
9802 (syms_of_w32term): staticpro it.
9803 (note_mode_line_highlight): Set it.
9804 (XTextExtents16): Removed as there is no equivalent on W32.
9805 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9806 the X way of doing this will not work for W32.
9807 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9808 (x_draw_image_foreground): Avoid drawing outside of the clip area
9809 when image doesn't have a mask.
9810 (note_mouse_highlight): Process overlays in the right order of
9811 priority. Set help_echo_window.
9812 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9813 because that's more visible for large images.
9814
9815 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9816 name to single_keymap_panes.
9817 (w32_menu_show): Set wv->title when dealing with titles.
9818 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9819
9820 2000-08-21 Miles Bader <miles@gnu.org>
9821
9822 * minibuf.c (do_completion): Try again if we rewrite the input
9823 string, but no completion was done, so that any completion message
9824 will be correct.
9825
9826 2000-08-20 Gerd Moellmann <gerd@gnu.org>
9827
9828 * xfaces.c (lface_equal_p): Compare strings differently.
9829 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9830 (realize_tty_face): Use them.
9831 (syms_of_xfaces): Initialize new variables.
9832 (map_tty_color): New function, extracted from realize_tty_face.
9833 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9834 foreground or background color, store the new color name in the
9835 realized face; previous code trying to do this had no effect.
9836 (realize_tty_face): Use map_tty_color.
9837 (Fclear_face_cache): Set face_change_count and ensure thorough
9838 redisplay.
9839
9840 2000-08-19 Gerd Moellmann <gerd@gnu.org>
9841
9842 * undo.c (record_first_change, record_marker_adjustment): Don't
9843 use XBUFFER on last_undo_buffer which might not be a buffer.
9844
9845 2000-08-18 Kenichi Handa <handa@etl.go.jp>
9846
9847 * coding.c (decode_coding_string): Set members consumed,
9848 consumed_char, produced, produced_char of *coding correctly. If
9849 decode_coding doesn't consume any byte, don't try anymore.
9850 (encode_coding_string): Likewise.
9851
9852 2000-08-18 Gerd Moellmann <gerd@gnu.org>
9853
9854 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9855 conditional have void type, for Standard C compilers.
9856
9857 * xdisp.c (redisplay_internal): Compare windows for equality with
9858 EQ, instead of applying XWINDOW to something that might not
9859 be a window.
9860
9861 2000-08-18 Kenichi Handa <handa@etl.go.jp>
9862
9863 * fontset.c (Finternal_char_font): Search only the selected frame
9864 for a window of the current buffer.
9865
9866 2000-08-18 Gerd Moellmann <gerd@gnu.org>
9867
9868 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
9869 Lisp_Objects.
9870
9871 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9872 second half of a HELP_EVENT is found at the start of kbd_buffer.
9873
9874 2000-08-18 Miles Bader <miles@gnu.org>
9875
9876 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9877
9878 * editfns.c (save_restriction_save): Rewrite to use markers.
9879 (save_restriction_restore): Rewrite to understand new form of data
9880 saved by save_restriction_save.
9881 (Fsave_restriction): Remove cautionary note in doc-string.
9882
9883 2000-08-17 Gerd Moellmann <gerd@gnu.org>
9884
9885 * fileio.c (build_annotations): Add a comment explaining the
9886 return value of format-annotate-function. Replace a spurious call
9887 to Flength with a CONSP test. Call format-annotate-function with
9888 a fifth arg specifying how many times the function is been called
9889 in a row, to let it choose temporary buffers appropriately.
9890
9891 2000-08-17 Dave Love <fx@gnu.org>
9892
9893 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9894 declare make_temp_name twice.
9895
9896 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
9897 (unreadpure): Give it an arg.
9898
9899 * unexalpha.c: Prototype fatal_unexec, mark_x,
9900 update_dynamic_symbols. Declare unexec as void.
9901
9902 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9903 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9904
9905 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
9906 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
9907
9908 * alloca.c: Use #error.
9909 [POINTER_TYPE]: Use it.
9910
9911 * eval.c (Fdefvar): Doc fix.
9912
9913 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9914 INITIALIZE_INTERVAL.
9915
9916 * buffer.h: Avoid DECLARE_INTERVALS.
9917
9918 * config.in: Add size_t.
9919
9920 2000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9921
9922 * w16select.c (set_clipboard_data): If there's not enough memory
9923 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9924 expects. In case of other failures, return 3.
9925 (system_error_msg): New error message.
9926 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9927 system_error_msg.
9928
9929 2000-08-16 Gerd Moellmann <gerd@gnu.org>
9930
9931 * term.c (write_glyphs): Also turn off inverse video after turning
9932 off other appearances in case TS_exit_attribute_mode is not equal
9933 to TS_end_standout_mode.
9934 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9935 with the same face.
9936 (turn_off_face): Reset standout_mode only if
9937 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9938 is equal to TS_end_standout_mode.
9939
9940 2000-08-16 Kenichi Handa <handa@etl.go.jp>
9941
9942 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9943 sequence at the end of the source block.
9944
9945 * ccl.c (Fccl_program_p): Docstring modified.
9946 (Fccl_execute): Likewise.
9947 (Fccl_execute_on_string): Likewise.
9948
9949 2000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9950
9951 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9952
9953 2000-08-16 Kenichi Handa <handa@etl.go.jp>
9954
9955 The following changes are mainly to fix bugs of
9956 encode/decode-coding-string failing if encoding/decoding return
9957 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9958 variable conversion_buffer.
9959
9960 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9961 decrement dst_end to avoid buffer overflow in the later call of
9962 string_as_multibyte
9963
9964 * coding.h (conversion_buffer_size, conversion_buffer)
9965 (get_conversion_buffer): Extern deleted.
9966
9967 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9968 (conversion_buffer, conversion_buffer_size): Variables deleted.
9969 (get_conversion_buffer): Function deleted.
9970 (struct conversion_buffer): New structure.
9971 (MAX_ALLOCA): New macro.
9972 (allocate_conversion_buffer): New macro.
9973 (extend_conversion_buffer, free_conversion_buffer): New functions.
9974 (ccl_coding_driver): Set coding->result.
9975 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9976 this is the last block of source.
9977 (encode_coding): Likewise. Handle the source block as the last
9978 one only when the whole source text is consumed.
9979 (decode_coding_string): Handle the case that the output buffer is
9980 too small to decode the whole source text. Use
9981 allocate_conversion_buffer, extend_conversion_buffer and
9982 free_conversion_buffer, not get_conversion_buffer.
9983 (encode_coding_string): Likewise.
9984 (init_coding): Function deleted.
9985 (init_coding_once): Delete code to initialize conversion_buffer_size.
9986
9987 * emacs.c (main): Don't call init_coding.
9988
9989 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
9990
9991 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9992 (insert_glyphs): Likewise.
9993
9994 * w32console.c (write_glyphs): Use a locally declared
9995 conversion_buffer.
9996
9997 2000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9998
9999 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
10000 member of display_info is NULL.
10001
10002 2000-08-15 Gerd Moellmann <gerd@gnu.org>
10003
10004 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
10005
10006 * term.c (turn_off_face): Reset standout_mode when resetting
10007 appearances with capability `me'.
10008 (write_glyphs): Switch on inverse video before each face change.
10009
10010 2000-08-14 Dave Love <fx@gnu.org>
10011
10012 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
10013 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
10014 (lisp_free): Declare and make static.
10015
10016 * window.c: Fix embedded comment.
10017 (syms_of_window): Fix doc string.
10018
10019 2000-08-14 Gerd Moellmann <gerd@gnu.org>
10020
10021 * keymap.c (push_key_description): If C without modifiers is < 32,
10022 make sure to print `C-' before `M-', like in the manual.
10023
10024 2000-08-11 Gerd Moellmann <gerd@gnu.org>
10025
10026 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
10027 since they aren't relocated anymore.
10028 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
10029
10030 * xdisp.c (try_cursor_movement): Fix handling of cursor in
10031 partially visible line which is smaller than the window's height.
10032
10033 2000-08-11 Kenichi Handa <handa@etl.go.jp>
10034
10035 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
10036 the multibyte form of eight-bit-control characters.
10037 (Fccl_execute_on_string): Initialize ccl->multibyte.
10038
10039 * ccl.h (struct ccl_program): New member multibyte.
10040
10041 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
10042
10043 2000-08-11 Kenichi Handa <handa@etl.go.jp>
10044
10045 * regex.c (regex_compile) <normal_char>: Pay attention to
10046 multibyteness.
10047 (analyse_first) <exactn>: Setup fastmap correctly for
10048 eight-bit-control characters.
10049
10050 2000-08-11 Kenichi Handa <handa@etl.go.jp>
10051
10052 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
10053
10054 * keyboard.c (make_lispy_event): Handle the new event type
10055 multibyte_char_keystroke.
10056
10057 * xterm.c: Include coding.h.
10058 (XTread_socket): Work around a bug of XmbLookupString. If the
10059 input is from XIM, decode it according to the current locale. In
10060 that case, generate multibyte_char_keystroke events.
10061
10062 2000-08-11 Kenichi Handa <handa@etl.go.jp>
10063
10064 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
10065 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
10066
10067 2000-08-10 Gerd Moellmann <gerd@gnu.org>
10068
10069 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
10070 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
10071 (move_it_in_display_line_to): Record iterator's ascent and descent
10072 before producing glyphs, and restore them when we know the glyph
10073 doesn't fit on the line.
10074 (move_it_to): Restructured so that it's easier to debug. If
10075 moving to a vpos, and not moving to an x or character position,
10076 stop as soon as the specified vpos is reached; don't move further
10077 into that line because that might change the computed line height.
10078 (try_cursor_movement): New function, extracted from the cursor
10079 movement branch of redisplay_window. If ending on a partially
10080 visible line, don't try to scroll if the cursor line is taller
10081 than the window.
10082 (redisplay_window): Use try_cursor_movement.
10083
10084 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
10085 because that function doesn't cope with variable-height lines.
10086
10087 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
10088 box cursor because that's better visible for large images.
10089
10090 2000-08-10 Miles Bader <miles@gnu.org>
10091
10092 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
10093
10094 2000-08-10 Gerd Moellmann <gerd@gnu.org>
10095
10096 * xdisp.c (Vmessages_buffer_name): New variable.
10097 (message_dolog): Use it.
10098 (syms_of_xdisp): Initialize it.
10099
10100 2000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
10101
10102 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
10103 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
10104 redundant now that keyboard.h is included.
10105
10106 2000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
10107
10108 * keyboard.c (kbd_buffer_events_waiting): New function.
10109
10110 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
10111
10112 * msdos.c: Include keyboard.h.
10113 (XMenuActivate): Empty no_event events from the event buffer. If
10114 no events are left after that, call clear_input_pending.
10115 (mouse_clear_clicks): New function, code moved from mouse_init.
10116 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
10117 mouse driver to ``forget'' any past clicks.
10118
10119 * Makefile.in (msdos.o): Depend on keyboard.h.
10120
10121 2000-08-09 Gerd Moellmann <gerd@gnu.org>
10122
10123 * lisp.h (input_pending): External declaration.
10124
10125 * dispextern.h (Qredisplay_dont_pause): Declare extern.
10126
10127 * xdisp.c (echo_area_display): Display thoroughly if input is
10128 pending. Bind redisplay-dont-pause to t during the redisplay.
10129 in case input is pending.
10130
10131 * dispnew.c (Qredisplay_dont_pause): New variable.
10132 (syms_of_display): Initialize and staticpro it.
10133 (update_frame_1): Don't interrupt the display for pending input if
10134 redisplay_dont_pause is set.
10135
10136 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
10137
10138 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10139
10140 2000-08-09 Miles Bader <miles@lsi.nec.co.jp>
10141
10142 * callproc.c (Fcall_process): Terminate the unwind-protect around
10143 the post-read-conversion of coding system.
10144
10145 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
10146 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
10147 * buffer.h (overlays_at): Update prototype.
10148 * xdisp.c (next_overlay_change): Update call to overlays_at.
10149 * xfaces.c (face_at_buffer_position): Likewise.
10150 * textprop.c (Fget_char_property): Likewise.
10151 * xterm.c (note_mouse_highlight): Likewise.
10152
10153 * minibuf.c (do_completion): Don't consider a simple change of
10154 case as `completion'.
10155
10156 2000-08-08 Ken Raeburn <raeburn@gnu.org>
10157
10158 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
10159 * undo.c (record_delete): Make sure last_point_position_buffer is
10160 a buffer before comparing pointers.
10161
10162 * coding.h (decode_coding_string): Declare.
10163
10164 * intervals.h (Fprevious_single_char_property_change): Declare.
10165
10166 * textprop.c (Fprevious_single_char_property_change): Don't do
10167 arithmetic directly on lisp objects.
10168
10169 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
10170
10171 * keyboard.h (menu_item_eval_property): Declare.
10172
10173 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
10174 reuse as buffer name, instead of recreating (and discarding) every
10175 time a message is logged.
10176 (with_echo_area_buffer): Make callback arg A2 a lisp object.
10177 (current_message_1, truncate_message_1, set_message_1)
10178 (display_echo_area_1, resize_mini_window_1): Signatures changed.
10179 (current_message, truncate_echo_area, display_echo_area)
10180 (resize_echo_area_axactly): Changed calls.
10181
10182 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
10183 Lisp object.
10184 (Ffind_coding_systems_region_internal): First argument to Fappend
10185 must be an integer, not a Lisp object.
10186
10187 2000-08-08 Kenichi Handa <handa@etl.go.jp>
10188
10189 * charset.c (Fchar_width): Doc fix.
10190
10191 2000-08-08 Gerd Moellmann <gerd@gnu.org>
10192
10193 * charset.c (Fstring_width): Doc fix.
10194
10195 2000-08-07 Gerd Moellmann <gerd@gnu.org>
10196
10197 * xdisp.c (start_display): When starting display on a continuation
10198 line, clear ascent and descent members of the iterator structure;
10199 the height of the continued line does not affect the height of the
10200 continuation line.
10201 (make_cursor_line_fully_visible): Do nothing if cursor is on a
10202 line taller than the window.
10203 (redisplay_window) <forced window start>: Handle case that the
10204 middle of the window is not found in any row.
10205 (dump_glyph_row): Show more information.
10206 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
10207 first text line in a glyph matrix.
10208
10209 * xterm.c (x_draw_image_foreground): Avoid drawing outside
10210 of the clip area when image doesn't have a mask.
10211
10212 * fns.c (sweep_weak_table): Fix survival conditions for
10213 key-or-value and key-and-value weakness.
10214
10215 * .gdbinit (xhashtable): New command.
10216
10217 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
10218 tables out of the list of all weak hash tables.
10219
10220 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
10221 a new buffer is created, make sure echo_area_buffer[] references
10222 the new buffer.
10223
10224 2000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
10225
10226 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
10227 the doc string.
10228
10229 2000-08-07 Kenichi Handa <handa@etl.go.jp>
10230
10231 * syntax.c (skip_chars): Fix previous change. Make the handling
10232 of unibyte string consistent with that of regex search.
10233
10234 2000-08-05 Gerd Moellmann <gerd@gnu.org>
10235
10236 * xmenu.c (popup_get_selection): Use xfree instead of free.
10237
10238 * fileio.c (Finsert_file_contents): Use xfree instead of free.
10239
10240 * editfns.c (Ftranspose_regions): Use xfree instead of free.
10241
10242 * callproc.c (child_setup): Use xfree instead of free.
10243
10244 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
10245 instead of malloc.
10246 (run_mac_command, closedir): Use `xfree' instead of `free'.
10247
10248 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
10249
10250 * eval.c (error): Use xfree instead of free.
10251
10252 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
10253
10254 * fns.c: Replace `illegal' with `invalid'.
10255 (Fmake_hash_table, make_hash_table): Allow table size of 0.
10256
10257 2000-08-05 Kenichi Handa <handa@etl.go.jp>
10258
10259 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
10260 conversion.
10261
10262 2000-08-04 Noah Friedman <friedman@splode.com>
10263
10264 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
10265 docstring.
10266
10267 2000-08-04 Gerd Moellmann <gerd@gnu.org>
10268
10269 * syntax.c (skip_chars): Fix typo in error message.
10270
10271 2000-08-04 Andreas Schwab <schwab@suse.de>
10272
10273 * m/ia64.h: Moved from s/ia64.h.
10274
10275 2000-08-04 Kenichi Handa <handa@etl.go.jp>
10276
10277 * process.c (read_process_output): Big simplification. Handle
10278 composition and post-read-conversion of coding system correctly.
10279 (send_process): Handle composition correctly.
10280
10281 * callproc.c (Fcall_process): Handle post-read-conversion of
10282 coding system if any.
10283
10284 * coding.c (decode_coding_iso2022): More strict check for handling
10285 single shifting.
10286 (coding_restore_composition): Pay attention to the case that
10287 cmp_data is not set properly (because of invalid code in the
10288 source text).
10289 (run_pre_post_conversion_on_str): Include text properties in the
10290 resulting string.
10291 (decode_coding_string): Set members of coding correctly.
10292
10293 2000-08-03 Gerd Moellmann <gerd@gnu.org>
10294
10295 * s/ia64.h: New file.
10296
10297 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
10298 Use NULL instead of 0 at the end of variable argument list of
10299 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
10300 sizeof (int) < sizeof (void *).
10301
10302 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
10303 of variable argument lists of XtVaGetValues and XtVaSetValues.
10304
10305 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
10306 variable argument lists of XtVaGetValues and XtVaSetValues.
10307
10308 2000-08-02 Gerd Moellmann <gerd@gnu.org>
10309
10310 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
10311 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
10312
10313 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
10314 prototype.
10315
10316 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
10317 in call to Fsingle_key_description.
10318
10319 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
10320 Callers changed.
10321
10322 2000-08-02 Colin Walters <walters@cis.ohio-state.edu>
10323
10324 * window.c (display_buffer_reuse_frames): New variable.
10325 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
10326 frames displaying BUFFER.
10327 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
10328
10329 2000-08-01 Miles Bader <miles@gnu.org>
10330
10331 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
10332 when to constrain NEW_POS (they were pretty screwed up before).
10333
10334 2000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
10335
10336 * msdos.c (run_msdos_command): Save and restore the master
10337 environment, for the case that child_setup signals an error.
10338 When mirroring slashes in DOS shell commands, don't fail when
10339 argv[2] has embedded blanks.
10340 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
10341 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
10342 (dos_ttraw): Call mouse_setup_buttons.
10343
10344 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
10345 using alloca; free it after run_msdos_command returns.
10346
10347 2000-07-27 Dave Love <fx@gnu.org>
10348
10349 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
10350 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
10351
10352 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
10353
10354 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
10355
10356 * editfns.c (lisp_time_argument): Fix last change.
10357
10358 2000-07-27 Gerd Moellmann <gerd@gnu.org>
10359
10360 * fns.c (Fdelete): Make it work on vectors and strings in addition
10361 to lists.
10362
10363 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
10364 (syms_of_fns): Initialize new variables.
10365 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
10366 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
10367 weakness, with t meaning the same as `key-and-value'.
10368
10369 2000-07-27 Kenichi Handa <handa@etl.go.jp>
10370
10371 * coding.h (struct coding_system): Member safe_charset deleted.
10372
10373 * coding.c (Qsafe_charsets): This variable deleted.
10374 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
10375 New variables.
10376 (coding_safe_chars): New function.
10377 (CODING_SAFE_CHAR_P): New macro.
10378 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
10379 checking safe_charsets member of the coding system. Caller changed.
10380 (detect_coding_iso2022): New local variable safe_chars.
10381 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
10382 safe_charsets member of the coding system.
10383 (decode_coding_iso2022): New local variable safe_chars.
10384 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
10385 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
10386 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
10387 (ENCODE_UNSAFE_CHARACTER): New macro.
10388 (encode_coding_iso2022): New local variable safe_chars. Check
10389 unsafe chars.
10390 (setup_coding_system): Delete the code to initialize
10391 coding->safe_charses
10392 (intersection, find_safe_codings): New functions.
10393 (Ffind_coding_systems_region_internal): New function.
10394 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
10395 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
10396 variable and initialize it.
10397
10398 * fns.c (char_table_ref_and_index): New function.
10399
10400 * lisp.h (char_table_ref_and_index): Add prototype.
10401
10402 2000-07-26 Sam Steingold <sds@gnu.org>
10403
10404 * editfns.c (lisp_time_argument): Added third argument `usec'.
10405 (Ffloat_time): New built-in Lisp function.
10406
10407 2000-07-26 Gerd Moellmann <gerd@gnu.org>
10408
10409 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
10410 for the character code.
10411
10412 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
10413 GNU/Linux.
10414
10415 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
10416 if called for a popup menu.
10417 (xmenu_show): Store help string in widget values.
10418
10419 2000-07-26 Dave Love <fx@gnu.org>
10420
10421 * syswait.h: Move some definitions.
10422 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
10423 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
10424 perspicuous definitions.
10425 (WTERMSIG): Fix bit pattern used.
10426
10427 2000-07-26 Kenichi Handa <handa@etl.go.jp>
10428
10429 * print.c (print_object): If vector printing is truncated, print
10430 "..." to indicate it as well as the case of list printing.
10431
10432 2000-07-25 Gerd Moellmann <gerd@gnu.org>
10433
10434 * xdisp.c (next_element_from_display_vector): Improve comments.
10435
10436 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
10437 for the character code, and the rest for the face id as in 20.x.
10438 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
10439
10440 * window.c (window_display_table): Cleaned up.
10441
10442 * syntax.c (Fforward_word): Add last arg nil in call of
10443 Fconstrain_to_field.
10444
10445 2000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
10446
10447 * fileio.c (Frename_file) [DOS_NT]: If the file names are
10448 identical but for the letter-case, don't call
10449 barf_or_query_if_file_exists.
10450
10451 2000-07-25 Miles Bader <miles@gnu.org>
10452
10453 * editfns.c (find_field): Honor special `boundary' fields.
10454 (Qboundary): New variables.
10455 (syms_of_editfns): Initialize Qboundary.
10456 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
10457 Use scan_buffer instead of find_before_next_newline, because it
10458 allows us to detect the boundary case where there's a newline at
10459 the search limit.
10460 * lisp.h (Fconstrain_to_field): Update external declaration.
10461
10462 2000-07-24 Gerd Moellmann <gerd@gnu.org>
10463
10464 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
10465 if that is nil.
10466
10467 2000-07-24 Dave Love <fx@gnu.org>
10468
10469 * s/sunos4-0.h, s/sol2.h:
10470 (LIBS_TERMCAP): Move from m/sparc.h.
10471
10472 * m/sparc.h (TERMINFO): Moved to system files (probably only
10473 relevant for sunos4 judging by its vintage).
10474 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
10475 __arch64__.
10476
10477 2000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
10478
10479 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
10480 name to single_keymap_panes.
10481
10482 2000-07-24 Andreas Schwab <schwab@suse.de>
10483
10484 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
10485
10486 2000-07-24 Gerd Moellmann <gerd@gnu.org>
10487
10488 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
10489 parameters instead of using int parameters. Expect FN to accept
10490 EMACS_INT parameters.
10491 (display_echo_area, resize_echo_area_axactly, current_message)
10492 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
10493 with new argument list.
10494 (resize_mini_window_1): New callback function.
10495 (current_message_1, truncate_message_1, set_message_1): Change
10496 parameter lists to the new format expected by with_echo_area_buffer.
10497
10498 2000-07-24 Kenichi Handa <handa@etl.go.jp>
10499
10500 * fontset.c (fontset_ref): Remove INLINE declaration.
10501 (fontset_ref_via_base): Likewise.
10502 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
10503 to downcase.
10504
10505 2000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
10506
10507 * msdos.c (IT_note_mouse_highlight): Process overlays in the
10508 correct order of priority. If help echo was found in an overlay,
10509 use that overlay as the object in which the help echo was found.
10510
10511 2000-07-22 Miles Bader <miles@gnu.org>
10512
10513 * textprop.c (Fprevious_single_char_property_change): The initial
10514 property value should be from the position preceding POSITION, not
10515 following it.
10516
10517 2000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
10518
10519 * coding.c (syms_of_coding): Doc fix for
10520 inhibit-iso-escape-detection.
10521
10522 2000-07-21 Gerd Moellmann <gerd@gnu.org>
10523
10524 * xterm.c (note_mouse_highlight): Process overlays in the right
10525 order of priority.
10526
10527 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
10528
10529 * xterm.c (note_mouse_highlight): If help-echo was found in an
10530 overlay, use that overlay as the object in which the help was found.
10531
10532 * window.c (foreach_window_1): Fix typo reversing an if-condition.
10533
10534 * window.c (foreach_window): Instead of a fake variable argument
10535 list, take one USER_DATA argument.
10536 (foreach_window_1): Likewise, and call callback functions with two
10537 args, the window and USER_DATA.
10538 (struct check_window_data): New struct.
10539 (check_window_containing): Use it.
10540 (window_from_coordinates): Set up a struct check_window_data for
10541 foreach_window.
10542 (add_window_to_list, freeze_window_start): Change parameters
10543 according to new calling convention.
10544
10545 * window.h (foreach_window): Change prototype.
10546
10547 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
10548
10549 2000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
10550
10551 * xmenu.c (menu_help_callback): Call show_help_echo with
10552 additional arguments OBJECT and POS.
10553
10554 2000-07-21 Kenichi Handa <handa@etl.go.jp>
10555
10556 * data.c (Faset): Allow storing any multibyte character in a
10557 string. Convert unibyte string to multibyte if necessary.
10558
10559 * xfns.c (x_encode_text): New function.
10560 (x_set_name): Use x_encode_text.
10561 (x_set_title): Likewise.
10562
10563 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
10564
10565 * xterm.h (x_encode_text): Add prototype.
10566
10567 2000-07-20 Dave Love <fx@gnu.org>
10568
10569 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
10570 xfree, not free.
10571
10572 2000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
10573
10574 * msdos.c (help_echo_window): New variable.
10575 (syms_of_msdos): Initialize and staticpro it.
10576 (IT_note_mode_line_highlight): Set help_echo_window.
10577 (IT_note_mouse_highlight): Ditto.
10578 (dos_rawgetc): Store help_echo_window in the second event produced
10579 for HELP_EVENTs.
10580
10581 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
10582 Record the object that generated the help echo and the position of
10583 that object in help_echo_object and help_echo_pos. Record that
10584 some glyphs in a row are displayed in mouse-face.
10585 (IT_update_begin): Don't clear mouse highlight unless one of the
10586 enabled glyph rows is marked as being displayed in mouse-face.
10587 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
10588 and position recorded in help_echo_object and help_echo_pos to the
10589 event queue.
10590 (IT_menu_display): Accept a new argument PN: the pane number of
10591 the current menu pane. Record the pane number and the item
10592 number of the item which has associated help string.
10593 (XMenuActivate): Update the prototype for help_callback in
10594 function declaration. Call IT_menu_display with the current menu
10595 pane number as an additional argument. Call help_callback with
10596 two additional arguments: the pane number and the item number of
10597 the menu item associated with the help text.
10598 (help_echo_object, help_echo_pos): New variables.
10599 (syms_of_msdos): Initialize them and staticpro help_echo_object.
10600
10601 * msdos.h (XMenuActivate): Update prototype.
10602
10603 2000-07-19 Gerd Moellmann <gerd@gnu.org>
10604
10605 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
10606 Add some more prototypes.
10607
10608 * xterm.c, xterm.h: Add some more prototypes.
10609
10610 * lisp.h (Fnext_single_char_property_change): Add prototype.
10611
10612 * dispnew.c (direct_output_for_insert): Remove confusing
10613 outer local variable mouse_face_overwritten_p.
10614 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
10615
10616 * alloc.c (allocate_string_data): Don't copy old string contents.
10617
10618 2000-07-19 Kenichi Handa <handa@etl.go.jp>
10619
10620 * coding.c (code_convert_region): Delete text properties before
10621 shrinking the conversion region.
10622
10623 2000-07-18 Gerd Moellmann <gerd@gnu.org>
10624
10625 * dispnew.c (update_text_area): Write the whole row if it
10626 has mouse-face in it.
10627
10628 * xfaces.c (face-alternative-font-family-alist): Remove
10629 DEFVAR_LISP; staticpro instead.
10630
10631 * xmenu.c (menu_help_callback): Call show_help_echo with
10632 new arguments.
10633
10634 * keyboard.c (show_help_echo): Add parameter WINDOW.
10635 (read_char): Call show_help_echo with window extracted from Lisp
10636 help event.
10637 (gen_help_event): Add parameter WINDOW.
10638
10639 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
10640
10641 * xterm.c (help_echo_window): New variable.
10642 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
10643 (XTread_socket): Pass help_echo_window to gen_help_event.
10644 (syms_of_xterm): Initialize and staticpro help_echo_window.
10645
10646 2000-07-18 Dave Love <fx@gnu.org>
10647
10648 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
10649
10650 2000-07-18 Gerd Moellmann <gerd@gnu.org>
10651
10652 * alloc.c (allocate_string_data): If string had already data
10653 assigned, copy old contents to new string data.
10654
10655 * coding.c (syms_of_coding): Fix typo in spelling of variable
10656 `inhibit-iso-escape-detection'.
10657
10658 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
10659
10660 * Makefile.in: Add dependencies on dispextern.h.
10661 (alloca.o): Don't define malloc and define EMACS_FREE instead of
10662 `free'; both can conflict with system header files.
10663
10664 2000-07-18 Kenichi Handa <handa@etl.go.jp>
10665
10666 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
10667 undefined.
10668
10669 2000-07-18 Dave Love <fx@gnu.org>
10670
10671 * window.c (Fwindow_list): Declare arg `window'.
10672
10673 2000-07-18 Kenichi Handa <handa@etl.go.jp>
10674
10675 * coding.c (setup_coding_system): Don't override the explicitly
10676 specified designations.
10677
10678 2000-07-15 Miles Bader <miles@gnu.org>
10679
10680 * editfns.c (char_property_eq, char_property_stickiness): Renamed
10681 from `text_property_eq' and `text_property_stickiness', respectively.
10682 (find_field, Fconstrain_to_field, char_property_eq)
10683 (char_property_stickiness): Changed to call char-property functions
10684 instead of text-property-only ones.
10685
10686 * textprop.c (Fnext_single_char_property_change): Made a subr (was
10687 `next_single_char_property_change'). Do more error checking, and
10688 cleanup limit behavior.
10689 (Fprevious_single_char_property_change): New function.
10690 (syms_of_textprop): Initialize new subrs.
10691
10692 * xdisp.c (display_prop_end, invisible_text_between_p):
10693 Call Fnext_single_char_property_change instead of
10694 next_single_char_property_change.
10695
10696 2000-07-15 Jason Rumney <jasonr@gnu.org>
10697
10698 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
10699 after menu is finished with.
10700 (add_menu_item): Only consider wv->title as a menu title.
10701 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
10702
10703 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
10704 null title.
10705 (FONT_REGEXP): Remove unused macro, and its sub-components.
10706 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
10707
10708 * w32term.c (help_echo_object, help_echo_pos): New variables.
10709 (note_mode_line_highlight): Store additional information about the
10710 help-echo in help_echo_object and help_echo_pos. Check both
10711 `local-map' and `keymap' properties for changing the cursor
10712 (note_mouse_highlight): Store additional information about the
10713 help-echo in help_echo_object and help_echo_pos.
10714 (note_tool_bar_highlight): Set help_echo_object to nil and
10715 help_echo_pos to -1.
10716 (w32_read_socket): Use gen_help_event instead of filling
10717 input_events manually.
10718 (syms_of_w32term): Staticpro help_echo_object.
10719 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
10720 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
10721 (x_clear_mouse_face): New function.
10722 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
10723 (x_update_window_begin): No need to turn off the mouse
10724 highlight here.
10725 (show_mouse_face): Set the mouse_face_p flag of glyph rows
10726 depending on whether they contain glyphs highlighted in mouse-face.
10727 (x_fill_stretch_glyph_string): Consume runs of stretch
10728 glyphs instead of a single one.
10729 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10730 with new argument list.
10731 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10732 (x_append_glyph, x_append_composite_glyph)
10733 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10734 changes in struct glyph starting 1999-12-27. See comments for
10735 xterm.c on 2000-07-05.
10736
10737 2000-07-14 Sam Steingold <sds@gnu.org>
10738
10739 * xfaces.c (realize_x_face): Fix the last patch:
10740 check `default_face' before dereferencing.
10741
10742 2000-07-14 Dave Love <fx@gnu.org>
10743
10744 * syntax.c (back_comment): Add null default in switch (for pcc).
10745
10746 2000-07-14 Kenichi Handa <handa@etl.go.jp>
10747
10748 * xfaces.c (realize_x_face): Make fontset using the base of the
10749 default_face's fontset, not using the default fontset.
10750
10751 * coding.c (inhibit_iso_escape_detection): New variable.
10752 (syms_of_coding): Make it a Lisp variable.
10753 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10754 nonzero, ignore ISO2022's escape sequence.
10755
10756 2000-07-14 Gerd Moellmann <gerd@gnu.org>
10757
10758 * alloca.c (malloc) [emacs]: Define as xmalloc.
10759
10760 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10761 use that instead of the mouse position. Add parameters DX and DY.
10762
10763 * dispextern.h (Fx_show_tip): Adjust number of parameters
10764 in prototype.
10765
10766 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10767 if HELP is a function, call it with OBJECT and POS as parameters
10768 to get the help to display.
10769 (gen_help_event, kbd_buffer_store_help_event): New functions.
10770 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10771 (read_char): Call show_help_echo with new parameters.
10772
10773 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
10774 Add prototypes.
10775
10776 * xterm.c (help_echo_object, help_echo_pos): New variables.
10777 (note_mode_line_highlight): Store additional information about the
10778 help-echo in help_echo_object and help_echo_pos. Check both
10779 `local-map' and `keymap' properties for changing the cursor
10780 (note_mouse_highlight): Store additional information about the
10781 help-echo in help_echo_object and help_echo_pos.
10782 (note_tool_bar_highlight): Set help_echo_object to nil and
10783 help_echo_pos to -1.
10784 (XTread_socket): Use gen_help_event instead of filling
10785 input_events manually.
10786 (syms_of_xterm): Staticpro help_echo_object.
10787
10788 * xmenu.c (menu_highlight_callback): Use
10789 kbd_buffer_store_help_event instead of setting up and input_event
10790 structure manually.
10791
10792 * xdisp.c (eval_form): GCPRO argument sexpr.
10793 (call_function): New function.
10794 (handle_single_display_prop): Use call_function and FUNCTIONP
10795 instead of checking whether if font_height is a symbol and
10796 using eval_form.
10797
10798 * eval.c (internal_condition_case_2): New function.
10799
10800 * lisp.h (FUNCTIONP): New macro.
10801 (internal_condition_case_2, call_function): Add prototypes.
10802
10803 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10804 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10805 Always set `arg' member of input_events.
10806 (construct_menu_click): Unused function removed.
10807
10808 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10809
10810 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10811 (construct_drag_n_drop, x_scroll_bar_handle_click)
10812 (w32_read_socket): Always set `arg' member of input_events.
10813
10814 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10815
10816 * lisp.h (eval_form): Add prototype.
10817
10818 * xdisp.c (eval_form): Make it externally visible.
10819
10820 2000-07-13 Gerd Moellmann <gerd@gnu.org>
10821
10822 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10823 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10824 consing. For prefix events, store the frame in the `arg' slot of
10825 the event, otherwise store the key there.
10826 (XTread_socket): Instead of consing, use the frame_or_window slot
10827 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
10828
10829 * xmenu.c (menu_highlight_callback): Store help string in the
10830 `arg' member of the input event; don't cons.
10831 (menubar_selection_callback): Use the `arg' slot of input events
10832 to queue additional information, instead of consing.
10833
10834 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10835
10836 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10837 TOOL_BAR_EVENTs.
10838 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10839
10840 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10841 input events to queue additional information, instead of consing.
10842
10843 * keyboard.c (kbd_buffer_gcpro): Renamed from
10844 kbd_buffer_frame_or_window. Now used for all Lisp objects
10845 referenced from the input queue.
10846 (kbd_buffer_store_event): Always use structure assignment for
10847 copying input events. Record all Lisp objects referenced from
10848 events in kbd_buffer_gcpro.
10849 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10850 differently from input events. Test for prefix menu_bar_events
10851 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10852 event in kbd_buffer_gcpro to nil.
10853 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10854 frame_or_window is equal to its arg member as prefix events.
10855 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10856 used by an input event to nil.
10857 (init_keyboard): Use two times the size of the input queue
10858 for kbd_buffer_gcpro.
10859 (syms_of_keyboard): Likewise.
10860
10861 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10862 Use USER_SIGNAL_EVENT.
10863
10864 * termhooks.h (struct input_event): Add member `arg'.
10865 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10866 (USER_SIGNAL_EVENT): Renamed from user_signal.
10867
10868 * xfaces.c (ASET): Remove definition.
10869
10870 * lisp.h (AREF, ASET, ASIZE): New macros.
10871
10872 * fontset.c (AREF, ASIZE): Remove definitions.
10873
10874 * fns.c (AREF): Remove definition.
10875
10876 * composite.c (AREF): Remove definition.
10877
10878 2000-07-12 Gerd Moellmann <gerd@gnu.org>
10879
10880 * dispnew.c (redraw_overlapped_rows): Add missing local.
10881 (scrolling_window): Remove debug code.
10882
10883 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10884 Before scrolling, turn off a mouse-highlight in the window
10885 being scrolled.
10886
10887 * xterm.c (x_update_window_end): Add parameter
10888 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10889 redisplay in XTframe_up_to_date.
10890 (x_clear_mouse_face): New function.
10891 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10892
10893 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10894 current glyph row.
10895 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10896 it when any row is written to that contains glyphs highlighted in
10897 mouse-face.
10898 (update_window): Call the window update end hook with new
10899 parameter MOUSE_FACE_OVERWRITTEN_P.
10900 (direct_output_for_insert): Give up if row contains mouse-face.
10901
10902 * dispextern.h (struct redisplay_interface): Add parameter
10903 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10904 (clear_mouse_face): New function pointer member.
10905
10906 2000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10907
10908 * syntax.c (back_comment): Use one switch rather than a few `if's.
10909 Obey open_paren_in_column_0_is_defun_start.
10910 When reverting to the `slow' method, try to nicely handle the case
10911 of nested comments by checking that the comment-starter we found
10912 does indeed match the comment-ender.
10913 (scan_sexps_forward, scan_sexps_forward):
10914 Ignore excessive opening parenthesis rather than throwing an error.
10915
10916 2000-07-11 Gerd Moellmann <gerd@gnu.org>
10917
10918 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10919 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10920
10921 * dispnew.c (direct_output_forward_char): Give up if currently
10922 displaying a message instead of the minibuffer contents.
10923
10924 * xterm.c (x_update_window_begin): No need to turn off the mouse
10925 highlight here.
10926 (show_mouse_face): Set the mouse_face_p flag of glyph rows
10927 depending on whether they contain glyphs highlighted in mouse-face.
10928
10929 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10930 compare the mouse_face_p flags of both rows.
10931
10932 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10933
10934 2000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10935
10936 * keyboard.c (show_help_echo): Accept additional parameter
10937 ok_to_overwrite_keystroke_echo.
10938 (read_char): Call show_help_echo with a zero
10939 ok_to_overwrite_keystroke_echo argument.
10940 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
10941 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10942 ok_to_overwrite_keystroke_echo argument.
10943 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10944 non-zero ok_to_overwrite_keystroke_echo argument.
10945
10946 2000-07-10 Gerd Moellmann <gerd@gnu.org>
10947
10948 * xdisp.c (try_window_id): If changes are all below what is
10949 displayed in the window, and point is in the window, we still
10950 might have to find point on the display.
10951
10952 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10953 glyphs instead of a single one.
10954 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10955 with new argument list.
10956 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10957
10958 * keymap.c (get_keymap_1): Add comment that this function can GC.
10959 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10960 comment that functions can GC.
10961 (Fset_keymap_parent): GCPRO arg KEYMAP.
10962
10963 2000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10964
10965 * msdos.c (XMenuActivate): After exiting the menu, restore the
10966 echo area message and erase it.
10967
10968 2000-07-10 Kenichi Handa <handa@etl.go.jp>
10969
10970 * fontset.c (Ffontset_info): Make the return value more compatible
10971 with that of Emacs 20.
10972
10973 2000-07-07 Gerd Moellmann <gerd@gnu.org>
10974
10975 * eval.c (Fsignal): Handle case that backtrace_list is null.
10976
10977 2000-07-07 Kenichi Handa <handa@etl.go.jp>
10978
10979 * ccl.c (Fccl_execute): Typo fixed.
10980
10981 2000-07-06 Gerd Moellmann <gerd@gnu.org>
10982
10983 * window.c (window_loop): Add missing gcpro1 local variable.
10984
10985 * window.c (Fwindow_list): Reverse list at the end.
10986 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10987 means allow windows on OWINDOW's frame, only.
10988 (window_loop): Simplified; use Fwindow_list.
10989
10990 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10991
10992 2000-07-05 Gerd Moellmann <gerd@gnu.org>
10993
10994 * xterm.c (XTread_socket): Increment handling_signal at the start,
10995 decrement it at the end.
10996
10997 * eval.c (handling_signal): New variable.
10998 (Fsignal): Abort if handling_signal is non-zero.
10999
11000 * lisp.h (handling_signal): External declaration.
11001
11002 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
11003
11004 2000-07-05 Ken Raeburn <raeburn@gnu.org>
11005
11006 Sound support for NetBSD through "Linux emulation" support:
11007 * config.in (HAVE_SOUNDCARD_H): Undef.
11008 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
11009 * Makefile.in (LIBSOUND): New variable.
11010 (LIBES): Include it.
11011 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
11012 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
11013 (vox_open): Use DEFAULT_SOUND_DEVICE.
11014 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
11015
11016 2000-07-05 Gerd Moellmann <gerd@gnu.org>
11017
11018 * print.c (print_error_message): If Vsignaling_function is set,
11019 show it in *Messages*.
11020
11021 * lisp.h (Vsignaling_function): External declaration.
11022
11023 * eval.c (Vsignaling_function): New variable.
11024 (Fsignal): Compute it.
11025 (syms_of_eval): Staticpro it.
11026
11027 2000-07-05 Dave Love <fx@gnu.org>
11028
11029 * syswait.h: Use the autoconf recommended approach. Old code
11030 #if'd out in case we need to revert.
11031
11032 * config.in (HAVE_SYS_WAIT_H): Added.
11033
11034 2000-07-05 Andrew Innes <andrewi@gnu.org>
11035
11036 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
11037 when non-NULL instead of __morecore, to take account of buffer
11038 memory. This also solves a problem with spurious memory warnings
11039 on Windows.
11040
11041 * ralloc.c: Make real_morecore non-static.
11042
11043 * eval.c (internal_condition_case): Comment out abort if
11044 interrupt_input_blocked is not zero.
11045
11046 * makefile.nt: Add support for `bootstrap' and related targets.
11047 Include minimal debug info in emacs.exe in release build.
11048 Remove all dependencies on lisp.h, and fixup some others.
11049
11050 * w32.c (init_environment): Install code from 20.7 for providing
11051 default values for environment variables, based on the
11052 executable's own location.
11053 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
11054 (sys_socket): Install socket inheritance bug fix from 20.7.
11055
11056 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
11057 here via blockinput.h).
11058
11059 2000-07-05 Stefan Monnier <monnier@cs.yale.edu>
11060
11061 * w32menu.c (w32_menu_display_help):
11062 * xmenu.c (menu_help_callback): Use show_help_echo.
11063
11064 * keyboard.h (show_help_echo): Declare.
11065
11066 * keyboard.c (show_help_echo): New function, extracted from read_char.
11067 Feval its `msg' argument if it's a cons cell.
11068 (read_char): Use it.
11069 (follow_key): Pass `autoload' to get_keyelt.
11070
11071 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
11072 (note_tool_bar_highlight, XTread_socket):
11073 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
11074 (dos_rawgetc):
11075 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
11076 (note_tool_bar_highlight, w32_read_socket):
11077 Do not gratuitously ignore non-string `help-echo' properties.
11078
11079 2000-07-05 Gerd Moellmann <gerd@gnu.org>
11080
11081 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
11082
11083 * window.c (delete_all_subwindows): Reset Vwindow_list.
11084
11085 * xterm.c (x_append_glyph, x_append_composite_glyph)
11086 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
11087 changes in struct glyph starting 1999-12-27. Some bit-fields of
11088 struct glyph were not set, which made glyphs unequal when compared
11089 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
11090 effects were the result. This also depended on the contents of
11091 memory returned by xmalloc. If flickering happens again, activate
11092 the code in clear_glyph_row that's in #if 0. If the flickering is
11093 gone with that, chances are that it is caused by something similar.
11094
11095 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
11096
11097 * dispextern.h: Add some comments.
11098
11099 * window.c (add_window_to_list): Add parameter LIST.
11100 (window_list): Order list so that, for each frame, windows are
11101 in canonical order, and so that frames appear in the list in
11102 the order given by Vframe_list.
11103 (next_window): Reverse the handling of NEXT_P.
11104
11105 2000-07-04 Gerd Moellmann <gerd@gnu.org>
11106
11107 * window.c (Vwindow_list): New variable.
11108 (make_window, delete_window): Set Vwindow_list to nil.
11109 (check_window_containing): New function.
11110 (window_from_coordinates): Rewritten.
11111 (add_window_to_list, window_list, candidate_window_p)
11112 (decode_next_window_args, next_window): New functions.
11113 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
11114 (Fwindow_list): New function.
11115 (Fother_window): Cleaned up.
11116 (foreach_window): Add a longer "variable argument list". Let
11117 callback function return 0 to indicate that cycling over windows
11118 should stop.
11119 (foreach_window_1): Likewise.
11120 (freeze_window_start): Return int.
11121 (init_window): New function.
11122 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
11123
11124 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
11125 input_event with bzero.
11126 (main): Call init_window.
11127
11128 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
11129 a menu filter.
11130
11131 2000-07-04 Kenichi Handa <handa@etl.go.jp>
11132
11133 * composite.h (make_composition_value_copy): Extern it.
11134
11135 * composite.c (make_composition_value_copy): New function.
11136
11137 * editfns.c (Fformat): While copying text properties, make each
11138 composition property value a copy.
11139
11140 * fns.c (concat): While copying text properties, make each
11141 composition property value a copy.
11142
11143 2000-07-03 Gerd Moellmann <gerd@gnu.org>
11144
11145 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
11146
11147 * fns.c (sweep_weak_table): Mark only objects that are not
11148 marked already.
11149
11150 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
11151 include those frames as candidates which have their focus
11152 redirected to the minibuffer frame.
11153
11154 2000-07-03 Stefan Monnier <monnier@cs.yale.edu>
11155
11156 * fns.c (Fputhash): Return `value' rather than nil.
11157
11158 2000-06-30 Gerd Moellmann <gerd@gnu.org>
11159
11160 * frame.c (next_frame): Don't check focus redirection in case
11161 MINIBUF is a window. Doing so excludes frames using MINIBUF
11162 unless their focus is redirected, which contradicts the
11163 specification of next-frame, and leads to infinite loops in
11164 certain situations when cycling through windows with next-window.
11165
11166 2000-06-30 Kenichi Handa <handa@etl.go.jp>
11167
11168 * coding.c (code_convert_region): Even if the length of text is
11169 zero, try to convert it if coding->type is coding_type_ccl.
11170 (decode_coding_string, encode_coding_string): Likewise.
11171
11172 2000-06-28 Gerd Moellmann <gerd@gnu.org>
11173
11174 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
11175 the display if windows_or_buffers_changed.
11176
11177 * dispnew.c (struct row_entry): New structure.
11178 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
11179 (row_table_size, old_lines, new_lines, old_lines_size)
11180 (new_lines_size, run_pool, runs_size, runs): New variables.
11181 (add_row_entry): New function.
11182 (scrolling_window): Use data structures allocated with xmalloc and
11183 held in global variables, instead of allocating them with alloca and
11184 holding them in local variables. Use a larger hash table whose
11185 size depends on glyph matrix sizes. Don't use bzero to clear the
11186 hash table; instead, clear used slots only.
11187
11188 * fns.c (next_almost_prime): Make it externally visible.
11189
11190 * lisp.h (next_almost_prime): Add prototype.
11191
11192 * s/isc4-0.h (sigunblock): Define.
11193
11194 * s/sco5.h (sigunblock): Define.
11195
11196 2000-06-27 Dave Love <fx@gnu.org>
11197
11198 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
11199 (moved to osf5-0.h).
11200 [!NOT_C_CODE]: Protect string.h stuff.
11201
11202 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
11203 (sys_siglist, NSIG): Definitions moved here from osf1.h.
11204
11205 2000-06-27 Gerd Moellmann <gerd@gnu.org>
11206
11207 * xdisp.c (resize_mini_window): Subtract the extra line spacing
11208 below the last line from the needed window height.
11209
11210 2000-06-26 Stefan Monnier <monnier@cs.yale.edu>
11211
11212 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
11213 (Fwidget_get): Use it.
11214 (syms_of_fns): Defsubr it.
11215
11216 2000-06-26 Gerd Moellmann <gerd@gnu.org>
11217
11218 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
11219 display info for XIM.
11220 (xim_open_dpy): Likewise.
11221 (xim_close_dpy): Don't free the display info's XIM.
11222
11223 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
11224
11225 * config.in (USE_XIM): New define.
11226
11227 * keymap.c (get_keyelt): For menu-items containing a `:filter
11228 FILTER', apply FILTER to the menu-item's definition to get the
11229 real definition to use.
11230
11231 * lisp.h (QCfilter): External declaration.
11232
11233 * xfns.c (Fimage_size): New function.
11234 (syms_of_xfns): Defsubr it.
11235
11236 2000-06-26 Andreas Schwab <schwab@suse.de>
11237
11238 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
11239 Fstring_as_unibyte.
11240
11241 2000-06-25 Dave Love <fx@gnu.org>
11242
11243 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
11244
11245 * Makefile.in (blockinput.h): Depend on atimer.h.
11246 (atimer.h): Depend on systime.h.
11247
11248 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
11249
11250 * atimer.h: Protect against multiple inclusion. Include systime.h.
11251
11252 * lisp.h (swap_in_global_binding): Declare.
11253
11254 2000-06-24 Ken Raeburn <raeburn@gnu.org>
11255
11256 * process.c (Fopen_network_stream): Turn off atimers for duration
11257 of call to connect. (Patch from Gerd.)
11258
11259 2000-06-23 Dave Love <fx@gnu.org>
11260
11261 * ralloc.c: Maybe include unistd.h
11262
11263 * emacs.c (setgrp): Undefine before defining.
11264 (malloc_warning, set_time_zone_rule, index): Prototype.
11265
11266 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
11267 HAVE_STRUCT_TIMEZONE.
11268
11269 * s/osf1.h: Move string.h hack here from alpha.h and make it
11270 conditional.
11271 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
11272 _XOPEN_SOURCE.
11273 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
11274 (SOCKLEN_TYPE): Don't define.
11275
11276 * m/alpha.h: Remove string.h hack.
11277
11278 * s/osf5-0.h: New file.
11279
11280 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
11281 include time.h, done by systime.h.
11282 [__FreeBSD__]: Remove redundant includes.
11283
11284 * callproc.c (setpgrp): Undefine before defining.
11285 (delete_temp_file): Return Qnil to avoid warning.
11286
11287 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
11288
11289 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
11290 HAVE_X_WINDOWS.
11291
11292 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
11293
11294 * composite.h (compose_text): Declare.
11295
11296 * xterm.c: Don't include sys/types.h unconditionally. Don't
11297 protect its inclusion with !USG (following xmenu.c).
11298
11299 2000-06-23 Gerd Moellmann <gerd@gnu.org>
11300
11301 * xfns.c (x_create_tip_frame): Initialize frame's colors like
11302 in x_create_frame.
11303
11304 2000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
11305
11306 * coding.c (decode_eol_post_ccl): Special handling for undecided
11307 and inconsistent EOL types.
11308
11309 2000-06-22 Gerd Moellmann <gerd@gnu.org>
11310
11311 * xrdb.c (x_load_resources): Add default resource for scroll bar's
11312 trough color and main window's background color.
11313
11314 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
11315
11316 * xterm.h (Xt_app_con): External declaration.
11317
11318 * widget.c (EmacsFrameRealize): Fix typo.
11319
11320 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
11321
11322 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
11323 (handle_invisible_prop): Record the start of invisible text in
11324 it->add_overlay_start.
11325 (struct overlay_entry): Add member `overlay'.
11326 (handle_overlay_change): Simplify.
11327 (next_overlay_string): After having processed overlay strings at the
11328 end of the buffer, record that fact in
11329 it->overlay_strings_at_end_processed_p.
11330 (compare_overlay_entries): If before- and after-strings come
11331 from the same overlay, let before-strings come first.
11332 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
11333 (load_overlay_strings): Take it->add_overlay_start into account
11334 when adding overlay strings.
11335
11336 * dispextern.h (struct it): Add member add_overlay_start.
11337
11338 2000-06-22 Dave Love <fx@gnu.org>
11339
11340 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
11341
11342 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
11343
11344 2000-06-22 Kenichi Handa <handa@etl.go.jp>
11345
11346 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
11347 is greater than 0.
11348
11349 2000-06-21 Dave Love <fx@gnu.org>
11350
11351 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
11352
11353 2000-06-21 Stefan Monnier <monnier@cs.yale.edu>
11354
11355 * syntax.c (back_comment): Simplify string-parity counting (with
11356 the added benefit of handling multiple string-styles as long as
11357 they are not intertwined).
11358 Jump to the slow code as soon as a comment starter is found in
11359 a "string_lossage" position. Fixes the case: " /* " /* " */.
11360
11361 2000-06-21 Dave Love <fx@gnu.org>
11362
11363 * Makefile.in: Use GETLOADAVG_LIBS.
11364
11365 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
11366 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
11367
11368 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11369
11370 * syntax.c (describe_syntax): Recognize the `n'estable bit.
11371 (Fforward_comment, scan_lists):
11372 Check the comstyle of single-char comment-starters.
11373 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
11374 we're just at the beginning of the comment (f.ex with (*) ... (*)).
11375 Check the comstyle of single-char comment-starters.
11376 Clarify control-flow around the Scomment case.
11377
11378 2000-06-20 Dave Love <fx@gnu.org>
11379
11380 * fns.c (make_hash_table, maybe_resize_hash_table):
11381 Cast arg of next_almost_prime.
11382
11383 * tparam.c [emacs]: Include lisp.h.
11384
11385 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
11386 and unistd.h.
11387
11388 2000-06-20 Gerd Moellmann <gerd@gnu.org>
11389
11390 * keyboard.c (adjust_point_for_property): Check if display
11391 property should be treated as intangible by looking at its value.
11392
11393 * xdisp.c (single_display_prop_intangible_p)
11394 (display_prop_intangible_p): New functions.
11395
11396 * dispextern.h (display_prop_intangible_p): Add prototype.
11397
11398 * xdisp.c (dump_glyph_row): Show type of glyph->object.
11399
11400 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
11401 argument to sigprocmask.
11402
11403 * s/sco5.h (sigblock): Redefined to pass a pointer as second
11404 argument to sigprocmask.
11405
11406 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
11407 sigprocmask_set, and pass a pointer to it to sigprocmask.
11408
11409 * sysdep.c (sigprocmask_set): New variable.
11410
11411 * fileio.c (make_temp_name): Don't use `%s' in string passed to
11412 report_file_error.
11413
11414 2000-06-20 Sam Steingold <sds@gnu.org>
11415
11416 * xrdb.c: Don't declare xmalloc, xrealloc.
11417
11418 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
11419
11420 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
11421 (re_comp): Cast gettext return value to avoid complaints when
11422 !HAVE_LIBINTL.
11423
11424 2000-06-20 Dave Love <fx@gnu.org>
11425
11426 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
11427
11428 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
11429
11430 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
11431
11432 * m/alpha.h: Don't declare xmalloc, xrealloc.
11433
11434 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
11435
11436 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
11437
11438 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
11439
11440 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
11441 HAVE_GETWD.
11442
11443 * keyboard.h (poll_for_input_1): Declare.
11444
11445 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
11446
11447 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
11448
11449 * doprnt.c: Don't declare xmalloc, xrealloc.
11450
11451 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
11452 (getenv, ctime, getwd): Removed.
11453 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
11454
11455 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
11456 x_set_tool_bar_lines.
11457
11458 * config.in: Add HAVE_GETWD. Move some definitions above
11459 machine/system includes.
11460
11461 2000-06-20 Kenichi Handa <handa@etl.go.jp>
11462
11463 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
11464
11465 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
11466 contain information about ENCODING.
11467
11468 * fontset.c (FONTSET_ASCII): Use the first element of char table
11469 for an ASCII font, not defalt slot.
11470 (fontset_ref_via_base): If FONTSET doesn't contain information for
11471 C, try the default fontset.
11472 (make_fontset): Don't copy the default fontset.
11473 (fontset_font_pattern): Likewise.
11474 (accumulate_font_info): If ELT is nil, use the corresponding
11475 element in the default fontset.
11476
11477 2000-06-19 Dave Love <fx@gnu.org>
11478
11479 * syntax.c (Fparse_partial_sexp): Doc fix.
11480
11481 * regex.h: Test PROTOTYPES as well as __STDC__.
11482
11483 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
11484 errno, strerror. Put text after #endif in comment.
11485
11486 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
11487
11488 * xterm.c (x_frame_of_widget): Likewise.
11489
11490 2000-06-19 Gerd Moellmann <gerd@gnu.org>
11491
11492 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
11493 to Vfundamental_mode_abbrev_table.
11494
11495 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
11496 bogus objects are marked. This slows down GC by ~80 percent, but
11497 it might be worth trying when debugging GC-related problems.
11498 This feature requires conservative stack marking to be enabled.
11499
11500 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
11501 returns XLookupChars, reset `modifiers' to zero.
11502
11503 2000-06-19 Dave Love <fx@gnu.org>
11504
11505 * mktime.c: Unprotoized.
11506
11507 2000-06-19 Richard Stallman <rms@gnu.org>
11508
11509 * data.c (set_internal): If variable is frame-local,
11510 store the new value immediately into the frame parameter alist.
11511
11512 2000-06-19 Ken Raeburn <raeburn@gnu.org>
11513
11514 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
11515 in the custom handler pointer.
11516
11517 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
11518 value, or checks for CHAR_META can fail when Lisp_Object is a
11519 union type.
11520 * keymap.c (get_keyelt): Likewise.
11521
11522 2000-06-19 Kenichi Handa <handa@etl.go.jp>
11523
11524 * ccl.h (struct ccl_program): New member eol_type.
11525 (struct ccl_spec): New member cr_carryover.
11526
11527 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
11528 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
11529
11530 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
11531 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
11532 (decode_eol_post_ccl): New function.
11533 (decode_coding): Don't detect EOL format here for CCL based coding
11534 systems.
11535 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
11536 decode_eol_post_ccl after running the CCL program.
11537 (code_convert_region): Don't detect EOL format here for CCL based
11538 coding systems.
11539 (decode_coding_string): Likewise.
11540
11541 2000-06-18 Ken Raeburn <raeburn@gnu.org>
11542
11543 * charset.c (update_charset_table): Use XINT on "iso_final_char"
11544 when treating it as an integer.
11545
11546 * coding.h (encode_coding_string): Declare.
11547
11548 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
11549 it as an integer.
11550
11551 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
11552 "xkeymap" to avoid shadowing the "enum map_type" value that needs
11553 to be passed to get_local_map.
11554
11555 * sound.c (Fplay_sound): Don't call make_number on
11556 Frun_hook_with_args count argument.
11557
11558 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
11559 for lisp objects in X event structure data field, when lisp
11560 objects are represented with unions.
11561 (x_scroll_bar_to_input_event): Ditto.
11562
11563 2000-06-16 Ken Raeburn <raeburn@gnu.org>
11564
11565 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
11566 termination of string. Fix sense of test whether
11567 Vline_number_display_limit is an integer.
11568
11569 2000-06-16 Gerd Moellmann <gerd@gnu.org>
11570
11571 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
11572 only if HAVE_X_WINDOWS.
11573
11574 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
11575 of titles.
11576
11577 * dispnew.c (update_frame_1): Handle case that cursor vpos is
11578 out of bounds.
11579
11580 2000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
11581
11582 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
11583 of its headers.
11584
11585 2000-06-15 Kenichi Handa <handa@etl.go.jp>
11586
11587 * coding.c (decode_coding_emacs_mule): Always set src_base at the
11588 start of the while loop.
11589
11590 2000-06-15 Gerd Moellmann <gerd@gnu.org>
11591
11592 * atimer.c (alarm_signal_handler): Add forward declaration.
11593
11594 * data.c (set_internal): Remove debug code.
11595
11596 2000-06-14 Gerd Moellmann <gerd@gnu.org>
11597
11598 * Makefile.in (bootstrap-temacs): Add `-I../src'.
11599
11600 * unexec.c (toplevel) [COFF]: Include coff.h.
11601
11602 * s/lynxos.h: New file.
11603
11604 * keymap.c (Fsingle_key_description): Enclose function key and
11605 event symbol names in angle brackets.
11606
11607 * xdisp.c (setup_echo_area_for_printing): Call
11608 message_log_maybe_newline if message_buf_print is not set.
11609
11610 * print.c (printchar, strout): Don't check message_buf_print
11611 before calling setup_echo_area_for_printing because that
11612 function does something useful even when message_buf_print is
11613 already set.
11614
11615 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
11616 New variables.
11617 (ensure_echo_area_buffers): Initialize echo buffer's
11618 truncate lines setting to nil.
11619 (with_echo_area_buffer): Don't set the echo buffer's truncate
11620 lines setting here.
11621 (set_message_1): Set it here instead, based on the value
11622 of message_truncate_lines.
11623 (resize_mini_window): Handle case that lines are truncated.
11624 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
11625 DEFVAR_BOOL message-truncate-lines.
11626
11627 * keyboard.c (read_char): Bind message-truncate-lines to t
11628 while displaying a help-echo.
11629
11630 * lisp.h (Qmessage_truncate_lines): External declaration.
11631
11632 2000-06-13 Gerd Moellmann <gerd@gnu.org>
11633
11634 * xdisp.c (Vline_number_display_limit): Renamed from
11635 line_number_display_limit.
11636 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
11637 Extend documentation string. Initialize
11638 Vline_number_display_limit to nil meaning no limit.
11639 (decode_mode_spec): Use Vline_number_display_limit with its new
11640 meaning.
11641
11642 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
11643
11644 2000-06-13 Richard Stallman <rms@gnu.org>
11645
11646 * frame.c (Fmodify_frame_parameters): Doc fix.
11647
11648 * xfns.c (x_set_frame_parameters): Comment fix.
11649
11650 * frame.c (store_frame_param): Call swap_in_global_binding if the
11651 variable's current binding was chosen based on this frame.
11652
11653 * data.c (swap_in_global_binding): New function.
11654
11655 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11656
11657 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
11658 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
11659
11660 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
11661
11662 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
11663
11664 2000-06-12 Jason Rumney <jasonr@gnu.org>
11665
11666 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
11667
11668 * w32.h (EMACS_W32_H): Renamed from _NT_H_
11669
11670 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
11671
11672 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
11673
11674 2000-06-12 Gerd Moellmann <gerd@gnu.org>
11675
11676 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
11677 (syms_of_xfaces): Defsubr Sdump_colors.
11678 (x_free_colors): Don't treat b&w specially on default visual.
11679 (x_free_dpy_colors): New function.
11680 (free_face_colors): Don't check visual class; it's done
11681 in x_free_colors.
11682
11683 * xterm.c (x_frame_of_widget): New function.
11684 (x_alloc_nearest_color_for_widget): Use it.
11685 (x_copy_dpy_color): New function.
11686 (x_destroy_window): Free various colors.
11687
11688 2000-06-12 Kenichi Handa <handa@etl.go.jp>
11689
11690 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
11691
11692 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
11693
11694 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
11695
11696 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
11697
11698 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
11699
11700 2000-06-11 Dave Love <fx@gnu.org>
11701
11702 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
11703
11704 2000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
11705
11706 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
11707
11708 2000-06-11 Gerd Moellmann <gerd@gnu.org>
11709
11710 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
11711 to `XEvent *'.
11712
11713 2000-06-10 Kenichi Handa <handa@etl.go.jp>
11714
11715 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
11716 (regex_compile): Fix the code for handling the case of single byte
11717 char and multibyte char being mixed in a range within [...].
11718
11719 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
11720 and dst_multibyte members of coding.
11721
11722 * charset.c (update_charset_table): Update the table
11723 bytes_by_char_head.
11724 (init_charset_once): Initialize elements of bytes_by_char_head to
11725 1 except for leading codes for private charases.
11726
11727 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
11728 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
11729
11730 2000-06-09 Ken Raeburn <raeburn@gnu.org>
11731
11732 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
11733 access the data it doesn't point to.
11734
11735 2000-06-08 Gerd Moellmann <gerd@gnu.org>
11736
11737 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
11738 will be translated to a switch-frame event when reading the
11739 event queue. This is necessary because Emacs otherwise won't
11740 perform a switch-frame to a new frame until some other event, for
11741 example a keystroke event, forces it to do so. This has various
11742 effects, one visible being that the cursor of a frame created with
11743 C-x 5 2 or switched to with a window manager key binding like
11744 A-TAB stays hollow because selected_window isn't on the newly
11745 focused frame until the switch-frame is performed.
11746
11747 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
11748 generating a switch-frame event if necessary.
11749
11750 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11751
11752 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11753 it's an integer.
11754
11755 2000-06-08 Kenichi Handa <handa@etl.go.jp>
11756
11757 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
11758
11759 2000-06-07 Gerd Moellmann <gerd@gnu.org>
11760
11761 * window.c (displayed_window_lines): Take empty lines at
11762 the bottom of a window into account.
11763
11764 * window.c (displayed_window_lines): New function.
11765 (Fmove_to_window_line): Use displayed_window_lines to determine
11766 the number of lines to move, instead of using the window's height.
11767
11768 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11769 to stop reading, even if the form read sets point to a different
11770 value when evaluated.
11771
11772 * xdisp.c (display_line): Fix code deciding in which line to
11773 put the cursor.
11774
11775 2000-06-07 Kenichi Handa <handa@etl.go.jp>
11776
11777 * fileio.c (e_write): Free composition data if stored in
11778 coding->cmp_data.
11779
11780 2000-06-06 Gerd Moellmann <gerd@gnu.org>
11781
11782 * xdisp.c (display_line): Set row's and iterator's
11783 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11784 Set cursor even if row ends in the middle of a character.
11785 (dump_glyph_row): Print values of new flags.
11786 (redisplay_window) <cursor movement in unchanged window>: When
11787 point has been moved forward, and PT is at the end of the cursor
11788 row, don't place the cursor in the next row if the cursor row ends
11789 in the middle of a character or at ZV.
11790
11791 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11792 (struct glyph_row): Add starts_in_middle_of_char_p and
11793 ends_in_middle_of_char_p.
11794 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11795 ends_in_middle_of_char_p flag.
11796 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11797
11798 * term.c (append_glyph): Revert change of 2000-06-06.
11799
11800 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11801 padding glyph not fitting on line as whole character not
11802 fitting on line.
11803
11804 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11805 this isn't true for images with `:ascent 100'.
11806
11807 2000-06-06 Kenichi Handa <handa@etl.go.jp>
11808
11809 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11810 as modified if it is originally unmodified.
11811
11812 * term.c (encode_terminal_code): Change the way to check if
11813 terminal coding does any conversion.
11814 (append_glyph): Set glyph->pixel_width correctly.
11815
11816 * xdisp.c (display_line): While checking line continuation, pay
11817 attention to a padding glyph.
11818
11819 2000-06-05 Gerd Moellmann <gerd@gnu.org>
11820
11821 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11822
11823 2000-06-05 Dave Love <fx@gnu.org>
11824
11825 * xdisp.c: Include fontset.h.
11826
11827 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11828
11829 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11830
11831 * dispnew.c: Conditionally include term.h.
11832
11833 * coding.h: Declare code_convert_string_norecord.
11834
11835 * frame.h (struct frame): Use volatile unconditionally.
11836
11837 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11838
11839 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11840
11841 * systime.h: Protect against multiple inclusion.
11842 (timezone) [USG5_4]: Define as time_t.
11843
11844 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11845 (Foptimize_char_table, make_temp_name): Declare.
11846
11847 * Makefile.in (xdisp.o): Depend on fontset.h.
11848
11849 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11850
11851 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11852 (Foptimize_char_table, make_temp_name): Declare.
11853
11854 * s/irix4-0.h:
11855 * s/irix5-0.h:
11856 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11857
11858 2000-06-02 Dave Love <fx@gnu.org>
11859
11860 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11861
11862 2000-06-02 Gerd Moellmann <gerd@gnu.org>
11863
11864 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
11865 result face, set flags in that face indicating that colors may not
11866 be freed.
11867
11868 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11869 glyph, use the ASCII NUL character to determine the face.
11870
11871 2000-06-02 Dave Love <fx@gnu.org>
11872
11873 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11874 (VFORK_RETURN_TYPE): Remove.
11875
11876 * config.in: Add NO_MATHERR.
11877
11878 2000-06-01 Dave Love <fx@gnu.org>
11879
11880 * cmds.c (internal_self_insert): Don't check
11881 Vbefore_change_function, Vafter_change_function.
11882
11883 * insdel.c (signal_before_change, signal_after_change): Likewise.
11884
11885 * buffer.c (Vbefore_change_function, Vafter_change_function):
11886 Variables and their initializations deleted.
11887
11888 * callint.c (Fcall_interactively): Doc fix.
11889
11890 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11891
11892 2000-05-31 Dave Love <fx@gnu.org>
11893
11894 * textprop.c: Revert last change -- duplicated.
11895
11896 2000-05-31 Gerd Moellmann <gerd@gnu.org>
11897
11898 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11899 in #if 0.
11900
11901 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11902
11903 2000-05-31 Jason Rumney <jasonr@gnu.org>
11904
11905 * search.c (Fre_search_forward, Fre_search_backward)
11906 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11907
11908 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11909
11910 2000-05-30 Jason Rumney <jasonr@gnu.org>
11911
11912 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11913 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11914
11915 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
11916
11917 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11918 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11919 expand a nil default_filename.
11920
11921 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11922 pointer to glyph_to_pixel_coords, not a frame.
11923
11924 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11925 coding.h to dependencies.
11926
11927 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11928
11929 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11930 window pointer to be consistent with w32term.c and xterm.c.
11931
11932 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11933 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11934 (Qline_spacing, Qcenter): New variables.
11935 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11936 (x_set_line_spacing): New function.
11937 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
11938 (x_specified_cursor_type): New function.
11939 (x_set_cursor_type): Use it.
11940 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11941 and icon strings.
11942 (validate_x_resource_name, x_get_resource_string): Measure lengths
11943 of external strings in bytes.
11944 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11945 GetTextExtentPoint32 with NULL title.
11946 (Fx_create_frame): Initialize Qline_spacing.
11947 (w32_load_system_font): Initialize font->double_byte_p.
11948 (x_to_w32_charset): Use Vw32_charset_info_alist.
11949 (Image, busy cursor, tooltip functions): Merged changes from
11950 xfns.c. Not yet functional on Windows.
11951
11952 * w32gui.h (W32FontStruct): Add double_byte_p member.
11953
11954 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11955 (emacs_button_translation): Use it.
11956 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11957 in `mask' to be set.
11958
11959 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11960 menu strings.
11961
11962 * w32term.c: Format and doc changes to bring closer to xterm.c.
11963 (w32_char_font_type): New enum.
11964 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11965 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11966 (w32_encode_char): New function.
11967 (x_encode_char): Removed.
11968 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11969 x_encode_char and w32_font_is_double_byte.
11970 (x_produce_image_glyph): Use image_ascent.
11971 (x_produce_glyphs): Use new version of w32_per_char_metric and
11972 handle NULL return value. Allow extra line spacing.
11973 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11974 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11975 w32_font_type member of glyph instead.
11976 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11977 (fast_find_position): Make sure not to consider rows not visible
11978 in the window.
11979 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11980 w32_menu_display_help with input blocked, as it can abort.
11981 (x_display_and_set_cursor): Choose cursor depending
11982 on buffer-local value of cursor_type.
11983 (x_draw_bar_cursor): Add parameter WIDTH.
11984
11985 * w32term.h (CP_DEFAULT): Define.
11986 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11987
11988 2000-05-30 Gerd Moellmann <gerd@gnu.org>
11989
11990 * search.c (Fre_search_forward, Fre_search_backward)
11991 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11992
11993 2000-05-30 Kenichi Handa <handa@etl.go.jp>
11994
11995 * coding.c (detect_coding_iso2022): Fix code for checking
11996 CODING_CATEGORY_MASK_ISO_8_2.
11997
11998 2000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11999
12000 * regex.c (PREFETCH_NOLIMIT): New function.
12001 (re_match_2_internal): Use it and adjust the end_match_2 logic.
12002
12003 2000-05-29 Gerd Moellmann <gerd@gnu.org>
12004
12005 * syntax.c (find_defun_start): Move test for
12006 open_paren_in_column_0_is_defun_start outside of the loop.
12007
12008 * xdisp.c (redisplay_window): Really switch buffers when
12009 displaying mode lines, and temporarily set selected_frame to the
12010 frame of the window that's redisplayed.
12011
12012 * xfaces.c (free_realized_faces): Block/unblock input.
12013 (free_realized_multibyte_face): Ditto.
12014
12015 2000-05-29 Dave Love <fx@gnu.org>
12016
12017 * textprop.c (Qkeymap): New variable.
12018 (syms_of_textprop): Intern it.
12019
12020 * keymap.c: Include intervals.h.
12021 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
12022
12023 * Makefile.in (keymap.o): Depend on intervals.h.
12024
12025 * keyboard.c (menu_bar_items, tool_bar_items)
12026 (Fexecute_extended_command): Deal with `keymap' property.
12027 (read_key_sequence): Track map from `keymap' property as well as
12028 `local_map'.
12029
12030 * intervals.c (get_local_map): Extra arg to allow looking for
12031 `keymap' too.
12032
12033 * intervals.h (map_property): New enum.
12034 (get_local_map): Extra arg using it.
12035 (Qkeymap): Declare.
12036
12037 * lisp.h (get_local_map): Don't declare here.
12038
12039 2000-05-29 Kenichi Handa <handa@etl.go.jp>
12040
12041 * Makefile.in (callproc.o): Depend on composite.h.
12042
12043 * callproc.c: Include composite.h.
12044 (Fcall_process): Handle composition correctly.
12045
12046 * coding.h (coding_allocate_composition_data): Extern it.
12047 (coding_restore_composition): Likewise.
12048
12049 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
12050 yet allocated, finish decoding with result
12051 CODING_FINISH_INSUFFICIENT_CMP.
12052 (coding_allocate_composition_data): Make it non-static.
12053 (coding_restore_composition): Likewise.
12054
12055 2000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
12056
12057 * charset.c (syms_of_charset): Revert last change.
12058
12059 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12060
12061 * term.c (produce_glyphs): Treat characters from the eight-bit-*
12062 charsets as unibyte, with 1-column screen width. Sent by Kenichi
12063 Handa.
12064
12065 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
12066
12067 * charset.c (syms_of_charset): Set width of character sets
12068 eight-bit-control and eight-bit-graphic to 1 column.
12069
12070 2000-05-26 Gerd Moellmann <gerd@gnu.org>
12071
12072 * config.in (HAVE_SPEED_T): New define.
12073
12074 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
12075 `extern speed_t'.
12076
12077 2000-05-26 Dave Love <fx@gnu.org>
12078
12079 * coding.c (shrink_decoding_region): Initialize eol_conversion.
12080
12081 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
12082 (Fsubr_arity): New function.
12083 (syms_of_data): Install them.
12084
12085 2000-05-26 Kenichi Handa <handa@etl.go.jp>
12086
12087 * charset.c (init_charset_once): Set the table bytes_by_char_head
12088 correctly.
12089
12090 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
12091 the default fontset to what Emacs uses by default.
12092 (check_registry_encoding): This function deleted.
12093 (Fset_fontset_font): Remove the adhoc condition for the default
12094 fontset. Allow cons in FONTNAME.
12095
12096 * fns.c (map_char_table): Ignore char-table entries for
12097 charsets eight-bit-control and eight-bit-graphic.
12098
12099 2000-05-25 Ken Raeburn <raeburn@gnu.org>
12100
12101 * emacs.c (main): Initialize keyboard syms before initializing
12102 window code, so face names are available.
12103
12104 2000-05-25 Stefan Monnier <monnier@cs.yale.edu>
12105
12106 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
12107 of an anchor at the beginning of a shy-group.
12108
12109 2000-05-25 Gerd Moellmann <gerd@gnu.org>
12110
12111 * xdisp.c (handle_invisible_prop): Don't try to skip over
12112 invisible text if end of text is already reached.
12113
12114 2000-05-25 Dave Love <fx@gnu.org>
12115
12116 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
12117
12118 * coding.c (encode_eol): Add null statement after label.
12119
12120 2000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
12121
12122 * w16select.c (Fw16_set_clipboard_data): Fix the change from
12123 2000-05-20.
12124
12125 2000-05-25 Kenichi Handa <handa@etl.go.jp>
12126
12127 * ccl.c (ccl_driver): Fix previous change.
12128
12129 2000-05-25 Kenichi Handa <handa@etl.go.jp>
12130
12131 * coding.c (run_pre_post_conversion_on_str): Set point to the
12132 beginning of buffer before calling coding->post_read_conversion.
12133 (decode_coding_string): Give correct args to
12134 run_pre_post_conversion_on_str.
12135 (encode_coding_string): Likewise.
12136
12137 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
12138 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
12139 eight-bit-graphic correctly.
12140
12141 2000-05-24 Kenichi HANDA <handa@etl.go.jp>
12142
12143 * fileio.c (Finsert_file_contents): Even if a file is not found,
12144 execute codes for setting up coding system. Call
12145 after-insert-file-functions unconditionally.
12146
12147 2000-05-24 Gerd Moellmann <gerd@gnu.org>
12148
12149 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
12150 BSD_PGRPS are not defined.
12151
12152 2000-05-24 Kenichi Handa <handa@etl.go.jp>
12153
12154 * charset.c (update_charset_table): Accept nil in LONG_NAME and
12155 DESCRIPTION.
12156 (syms_of_charset): Avoid building same strings.
12157
12158 2000-05-23 Gerd Moellmann <gerd@gnu.org>
12159
12160 * lread.c (Fload): Add a comment about the meaning of
12161 Vuser_init_file being t.
12162
12163 * puresize.h (BASE_PURESIZE): Increase to 675000.
12164
12165 * s/gnu-linux.h (setpgrp): Don't define it here because this
12166 prevents compilation on GNU/Linux systems with glib 2.2.
12167
12168 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
12169 as setpgid.
12170
12171 2000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
12172
12173 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
12174 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
12175 version.
12176 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
12177
12178 2000-05-23 Kenichi Handa <handa@etl.go.jp>
12179
12180 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12181
12182 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
12183
12184 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
12185
12186 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
12187
12188 2000-05-22 Kenichi Handa <handa@etl.go.jp>
12189
12190 * keyboard.c (read_char): Allow character codes 128..255 to be
12191 handled by input-method-function.
12192
12193 * insdel.c (adjust_markers_for_replace): Fix previous change.
12194 (adjust_after_replace): If PREV_TEXT is nil, call
12195 adjust_markers_for_insert, not adjust_markers_for_replace.
12196
12197 2000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
12198
12199 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
12200 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
12201 [HAVE_GRANDPT]: Define.
12202 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
12203
12204 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
12205 like SYSV_PTYS.
12206
12207 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
12208
12209 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
12210
12211 2000-05-20 Kenichi Handa <handa@etl.go.jp>
12212
12213 The following changes are to handle 8-bit characters in a
12214 multibyte buffer/string without facing with byte combining
12215 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
12216 eight-bit-graphic (for 0xA0..0xFF) are introduced.
12217
12218 * Makefile.in (fns.o): Depend on charset.h.
12219
12220 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
12221 convert it to unibyte.
12222 (make_string): Use parse_str_as_multibyte, not chars_in_text.
12223
12224 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
12225 apparent char boundary.
12226 (Fset_buffer_multibyte): Convert 8-bit characters in the range
12227 0x80..0x9F to/from multibyte form.
12228
12229 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
12230 to unibyte.
12231
12232 * callproc.c (Fcall_process): Always encode an argument string if
12233 it is multibyte. Setup src_multibyte and dst_multibyte members of
12234 process_coding properly.
12235
12236 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
12237 SPLIT_NON_ASCII_CHAR.
12238
12239 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
12240 as is.
12241 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
12242
12243 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
12244 (SPLIT_CHARACTER_SEQ): This macro deleted.
12245 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
12246 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
12247 and eight-bit-graphic.
12248 (char_to_string): Likewise. Signal an error for too large
12249 character code.
12250 (char_printable_p): Return 0 for 8-bit characters.
12251 (update_charset_table): Update iso_charset_table only when a final
12252 character is non-negative.
12253 (find_charset_in_text): Renamed from find_charset_in_str.
12254 Arguments and return value changed. Callers changed.
12255 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
12256 be -1 if CHARSET is used only internally.
12257 (Fmake_char_internal): Handle new charsets; eight-bit-control and
12258 eight-bit-graphic.
12259 (Fcharset_after): Simplified.
12260 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
12261 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
12262 (multibyte_chars_in_text): Simplified by assuming there's no
12263 invalid multibyte sequence.
12264 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12265 (str_as_unibyte): New functions.
12266 (Fstring): Simpified by assuming that byte combining never happens.
12267 (init_charset_once): Initialization for
12268 LEADING_CODE_8_BIT_CONTROL.
12269 (syms_of_charset): Intern and staticpro Qeight_bit_control and
12270 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
12271 eight-bit-control and eight-bit-graphic.
12272
12273 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
12274 (CHARSET_8_BIT_GRAPHIC): New macros.
12275 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
12276 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
12277 (CHARSET_REVERSE_CHARSET): Likewise.
12278 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
12279 eight-bit-graphic.
12280 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
12281 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
12282 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
12283 encounter an invalid multibyte sequence.
12284 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
12285 sequence is always valid.
12286 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
12287 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
12288 (CHAR_STRING): For 8-bit characters, call char_to_string.
12289 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
12290 multibyte sequence is always valid.
12291 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
12292 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
12293 (str_as_unibyte): Extern them.
12294 (BCOPY_SHORT): Fix a bug.
12295 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
12296 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
12297 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
12298 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
12299
12300 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
12301 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
12302 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
12303 (EMIT_BYTES): New macros.
12304 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
12305 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
12306 macros deleted.
12307 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
12308 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
12309 check the validity of multibyte sequence.
12310 (decode_coding_emacs_mule): New function.
12311 (encode_coding_emacs_mule): New macro.
12312 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
12313 the source.
12314 (DECODE_ISO_CHARACTER): Just return a character code.
12315 (DECODE_COMPOSITION_START): Set coding->result instead of result.
12316 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
12317 EMIT_CHAR to produced decoded characters. Exit the loop only by
12318 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
12319 block here.
12320 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
12321 only position codes for an invalid character.
12322 (encode_designation_at_bol): Return new destination pointer. 5th
12323 arg DSTP is changed to DST.
12324 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
12325 from the source by ONE_MORE_CHAR. Don't handle the case of last
12326 block here.
12327 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
12328 macros deleted.
12329 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
12330 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
12331 TWO_MORE_BYTES to fetch a byte from the source.
12332 (encode_eol): Pay attention to coding->src_multibyte.
12333 (detect_coding, detect_eol): Preserve members src_multibyte and
12334 dst_multibyte.
12335 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
12336 (encoding_buffer_size): Set magnification to 3 for all coding
12337 systems that require encoding.
12338 (ccl_coding_driver): For decoding, be sure that the result is
12339 valid multibyte sequence.
12340 (decode_coding): Initialize coding->errors and coding->result.
12341 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
12342 and raw-text, always call decode_eol. Handle the case of last
12343 block here. If not coding->dst_multibyte, convert the resulting
12344 sequence to unibyte.
12345 (encode_coding): Initialize coding->errors and coding->result.
12346 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
12347 and raw-text, always call encode_eol. Handle the case of last
12348 block here.
12349 (shrink_decoding_region, shrink_encoding_region): Detect cases
12350 that we can't skip data more rigidly.
12351 (code_convert_region): Setup src_multibyte and dst_multibyte
12352 members of coding. For decoding, if the buffer is multibyte,
12353 convert the source sequence to unibyte in advance. For encoding,
12354 if the buffer is multibyte, convert the resulting sequence to
12355 multibyte afterward.
12356 (run_pre_post_conversion_on_str): New function.
12357 (code_convert_string): Deleted and divided into the following two.
12358 (decode_coding_string, encode_coding_string): New functions.
12359 (code_convert_string1, code_convert_string_norecord): Call one of
12360 above.
12361 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
12362 MAKE_NON_ASCII_CHAR.
12363 (Fset_terminal_coding_system_internal)
12364 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
12365 and dst_multibyte members.
12366 (init_coding_once): Initialize iso_code_class with new enum
12367 ISO_control_0 and ISO_control_1.
12368
12369 * coding.h (enum iso_code_class_type): Member ISO_control_code is
12370 devided into ISO_control_0 and ISO_control_1.
12371 (struct coding_system): New members src_multibyte, dst_multibyte,
12372 errors, and result. Delete member fake_multibyte.
12373 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
12374 nonzero.
12375 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
12376 nonzero.
12377
12378 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12379 (Faset): Likewise.
12380
12381 * editfns.c (Fformat): Be sure to convert 8-bit characters to
12382 multibyte form.
12383 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
12384 combining occurs.
12385 (Ftranspose_region): Delete codes for handling byte combining.
12386
12387 * fileio.c (Finsert_file_contents): Setup src_multibyte and
12388 dst_multibyte members of coding. On handling REPLACE on unibyte
12389 buffer, convert the result of decode_coding to unibyte. On
12390 inserting into a mutibyte buffer, always call code_convert_region.
12391 (e_write): Setup coding->src_multibyte according to the
12392 multibyteness of the source (buffer or string).
12393
12394 * fns.c (concat): Handle 8-bit characters correctly.
12395 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
12396 unibyte in the result.
12397 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
12398 valid multibyte form in the result.
12399 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12400 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
12401 return -1, signal an error.
12402 (base64_encode_1): New arg MULTIBYTE. Get each character by
12403 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
12404 character is found, return -1.
12405 (Fbase64_decode_region): Delete codes for handling byte-combining.
12406 Treat each decoded byte as a unibyte character.
12407 (Fbase64_decode_string): Return unibyte string.
12408 (Fcompare_strings, concat, string_byte_to_char): Use
12409 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
12410 FETCH_STRING_CHAR_ADVANCE.
12411 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12412 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
12413
12414 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
12415 SPLIT_NON_ASCII_CHAR.
12416 (fontset_ref_via_base, fontset_set): Likewise
12417
12418 * insdel.c (adjust_markers_for_record_delete): Deleted.
12419 (adjust_markers_for_insert): Argument changed. Caller changed.
12420 (adjust_markers_for_replace): Likewise.
12421 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
12422 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
12423 (copy_text): Delete unused local varialbe c_save. For converting
12424 to multibyte, be sure to make all 8-bit characters in valid
12425 multibyte form.
12426 (count_size_as_multibyte): Handle 8-bit characters correctly.
12427 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12428 (adjust_after_replace, replace_range, del_range_2)
12429 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
12430 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
12431 (adjust_after_replace, replace_range, del_range_2) Delete codes for
12432 handling byte combining.
12433 (adjust_before_replace): Deleted.
12434
12435 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
12436 SPLIT_NON_ASCII_CHAR.
12437 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
12438 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12439 (Fkey_description): Likewise.
12440
12441 * lread.c (read1): On reading multibyte string, be sure to make
12442 all 8-bit chararacters in valid multibyte form.
12443 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12444
12445 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
12446 unconditionally.
12447
12448 * process.c (Fstart_process): GCPRO current_dir before calling
12449 Ffind_operation_coding_system. Encode arguments here.
12450 (create_process): Don't encode arguments here. Setup
12451 src_multibyte and dst_multibyte members of struct coding.
12452 (read_process_output): Setup src_multibyte and dst_multibyte
12453 members of struct coding. If the output is to multibyte buffer,
12454 always decode the output of the process. Adjust the
12455 representation of 8-bit characters to the multibyteness of the output.
12456 (send_process): Setup coding->src_multibyte according to the
12457 multibyteness of the source.
12458
12459 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
12460 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
12461 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
12462
12463 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
12464
12465 * w16select.c (Fw16_set_clipboard_data): Setup members
12466 src_multibyte and dst_multibyte of coding. Adjusted for the
12467 change for find_charset_in_str.
12468 (Fw16_get_clipboard_data): Likewise.
12469
12470 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
12471 dst_multibyte of coding.
12472 (x_to_w32_font): Likewise.
12473
12474 * w32select.c (Fw32_set_clipboard_data): Setup members
12475 src_multibyte and dst_multibyte of coding. Adjusted for the
12476 change for find_charset_in_str.
12477 (Fw32_get_clipboard_data): Likewise.
12478
12479 * xdisp.c (get_next_display_element): Handle 8-bit characters
12480 correctly.
12481 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
12482 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
12483
12484 * xselect.c (selection_data_to_lisp_data): Setup members
12485 src_multibyte and dst_multibyte of coding. Adjusted for the
12486 change for find_charset_in_str.
12487 (lisp_data_to_selection_data): Likewise.
12488
12489 2000-05-19 Gerd Moellmann <gerd@gnu.org>
12490
12491 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
12492
12493 * dispextern.h (Vimage_types): Add extern declaration.
12494
12495 * xdisp.c (Vimage_types): Moved here from xfns.c.
12496 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
12497
12498 * xfns.c (Vimages_types): Moved to xdisp.c.
12499 (syms_of_xfns): Move `image-types' to xdisp.c.
12500
12501 * w32fns.c (Vimage_types): Removed.
12502 (syms_of_w32fns): Remove `image-types'.
12503
12504 2000-05-18 Kenichi Handa <handa@etl.go.jp>
12505
12506 * fns.c (map_char_table): Pay attention to character number of
12507 charset. Check the validity of charset at the first level. For
12508 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
12509 the default value.
12510
12511 * fontset.c: Include "buffer.h".
12512 (fs_load_font): If the face has fontset, record the face ID in
12513 that fontset.
12514 (Finternal_char_font): New function.
12515 (accumulate_font_info): New function.
12516 (Ffontset_info): Rewritten for the new fontset implementation.
12517 (syms_of_fontset): Register Vdefault_fontset in the first element
12518 of Vfontset_table. Include Vdefault_fontset in
12519 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
12520 function.
12521
12522 2000-05-16 Dave Love <fx@gnu.org>
12523
12524 * m/iris5d.h: Deleted -- unused.
12525
12526 2000-05-16 Gerd Moellmann <gerd@gnu.org>
12527
12528 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
12529 `invalid' instead of `illegal'.
12530
12531 * indent.c (Fmove_to_column): When ending within a tab, insert
12532 spaces first so that markers at the end of the tab get adjusted.
12533
12534 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
12535 buffer list that wasn't selected in that frame.
12536
12537 * filelock.c (get_boot_time): To obtain an 8 char file name, which
12538 is needed on mescaline, use a 2 char prefix, and call
12539 make_temp_name with second arg non-zero.
12540
12541 * fileio.c (make_temp_name): New function, extracted from
12542 Fmake_temp_name.
12543 (Fmake_temp_name): Use it.
12544
12545 2000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
12546
12547 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
12548
12549 2000-05-15 Gerd Moellmann <gerd@gnu.org>
12550
12551 * Makefile.in (lisp): Add env.elc.
12552
12553 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
12554
12555 2000-05-12 Gerd Moellmann <gerd@gnu.org>
12556
12557 * search.c (Freplace_match): Handle case of `\N' in the
12558 replacement when there's no group N.
12559
12560 2000-05-11 Gerd Moellmann <gerd@gnu.org>
12561
12562 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
12563 of the message to message_dolog.
12564
12565 * keyboard.c (read_char): Don't clear current message for help
12566 events; let the code handling help events handle this. Change
12567 code detecting help events that should be ignored.
12568
12569 * xdisp.c (handle_single_display_prop): Don't try to set PT if
12570 we're interating over a string.
12571
12572 2000-05-09 Dave Love <fx@gnu.org>
12573
12574 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
12575 that offset before writing. Move gcpro region past call of
12576 Ffile_regular_p.
12577
12578 2000-05-04 Dave Love <fx@gnu.org>
12579
12580 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
12581
12582 2000-05-04 Gerd Moellmann <gerd@gnu.org>
12583
12584 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
12585 of inserted characters when BUF equals the current buffer, and PT
12586 is in front of or equal to FROM.
12587
12588 2000-05-03 Gerd Moellmann <gerd@gnu.org>
12589
12590 * xdisp.c (handle_single_display_prop): If display property value
12591 is invalid, or something not supported on the frame, restore
12592 iterator's position to what it was initially. Make sure to return
12593 0 for invalid and unsupported property values.
12594
12595 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
12596 that x_per_char_metric returns null.
12597
12598 2000-05-02 Gerd Moellmann <gerd@gnu.org>
12599
12600 * xterm.h (struct face): Add forward declaration.
12601 (struct image): Ditto.
12602 (image_ascent): Add prototype.
12603
12604 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
12605 (x_draw_image_relief, x_draw_image_foreground_1): Call function
12606 image_ascent instead of using IMAGE_ASCENT.
12607
12608 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
12609 (IMAGE_ASCENT): Removed.
12610
12611 * xfns.c (Qcenter): New variable.
12612 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
12613 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
12614 (image_ascent): New function.
12615 (lookup_image): Recognize `:ascent center'.
12616 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
12617 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
12618 (xbm_load): Don't set image's ascent here.
12619 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
12620 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
12621 check ascent values here.
12622 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
12623 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
12624 (syms_of_xfns): Initialize Qcenter.
12625
12626 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
12627 to the limits, increase the limits.
12628
12629 2000-05-01 Kenichi Handa <handa@etl.go.jp>
12630
12631 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
12632 Check Vfont_encoding_alist against the full name of the opened font.
12633
12634 2000-04-28 Gerd Moellmann <gerd@gnu.org>
12635
12636 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
12637 taller than the window.
12638
12639 2000-04-28 Kenichi Handa <handa@etl.go.jp>
12640
12641 * xfaces.c (realize_x_face): Fix the argument of the second
12642 xassert. BASE_FACE may not be a face for ASCII.
12643
12644 2000-04-27 Gerd Moellmann <gerd@gnu.org>
12645
12646 * print.c (print_object): Treat print-length < 0 as nil.
12647
12648 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
12649
12650 * s/freebsd.h (TERMCAP_OBJ): Removed.
12651 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
12652
12653 * lread.c (read1): Don't treat period followed by certain
12654 characters as symbol start.
12655
12656 * xfns.c (slurp_file): New function.
12657 (xbm_image_p): Handle case of in-memory XBM files.
12658 (xbm_scan): Rewritten to work on memory buffers instead of files.
12659 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
12660 Work on memory buffers instead of files. If DATA is null test
12661 if buffer looks like an in-memory XBM file.
12662 (xbm_load_image): Renamed from xbm_load_image_file. Work on
12663 memory buffers instead of files.
12664 (xbm_file_p): New function.
12665 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
12666
12667 * lread.c (end_of_file_error): New function.
12668 (read1): Call it instead of signaling `end-of-file' directly.
12669
12670 * print.c (print_error_message): Print data of `end-of-file'
12671 with Fprinc instead of Fprin1.
12672
12673 2000-04-26 Ken Raeburn <raeburn@gnu.org>
12674
12675 * window.c (freeze_window_start): Check that minibuffer scroll
12676 window isn't nil before extracting the window structure pointer
12677 from it.
12678
12679 * undo.c (record_delete): If we hit the end of the undo list, stop
12680 picking elements apart.
12681
12682 2000-04-26 Gerd Moellmann <gerd@gnu.org>
12683
12684 * xdisp.c (display_line): If lines are continued, restore
12685 iterator's ascent/descent information to the values before the
12686 first glyph not fitting on the line.
12687
12688 2000-04-25 Gerd Moellmann <gerd@gnu.org>
12689
12690 * xdisp.c (try_window_id) <all changes above window start>: Adjust
12691 positions in glyph matrix. Don't compute new window end positions.
12692
12693 * dispnew.c (increment_matrix_positions): Renamed from
12694 increment_glyph_matrix_buffer_positions.
12695 (increment_row_positions): Renamed from
12696 increment_glyph_row_buffer_positions.
12697
12698 * dispextern.h: Change names of renamed functions from dispnew.c
12699 in prototypes.
12700
12701 2000-04-24 Gerd Moellmann <gerd@gnu.org>
12702
12703 * fileio.c (Fdo_auto_save): Create directories for auto-save
12704 list file if necessary.
12705
12706 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
12707 from buffer or frame.
12708 (automatic_hscrolling_p): New variable.
12709 (hscroll_windows): Scroll windows horizontally only if automatic
12710 hscrolling is allowed.
12711 (syms_of_xdisp): New variable `automatic-hscrolling'.
12712
12713 * frame.h (struct frame): Add member extra_line_spacing.
12714
12715 * xfns.c (x_set_line_spacing): New function.
12716 (Fx_create_frame): Set line spacing from resources.
12717 (Qline_spacing): New variable.
12718 (syms_of_xfns): Initialize Qline_spacing.
12719
12720 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
12721
12722 * buffer.c (init_buffer_once): Handle extra_line_spacing.
12723 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
12724 (reset_buffer): Don't initialize extra2 and extra3. Initialize
12725 extra_line_spacing from default value.
12726 (init_buffer_once): Initialize default value of extra_line_spacing.
12727
12728 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
12729 and extra3.
12730
12731 * xterm.c (x_produce_glyphs): Remove reference to struct it's
12732 prompt_width. Add extra line spacing.
12733
12734 * term.c (produce_glyphs): Remove reference to struct it's
12735 prompt_width.
12736
12737 * dispextern.h (struct it): Remove member prompt_width, add
12738 extra_line_spacing.
12739
12740 2000-04-22 Gerd Moellmann <gerd@gnu.org>
12741
12742 * dispnew.c (update_frame_line): When writing a whole line, make
12743 sure cursor is in the right row afterwards, otherwise a use of
12744 capability `ch' in cmgoto might leave the cursor in the row below.
12745
12746 2000-04-21 Gerd Moellmann <gerd@gnu.org>
12747
12748 * lisp.h (struct Lisp_Buffer_Cons): Remove.
12749
12750 * keyboard.c (timer_check): Fix typo in comment.
12751
12752 2000-04-21 Kenichi Handa <handa@etl.go.jp>
12753
12754 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12755 name change: ch -> character.
12756
12757 2000-04-20 Gerd Moellmann <gerd@gnu.org>
12758
12759 * keyboard.c (echo_message_buffer): New variable.
12760 (echo_now): Set echo_message_buffer to the echo area buffer used
12761 to display the echo.
12762 (cancel_echoing): Reset echo_message_buffer to nil.
12763 (read_char): Code rewritten that handles canceling an echo or
12764 echoing a dash, respectively.
12765
12766 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12767 directory doesn't exist.
12768
12769 2000-04-19 Dave Love <fx@gnu.org>
12770
12771 * fns.c (syms_of_fns): Defsubr mapc.
12772 (concat): Don't allow numeric args.
12773 (Fconcat): Doc change.
12774
12775 2000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12776
12777 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12778 instead define end_match(1|2) more carefully.
12779 Use GET_CHAR_BEFORE_2 for `begline'.
12780
12781 2000-04-19 Gerd Moellmann <gerd@gnu.org>
12782
12783 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12784 on 64-bit systems where NULL is defined as `0'.
12785
12786 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12787 the `variable argument list' to make it work on Alpha.
12788
12789 * m/alpha.h (_LP64) [!_LP64]: Define.
12790 (ORDINARY_LINK): Define for NetBSD.
12791
12792 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
12793
12794 2000-04-19 Dave Love <fx@gnu.org>
12795
12796 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12797 change.
12798
12799 * Makefile.in (LIBS): Don't use.
12800 (GETLOADAVG_OBJ): Define again.
12801 (otherobj): Add GETLOADAVG_OBJ.
12802
12803 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12804
12805 2000-04-18 Gerd Moellmann <gerd@gnu.org>
12806
12807 * lread.c (read_filtered_event): Cancel and start busy cursor.
12808
12809 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
12810 that the per-character metrics may be null.
12811
12812 2000-04-17 Gerd Moellmann <gerd@gnu.org>
12813
12814 * buffer.c (clone_per_buffer_values): New function.
12815 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12816 clone_per_buffer_values if CLONE is not nil.
12817
12818 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12819
12820 2000-04-16 Dave Love <fx@gnu.org>
12821
12822 * Makefile.in: Remove obsolete localcpp stuff.
12823 (GETLOADAVG_OBJ): Don't define.
12824 (obj): Move LIBOBJS...
12825 (otherobj): ... to here.
12826 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12827 whitespace-only lines after the continuation (Irix).
12828
12829 2000-04-14 Gerd Moellmann <gerd@gnu.org>
12830
12831 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12832
12833 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12834
12835 2000-04-14 Dave Love <fx@gnu.org>
12836
12837 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12838 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12839 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12840 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12841 NLIST_STRUCT.
12842
12843 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12844 autoconfiscated HAVE_GETLOADAVG.
12845
12846 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12847 BROKEN_MKTIME.
12848
12849 2000-04-14 Gerd Moellmann <gerd@gnu.org>
12850
12851 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
12852 (fill_in_lock_file_name): Avoid existing files that aren't links.
12853
12854 2000-04-14 Dave Love <fx@gnu.org>
12855
12856 * Makefile.in (LIBS, LIBOBJS): New variable.
12857 (INTERVAL_SRC): Convert to make variable.
12858 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12859 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12860 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12861 add LIBOBJS.
12862 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12863 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12864 (shortlisp): Add facemenu, float-sup, frame.
12865 (SOME_MACHINE_LISP): Remove them from here.
12866 (LIBES): Change unused LDLIBS to autoconf LIBS.
12867
12868 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12869
12870 2000-04-14 Kenichi Handa <handa@etl.go.jp>
12871
12872 * composite.c (update_compositions): If FROM and TO are not in a
12873 valid range, do nothing.
12874
12875 2000-04-13 Gerd Moellmann <gerd@gnu.org>
12876
12877 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
12878
12879 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
12880
12881 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12882 as TERMCAP_OBJ.
12883
12884 2000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12885
12886 * fileio.c (a_write): Remove redundant semi-colons.
12887 (e_write): Return -1 if failed to write all the data.
12888 This fixes the changes made at 1999-12-15.
12889
12890 2000-04-12 Dave Love <fx@gnu.org>
12891
12892 * fns.c (mapcar1): Test for null vals to support mapc.
12893 (Fmapc): New function.
12894
12895 2000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12896
12897 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12898 (IT_frame_up_to_date): Support the buffer local value of
12899 cursor-type, if defined.
12900
12901 2000-04-10 Dave Love <fx@gnu.org>
12902
12903 * editfns.c (preceding-char, following-char): Doc fix.
12904
12905 2000-04-10 Ken Raeburn <raeburn@gnu.org>
12906
12907 * Makefile.in (temacs): Revert 2000-03-12 change.
12908
12909 2000-04-10 Jason Rumney <jasonr@gnu.org>
12910
12911 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12912
12913 2000-04-10 Gerd Moellmann <gerd@gnu.org>
12914
12915 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12916 area buffer, if it's not set up yet.
12917
12918 * indent.c (compute_motion): Set immediate_quit.
12919
12920 2000-04-09 Gerd Moellmann <gerd@gnu.org>
12921
12922 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
12923 (realize_tty_face): Suppress boldness if colors are the inverse of
12924 the default colors, and tty_suppress_bold_inverse_default_colors_p
12925 is set.
12926 (Ftty_suppress_bold_inverse_default_colors): New function.
12927 (syms_of_xfaces): Defsubr it.
12928
12929 * buffer.c (Frestore_buffer_modified_p): New function.
12930 (syms_of_buffer): Defsubr it.
12931
12932 2000-04-08 Ken Raeburn <raeburn@gnu.org>
12933
12934 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12935 charset id (int) argument, not a charset (Lisp_Object).
12936
12937 * coding.h (code_convert_string): Declare.
12938 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12939 object, as the fourth argument to code_convert_string.
12940
12941 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
12942 (Fset_fontset_font): Use EQ to compare lisp objects.
12943
12944 2000-04-05 Ken Raeburn <raeburn@gnu.org>
12945
12946 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12947 a pointer that looks like a lisp object.
12948 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12949 zero, instead see whether it's an integer object, since they can't
12950 have intervals.
12951 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12952
12953 * dispnew.c (allocate_matrices_for_frame_redisplay)
12954 (direct_output_forward_char): Use X(U)INT and make_number as needed
12955 to convert between (unsigned) int values and lisp integers.
12956 * keyboard.c (read_key_sequence): Likewise.
12957 * lread.c (substitute_object_recurse): Likewise.
12958 * fns.c (concat, hash_lookup, hash_remove): Likewise.
12959 * minibuf.c (do_completion, Fminibuffer_complete_word)
12960 (Fminibuffer_completion_help): Likewise.
12961 * term.c (produce_special_glyphs): Likewise.
12962
12963 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12964 * print.c (print_preprocess, print_object): Likewise.
12965
12966 * search.c (compile_pattern): Use NILP when checking for nil.
12967
12968 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12969 __OPTIMIZE__]: Provide a GNU C macro version that handles
12970 lisp-object unions.
12971 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12972 field, to better cope with ENABLE_CHECKING and calls that modify a
12973 Lisp_Object using its old value.
12974
12975 2000-04-04 Gerd Moellmann <gerd@gnu.org>
12976
12977 * window.c (compare_window_configurations): Signal an error
12978 if parameters C1 or C2 aren't window configurations.
12979
12980 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12981 AFTER_POTENTIAL_GC calls around calls to functions that can
12982 signal an error and thus invoke the debugger.
12983
12984 2000-04-03 Gerd Moellmann <gerd@gnu.org>
12985
12986 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12987 an error if decoding fails.
12988
12989 * keyboard.c (lispy_mouse_names): Variable removed.
12990 (Vlispy_mouse_stem): New variable.
12991 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12992 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12993 for any mouse button number. Increase size of mouse_syms and
12994 button_down_location as needed. Call modify_event_symbol with
12995 different arguments.
12996 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12997 Call modify_event_symbol with different arguments.
12998 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12999 for any button number. Call modify_event_symbol with different
13000 arguments.
13001 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
13002 Accept a string for NAME_ALIST_OR_STEM.
13003
13004 * lisp.h (larger_vector): Add prototype.
13005
13006 * fns.c (larger_vector): Make externally visible.
13007
13008 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
13009
13010 2000-04-02 Stefan Monnier <monnier@cs.yale.edu>
13011
13012 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
13013 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
13014 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
13015 we are between str1 and str2.
13016 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
13017 (PATFETCH): Use `TRANSLATE'.
13018 (PATFETCH_RAW): Fetch multibyte char if applicable.
13019 (PATUNFETCH): Remove.
13020 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
13021 When writing a char, write it directly into the pattern buffer rather
13022 than going needlessly through a temp char-array.
13023 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
13024 multibyte magic and remove the useless `#ifdef emacs'.
13025 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
13026 buffer.
13027
13028 * regex.h (struct re_pattern_buffer): Make field `multibyte'
13029 conditional on `emacs'.
13030
13031 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
13032
13033 2000-04-01 Ken Raeburn <raeburn@gnu.org>
13034
13035 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
13036 non-union-type versions of XMARK and friends here, because XMARK
13037 and friends won't work on an integer field if NO_UNION_TYPE is not
13038 defined.
13039 (make_number): Define as a function if it's not defined as a macro.
13040
13041 * composite.c (run_composite_function): Use NILP when checking for nil.
13042 (syms_of_composite): Delete local var NARGS, pass an int as first
13043 argument to Fmake_hash_table.
13044
13045 * editfns.c (text_property_stickiness): Use NILP to test
13046 Lisp_Object boolean value.
13047 (Fmessage_or_box): Don't use NILP to test int variable.
13048 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
13049 problems reading from and changing the same lisp value in an
13050 XSETSTRING call.
13051
13052 2000-04-01 Gerd Moellmann <gerd@gnu.org>
13053
13054 * term.c (TN_no_color_video): New variable.
13055 (term_init): Intitialize TN_no_color_video.
13056 (enum no_color_bit): New enumeration.
13057 (MAY_USE_WITH_COLORS_P): New macro.
13058 (turn_on_face): Use it to determine if attributes may be used
13059 combined with colors.
13060
13061 2000-04-01 Ken Raeburn <raeburn@gnu.org>
13062
13063 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
13064 with int lvalues via casts; instead, just yield lisp object lvalues.
13065 (enlarge_window): Variable sizep now points to Lisp_Object. Use
13066 proper accessor macros.
13067 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
13068 (grow_mini_window): Fix typo getting int value of root->height.
13069
13070 * xdisp.c (compute_string_pos): Fix order of arguments to
13071 string_pos_nchars_ahead.
13072 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
13073 count arg to variable-arg routines like Frun_hook_with_args and
13074 Fformat.
13075 (back_to_previous_visible_line_start)
13076 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
13077 fixed-arg routines like Fget_char_property and Fmake_string.
13078 (reconsider_clip_changes): Use XINT when comparing integer lisp
13079 objects, or passing them as int arguments.
13080 (mark_window_display_accurate, insert_left_trunc_glyphs)
13081 (append_space, extend_face_to_end_of_line): Use make_number when
13082 storing or passing integer values as lisp objects.
13083 (set_cursor_from_row, highlight_trailing_whitespace): Use
13084 INTEGERP, not implicit test against zero, for glyph object.
13085 (try_window_id): Don't use make_number when we want an int value.
13086
13087 * xfaces.c (xlfd_symbolic_value): Make last argument a
13088 Lisp_Object, to be consistent with callers.
13089 (Fbitmap_spec_p): Use XINT to get numeric value of height.
13090 (lface_hash): Apply XFASTINT to lisp values before folding in.
13091
13092 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
13093 fill in window width and height. Pass an int, not a lisp object,
13094 as first arg to Finsert.
13095
13096 2000-04-01 Gerd Moellmann <gerd@gnu.org>
13097
13098 * xfaces.c (realize_basic_faces): Block input while realizing
13099 the faces.
13100
13101 * keyboard.c (lispy_mouse_names): Add additional mouse names.
13102
13103 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
13104
13105 2000-03-31 Gerd Moellmann <gerd@gnu.org>
13106
13107 * xterm.c (x_produce_glyphs): When displaying unibyte text
13108 or ASCII, handle case that per-char metric is null.
13109
13110 2000-03-30 Ken Raeburn <raeburn@gnu.org>
13111
13112 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
13113
13114 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
13115 (XSUBR, XBUFFER): Verify correct object type before returning
13116 pointer, using eassert.
13117 * frame.h (XFRAME): Likewise.
13118
13119 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
13120 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
13121 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
13122 * data.c (set_internal): Likewise.
13123 * dispextern.h (WINDOW_WANTS_MODELINE_P)
13124 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
13125 * fileio.c (auto_save_1): Likewise.
13126 * insdel.c (check_markers): Likewise.
13127 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
13128 * undo.c (record_insert): Likewise.
13129 * vmsproc.c (child_sig): Likewise.
13130 * window.c (unshow_buffer, window_loop): Likewise.
13131 * xterm.c (x_erase_phys_cursor): Likewise.
13132
13133 2000-03-30 Gerd Moellmann <gerd@gnu.org>
13134
13135 * xfns.c (free_image_cache): Free the cache structure itself
13136 last, after all its members have been freed.
13137
13138 * lisp.h (xstrdup): Add prototype.
13139
13140 * alloc.c (xstrdup): Moved here from xfaces.c.
13141 (allocating_for_lisp): Variable removed.
13142 (lisp_malloc): Block input around the calls to malloc and mem_insert.
13143
13144 * xfaces.c (realize_tty_face): Use find_symbol_value instead
13145 of Fsymbol_value.
13146 (xstrdup): Moved to alloc.c.
13147
13148 2000-03-29 Ken Raeburn <raeburn@gnu.org>
13149
13150 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
13151
13152 * emacs.c (main): Fix sense of no-loadup test.
13153
13154 * config.in (ENABLE_CHECKING): Undef.
13155
13156 * lisp.h (struct interval): Replace "parent" field with a union of
13157 interval pointer and Lisp_Object; add new bitfield to use as
13158 discriminant. Change other flag fields to bitfields.
13159 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
13160 is defined and the supplied test fails, print a message and abort.
13161 (eassert): New macro. Use CHECK to provide an assert-like facility.
13162
13163 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
13164 pointers; abort if the value looks like a lisp object.
13165 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
13166 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
13167 Modify for new interval parent definition.
13168
13169 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
13170 (UNMARK_BALANCE_INTERVALS): Update references that need an
13171 addressable lisp object in the interval structure.
13172 (die): New function.
13173 (suppress_checking): New variable.
13174
13175 * intervals.c (interval_start_pos): Just return 0 if there's no
13176 parent object.
13177
13178 2000-03-29 Gerd Moellmann <gerd@gnu.org>
13179
13180 * lread.c (read1): Accept `.' (period) as symbol start like in CL
13181 and earlier Emacs versions.
13182
13183 * keyboard.c (Ftop_level): Cancel busy-cursor.
13184
13185 * eval.c (call_debugger): Cancel busy-cursor.
13186
13187 2000-03-29 Kenichi Handa <handa@etl.go.jp>
13188
13189 * search.c (Freplace_match): Adjust multibyteness of the current
13190 buffer and NEWTEXT. Free allocated memory before signaling an error.
13191
13192 2000-03-28 Stefan Monnier <monnier@cs.yale.edu>
13193
13194 * regex.c (analyse_first): New function obtained by ripping out most
13195 of re_compile_fastmap and generalizing it a little bit so that it
13196 can also just return whether a given (sub)pattern can match the empty
13197 string or not.
13198 (regex_compile): Use `analyse_first' to decide whether the loop-check
13199 needs to be done or not for *, +, *? and +? (the loop check is costly
13200 for non-greedy repetition).
13201 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
13202
13203 2000-03-28 Dave Love <fx@gnu.org>
13204
13205 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
13206
13207 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
13208
13209 2000-03-27 Stefan Monnier <monnier@cs.yale.edu>
13210
13211 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
13212 an expression.
13213 (enum re_opcode_t): Update description of succeed_n.
13214 (PATFETCH): Always define.
13215 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
13216 operators, char classes, shy-groups and intervals).
13217 Optimize special cases of intervals so as to only use succeed_n and
13218 jump_n when really needed.
13219 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
13220 that we don't have to handle the special cases any more.
13221 Simplify on_failure_jump handling as well.
13222
13223 2000-03-28 Jason Rumney <jasonr@gnu.org>
13224
13225 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
13226
13227 2000-03-27 Gerd Moellmann <gerd@gnu.org>
13228
13229 * s/freebsd.h (GC_SETJMP_WORKS): Define.
13230
13231 * s/msdos.h (GC_SETJMP_WORKS): Define.
13232
13233 * alloc.c (mark_maybe_object): New function.
13234 (mark_memory): Use it.
13235 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
13236 (setjmp_tested_p, longjmp_done): New variables.
13237 (test_setjmp): New function.
13238 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
13239 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
13240
13241 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
13242 to DEC_TEXT_POS and INC_TEXT_POS.
13243
13244 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
13245 with parameter MULTIBYTE_P.
13246
13247 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
13248
13249 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
13250 buffers because it looks for multibyte character byte sequences
13251 which don't exist in unibyte text.
13252
13253 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
13254
13255 * xfaces.c (register_color, unregister_color, unregister_colors)
13256 [DEBUG_X_COLORS]: New functions.
13257 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
13258
13259 * xfns.c (x_set_cursor_color): Get color reference counts right.
13260
13261 * xterm.c (x_copy_color): New function.
13262 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
13263
13264 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
13265 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
13266 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
13267 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
13268 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
13269 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
13270 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
13271 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
13272 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
13273 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
13274
13275 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
13276 names for handling per-buffer variables.
13277
13278 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
13279 instead of MAX_BUFFER_LOCAL_VARS.
13280 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
13281
13282 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
13283
13284 * xfns.c (x_specified_cursor_type): New function.
13285 (x_set_cursor_type): Use it.
13286
13287 * buffer.h (struct buffer): Add cursor_type.
13288
13289 2000-03-26 Stefan Monnier <monnier@cs.yale.edu>
13290
13291 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
13292 (print_partial_compiled_pattern, re_compile_fastmap):
13293 Handle new opcode.
13294 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
13295 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
13296 executing it as well as when popping it off the stack to find infinite
13297 loops in non-greedy repetition operators.
13298
13299 2000-03-26 Gerd Moellmann <gerd@gnu.org>
13300
13301 * doc.c (Qfunction_documentation): New variable.
13302 (syms_of_doc): Initialize Qfunction_documentation.
13303 (Fdocumentation): If FUNCTION is a symbol with non-nil
13304 `function-documentation' property, return a documentation derived
13305 from that.
13306
13307 * buffer.c (syms_of_buffer): Add default-cursor-type.
13308 (init_buffer_once): Don't let cursor_type have a local value
13309 in every buffer.
13310
13311 * xterm.c (x_display_and_set_cursor): Choose cursor depending
13312 on buffer-local value of cursor_type.
13313 (x_draw_bar_cursor): Add parameter WIDTH.
13314
13315 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
13316 (init_buffer_once): Set default cursor_type value to t.
13317 Mark cursor_type as local everywhere.
13318 (syms_of_buffer): New per-buffer variable cursor-type.
13319
13320 * buffer.h (struct buffer): Remove member local_var_flags,
13321 add local_flags.
13322 (MAX_BUFFER_LOCAL_VARS): New macro.
13323 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
13324 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
13325 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
13326 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
13327
13328 * print.c (print_object): Use new macros for per-buffer variables.
13329
13330 * category.c (Fset_category_table): Use new macros for per-buffer
13331 variables.
13332
13333 * buffer.c (buffer_permanent_local_flags): Make a char array.
13334 (max_buffer_local_idx): New variable.
13335 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
13336 for new handling of per-buffer variables.
13337 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
13338 (init_buffer_once): Initialize per-buffer vars differently.
13339 Set max_buffer_local_idx.
13340
13341 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
13342 variables.
13343
13344 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
13345
13346 * data.c (do_symval_forwarding, store_symval_forwarding)
13347 (find_symbol_value, set_internal, default_value, Fset_default)
13348 (Fkill_local_variable, Flocal_variable_p): Use new macros for
13349 per-buffer variables.
13350
13351 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
13352
13353 2000-03-24 Gerd Moellmann <gerd@gnu.org>
13354
13355 * xterm.c (x_term_init): Unblock input around call1 of
13356 Qvendor_specific_keysyms.
13357
13358 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
13359 (find_defun_start): Consider an open parenthesis in column 0
13360 a defun start only if open_paren_in_column_0_is_defun_start is set.
13361 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
13362
13363 2000-03-24 Stefan Monnier <monnier@cs.yale.edu>
13364
13365 * eval.c (Fautoload): Add entry in load-history (if after dump).
13366 * lread.c (load-history): Update docstring.
13367
13368 2000-03-24 Gerd Moellmann <gerd@gnu.org>
13369
13370 * indent.c (Fvertical_motion): Always use the current buffer.
13371 Temporarily change the window's buffer, if necessary.
13372
13373 2000-03-23 Gerd Moellmann <gerd@gnu.org>
13374
13375 * xterm.c (fast_find_position): Make sure not to consider rows
13376 not visible in the window.
13377
13378 2000-03-22 Stefan Monnier <monnier@cs.yale.edu>
13379
13380 * regex.c (enum syntaxcode): Provide default for non-Emacs.
13381 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
13382
13383 2000-03-22 Jason Rumney <jasonr@gnu.org>
13384
13385 * w32menu.c (single_submenu): Set help string to NULL if none.
13386 (w32_menu_show): Set help string correctly.
13387 (add-menu-item): Set help string in MIIM_DATA for menu item.
13388 Load SetMenuItemInfoA explicitly.
13389 (w32_menu_display_help): New function.
13390
13391 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
13392 (QCdata): Moved to xdisp.c.
13393
13394 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
13395 (Vw32_charset_to_codepage_alist): Removed.
13396 (Vw32_charset_info_alist): New variable.
13397 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
13398 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
13399 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
13400 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
13401 with TODO comment.
13402 (w32_codepage_for_font): Use Vw32_charset_info_alist.
13403 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
13404 Define Vw32_charset_info_alist and w32_charset symbols.
13405
13406 2000-03-22 Jason Rumney <jasonr@gnu.org>
13407
13408 * makefile.nt (w32bdf.obj): Update dependencies.
13409
13410 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
13411
13412 * w32fns.c: Include fontset.h after dispextern.h.
13413 (Fx_create_frame): Do not create fontset.
13414 (w32_load_system_font): Doc fix.
13415 (Fx_close_connection): Free full_name if it is not shared.
13416
13417 * w32term.c: Include fontset.h after dispextern.h.
13418 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
13419 Callers updated.
13420 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
13421 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
13422 (w32_font_is_double_byte): New function, needs body.
13423 (x_append_glyph): Set glyph->glyph_not_available_p.
13424 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13425 it->charset. If it->multibyte_p is zero and it->c is a multibyte
13426 character, convert it to a unibyte character.
13427 (struct glyph_string): Delete member `charset'.
13428 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
13429 calculating it is found.
13430 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13431 the case that per char metric is not available correctly.
13432 (x_fill_glyph_string): Handle the case that the specific glyph is
13433 not available correctly.
13434 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13435 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13436 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13437 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13438 fontset. Don't call FS_LOAD_FONT.
13439
13440 2000-03-22 Ken Raeburn <raeburn@gnu.org>
13441
13442 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
13443 (INT_LISPLIKE): New macro.
13444 (NULL_INTERVAL_P): Use it.
13445 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
13446 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
13447 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
13448
13449 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
13450 explicit references to "parent" field of struct interval and
13451 associated unclean type conversions.
13452 * intervals.c (create_root_interval, root_interval, rotate_right)
13453 (rotate_left, balance_possible_root_interval, split_interval_right)
13454 (split_interval_left, interval_start_pos, find_interval)
13455 (next_interval, previous_interval, update_interval)
13456 (adjust_intervals_for_insertion, delete_node, delete_interval)
13457 (adjust_intervals_for_deletion, merge_interval_right)
13458 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
13459 (copy_intervals_to_string): Likewise.
13460 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
13461 Likewise.
13462 * syntax.c (update_syntax_table): Likewise.
13463
13464 * intervals.c (reproduce_tree_obj): New function, like
13465 reproduce_tree but takes a Lisp_Object for the parent. Declare
13466 with prototype.
13467 (graft_intervals_into_buffer): Use it when appropriate.
13468 (reproduce_tree): Declare with prototype.
13469 (balance_possible_root_interval): Check that the parent is a lisp
13470 object before trying to examine its type.
13471
13472 2000-03-22 Gerd Moellmann <gerd@gnu.org>
13473
13474 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
13475 as strings only if both are known to be strings.
13476
13477 * s/openbsd.h (LIBS_TERMCAP): Undef.
13478
13479 2000-03-21 Stefan Monnier <monnier@cs.yale.edu>
13480
13481 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
13482 definitions for non-Emacs compilation.
13483 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
13484 outside of `#ifdef emacs'.
13485 (print_partial_compiled_pattern): Update.
13486 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
13487 (re_compile_fastmap): Merge handling of charset and charset_not (for
13488 emacs and non-emacs compilation as well).
13489 Similarly for (not)categoryspec and (not)syntaxspec.
13490 Don't use the fastmap when reaching `anychar' since the added
13491 complexity is not justified.
13492 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
13493 and (not)syntaxspec. Merge (not)categoryspec.
13494
13495 2000-03-22 Kenichi Handa <handa@etl.go.jp>
13496
13497 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
13498 (FACE_FOR_CHAR): Define them differently for the configuration of
13499 --without-x.
13500
13501 2000-03-21 Dave Love <fx@gnu.org>
13502
13503 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
13504 doc string.
13505
13506 2000-03-21 Gerd Moellmann <gerd@gnu.org>
13507
13508 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
13509 (lface_fully_specified_p): Don't check contents of
13510 LFACE_FONT_INDEX because that attribute is optional.
13511 (realize_x_face): Remove now unwarranted xassert.
13512
13513 2000-03-21 Kenichi HANDA <handa@etl.go.jp>
13514
13515 The following changes are to make font selection based on
13516 characters, not charset. In addition, they recover fontset
13517 facilities while utilizing the new font selection mechanism.
13518
13519 * Makefile.in (fontset.o): Depend on dispextern.h.
13520
13521 * alloc.c (mark_face_cache): Don't mark face->registry.
13522
13523 * dispextern.h (struct glyph): New member glyph_not_available_p.
13524 Use 22 bits for face_id.
13525 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
13526 (struct face): Delete member registry, new member ascii_face.
13527 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
13528 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
13529 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
13530 (struct it): Delete member charset, new member glyph_not_available_p.
13531
13532 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
13533 (struct fontset_info, struct fontset_data): Structs removed.
13534 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
13535 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
13536 (fs_load_font, fs_query_fontset): Adjusted for new argument.
13537 (fs_free_face_fontset, fontset_font_pattern)
13538 (face_suitable_for_char_p, face_for_char)
13539 (make_fontset_for_ascii_face): Extern them.
13540 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
13541 (FS_LOAD_FACE_FONT): New macro.
13542
13543 * fontset.c: All codes rewritten or adjusted for the change of
13544 fontset implementation. Now fontset is represented by char table.
13545 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
13546 Variables removed.
13547 (my_strcasecmp): Function removed.
13548 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
13549 (AREF, ASIZE): New macros.
13550 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
13551 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
13552 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
13553 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
13554 (fontset_id_valid_p, font_family_registry, fontset_name)
13555 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
13556 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
13557 New functions.
13558 (fs_load_font): New arg FACE. Caller changed.
13559 (fs_query_fontset): Argument changed. Caller changed.
13560 (Fquery_fontset): call fs_query_fontset.
13561 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
13562 Functions removed.
13563 (clear_fontset_elements, check_registry_encoding)
13564 (check_fontset_name): New functions.
13565 (syms_of_fontset): Set char-table-extra-slots property of fontset
13566 to 3. Staticpro and initialize Vfontset_table and
13567 Vdefault_fontset. Defsubr fontset_font and fontset_list.
13568
13569 * frame.h (struct frame): Member `fontset_data' removed.
13570 (FRAME_FONTSET_DATA): Macro removed.
13571
13572 * frame.c (make_frame): Don't allocate f->fontset_data.
13573 (Fdelete_frame): Don't free f->fontset_data.
13574
13575 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
13576
13577 * xdisp.c (charset_at_position): Function removed.
13578 (init_iterator): Don't set member charset of struct `it'.
13579 (handle_face_prop, reseat_to_string, set_iterator_to_next)
13580 (next_element_from_display_vector, insert_left_trunc_glyphs):
13581 Likewise.
13582 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
13583 FACE_FOR_CHARSET.
13584 (get_next_display_element, append_space)
13585 (extend_face_to_end_of_line): Likewise.
13586
13587 * xfaces.c (Qx_charset_registry, Vface_default_registry):
13588 Variables removed.
13589 (clear_font_table, frame_update_line_height, load_face_font):
13590 Adjusted for the change of fontset implementation.
13591 (load_face_fontset_font): Function removed.
13592 (pixel_point_size): New function.
13593 (font_list): Argument type changed. Caller changed.
13594 (LFACE_FONT): New macro.
13595 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
13596 (set_lface_from_font_name): Type of arg FONTNAME is changed to
13597 Lisp_Object. Determine the font name by actually loading a font
13598 by the specified pattern. Set LFACE_FONT (lface) to the specified
13599 pattern. Even if a font is not found, don't try alternatives.
13600 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
13601 (set_font_frame_param): If `font' is specified in lface, use it.
13602 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
13603 (lface_same_font_attributes_p): Likewise.
13604 (make_realized_face): Arguent changed. Caller changed. Set
13605 face->ascii_face to face itself.
13606 (free_realized_face): Free face->fontset if face is for ASCII.
13607 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
13608 (deduce_unibyte_registry, x_charset_registry): Functions removed.
13609 (free_realized_multibyte_face): New function.
13610 (lookup_face, lookup_named_face, lookup_derived_face): Argument
13611 changed. Caller changed.
13612 (try_font_list): Argument type changed.
13613 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
13614 (choose_face_font): Argument changed. Handle fontset properly.
13615 (choose_face_fontset_font): Function removed.
13616 (realize_default_face, realize_named_face): Don't remove the
13617 former face here.
13618 (realize_face): Argument changed. Caller changed. Remove face
13619 with the arg former_face_id in advance. Load font for the new face.
13620 (realize_x_face): Argument changed. Caller changed. For a
13621 multibyte character, share fontset with base_face. For a single
13622 byte character, make a new realized fontset. Don't load a font here.
13623 (realize_tty_face): Argument changed. Caller changed.
13624 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
13625 (face_at_buffer_position): Don't check multibyte_p for returning
13626 DEFAULT_FACE_ID.
13627 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
13628 FACE_SUITABLE_FOR_CHARSET_P.
13629 (syms_of_xfaces): Remove code for Qx_charset_registry and
13630 Vface_default_registry.
13631
13632 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
13633 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
13634 (x_per_char_metric): Don't try FONT->default_char. Even if
13635 pcm->width is zero, glyph bits may exist.
13636 (x_encode_char): Always initialize char2b->byte1.
13637 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
13638 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
13639 (x_append_glyph): Set glyph->glyph_not_available_p.
13640 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
13641 it->charset. Handle the case that per char metric is not
13642 available. If it->multibyte_p is zero and it->c is a multibyte
13643 character, convert it to a unibyte character.
13644 (struct glyph_string): Delete member `charset'.
13645 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
13646 the case that per char metric is not available correctly.
13647 (x_fill_glyph_string): Handle the case that the specific glyph is
13648 not available correctly.
13649 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
13650 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
13651 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
13652 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
13653 fontset. Don't call FS_LOAD_FONT.
13654
13655 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
13656 (x_create_tip_frame): Likewise.
13657 (Fx_close_connection): Free full_name of font_info.
13658
13659 * fns.c (optimize_sub_char_table): New function.
13660 (Foptimize_char_table): New function.
13661 (syms_of_fns): Defsubr Soptimize_char_table.
13662
13663 2000-03-20 Gerd Moellmann <gerd@gnu.org>
13664
13665 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
13666 only if buffer is displayed in some window.
13667
13668 * xdisp.c (handle_single_display_prop): Initialize local `value'.
13669 (try_window_reusing_current_matrix): Don't call scroll run
13670 function if run's current and desired position are the same;
13671 this prevents cursor flickering.
13672
13673 2000-03-19 Stefan Monnier <monnier@cs.yale.edu>
13674
13675 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
13676
13677 * regex.c (RE_STRING_CHAR): New macro.
13678 (GET_CHAR_AFER_2): Remove.
13679 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
13680 (enum re_opcode_t): Remove on_failure_jump_exclusive.
13681 (print_partial_compiled_pattern, re_compile_fastmap)
13682 (re_match_2_internal): Remove on_failure_jump_exclusive.
13683 (regex_compile): Turn optimizable P+ loops into PP*, so that the
13684 optimization only need to work for * (ie. can use of_keep_string_jump).
13685 Remove the special case for .*\n since it is now covered by the general
13686 optimization.
13687 (re_search_2): Don't bother with `room'.
13688 (skip_one_char): New function.
13689 (skip_noops): Simplify since `memory' is not needed any more.
13690 (mutually_exclusive_p): Restructure slightly to use `switch' and
13691 add handling for "all" remaining cases.
13692 (re_match_2_internal): Change on_failure_jump_smart to use
13693 on_failure_keep_string_jump (and redirect the end-of-loop jump)
13694 rather than on_failure_jump_exclusive.
13695
13696 2000-03-19 Gerd Moellmann <gerd@gnu.org>
13697
13698 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
13699 number of bits per RGB because it's everywhere used as the depth
13700 of the visual.
13701
13702 * term.c (calculate_costs): Remove code dealing with X frames.
13703
13704 2000-03-19 Richard M. Stallman <rms@gnu.org>
13705
13706 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
13707
13708 2000-03-18 Gerd Moellmann <gerd@gnu.org>
13709
13710 * lread.c (read_integer): Unread the last char not consumed.
13711
13712 2000-03-17 Gerd Moellmann <gerd@gnu.org>
13713
13714 * xterm.c (x_update_window_cursor): Don't update in frames
13715 which are in the process of being deleted.
13716
13717 2000-03-16 Gerd Moellmann <gerd@gnu.org>
13718
13719 * Makefile.in (mostlyclean): Add `*.core'.
13720 (clean): Add `bootstrap-emacs'.
13721
13722 * lread.c (read_integer): New function.
13723 (read1): Support read syntax #o, #x, #b, #r.
13724
13725 2000-03-15 Stefan Monnier <monnier@cs.yale.edu>
13726
13727 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
13728 make sure POINTER_TO_OFFSET gives the same value before and after
13729 PREFETCH. Use `dfail' to guarantee "atomic" matching.
13730 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
13731 (debug): Now only active if > 0 rather than if != 0.
13732 (DEBUG_*): Update for the new meaning of `debug'.
13733 (print_partial_compiled_pattern): Add missing `succeed' case. Use
13734 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
13735 in `succeed_n', `jump_n' and `set_number_at'.
13736 (store_op1, store_op2, insert_op1, insert_op2)
13737 (at_begline_loc_p, at_endline_loc_p): Add prototype.
13738 (group_in_compile_stack): Move to after its arg's types are
13739 declared and add a prototype.
13740 (PATFETCH): Define in terms of PATFETCH_RAW.
13741 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
13742 (QUIT): Redefine as a nop except for NTemacs.
13743 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
13744 indentation of the greedy-op and shy-group code.
13745 (at_(beg|end)line_loc_p): Fix argument's types.
13746 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
13747 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
13748 (MATCHING_IN_FIRST_STRING): Remove.
13749 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13750 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13751 QUIT unconditionally.
13752
13753 2000-03-15 Gerd Moellmann <gerd@gnu.org>
13754
13755 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13756 a sole completion.
13757
13758 * process.c (send_process): Add a hint that the function
13759 can call Lisp code to its comment.
13760
13761 * lread.c (load_dangerous_libraries): New variable.
13762 (Vbytecomp_version_regexp): New variable.
13763 (safe_to_load_p): New function.
13764 (Fload): Handle files not compiled with Emacs specially.
13765 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13766
13767 2000-03-14 Gerd Moellmann <gerd@gnu.org>
13768
13769 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13770
13771 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13772 support functions only if HAVE_X11R6_XIM is defined.
13773 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13774
13775 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13776
13777 * xfns.c (X_I18N_INHIBITED): Don't define.
13778 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
13779 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13780
13781 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13782 (HAVE_X11R6_XIM): Define.
13783
13784 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13785
13786 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13787 If set, call XSynchronize.
13788
13789 2000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13790
13791 * regex.c: Declare a new type `re_char' used throughout the code
13792 for the string char type. It's `const unsigned char' to match the
13793 rest of Emacs. Consistently make sure all pointers to strings use
13794 it and make sure all pointers into the pattern use `unsigned char'.
13795 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
13796 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13797 code duplication.
13798
13799 * charset.h (GET_CHAR_AFTER_2): Remove.
13800 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13801
13802 2000-03-12 Ken Raeburn <raeburn@gnu.org>
13803
13804 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13805 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13806 of them try to use backquotes.
13807
13808 2000-03-12 Dave Love <fx@gnu.org>
13809
13810 * unexelf.c: Restore changes of 1999-10-19.
13811 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13812 fix its type and alignment; copy it from current process.
13813
13814 2000-03-12 Gerd Moellmann <gerd@gnu.org>
13815
13816 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13817 has been found. Fix bug not computing timer's predecessor.
13818
13819 * fileio.c (Fread_file_name): Handle case that DIR contains a
13820 file name.
13821
13822 * window.c (Fsave_window_excursion): Doc fix.
13823
13824 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
13825
13826 2000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13827
13828 * msdos.c (vga_installed): New function, code moved from
13829 dos_set_window_size.
13830 (Qbar, Qcursor_type, outside_cursor): New variables.
13831 (syms_of_msdos): Intern and staticpro them.
13832 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13833 shape used outside Emacs when called for the first time.
13834 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13835 cursor shape used outside Emacs.
13836 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13837 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13838 type has changed.
13839 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13840 parameters specify the cursor. Make qreverse a global
13841 variable (renamed to Qreverse).
13842
13843 2000-03-09 Gerd Moellmann <gerd@gnu.org>
13844
13845 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13846
13847 2000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13848
13849 This is a big redesign of failure-stack and register handling, prompted
13850 by bugs revealed when trying to add shy-groups. Overall, what happened
13851 is that loops are now structured a little differently, groups can be
13852 shy and the code is a little simpler.
13853
13854 * regex.h: Update the copyright.
13855 (RE_SHY_GROUPS): New value.
13856 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13857 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13858
13859 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13860 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13861 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13862 for (start|stop)_memory since they now only take one argument (the
13863 second has becomes unnecessary).
13864 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
13865 (print_compiled_pattern): Use %ld to printf long ints and flush to
13866 make debugging a little easier.
13867 (union fail_stack_elt): Make the integer unsigned.
13868 (struct fail_stack_type): Add a `frame' element.
13869 (INIT_FAIL_STACK): Init `frame' as well.
13870 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13871 (DEBUG_PUSH, DEBUG_POP): Remove.
13872 (NUM_REG_ITEMS): Remove.
13873 (NUM_NONREG_ITEMS): Adjust.
13874 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13875 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
13876 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
13877 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13878 New macros.
13879 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13880 address pushed is not the destination of the jump but the source
13881 of it instead.
13882 (NUM_FAILURE_ITEMS): Remove.
13883 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
13884 registers before the actual failure point). Don't hardcode any
13885 meaning for str==NULL anymore.
13886 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
13887 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13888 Remove.
13889 (REG_UNSET_VALUE): Use NULL (why not?).
13890 (compile_range): Remove declaration since it doesn't exist.
13891 (struct compile_stack_elt_t): Remove inner_group_offset.
13892 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13893 (regex_grow_registers): Remove dead code.
13894 (FIXUP_ALT_JUMP): New macro.
13895 (regex_compile): Add shy-groups Change loops to use
13896 on_failure_jump_smart&jump instead of
13897 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13898 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13899 variable to me). Use `jump' instead of `jump_past_alt' and don't
13900 bother with push_dummy_failure in alternatives since it is now
13901 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13902 emacs' for (re)allocating the stack.
13903 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13904 from loop when bufp->can_be_null rather than jumping to `done'.
13905 Avoid jumping backwards so as to ensure termination. Use
13906 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13907 backreferences. Remove dead code in handling of `anychar'.
13908 (skip_noops, mutually_exclusive_p): New functions taken from the
13909 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13910 improve mutually_exclusive_p to handle ".+\n".
13911 (lowest_active_reg, highest_active_reg)
13912 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
13913 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13914 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13915 variables. Push register (in `start_memory') on the stack rather
13916 than storing it in old_reg(start|end). Remove the cycle detection
13917 from `stop_memory', replaced by the use of on_failure_jump_loop
13918 for greedy loops. Add code for the new on_failure_jump_<foo>.
13919 Remove ad-hoc code in `on_failure_jump' to push more registers in
13920 the case of a loop. Take out code from `maybe_pop_jump' into
13921 separate functions and adapt it to the semantics of
13922 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13923 and push_dummy_failure. Remove dummy_failure handling and
13924 handling of `failures to jump to on_failure_jump' (this last one
13925 was already dead code, it seems).
13926 (group_match_null_string_p, alt_match_null_string_p)
13927 (common_op_match_null_string_p): Remove.
13928
13929 2000-03-08 Dave Love <fx@gnu.org>
13930
13931 * config.in: Don't depend on __STDC__ for volatile.
13932 Add POINTER_TYPE, PTR, PROTOTYPES.
13933
13934 * hftctl.c, strftime.c: Use PROTOTYPES.
13935 * eval.c (find_handler_clause): Likewise.
13936
13937 * mem-limits.h: Use POINTER_TYPE.
13938
13939 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13940 (memory_warnings): Declare using POINTER_TYPE.
13941
13942 2000-03-08 Gerd Moellmann <gerd@gnu.org>
13943
13944 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13945
13946 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
13947
13948 * xfns.c: Remove obsolete code in #if 0.
13949 (Fx_focus_frame): New function.
13950
13951 2000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13952
13953 * coding.c (coding_category_name): Add coding-category-utf-8,
13954 coding-category-utf-16-be, coding-category-utf-16-le.
13955 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13956 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13957 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13958 (detect_coding_utf_8): New function.
13959 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13960 UTF_16_LOW_SURROGATE_P): New macros.
13961 (detect_coding_utf_16): New function
13962 (detect_coding_mask): When priorities are specified, skip any
13963 categories that have `nil' coding-system. Fix bug of returning
13964 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13965 returns a mask not set in PRIORITIES.
13966 (detect_eol_type_in_2_octet_form): New function.
13967 (detect_eol): selects detect_eol_type_XXX to call according to
13968 cooding->category_idx.
13969 (detect_coding_system): Remove `nil' coding-system in the result.
13970 (Fupdate_coding_systems_internal): Update all coding-categories.
13971
13972 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13973 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13974 New macros.
13975 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13976 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13977 (CODING_CATEGORY_IDX_UTF_16_LE)
13978 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13979 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
13980 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13981 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13982
13983 2000-03-07 Gerd Moellmann <gerd@gnu.org>
13984
13985 * doc.c (Fdocumentation_property): If value is not a string,
13986 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13987
13988 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13989 close the display with XtCloseDisplay. This caused a bus error
13990 on OpenWindows.
13991
13992 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13993 complete but not unique.
13994
13995 2000-03-06 Gerd Moellmann <gerd@gnu.org>
13996
13997 * process.c (send_process): Remove local variable `procname' that
13998 might become invalid when a GC happens. Instead, access the
13999 process name slot directly.
14000
14001 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
14002 orig_height if set.
14003
14004 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
14005 orig_height if set.
14006
14007 2000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
14008
14009 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
14010 glyph matrices have been freed.
14011
14012 2000-03-05 Gerd Moellmann <gerd@gnu.org>
14013
14014 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
14015 (bootstrap-temacs): Set LC_ALL to C like for temacs.
14016
14017 * xfns.c (QCdata): Moved to xdisp.c.
14018
14019 * xdisp.c (QCdata): Moved here from xfns.c.
14020 (syms_of_xdisp): Initialize QCdata.
14021
14022 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
14023
14024 * window.c (coordinates_in_window): Use
14025 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
14026 FRAME_INTERNAL_BORDER_WIDTH.
14027
14028 * xdisp.c (try_window_id): Recompute unchanged information if
14029 it is obviously invalid.
14030
14031 * xterm.c (x_term_init): Create a colormap if not using the
14032 default visual.
14033
14034 * xterm.h (select_visual): Change prototype.
14035
14036 * xfns.c (select_visual): Rewritten. Recognize user-specified
14037 visual classes.
14038 (visual_classes): New variable.
14039
14040 2000-03-04 Gerd Moellmann <gerd@gnu.org>
14041
14042 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
14043 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
14044 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
14045 (x_decode_color): Don't handle allocation of white and black specially.
14046 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
14047 XtNcolormap resources.
14048 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
14049 (Fx_create_frame): Initialize color members of x_output structure.
14050 (xpm_load): Pass colormap to XPM lib.
14051
14052 * xfaces.c (x_free_colors): Access colormap of frame using
14053 FRAME_X_COLORMAP. Be paranoid about freeing black and white
14054 when default colormap is used.
14055
14056 * xterm.c (x_term_init): Set Colormap member of x_display_info
14057 structure. Copy colormap if resource `privateColormap' is
14058 specified (PseudoColor only).
14059 (x_setup_relief_color): Access colormap of frame using
14060 FRAME_X_COLORMAP.
14061
14062 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
14063 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
14064
14065 2000-03-04 Jason Rumney <jasonr@gnu.org>
14066
14067 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
14068 other non-platform-specific equivalents.
14069 [WINDOWSNT]: Include w32term.h, fontset.h and define X
14070 specific functions and macros as their w32 equivalents where
14071 non-platform-specifics are not available.
14072 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
14073 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
14074 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
14075 (frame_update_line_height): Use macros to access f->output_data.
14076 (defined_color): Remove FIXME comments; fixed.
14077 (x_face_list_fonts, prepare_face_for_display): Put X specifics
14078 into #ifdef blocks. Add WINDOWSNT blocks.
14079 (Fx_list_fonts): Use macros for accessing font data.
14080 (set_lface_from_font_name): Different default fonts for X and
14081 WINDOWSNT.
14082 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
14083 scalable for backward compatibility.
14084 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
14085 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
14086
14087 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
14088 syms_of_w32faces.
14089
14090 * makefile.nt (w32faces.obj): Remove.
14091 (xfaces.obj): Add.
14092
14093 2000-03-03 Jason Rumney <jasonr@gnu.org>
14094
14095 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
14096 correct parameters.
14097
14098 2000-03-03 Ken Raeburn <raeburn@gnu.org>
14099
14100 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
14101 standard ELF definitions here if the system header does not.
14102
14103 2000-03-03 Gerd Moellmann <gerd@gnu.org>
14104
14105 * xterm.c (PER_CHAR_METRIC): Removed.
14106 (x_per_char_metric_1, x_default_char): New functions.
14107 (x_per_char_metric): If font's default char is invalid, return
14108 metrics of a suitably chosen usable default char.
14109 (x_draw_glyph_string_foreground): If font has an invalid default
14110 char, replace occurrences of unprintable chars with a suitably
14111 chosen usable default char.
14112
14113 2000-03-02 Gerd Moellmann <gerd@gnu.org>
14114
14115 * xterm.c (note_mouse_highlight): Return quickly if frame's
14116 glyph matrices have been freed.
14117
14118 * dispnew.c (free_glyphs): Block input while freeing matrices.
14119
14120 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
14121
14122 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
14123 Use x_free_colors.
14124
14125 * dispextern.h (x_free_colors): Add prototype.
14126
14127 * xfaces.c (x_free_colors): New function.
14128 (unload_color, free_face_colors): Use it.
14129
14130 2000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
14131
14132 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
14133
14134 * window.c [MSDOS]: Include msdos.h.
14135
14136 2000-03-02 Dave Love <fx@gnu.org>
14137
14138 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
14139
14140 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
14141 set C_OPTIMIZE_SWITCH for gcc.
14142
14143 2000-03-02 Kenichi Handa <handa@etl.go.jp>
14144
14145 * coding.c (coding_save_composition): Be sure to allocate
14146 composition data area in coding even if there's no composition in
14147 the current run.
14148
14149 2000-03-01 Jason Rumney <jasonr@gnu.org>
14150
14151 * w32term.c: Equivalent changes to those made to xterm.c on
14152 2000-02-25 and 2000-02-24.
14153
14154 * w32fns.c: Equivalent changes to those made to xfns.c on
14155 2000-02-25 and 2000-02-21.
14156
14157 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
14158 correct line-end convention is followed.
14159
14160 * w32menu.c [HAVE_BOXES]: Remove #undef.
14161 (single_keymap_panes): Remove code for simulating checkmarks.
14162 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
14163 Remove code for drawing simulated checkmarks.
14164 (w32_menu_show): make unibyte help string correctly.
14165 (add_menu_item): draw standard Windows checkmarks. Draw radio
14166 buttons as radio buttons if possible.
14167
14168 2000-03-01 Gerd Moellmann <gerd@gnu.org>
14169
14170 * sysdep.c (start_of_text): Don't define this function for NetBSD
14171 with ELF.
14172
14173 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
14174 Don't define.
14175 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
14176 (LINKER): Don't undef if __NetBSD__ is defined.
14177
14178 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
14179
14180 * fileio.c [__NetBSD__]: Define `unix'.
14181
14182 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
14183
14184 2000-02-29 Gerd Moellmann <gerd@gnu.org>
14185
14186 * atimer.c (start_atimer): Don't abort when timers are stopped.
14187 (append_atimer_lists): New function.
14188 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
14189 arbitrary lists of stopped and running atimers.
14190
14191 * atimer.c (cancel_atimer): Handle canceling an atimer when
14192 some timers are stopped.
14193
14194 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
14195 after canceling it.
14196
14197 * fns.c (maybe_resize_hash_table): Handle case of new size
14198 coming out as being the same as old size.
14199
14200 2000-02-27 Jason Rumney <jasonr@gnu.org>
14201
14202 * makefile.nt: Add atimer.h to dependencies.
14203 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
14204 * w32console.c: Only disable window system features for dispextern.h
14205 (initialize_w32_display): Build a display info for the console.
14206 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
14207 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
14208 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
14209 as 2 button mice.
14210 * w32gui.h (struct W32FontStruct): Revert last change after change
14211 to xdisp.c.
14212 * w32menu.c (single_submenu): Set up help string.
14213 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
14214 (w32_dialog_show): Set up help string.
14215 * w32term.c (w32_display_info_for_display): Remove unused function.
14216 (w32_draw_bitmap): Use pre-built bitmaps.
14217 (w32_initialize_display_info): New function to initialize parts of
14218 display info that are common to both GUI and console frames.
14219 (w32_term_init): Use w32_initialize_display_info. Do not set
14220 Vw32_num_mouse_buttons here, as it is not called for console
14221 frames. Build bitmaps for indicating truncated lines etc.
14222 (x_delete_display): Destroy pre-built bitmaps.
14223 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
14224 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
14225
14226 2000-02-27 Dave Love <fx@gnu.org>
14227
14228 * lisp.h: Add a bunch of prototypes.
14229
14230 2000-02-26 Kenichi Handa <handa@etl.go.jp>
14231
14232 * keyboard.c (read_char): Set `usec' correctly.
14233
14234 2000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
14235
14236 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
14237 `lambda', set reg[RRR] to the map index.
14238 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
14239 reg[RRR] to 0. Otherwise, set it to -1.
14240
14241 2000-02-25 Gerd Moellmann <gerd@gnu.org>
14242
14243 * emacs.c (main): Remove code snippet commented out with `//'.
14244
14245 2000-02-25 Richard M. Stallman <rms@gnu.org>
14246
14247 * fileio.c (Ffile_symlink_p): If result starts with a `/'
14248 and contains a `:', prepend `/:'.
14249
14250 * window.c (select_window_1): If selected_window is nil,
14251 don't "swap out" the buffer's point.
14252 (Fset_window_configuration): Set selected_window to nil
14253 before calling Fselect_window.
14254 (unshow_buffer): Don't set point in buffer from window's point
14255 if another more recently selected window also shows the buffer.
14256
14257 2000-02-25 Gerd Moellmann <gerd@gnu.org>
14258
14259 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
14260
14261 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
14262 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
14263 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
14264 New variables.
14265 (DEFAULT_BUSY_CURSOR_DELAY): New define.
14266 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
14267 (hide_busy_cursor): New functions.
14268 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
14269
14270 * minibuf.c (read_minibuf): Cancel busy-cursor.
14271
14272 * keyboard.c (command_loop_1): Call start_busy_cursor before
14273 Fcommand_execute and cancel_busy_cursor after it.
14274 (timer_check): Remove busy-cursor code.
14275 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
14276 cursor timer.
14277
14278 * process.c (wait_reading_process_input): Remove busy-cursor code.
14279
14280 * eval.c (Fsignal): Call cancel_busy_cursor instead of
14281 Fx_hide_busy_cursor.
14282
14283 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
14284 Remove prototyoes.
14285 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
14286
14287 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
14288
14289 * xterm.c (XTread_socket): Remove busy-cursor code.
14290
14291 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
14292 (build_frame_matrix_from_leaf_window): Put code handling
14293 glyph row's not being a slice of a frame row in #if 0.
14294 (sync_window_with_frame_matrix_rows): New function.
14295 (frame_row_to_window): New function.
14296 (mirror_line_dance): Handle copies between windows.
14297
14298 * lread.c (Fload): Use `xfree' instead of `free'.
14299 (init_obarray): Use `xmalloc' instead of `malloc'.
14300
14301 * window.c (Fset_window_buffer): Set WINDOW to the window
14302 after decoding.
14303 (coordinates_in_window): Take frame's internal border width
14304 into account.
14305
14306 2000-02-24 Gerd Moellmann <gerd@gnu.org>
14307
14308 * xterm.c (x_display_and_set_cursor): Display cursor of
14309 non-selected windows depending on the setting of
14310 cursor_in_non_selected_windows.
14311
14312 * xdisp.c (cursor_in_non_selected_windows): New variable.
14313 (syms_of_xdisp): DEFVAR_BOOL it.
14314
14315 2000-02-23 Gerd Moellmann <gerd@gnu.org>
14316
14317 * data.c (Fstring_to_number): If number is greater than what
14318 fits into an integer, return a float.
14319
14320 * eval.c (specbind): Remove references to
14321 keyword_symbols_constant_flag.
14322
14323 * data.c (keyword_symbols_constant_flag): Removed.
14324 (Fmakunbound, set_internal, syms_of_data): Remove references to
14325 keyword_symbols_constant_flag.
14326
14327 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
14328
14329 2000-02-23 Kenichi Handa <handa@etl.go.jp>
14330
14331 * syntax.c (multibyte_syntax_as_symbol): New variable.
14332 (syms_of_syntax): Declare it as a Lisp variable.
14333 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
14334 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
14335 nonzero, treat all multibyte characters as symbol.
14336 (init_syntax_once): Give syntax `word' to all multibyte characters.
14337
14338 2000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
14339
14340 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
14341 a deleted frame.
14342
14343 2000-02-21 Gerd Moellmann <gerd@gnu.org>
14344
14345 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
14346
14347 * xfns.c (x_window_to_frame, x_any_window_to_frame)
14348 (x_non_menubar_window_to_frame): Check the busy-cursor window.
14349
14350 2000-02-21 Dave Love <fx@gnu.org>
14351
14352 * frame.c (Vmouse_position_function): New variable.
14353 (Fmouse_position): Use it.
14354 (syms_of_frame): Install it.
14355
14356 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
14357
14358 2000-02-20 Gerd Moellmann <gerd@gnu.org>
14359
14360 * fileio.c (Finsert_file_contents): Unbind the binding of
14361 standard-output done by temp_output_buffer_setup.
14362
14363 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
14364 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
14365 (specbind, unbind_to): Handle most common case of non-constant
14366 symbol with trivial value specially.
14367
14368 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
14369
14370 2000-02-20 Richard M. Stallman <rms@gnu.org>
14371
14372 * data.c (Fmake_variable_buffer_local): Doc fix.
14373 Init found_for_buffer to 0.
14374 (Fmake_variable_frame_local): If the variable has already
14375 been buffer-local, set the check_frame field.
14376
14377 2000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
14378
14379 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
14380 produced for CODING_MODE_LAST_BLOCK requires.
14381
14382 2000-02-18 Dave Love <fx@gnu.org>
14383
14384 * keyboard.c (echo_keystrokes): Remove declaration.
14385 (Vecho_keystrokes) New variable.
14386 (read_char, record_menu_key, read_key_sequence): Use it to allow
14387 use of float value.
14388 (syms_of_keyboard): Change Vecho_keystrokes declaration.
14389
14390 * lread.c: Undef feature selection macros before defining.
14391
14392 2000-02-18 Gerd Moellmann <gerd@gnu.org>
14393
14394 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
14395 for symbols other than the symbol in question.
14396
14397 2000-02-17 Dave Love <fx@gnu.org>
14398
14399 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
14400
14401 2000-02-17 Gerd Moellmann <gerd@gnu.org>
14402
14403 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
14404
14405 * alloc.c (enum mem_type): Compile unconditionally.
14406
14407 2000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
14408
14409 * xfaces.c (tty_defined_color): Don't return faulire indication
14410 for unspecified-fg and unspecified-bg pseudo-colors.
14411
14412 2000-02-17 Gerd Moellmann <gerd@gnu.org>
14413
14414 * alloc.c (mark_object): Don't mark symbol names in pure space.
14415 (gc_sweep): Don't unmark symbol names in pure space.
14416
14417 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
14418 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
14419 [GC_MARK_STACK]: New defines.
14420 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
14421 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
14422
14423 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
14424
14425 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
14426 allocate_buffer instead of xmalloc.
14427
14428 * alloc.c (toplevel): Include setjmp.h.
14429 (PURE_POINTER_P): New define.
14430 (enum mem_type) [GC_MARK_STACK]: New enumeration.
14431 (Vdead) [GC_MARK_STACK]: New variable.
14432 (lisp_malloc): Add parameter TYPE, call mem_insert if
14433 GC_MARK_STACK is defined.
14434 (allocate_buffer): New function.
14435 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
14436 (free_float) [GC_MARK_STACK]: Set type to Vdead.
14437 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
14438 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
14439 (MEM_NIL) [GC_MARK_STACK]: New define.
14440 (struct mem_node) [GC_MARK_STACK]: New structure.
14441 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
14442 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
14443 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
14444 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
14445 (mark_stack) [GC_MARK_STACK]: New functions.
14446 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
14447 (clear_marks): Removed.
14448 (gc_sweep): Set free conses' car, free floats' type, free
14449 symbols' function to Vdead. Use lisp_free to free buffers.
14450 (init_alloc_once): Initialize Vdead.
14451 (survives_gc_p): Return non-zero for pure objects.
14452
14453 * alloc.c: Add comments throughout the file.
14454
14455 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
14456 that unblocks alarms.
14457
14458 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
14459 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
14460 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
14461
14462 * frame.c (make_frame): Set frame initiallly to `garbaged'.
14463
14464 2000-02-17 Kenichi Handa <handa@etl.go.jp>
14465
14466 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
14467 avoid infinite error signaling. Allocate sufficient memory for
14468 eol_str in the case that eoltype is Lisp_Int.
14469
14470 2000-02-17 Stefan Monnier <monnier@cs.yale.edu>
14471
14472 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
14473 depends on the previous behavior.
14474
14475 2000-02-16 Gerd Moellmann <gerd@gnu.org>
14476
14477 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
14478
14479 2000-02-15 Gerd Moellmann <gerd@gnu.org>
14480
14481 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
14482
14483 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
14484 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
14485 write(2).
14486
14487 2000-02-15 Richard M. Stallman <rms@gnu.org>
14488
14489 * data.c (set_internal): Don't make variable buffer-local
14490 if within a let-binding for the same buffer.
14491 (let_shadows_buffer_binding_p): New function.
14492
14493 * eval.c (specbind): For buffer-local value,
14494 record the current buffer also.
14495 (unbind_to): Cope with that change.
14496
14497 2000-02-15 Gerd Moellmann <gerd@gnu.org>
14498
14499 * window.c (Fsave_window_excursion): Doc fix.
14500
14501 2000-02-15 Stefan Monnier <monnier@cs.yale.edu>
14502
14503 * syntax.c (back_comment): Make sure we only consider comment-starters
14504 of the relevant style and return -1 in case of a failure to find the
14505 beginning of the comment.
14506 (Fforward_comment): If back_comment fails, go back to the position just
14507 after the comment-end.
14508 (scan_lists): Add comment describing a very minor bug.
14509
14510 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14511
14512 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
14513 `completion-regexp-list' in the docstring.
14514
14515 2000-02-14 Dave Love <fx@gnu.org>
14516
14517 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
14518
14519 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
14520
14521 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
14522 to Emacs' syntax. Also fix the comment about set/not-set meanings
14523 since Emacs syntax is not the value 0 any more.
14524 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
14525 since it's now part of RE_SYNTAX_EMACS.
14526
14527 2000-02-12 Dave Love <fx@gnu.org>
14528
14529 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
14530
14531 2000-02-12 Gerd Moellmann <gerd@gnu.org>
14532
14533 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
14534
14535 2000-02-12 Dave Love <fx@gnu.org>
14536
14537 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
14538
14539 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
14540 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
14541 * s/hpux.h: Don't define HAVE_VFORK.
14542
14543 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
14544
14545 * s/nextstep.h: Don't define HAVE_ALLOCA.
14546
14547 * config.in: Add vfork bits.
14548
14549 2000-02-12 Gerd Moellmann <gerd@gnu.org>
14550
14551 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
14552 unwind function to undo the effect of stopping atimers.
14553
14554 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
14555
14556 * atimer.c (stopped_atimers): New variable.
14557 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
14558 New functions.
14559
14560 * atimer.h (stop_other_atimers, run_all_atimers)
14561 (unwind_stop_other_atimers): Add function prototypes.
14562
14563 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
14564
14565 2000-02-11 Ken Raeburn <raeburn@gnu.org>
14566
14567 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
14568 library may depend on jpeg.
14569 (atimer.o): Depends on atimer.c.
14570
14571 2000-02-11 Kenichi Handa <handa@etl.go.jp>
14572
14573 * insdel.c (del_range_1): Call update_compositions.
14574 (del_range_both): Call update_compositions just once..
14575
14576 2000-02-10 Dave Love <fx@gnu.org>
14577
14578 * xfns.c (create_frame_xic): Fix initialization of automatic
14579 aggregates for pcc.
14580
14581 2000-02-09 Kenichi Handa <handa@etl.go.jp>
14582
14583 * ccl.c (CCL_MAKE_CHAR): New macro.
14584 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
14585 registers by CCL_MAKE_CHAR before calling translate_char.
14586 <CCL_TranslateCharacterConstTbl> Likewise.
14587
14588 2000-02-08 Dave Love <fx@gnu.org>
14589
14590 * lread.c (__EXTENSIONS__): Define.
14591
14592 2000-02-08 Gerd Moellmann <gerd@gnu.org>
14593
14594 * puresize.h (BASE_PURESIZE): Increase to 650000.
14595
14596 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14597
14598 * msdos.c (XMenuActivate): Turn off the cursor after displaying
14599 the help message.
14600
14601 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
14602
14603 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
14604 md, mh, mb, mr, and me to the fake termcap entry.
14605
14606 2000-02-06 Ken Raeburn <raeburn@gnu.org>
14607
14608 * sound.c (sound_cleanup): Don't call device close routine if the
14609 function pointer is null.
14610
14611 2000-02-06 Andrew Innes <andrewi@gnu.org>
14612
14613 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
14614 around image definitions and prototypes.
14615 (gamma_correct) [WINDOWSNT]: New prototype.
14616
14617 * w32term.c (x_make_frame_visible): Replace call to
14618 input_poll_signal with poll_for_input.
14619
14620 * window.c [WINDOWSNT]: Include w32term.h.
14621
14622 * xdisp.c [WINDOWSNT]: Include w32term.h.
14623
14624 * makefile.nt: Add dependencies on w32gui.h.
14625 (OBJ1): Include atimer.obj.
14626 ($(BLD)\atimer.obj): New dependency rule.
14627
14628 * w32.c (sigmask): New function (does nothing).
14629 (sigunblock): Ditto.
14630
14631 * frame.c [WINDOWSNT]: Include w32term.h.
14632
14633 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
14634
14635 * lread.c (syms_of_lread): Fix literal newlines.
14636
14637 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
14638 the string constant limit (2048 bytes) in MSVC.
14639 (main): Ditto.
14640
14641 2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
14642
14643 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
14644 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
14645 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
14646 dispatch the event.
14647
14648 2000-02-04 Dave Love <fx@gnu.org>
14649
14650 * fileio.c: Remove some unused vars.
14651 (_GNU_SOURCE): Define (for euidaccess).
14652
14653 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
14654
14655 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
14656 gcpro1, gcpro2.
14657 (read_minibuf): Deal with allow_props correctly.
14658
14659 2000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
14660
14661 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
14662
14663 2000-02-03 Ken Raeburn <raeburn@gnu.org>
14664
14665 * search.c (compile_pattern): If a cache entry has a nil regexp,
14666 fill in that entry instead of clobbering a previously cached
14667 string regexp.
14668
14669 2000-02-02 Ken Raeburn <raeburn@gnu.org>
14670
14671 * puresize.h (BASE_PURESIZE): Increase to 610000.
14672
14673 2000-02-02 Gerd Moellmann <gerd@gnu.org>
14674
14675 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
14676 can GC.
14677
14678 2000-02-02 Kenichi Handa <handa@etl.go.jp>
14679
14680 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
14681 instead of incrementing ic directly.
14682 <CCL_WriteExprConst> Likewise.
14683 <ccl_set_expr>: Set ic to jump_address.
14684
14685 * fileio.c (e_write): Fix the handling of
14686 CODING_FINISH_INSUFFICIENT_SRC.
14687
14688 2000-02-01 Dave Love <fx@gnu.org>
14689
14690 * editfns.c (Fpropertize): Doc fix.
14691
14692 * process.c (Fstart_process): Doc fix.
14693
14694 * eval.c: Fix various doc strings not to duplicate information
14695 from help-manyarg-func-alist.
14696
14697 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
14698
14699 * doc.c (Vhelp_manyarg_func_alist): New variable.
14700 (Fdocumentation): Use it.
14701 (syms_of_doc): Define it.
14702
14703 2000-01-31 Gerd Moellmann <gerd@gnu.org>
14704
14705 * xterm.c (xim_open_dpy): Remove unused local variable.
14706
14707 * emacs.c (USAGE): Use term `display options' instead of `X options'.
14708
14709 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
14710 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
14711
14712 * fns.c (sweep_weak_table): New function.
14713 (sweep_weak_hash_tables): Use it. Keep on marking until there
14714 is no more change.
14715
14716 2000-01-30 Gerd Moellmann <gerd@gnu.org>
14717
14718 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
14719 that XTread_socket does not crash by trying to call XNoOp on a
14720 closed display.
14721
14722 2000-01-30 Jason Rumney <jasonr@gnu.org>
14723
14724 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14725 Change selected_frame to SELECTED_FRAME ().
14726 (w32_console_mouse_position): Remove #ifndef MULE from around
14727 `insist' parameter.
14728
14729 * makefile.nt: Remove dosfns.obj.
14730
14731 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
14732
14733 * w32fns.c (w32_defined_color): Check for valid frame before
14734 applying gamma correction. Eliminate dependency on frame elsewhere.
14735 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
14736 (w32_to_x_font): Use resx and resy not height_in and width_in.
14737 (x_to_w32_font): Doc fix.
14738 (xlfd_strip_height): New function to strip and return font height.
14739 (w32_font_match): Compare height separately from rest of xlfd
14740 spec, using xlfd_strip_height.
14741
14742 * w32term.c (w32_term_init): Swap resx and height_in, resy and
14743 width_in. Use w32_defined_color in place of defined_color.
14744
14745 * w32faces.c: Merge more of DOS and X specifics in preparation for
14746 merge with xfaces.c.
14747 (defined_color): Remove FIXME comment.
14748 (tty_color_name): Provide w32-specific function.
14749 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14750
14751 * w32console.c (turn_on_face, turn_off_face): Removed.
14752 (w32_face_attributes): New function.
14753 (Global_variables): Reduce scope where possible.
14754 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14755 fill attribute.
14756 (hl_mode): Don't modify text attributes.
14757 (write_glyphs): Don't do anything if len <= 0. Use
14758 w32_face_attributes to get attributes for drawing. Write
14759 terminating codes using char_attr_normal.
14760 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14761 (update_begin, update_end): Likewise.
14762 (vga_stdcolor_name): New function.
14763 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14764 (Fset_screen_color): Remove char_attr_reverse.
14765
14766 2000-01-29 Gerd Moellmann <gerd@gnu.org>
14767
14768 * xfns.c (xic_set_preeditarea): Take window parameter and
14769 window-relative pixel-positions.
14770
14771 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14772 is its frame's selected window.
14773 (xim_instantiate_callback): Likewise.
14774
14775 * xfns.c (x_create_im): Removed.
14776 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14777 (supported_xim_styles): Renamed from supported_styles.
14778 (best_xim_style): Renamed from best_style.
14779 (create_frame_xic): Renamed from xic_create_frame.
14780 (free_frame_xic): Renamed from xic_destroy_frame.
14781
14782 2000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14783
14784 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14785 our frames, call XFilterEvent with 2nd parameter `None'.
14786 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14787 returning XBufferOverflow.
14788 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
14789 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14790 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14791 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14792 (xim_initialize, xim_close)
14793 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14794 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14795 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14796 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14797
14798 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14799 and `xim_styles'.
14800 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14801 `xic_style' and `xic_xfs'.
14802 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14803 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14804 (FRAME_XIM): Removed.
14805
14806 * xfns.c (supported_styles): New variable.
14807 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14808 (xic_create_xfontset, best_style, xic_create_frame)
14809 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14810 (xic_set_xfontset): New functions.
14811
14812 2000-01-28 Dave Love <fx@gnu.org>
14813
14814 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14815
14816 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14817
14818 2000-01-28 Gerd Moellmann <gerd@gnu.org>
14819
14820 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14821 for *scratch* if it already existed.
14822
14823 * emacs.c (USAGE): New macro.
14824 (main): Use it to display usage information.
14825
14826 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14827
14828 Support for the menu-help feature:
14829
14830 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
14831
14832 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14833 part of the line to the termscript file.
14834 (IT_clear_to_end): Clear the entire line, not just its beginning.
14835 (menu_help_message, prev_menu_help_message): New variables.
14836 (IT_menu_make_room): Make room for the help_text member.
14837 (IT_menu_display): New argument disp_help; all callers changed.
14838 If disp_help is non-zero, store the help text of the active menu
14839 item in menu_help_message.
14840 (XMenuAddPane): Initialize the help_text member to NULL.
14841 (XMenuAddSelection): New argument help_text. Store it in the
14842 XMenu structure.
14843 (XMenuActivate): New argument help_callback. If the value of
14844 menu_help_message has changed since the last time, display the
14845 menu help message text while waiting for the mouse to move. Clear
14846 the echo area before exiting.
14847 (XMenuDestroy): Free the help_text member.
14848
14849 2000-01-27 Gerd Moellmann <gerd@gnu.org>
14850
14851 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14852 XMenuAddSelection. Pass help callback to XMenuActivate.
14853 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14854
14855 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14856
14857 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14858 and EMACS_SET_USECS.
14859
14860 2000-01-26 Dave Love <fx@gnu.org>
14861
14862 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14863
14864 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14865 an error may be signalled.
14866
14867 2000-01-26 Gerd Moellmann <gerd@gnu.org>
14868
14869 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14870 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14871
14872 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14873
14874 2000-01-25 Gerd Moellmann <gerd@gnu.org>
14875
14876 * charset.c (Fstring): If there is a multibyte char among
14877 the args, always return a multibyte string.
14878
14879 2000-01-25 Gerd Moellmann <gerd@gnu.org>
14880
14881 * sysdep.c (sys_select): Turn atimers off and on instead of
14882 recording and restoring old alarm handler
14883
14884 * process.c (toplevel): Include atimer.h.
14885 (create_process_1): Rewritten.
14886 (create_process): Use atimers instead of alarm.
14887 (wait_reading_process_input) [hpux]: Turn atimers off instead
14888 of turning off SIGALRM.
14889 (wait_reading_process_input): Turn off atimers instead off
14890 calling stop_polling.
14891
14892 * emacs.c (main): Call init_atimer.
14893
14894 * keyboard.c (toplevel): Include systime.h and atimer.h.
14895 (polling_for_input): Removed because unused.
14896 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14897 (poll_timer): New variable.
14898 (poll_for_input, poll_for_input_1): New functions.
14899 (start_polling, stop_polling): Rewritten.
14900
14901 * keyboard.h (polling_for_input): Removed.
14902
14903 * atimer.h, atimer.c: New files.
14904
14905 * Makefile.in (obj): Add atimer.o.
14906 (atimer.o): New target.
14907
14908 * blockinput.h (pending_atimers): Add extern declaration.
14909 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14910
14911 * lisp.h (popup_activated_flag): Add extern declaration.
14912
14913 * xmenu.c (popup_activated_flag): Make externally visible.
14914 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
14915 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14916
14917 * xterm.c (toplevel): Include atimer.h.
14918 (toolkit_scroll_bar_interaction): New variable.
14919 (Fxt_process_timeouts): Removed.
14920 (x_process_timeouts): New function.
14921 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14922 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14923 (x_make_frame_visible): Call poll_for_input_1 instead of
14924 input_poll_signal. Don't call alarm.
14925 (x_initialize): Install timer calling x_process_timeouts.
14926
14927 2000-01-24 Dave Love <fx@gnu.org>
14928
14929 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
14930 Don't use -cckr -- apparently not now necessary.
14931
14932 2000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14933
14934 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14935 screen boundary.
14936
14937 2000-01-23 Jason Rumney <jasonr@gnu.org>
14938
14939 * w32fns.c (w32_defined_color): Apply gamma correction before
14940 trying to map to the palette.
14941 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14942 to w32_clear_rect.
14943
14944 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14945 here. Callers changed to always pass real device context.
14946 (w32_draw_bitmap): Likewise.
14947 (w32_get_glyph_overhangs): Likewise.
14948 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
14949 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14950 pfnSetScrollInfo and SetScrollRange.
14951 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14952 back into MULE characters after decoding them.
14953 (x_get_glyph_face_and_encoding): Likewise.
14954 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14955 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14956 (x_produce_glyphs): Calculate per char metrics for a character
14957 that we know exists in default font when font_not_found_p is true.
14958
14959 2000-01-22 Jason Rumney <jasonr@gnu.org>
14960
14961 * makefile.nt (intervals.obj, composite.obj): New modules.
14962 (composite.h): Added as dependency where appropriate.
14963
14964 * w32gui.h (XGCValue): New struct for emulating X GCs.
14965
14966 * w32term.h (XCharStruct): New struct for emulating X.
14967
14968 * w32console.c (turn_on_face, turn_off_face): New functions.
14969 (change_line_highlight): New prototype for new redisplay.
14970 (write_glyphs): Support multibyte text. Support faces.
14971
14972 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
14973
14974 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14975 throughout. struct frame * in place of FRAME_PTR.
14976 Skeleton support for images, toolbars, tooltips from xfns.c.
14977 (Fx_create_frame): Use system default for default scroll bar width.
14978 (w32_get_arg): Renamed from x_get_arg.
14979 (Fx_file_dialog): New function.
14980 (w32_list_fonts): Check cache before asking system.
14981 (Vw32_enable_synthesized_fonts): New variable.
14982 (Vw32_enable_italics): Obsolete, removed.
14983
14984 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14985 Use SELECTED_FRAME macro.
14986
14987 * w32menu.c: Add skeleton support for help strings on menus.
14988 (add_menu_item): Native checkbox and radio support added, but not
14989 yet enabled due to bugs.
14990 (push_menu_item): Add parameters type, selection and help.
14991 Callers updated.
14992 Formatting changes to reduce unnecessary diffs with xmenu.c.
14993
14994 * w32select.c (Fw32_set_clipboard_data): Update call to
14995 find_charset_in_str.
14996
14997 * w32term.c: Complete rewrite for new redisplay based on new
14998 xterm.c with necessary sections merged back in from old w32term.c.
14999
15000 2000-01-21 Richard M. Stallman <rms@gnu.org>
15001
15002 * data.c (set_internal): Further fix in same criterion.
15003
15004 2000-01-20 Richard M. Stallman <rms@gnu.org>
15005
15006 * data.c (set_internal): Fix the criteria for whether
15007 to swap out the old cached binding.
15008
15009 2000-01-19 Dave Love <fx@gnu.org>
15010
15011 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
15012
15013 2000-01-18 Kenichi Handa <handa@etl.go.jp>
15014
15015 * regex.c (re_compile_fastmap): While checking a range table for
15016 `charset', skip flag bits for a character class correctly.
15017
15018 2000-01-17 Gerd Moellmann <gerd@gnu.org>
15019
15020 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
15021
15022 * xfns.c (x_window): Call lw_create_widget with new parameter list.
15023
15024 * widget.c (EmacsFrameSetCharSize): Change size of children first
15025 because of problems with main window geometry management under Lesstif.
15026
15027 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
15028 MENU_ITEMS_ITEM_.*.
15029 (MENU_ITEMS_ITEM_HELP): New enumerator.
15030 (push_menu_item): Add parameter HELP. Record help in menu_items.
15031 (single_menu_item, single_submenu, list_of_items): Call
15032 push_menu_item with new parameter.
15033 (single_submenu): Set help string in widget value.
15034 (menu_highlight_callback): New function.
15035 (set_frame_menubar): Call lw_create_widget with new
15036 parameter list.
15037 (xmenu_show, xdialog_show): Ditto.
15038
15039 2000-01-13 Gerd Moellmann <gerd@gnu.org>
15040
15041 * sound.c (Fplay_sound): Improve doc string.
15042
15043 2000-01-11 Richard M. Stallman <rms@gnu.org>
15044
15045 * lisp.h (set_internal): Enter the new arg.
15046
15047 * eval.c (specbind): Record buffer-local variables specially,
15048 indicating which buffer's binding was saved.
15049 (unbind_to): Restore buffer-local variables specially
15050 in the proper buffer.
15051
15052 * data.c (set_internal): New arg BUF.
15053
15054 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
15055 * data.c (Fset): Pass new arg to set_internal.
15056 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
15057
15058 2000-01-11 Gerd Moellmann <gerd@gnu.org>
15059
15060 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
15061
15062 2000-01-11 Richard M. Stallman <rms@gnu.org>
15063
15064 * minibuf.c (Ftry_completion): Doc fix.
15065
15066 2000-01-11 Gerd Moellmann <gerd@gnu.org>
15067
15068 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
15069 vector, too.
15070
15071 2000-01-11 Andreas Schwab <schwab@suse.de>
15072
15073 * coding.c (code_convert_region): Initialize total_skip.
15074
15075 2000-01-08 Dave Love <fx@gnu.org>
15076
15077 * eval.c (Fuser_variable_p): Check customizability too.
15078
15079 2000-01-07 Gerd Moellmann <gerd@gnu.org>
15080
15081 * minibuf.c (Fcompleting_read): Doc fix.
15082
15083 2000-01-05 Gerd Moellmann <gerd@gnu.org>
15084
15085 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
15086 -L /usr/local/lib.
15087
15088 * xfns.c (x_create_im): New function to set IM and IC of a frame.
15089 Check that input style is supported before trying to create an
15090 IC for it.
15091 (x_window): Call x_create_im.
15092
15093 2000-01-04 Gerd Moellmann <gerd@gnu.org>
15094
15095 * xfns.c (current_gif_memory_src): New variable.
15096 (gif_load): Record the address of the current memory source
15097 in current_gif_memory_src.
15098 (gif_read_from_memory): Use current_gif_memory_src.
15099
15100 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
15101 macros statement form.
15102
15103 * sound.c (struct sound): Renamed from struct sound_file.
15104 (struct sound): Add members `data' and `header_size'.
15105 (enum sound_attr): Add SOUND_DATA.
15106 (current_sound, current_sound_device): Variables renamed from
15107 sound_file and sound_device.
15108 (parse_sound): Parse :data.
15109 (parse_sound): Handle sound data in strings.
15110 (find_sound_type): Function renamed from find_sound_file_type.
15111 (wav_init, au_init): Fail if sound's header_size is smaller than
15112 needed header size.
15113 (wav_play, au_play): Play sounds from string data.
15114
15115 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
15116
15117 * lisp.h: Add prototype for allocate_string_data.
15118
15119 * alloc.c (Fgarbage_collect): Return number of live and free strings.
15120
15121 * alloc.c (mark_buffer): Remove code in #if 0.
15122 (gc_sweep): Ditto.
15123 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
15124 (strings_consed): New variable.
15125 (allocate_string): Set it.
15126 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
15127 (Fmemory_use_counts): Return strings_consed. Use Flist.
15128
15129 * alloc.c: General cleanup in comments etc. Remove conditional
15130 compilation for `standalone'.
15131
15132 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
15133
15134 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
15135 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
15136 (DONT_COPY_FLAG): Removed.
15137 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
15138 (struct sdata, struct sblock): New
15139 (struct string_block): Rewritten.
15140 (STRINGS_IN_STRING_BLOCK): New macro.
15141 (oldest_sblock, current_sblock, total_strings, total_free_strings)
15142 (large_sblocks, string_blocks, string_free_list): New variables.
15143 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
15144 (init_strings): Rewritten.
15145 (allocate_string, allocate_string_data, compact_small_strings)
15146 (free_large_strings, sweep_strings): New functions.
15147 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
15148 (struct string_block_head, current_string_block)
15149 (first_string_block, large_string_blocks, STRING_FULLSIZE)
15150 (STRING_PAD): Removed.
15151 (make_uninit_multibyte_string, make_pure_string): Rewritten.
15152 (Fgarbage_collect): Don't set mark bit in large strings.
15153 (mark_object): Mark strings differently. Mark symbol names
15154 differently.
15155 (survives_gc_p): Test marked strings differently.
15156 (gc_sweep): Sweep strings differently, unmark strings in
15157 symbol names.
15158 (compact_strings): Removed.
15159
15160 2000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
15161
15162 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
15163 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
15164
15165 2000-01-04 Kenichi Handa <handa@etl.go.jp>
15166
15167 * fileio.c (Finsert_file_contents): Signal error if visiting file
15168 in a non-empty buffer.
15169
15170 * term.c (encode_terminal_code): Fix the previous change.
15171
15172 2000-01-03 Gerd Moellmann <gerd@gnu.org>
15173
15174 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
15175 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
15176
15177 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
15178
15179 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15180
15181 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
15182 need to test for MSDOS frames.
15183
15184 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15185
15186 * dosfns.c (unspecified_colors): Remove.
15187 (msdos_stdcolor_idx): Use global variables unspecified_fg and
15188 unspecified_bg.
15189 (msdos_stdcolor_name): Return strings for unspecified fore- and
15190 back-ground colors.
15191
15192 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
15193 (syms_of_xfaces): Remove their staticpro's.
15194 (tty_color_name): Return Lisp strings for unspecified fore- and
15195 back-ground colors.
15196 (Finternal_set_lisp_face_attribute): Remove the special treatment
15197 for Qunspecified_{f,b}g.
15198 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
15199
15200 2000-01-03 Gerd Moellmann <gerd@gnu.org>
15201
15202 * xdisp.c (reseat_at_next_visible_line_start): Position before
15203 newline only if ending up on a newline.
15204 (next_element_from_ellipsis): Return success. Handle case of
15205 displaying no ellipsis. Fix case of ellipsis defined in display table.
15206 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
15207 returns 0.
15208
15209 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
15210
15211 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
15212 (Fcolor_supported_p): Renamed from face-color-supported-p.
15213
15214 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15215
15216 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
15217 list of colors renamed to tty-defined-color-alist.
15218 (tty_color_name): Pass the frame to tty-color-by-index.
15219 (realize_tty_face): tty-color-alist is now a function which
15220 accepts the frame as argument.
15221
15222 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
15223
15224 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15225
15226 * term.c (insert_glyphs): Pass glyph, not &glyph, to
15227 encode_terminal_code.
15228
15229 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
15230
15231 * dispnew.c (mode_line_string): Support termcap frames as well.
15232
15233 2000-01-01 Gerd Moellmann <gerd@gnu.org>
15234
15235 * syntax.c (Fforward_word): Undo previous change.
15236
15237 * editfns.c (Fconstrain_to_field): Don't constrain if
15238 inhibit-field-text-motion is non-nil.
15239 (Fline_beginning_position): Undo previous change.
15240 (Fline_end_position): Ditto.
15241
15242 * syntax.c (Fforward_word): Notice field boundaries only if
15243 inhibit-field-text-motion is nil.
15244
15245 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
15246
15247 * editfns.c (Vinhibit_field_text_motion): New variable.
15248 (inhibit-field-text-motion): New DEFVAR_LISP.
15249 (Fline_beginning_position, Fline_end_position): Notice field
15250 boundaries only if inhibit-field-text-motion is nil.
15251
15252 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
15253 All calls adjusted.
15254 (x_build_heuristic_mask): Likewise.
15255 (xbm_load_image_from_file): Change error output.
15256 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
15257 (gif_load, gs_load, x_kill_gs_process): Ditto.
15258
15259 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
15260 color indices when accessing raster pixels.
15261 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
15262 one of :file or :data.
15263 (enum pbm_keyword_index): Add PBM_DATA.
15264 (pbm_format): Add :data.
15265 (pbm_image_p): Allow either :file or :data.
15266 (pbm_read_file): New function.
15267 (pbm_scan_number): Rewritten to read from string.
15268 (pbm_load): Support :data.
15269
15270 See ChangeLog.8 for earlier changes.
15271
15272 ;; Local Variables:
15273 ;; coding: iso-2022-7bit
15274 ;; End:
15275
15276 Copyright (C) 2001 Free Software Foundation, Inc.
15277 Copying and distribution of this file, with or without modification,
15278 are permitted provided the copyright notice and this notice are preserved.