Change default values.
[emacs.git] / src / ChangeLog
blob7eb47dac606b1b7c476c8fdb5e84554435311c1f
1 2002-04-28  Richard M. Stallman  <rms@gnu.org>
3         * minibuf.c (Fall_completions, Ftry_completion): New arg to Fcommandp.
5         * eval.c (Fcommandp): New arg for_call_interactively.
6         * lisp.h (Fcommandp): Declare new arg.
8 2002-04-28  Jason Rumney  <jasonr@gnu.org>
10         * w32proc.c (syms_of_w32proc): Get true file attributes by default.
12         * w32.c (stat, fstat): Use file index information to generate
13         inodes for directories where available.
15 2002-04-26  Andrew Choi  <akochoi@shaw.ca>
17         * Makefile.in (C_SWITCH_SYSTEM_TEMACS): Add.
18         [HAVE_CARBON]: Include Mac object files.
20         * alloc.c, callproc.c, dispextern.h, dispnew.c, emacs.c,
21         fontset.c, frame.c, frame.h, keyboard.c, sysdep.c, term.c,
22         termcap.c, window.c, xdisp.c, xfaces.c: Use macros MAC_OS8,
23         MAC_OSX, and MAC_OS instead of macintosh.
25         * editfns.c [MAC_OS8]: Include stdio.h.
27         * emacs.c [MAC_OS8]: Call mac_initialize instead of x_term_init.
29         * fontset.c [MAC_OS]: Set Vdefault_fontset to ETL Fixed instead of
30         Apple Monaco.
32         * process.c: Declare QCfamily and QCfilter as extern.
33         (wait_reading_process_input) [MAC_OSX]: Clear bit for stdin before
34         calling select.
36         * termcap.c [MAC_OSX]: Don't define tgetnum, PC, tputs, and
37         tgetent.
38         
39         * tparam.c [MAC_OSX]: Don't define BC and UP.
40         
41         * config.in [HAVE_CARBON]: Add.
43         * mac.c, macgui.h, macfns.c, macmenu.c, macterm.c, macterm.h: Move
44         here from mac/src and mac/inc.
46         * s/darwin.h, m/powermac.h, unexmacosx.c: New files.
47         
48 2002-04-26  Gerd Moellmann  <gerd@gnu.org>
50         * xterm.c (x_draw_phys_cursor_glyph): Undo last change.  Compute
51         phys_cursor_width from the x position returned by x_draw_glyhs,
52         which is cheaper.
53         (x_display_and_set_cursor): Compute the buffer-local value
54         of `cursor-in-non-selected-windows' only when needed.
56 2002-04-25  Gerd Moellmann  <gerd@gnu.org>
58         * xterm.c (x_draw_phys_cursor_glyph): Take into account that a box
59         cursor on a stretch glyph has a width that depends on
60         x_stretch_cursor_p.
62 2002-04-25  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
64         * abbrev.c (abbrev-start-location): Doc fix.
66         * indent.c (Fvertical_motion): Fix last change.
68 2002-04-25  Gerd Moellmann  <gerd@gnu.org>
70         * indent.c (Fvertical_motion): Move to the start of the line
71         containing PT before moving up or down.
73 2002-04-24  Gerd Moellmann  <gerd@gnu.org>
75         * dispnew.c (update_text_area): Set phys_cursor_on_p to 0 in the
76         case of writing a whole row, more or less analogous to the case of
77         writing only parts of a row.
79         * xterm.c (x_display_and_set_cursor): Set phys_cursor_width to
80         0 for NO_CURSOR.
81         
82         * xterm.c (notice_overwritten_cursor): Fix an off by 1 error.
84 2002-04-23  Colin Walters  <walters@verbum.org>
86         * buffer.c (syms_of_buffer): Doc fix.
88 2002-04-23  Gerd Moellmann  <gerd@gnu.org>
90         * xterm.c (notice_overwritten_cursor): Handle the special case
91         of the cursor being in the first blank non-text line at the
92         end of a window.
93         
94         * xterm.c (x_draw_hollow_cursor, x_draw_bar_cursor)
95         (x_draw_phys_cursor_glyph): Set phys_cursor_width here.
96         (x_display_and_set_cursor): Don't set phys_cursor_width here, for
97         bar cursors only, to make phys_cursor_width contain what its name
98         suggests.
99         (notice_overwritten_cursor): Consider the cursor image erased if
100         the output area intersects the cursor image in y-direction.
102 2002-04-23  Simon Marshall  <simon@gnu.org>
104         * xfns.c (x_set_mouse_color): Change default for cross_cursor
105         to XC_hand2.
107 2002-04-23  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
109         * xdisp.c: Remove unused global variable
110         `minibuf_prompt_pixel_width'.
112 2002-04-22  Kim F. Storm  <storm@cua.dk>
114         * textprop.c (remove_properties): Fixed trap for malformed plist.
116 2002-04-22  Richard M. Stallman  <rms@gnu.org>
118         * cmds.c (Fend_of_line): Handle intangible text in mid line.
120         * window.c (make_window): Initialize height_fixed_p,
121         last_cursor_off_p, and p->cursor_off_p slots.
123 2002-04-20  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
125         * fns.c (use-dialog-box): Doc fix.
127 2002-04-19  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
129         * xterm.c (note_mode_line_or_margin_highlight): Remove unused
130         variables `row', `i' and `area'.
131         (XTread_socket) <KeyPress>: Pass KeyPress events when in menu to
132         toolkit library.
134 2002-04-19  Stefan Monnier  <monnier@cs.yale.edu>
136         * xfaces.c (clear_font_table): Don't free the default font of
137         a frame even if it's on another display.
138         (Finternal_set_lisp_face_attribute): Don't use XFRAME on something
139         that could be Qt.
141 2002-04-19  Juanma Barranquero  <lektu@terra.es>
143         * indent.c (Fmove_to_column): Remove unused local variable
144         `next_boundary_byte'.
145         (current_column_1): Likewise.
147 2002-04-19  Eli Zaretskii  <eliz@is.elta.co.il>
149         * msdos.c (Qhbar): New variable.
150         (syms_of_msdos): Intern and staticpro it.
151         (IT_set_cursor_type, IT_set_frame_parameters): Handle the `hbar'
152         cursor type.
154 2002-04-19  Dave Lambert <dlambert@acm.org>
156         Theses change implement an underscore-like (`hbar') cursor.
158         * xterm.h (text_cursor_kinds): New enumeration member HBAR_CURSOR.
160         * xterm.c (x_draw_bar_cursor): New argument KIND; callers changed.
161         Handle the `hbar' cursor type.
162         (x_display_and_set_cursor): Handle the HBAR_CURSOR case.
164         * xfns.c (Qhbar): New variable.
165         (syms_of_xfns): Intern and staticpro it.
166         (x_specified_cursor_type): Handle `hbar' cursor.
168         * s/sol2-5.h (bcopy, bzero, bcmp): Define only if HAVE_BCOPY is
169         not defined.
171 2002-04-18  Richard M. Stallman  <rms@gnu.org>
173         * textprop.c (remove_properties): New arg LIST allows scanning
174         either a list or a plist.
175         (interval_has_some_properties_list): New function, like
176         interval_has_some_properties using list instead of plist.
177         All callers changed.
178         (Fremove_list_of_text_properties): New function.
179         (syms_of_textprop): Defsubr it.
181 2002-04-17  Eli Zaretskii  <eliz@is.elta.co.il>
183         * s/sol2.h (HAVE_LIBKSTAT): Define only if not already defined.
185 2002-04-17  Juanma Barranquero  <lektu@terra.es>
187         * indent.c (Fmove_to_column): Remove unused local variable `end_byte'.
189 2002-04-17  Eli Zaretskii  <eliz@is.elta.co.il>
191         * window.c (coordinates_in_window): Don't report on margin area
192         if its width is zero.
194 2002-04-16  Jason Rumney  <jasonr@gnu.org>
196         * w32fns.c (Fx_file_dialog): Decode file name before using.
198         * w32term.c (construct_drag_n_drop): Likewise.
200 2002-04-16  Eli Zaretskii  <eliz@is.elta.co.il>
202         * puresize.h (BASE_PURESIZE): Increase to 830000, since we now
203         store load-history in pure space.
205         * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Reduce to 50000.
207 2002-04-16  Stefan Monnier  <monnier@cs.yale.edu>
209         * xterm.c (Qlatin_1, Qutf_8): New vars.
210         (syms_of_xterm): Initialize them.
211         (XTread_socket): Eliminate incorrect optimization that tried to avoid
212         decoding the output of X*LookupString.
213         Always use latin-1 to decode the output of XLookupString.
214         Try Xutf8LookupString if XmbLookupString failed.
216         * region-cache.c (new_region_cache): Use BEG.
218 2002-04-16  Gerd Moellmann  <gerd@gnu.org>
220         * buffer.c (MMAP_ALLOCATED_P): New macro to be set from system
221         configuration files.
222         (mmap_enlarge): Enlarge mapped regions only if MMAP_ALLOCATED_P
223         returns 0.
225 2002-04-15  Andreas Schwab  <schwab@suse.de>
227         * config.in: Regenerated using autoheader.
229         * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/alpha.h,
230         m/altos.h, m/amdahl.h, m/apollo.h, m/arm.h, m/att3b.h, m/aviion.h,
231         m/celerity.h, m/clipper.h, m/cnvrgnt.h, m/convex.h, m/cydra5.h,
232         m/delta.h, m/delta88k.h, m/dpx2.h, m/elxsi.h, m/gec63.h,
233         m/gould.h, m/hp800.h, m/hp9000s300.h, m/i860.h, m/ia64.h,
234         m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
235         m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
236         m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
237         m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h
238         m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
239         m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
240         m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
241         m/targon31.h, m/tek4300.h, m/tekxd88.h, m/template.h, m/tower32.h,
242         m/tower32v3.h, m/ustation.h, m/vax.h, m/wicat.h, m/windowsnt.h,
243         m/xps100.h, s/aix3-2.h, s/aix4-2.h, s/irix4-0.h, s/irix5-0.h,
244         s/sco5.h, s/unixware.h: Don't set HAVE_ALLOCA, C_ALLOCA and
245         STACK_DIRECTION, now set by autoconf.
247 2002-04-14  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
249         * dispnew.c (marginal_area_string): Sort arguments.
251         * dispextern.h (marginal_area_string): Add prototype.
253 2002-04-13  Richard M. Stallman  <rms@gnu.org>
255         * fileio.c (Finsert_file_contents):
256         Don't call temp_output_buffer_setup--do just part, by hand.
258         * coding.c (run_pre_post_conversion_on_str):
259         Don't call temp_output_buffer_setup--do just part, by hand.
261         * keyboard.c (command_loop_1): Don't call start_hourglass
262         or cancel_hourglass when executing a macro.
264         * marker.c (count_markers): New function.
266         * xdisp.c (display_mode_element): Don't let mode_line_proptrans_alist
267         grow without limit.  Move recently used elements to the front.
269 2002-04-13  Eli Zaretskii  <eliz@is.elta.co.il>
271         * unexelf.c (unexec) [__sgi]: Undo the change from 2002-01-20.
273 2002-04-12  Gerd Moellmann  <gerd@gnu.org>
275         * xdisp.c (sync_frame_with_window_matrix_rows): Don't give frame
276         rows marginal areas.
277         (Fdump_frame_glyph_matrix) [GLYPH_DEBUG]: New function.
278         (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
280         * dispnew.c (marginal_area_string): Check that glyph row is enabled.
282 2002-04-12  Dave Love  <fx@gnu.org>
284         * dispnew.c (marginal_area_string): New.
286         * window.c (window_part): Add ON_LEFT_MARGIN, ON_RIGHT_MARGIN.
287         (Qleft_margin, Qright_margin): Declare.
288         (coordinates_in_window, (Fcoordinates_in_window_p): Deal with margins.
290         * xterm.c (note_mode_line_or_margin_highlight): Renamed from
291         note_mode_line_highlight and extended.
293         * keyboard.c (Qleft_margin, Qright_margin): Declare.
294         (make_lispy_event): Deal with mouse events in margins.
296 2002-04-12  Stefan Monnier  <monnier@cs.yale.edu>
298         * msdos.c (dos_rawgetc): Use a single event for HELP_EVENT.
300         * keyboard.c (command_loop_1): Turn off transient-mark-mode rather
301         than deactivating the mark if tmm is set to `lambda'.
302         (gen_help_event, kbd_buffer_store_help_event, kbd_buffer_get_event):
303         Use a single event for HELP_EVENT.
304         (Fexecute_extended_command): Save last_point_position.
306 2002-04-12  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
308         * lisp.h (Fpropertize): Add prototype.
310         * fns.c (Fy_or_n_p): Use `minibuffer-prompt' face for prompt.
312 2002-04-10  Colin Walters  <walters@verbum.org>
314         * config.in: Add HAVE_SHARED_GAME_DIR.
316         * callproc.c: (Vgame_score_directory): New variable.
317         (syms_of_callproc) <Vgame_score_directory>: DEFVAR_LISP.
319 2002-04-10  Richard M. Stallman  <rms@gnu.org>
321         * puresize.h (BASE_PURESIZE): Reduce again to avoid big excess.
323 2002-04-09  Stefan Monnier  <monnier@cs.yale.edu>
325         * minibuf.c (read_minibuf): Use empty_string.
326         (Ftry_completion): Allow lambda forms and lists of strings for `alist'.
327         Short-circuit the search as soon as it "failed".
328         (Fall_completions): Allow lambda forms and lists of strings for alist.
329         (Fcompleting_read): Set Qminibuffer_completion_confirm to nil
330         when require_match is nil.
331         (Ftest_completion): Rename from `test_completion' and export to elisp.
332         Call the predicate also when alist is a list.
333         Obey Vcompletion_regexp_list.
334         (do_completion, Fminibuffer_complete_and_exit): Use it.
335         (Fassoc_string): Rename from `assoc_for_completion'.
336         Allow list of strings as well and export to elisp.
338 2002-04-08  Stefan Monnier  <monnier@cs.yale.edu>
340         * puresize.h (BASE_PURESIZE): Increase to 900KB.
342 2002-04-08  Juanma Barranquero  <lektu@terra.es>
344         * w32.c (sys_accept): Don't hide variable `s'.
346 2002-04-05  Gerd Moellmann  <gerd@gnu.org>
348         * callint.c (Fcall_interactively): Use INTEGERP instead of
349         NUMBERP for checking Vhistory_length.
351 2002-04-05  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
353         * sound.c (Fplay_sound_internal): Renamed from Fplay_sound.
354         Doc fix to reflect it.
356 2002-04-04  Richard M. Stallman  <rms@gnu.org>
358         * xdisp.c (display_mode_element): New arg RISKY.
359         Disregard text props found or specified within a variable
360         that isn't marked risky-local-variable.
361         (Qrisky_local_variable): New variable.
362         (syms_of_xdisp): Init and staticpro it.
364 2002-04-04  Stefan Monnier  <monnier@cs.yale.edu>
366         * undo.c (record_point): New fun.
367         (record_delete, record_insert): Use it.
369 2002-04-03  Juanma Barranquero  <lektu@terra.es>
371         * doc.c (Fdocumentation): Add missing parentheses.
372         (Fdocumentation_property): Likewise.
374 2002-04-03  Stefan Monnier  <monnier@cs.yale.edu>
376         * doc.c (Fdocumentation, Fdocumentation_property): When the doc
377         data is 0, just return nil.
379 2002-04-03  Eli Zaretskii  <eliz@is.elta.co.il>
381         * msdos.c (syms_of_msdos): Fix last change with
382         mouse_autoselect_window.
384 2002-04-03  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
386         * w32term.c, xterm.c, msdos.c: Rename autoselect_window_p to
387         mouse_autoselect_window.
389 2002-04-02  Stefan Monnier  <monnier@cs.yale.edu>
391         * keyboard.c (make_lispy_event): Handle unknown keysyms together
392         with system-specific keysyms.  Use it also for unknown function keys.
394         * doc.c (reread_doc_file): Return whether reload was attempted.
395         (Fdocumentation, Fdocumentation_property): Don't try to reload
396         if the doc is 0 and only ask once.
398         * Makefile.in (lisp, shortlisp): Add ucs-tables.elc.
400 2002-04-02  Eli Zaretskii  <eliz@is.elta.co.il>
402         * keyboard.c (read_char): If the event was Qselect_window,
403         restore timer_idleness_start_time to its previous value.
405         * msdos.c (dos_rawgetc): Generate SELECT_WINDOW_EVENTs when required.
407 2002-04-01  Stefan Monnier  <monnier@cs.yale.edu>
409         * region-cache.c (new_region_cache): Use BEG.
411         * marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
412         Use BEG and BEG_BYTE.
414         * doc.c (get_doc_string): Return nil if the location is wrong.
415         (reread_doc_file): New fun.
416         (Fdocumentation, Fdocumentation_property):
417         Call it if get_doc_string fails.
418         (Fsnarf_documentation): Make it work for a dumped Emacs.
420         * charset.h (DEC_POS, BUF_DEC_POS): Use BEG_BYTE.
421         Bound the search with MAX_MULTIBYTE_LENGTH to avoid pathological case.
423         * charset.c (Fstring): Allow 0 arguments.
425         * xterm.c (XTread_socket): Fix int/Lisp_Object confusion.
427         * process.c (DATAGRAM_CONN_P, list_processes_1)
428         (Fprocess_datagram_address, Fset_process_datagram_address)
429         (Fset_network_process_options, server_accept_connection):
430         Fix some int/Lisp_Object confusions (thank you union types).
432 2002-04-01  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
434         * msdos.c: Rename x_autoselect_window_p to autoselect_window_p.
436         * w32term.c: Likewise.
437         (note_mouse_movement): Put code for x_autoselect_window_p in #if 0.
439         * keyboard.c (Qselect_window): New symbol.
440         (head_table): Use it.
441         (keys_of_keyboard): Bound select-window event to handle-select-window.
442         (kbd_buffer_get_event): Make a Lisp event from SELECT_WINDOW_EVENT.
444         * xterm.c: Rename x_autoselect_window_p to autoselect_window_p.
445         (last_window): New variable.
446         (XTread_socket): Generate SELECT_WINDOW_EVENTs.
447         (note_mouse_movement): Remove reimplemented code in #if 0.
448         (XTread_socket): Generate SELECT_WINDOW_EVENTs only for
449         Emacs windows.
451         * termhooks.h (enum event_kind): New event type `SELECT_WINDOW_EVENT'.
453 2002-03-31  Gerd Moellmann  <gerd@gnu.org>
455         * xterm.c (x_get_char_face_and_encoding): Add parameter DISPLAY_P.
456         Callers changed.
458 2002-03-30  Richard M. Stallman  <rms@gnu.org>
460         * window.c (window_scroll_pixel_based): Exit the move_it_by_lines
461         loop whenever it stops making progress.
463         * widget.c (set_frame_size): Don't call change_frame_size.
465 2002-03-30  Gerd Moellmann  <gerd@gnu.org>
467         * dispnew.c (direct_output_for_insert):
468         Call mark_window_display_accurate.
470 2002-03-29  Jason Rumney  <jasonr@gnu.org>
472         * w32term.c (w32_draw_relief_rect): Fix calculations of line lengths.
474 2002-03-29  Eli Zaretskii  <eliz@is.elta.co.il>
476         * Makefile.in (lread.o): Depend on coding.h.
478         * lread.c (openp, Fload): Encode the file name before passing it
479         to `stat', `access', and `emacs_open'.
480         (openp): GCPRO the encoded file name.  Don't recompute Lisp
481         strings unnecessarily.
483 2002-03-29  Kim F. Storm  <storm@cua.dk>
485         * fns.c (Flax_plist_put): Doc fix.
487 2002-03-28  Miles Bader  <miles@gnu.org>
489         * process.c (DATAGRAM_CONN_P): Make sure PROC is really a process.
491 2002-03-27  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
493         * process.c (set-network-process-options): Add usage.
494         (make-network-process): Doc fix.
496 2002-03-26  Eli Zaretskii  <eliz@is.elta.co.il>
498         * emacs.c (Fdump_emacs): Fix a typo in "command-line-processed".
500 2002-03-26  Richard M. Stallman  <rms@gnu.org>
502         * fns.c (Fsubstring_no_properties): New function.
503         (Flax_plist_get, Flax_plist_put): New functions.
504         (syms_of_fns): defsubr them.
506         * xdisp.c (update_menu_bar): Test only update_mode_lines;
507         don't test or alter w->update_mode_line.
509         * window.c (Fdisplay_buffer): Doc fix.
511 2002-03-24  Richard M. Stallman  <rms@gnu.org>
513         * regex.c (GET_UNSIGNED_NUMBER): Give proper error for spaces.
515 2002-03-24  Gerd Moellmann  <gerd@gnu.org>
517         * eval.c (Qdeclare, Vmacro_declaration_function): New variables.
518         (Fdefmacro): Handle `(declare ...)'.
519         (syms_of_eval) <Qdeclare>: Initialize and staticpro.
520         (syms_of_eval) <Vmacro_declaration_function>: DEFVAR_LISP.
522 2002-03-24  Jason Rumney  <jasonr@gnu.org>
524         * w32fns.c (xbm_scan, xbm_load_image, xbm_read_bitmap_data)
525         (xbm_file_p): Add prototypes.
526         (xbm_format, xbm_image_p): Sync with xfns.c.
527         (reflect_byte): New function.
528         (xbm_read_bitmap_data): Sync with xfns.c, adapt for Windows.
529         (xbm_load_image): Create bitmaps with a depth of 1.
530         (init_xfns): Enable XBM images.
532 2002-03-23  Jason Rumney  <jasonr@gnu.org>
534         * w32term.c (w32_handle_tool_bar_click): Detect up and down events
535         correctly.  Do not pass up_modifier to keyboard buffer.
537         * w32fns.c [HAVE_IMAGES, HAVE_PBM]: Remove conditionals.
539 2002-03-22  Stefan Monnier  <monnier@cs.yale.edu>
541         * Makefile.in (bootstrapclean): New target.
542         (bootstrap-temacs, bootstrap-doc): Remove.
543         (bootstrap-emacs): Use a bog-standard `temacs'.
544         Don't bother to build a DOC file.
546         * sysdep.c (wait_for_termination): Use sigsuspend rather than sigpause.
548         * emacs.c (main): Handle --unibyte, --multibyte, and --no-loadup
549         in temacs even if !CANNOT_DUMP.
550         (standard_args): Keep --no-loadup even if !CANNOT_DUMP.
552         * alloc.c (check_pure_size): Only output a warning.
554 2002-03-22  Jason Rumney  <jasonr@gnu.org>
556         * w32fns.c (Fx_create_frame): Enable tool-bar when images are
557         supported.
559         * w32term.c (zv_bits): Declare as short, for word alignment.
560         (w32_read_socket) <WM_XBUTTONUP>: Fix last change.
561         (syms_of_w32term): Define x-use-underline-position-properties.
563         * w32fns.c (x_set_cursor_color): Set cursor_gc as well.
564         (clear_image_cache): Block input, fix logic, clear matrices in
565         all frames that share this cache.
567 2002-03-22  Eli Zaretskii  <eliz@is.elta.co.il>
569         * emacs.c (main): Update the Copyright year in the blurb printed
570         by "emacs --version".
572         * xdisp.c (message_with_string): Fix syntax of a call to GCPRO2.
574         * xterm.c (XTread_socket): If XK_ISO_Lock and
575         XK_ISO_Last_Group_Lock are defined, handle keysyms between
576         XK_ISO_Lock and XK_ISO_Last_Group_Lock similarly to Mode_switch.
578 2002-03-21  Kim F. Storm  <storm@cua.dk>
580         * keyboard.c (menu_bar_items): Mostly undo 2002-02-20 patch, so
581         menu-bar bindings in keymap and local-map properties _are_ used.
582         But try keymap property first in accordance with 2002-01-03 patch.
583         Added comment describing why this is not always reliable.
584         (tool_bar_items): Ditto for tool-bar.
586 2002-03-21  Jason Rumney  <jasonr@gnu.org>
588         * w32fns.c (x_clear_image_1): Disable color table code.
590 2002-03-21  Kim F. Storm  <storm@cua.dk>
592         * lisp.h (DEFUN) [USE_NONANSI_DEFUN]: The 2001-10-17 patch
593         removed the wrong version of the DEFUN macro; fixed it.
595         * fns.c (Ffeaturep): Allow subfeature to be a list (test using
596         Fmember rather than Fmemq).
597         (Fprovide): Check that subfeatures is a list.
599         * process.c (QCfeature, QCdatagram): Removed variables.
600         (QCtype, Qdatagram): New variables.
601         (network_process_featurep): Removed function.
602         (Fmake_network_process): Removed :feature check.
603         Use :type 'datagram instead of :datagram t to create a datagram
604         socket.  This allows us to add other connection types (e.g. raw
605         sockets) later in a consistent manner.
606         (init_process) [subprocess, HAVE_SOCKETS]: Provide list of
607         supported subfeatures for feature make-network-process.
608         (syms_of_process) [subprocess]: Remove QCfeature and QCdatagram.
609         Intern and staticpro QCtype and Qdatagram.
610         (syms_of_process) [!subprocess]: Intern and staticpro QCtype.
612         * xfns.c: (QCtype): Remove duplicate declaration and
613         initialization (is now declared in process.c).
615         * w32fns.c: (QCtype): Remove duplicate declaration and
616         initialization (is now declared in process.c).
618 2002-03-21  Richard M. Stallman  <rms@gnu.org>
620         * regex.c (DISCARD_FAILURE_REG_OR_COUNT): New macro.
621         (CHECK_INFINITE_LOOP): Use DISCARD_FAILURE_REG_OR_COUNT
622         when jumping to `fail' to avoid undoing reg changes in the
623         last iteration of the loop.
624         (GET_UNSIGNED_NUMBER): Skip spaces around the number.
626         * Makefile.in (dispnew.o, sysdep.o, xdisp.o, xselect.o, alloc.o):
627         Depend on process.h.
629 2002-03-20  Jason Rumney  <jasonr@gnu.org>
631         Most of the following changes are still conditional on HAVE_IMAGES
632         which is not set by default on Windows.
634         * emacs.c (main) [WINDOWSNT]: Call init_xfns.
636         * w32fns.c (x_set_cursor_color): Set foreground of cursor, not frame.
637         (Fimage_size, Fimage_mask_p, XPutPixel): New functions.
638         (four_corners_best, x_clear_image_1, x_clear_image)
639         (x_alloc_image_color, postprocess_image) 
640         (x_create_x_image_and_pixmap, x_destroy_x_image, xbm_load_image) 
641         (x_from_x_colors, x_disable_image, pbm_load): Adapt for Windows.
642         (init_xfns, syms_of_w32fns): Initialize image functions and constants.
644         * w32gui.h (struct XImage): Define.
646         * w32term.c (w32_read_socket) <WM_XBUTTONUP>: Use XFASTINT to
647         extract mouse co-ordinates.
649 2002-03-20  Jason Rumney  <jasonr@gnu.org>
651         * w32.c (init_winsock): Dynamically load new server and UDP
652         socket functions.
653         (socket_to_fd): New function.
654         (sys_socket): Use it.
655         (sys_setsockopt, sys_listen, sys_getsockname, sys_accept) 
656         (sys_recvfrom, sys_sendto): New wrapper functions.
658         * process.c (QCfamily, QCfilter): Remove duplicate declaration
659         and initialization.
661         * makefile.w32-in (LIBS): Remove $(WSOCK32).
663 2002-03-20  Eli Zaretskii  <eliz@is.elta.co.il>
665         * process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr): Don't
666         use "sun" as a variable, it's a predefined constant on Sun
667         machines.
669 2002-03-20  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
671         * bytecode.c (Fbyte_code): Revert last change.
673 2002-03-19  Kim F. Storm  <storm@cua.dk>
675         * makefile.w32-in (LIBS): Add $(WSOCK32).
676         From David Ponce <dponce@voila.fr>.
678 2002-03-18  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
680         * process.c (wait_reading_process_input): Move variables `pname'
681         and `pnamelen' down where they are used.
683         * bytecode.c (Fbyte_code): Discard unused computed value to
684         prevent gcc warning.
686         * lisp.h (Fplist_member): Add prototype.
688 2002-03-18  Kim F. Storm  <storm@cua.dk>
690         * config.in: Add HAVE_SENDTO, HAVE_RECVFROM, HAVE_SETSOCKOPT,
691         HAVE_GETSOCKOPT, HAVE_GETPEERNAME, HAVE_GETSOCKNAME, and
692         HAVE_SYS_UN_H.
694         * process.c: Define HAVE_LOCAL_SOCKETS based on HAVE_SYS_UN_H.
695         Remove explicit GNU_LINUX settings for datagram support.
697 2002-03-18  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
699         * process.c (Fmake_network_process): Remove unused variable `sa'.
700         Doc fix.  Add usage:.
701         (set_socket_options): Remove unused variables `optnum' and
702         `opttype'.
704 2002-03-17  Richard M. Stallman  <rms@gnu.org>
706         * xdisp.c (cursor_type_changed): New variable.
707         (redisplay_internal): Redisplay all windows if cursor_type_changed.
708         Clear it when clearing windows_or_buffers_changed.
709         (try_cursor_movement, redisplay_window, try_window_id)
710         (try_window_reusing_current_matrix): Test cursor_type_changed
711         along with windows_or_buffers_changed.
713         * window.h (cursor_type_changed): New variable.
715         * xfns.c (x_set_cursor_type): Set cursor_type_changed,
716         not update_mode_lines, and always set it to 1.
718         * xdisp.c (clear_garbaged_frames): Don't set windows_or_buffers_changed
719         if no frames needed redrawing.
721 2002-03-17  Kim F. Storm  <storm@cua.dk>
723         The following changes add support for network server processes,
724         datagram connections, and local (unix) sockets.
726         * process.h (struct Lisp_Process): New member log.
727         Doc fix: Member command used to indicate stopped network process.
728         Doc fix: Member childp contains plist for network process.
729         Doc fix: Member kill_without_query is inverse of query-on-exit flag.
731         * process.c (Qlocal, QCname, QCbuffer, QChost, QCservice, QCfamily)
732         (QClocal, QCremote, QCserver, QCdatagram, QCnowait, QCnoquery,QCstop)
733         (QCcoding, QCoptions, QCfilter, QCsentinel, QClog, QCfeature):
734         New variables.
735         (NETCONN1_P): New macro.
736         (DATAGRAM_SOCKETS): New conditional symbol.
737         (datagram_address): New array.
738         (DATAGRAM_CONN_P, DATAGRAM_CHAN_P): New macros.
739         (status_message): Use concat3.
740         (Fprocess_status): Add `listen' status to doc string.  Return `stop'
741         for a stopped network process.
742         (Fset_process_buffer): Update contact plist for network process.
743         (Fset_process_filter): Ditto.  Don't enable input for stopped
744         network processes.  Server must listen, even if filter is t.
745         (Fset_process_query_on_exit_flag, Fprocess_query_on_exit_flag):
746         New functions.
747         (Fprocess_kill_without_query): Removed.  Now defined in simple.el.
748         (Fprocess_contact): Added KEY argument.  Handle datagrams.
749         (list_processes_1): Optionally show only processes with the query
750         on exit flag set.  Dynamically adjust column widths.  Omit tty
751         column if not needed.  Report stopped network processes.
752         Identify server and datagram network processes.
753         (Flist_processes): New optional arg `query-only'.
754         (conv_sockaddr_to_lisp, get_lisp_to_sockaddr_size)
755         (conv_lisp_to_sockaddr, set_socket_options)
756         (network_process_featurep, unwind_request_sigio): New helper functions.
757         (Fprocess_datagram_address, Fset_process_datagram_address):
758         (Fset_network_process_options): New lisp functions.
759         (Fopen_network_stream): Removed.  Now defined in simple.el.
760         (Fmake_network_process): New lisp function.  Code is based on previous
761         Fopen_network_stream, but heavily reworked with new property list based
762         argument list, support for datagrams, server processes, and local
763         sockets in addition to old client-only functionality.
764         (server_accept_connection): New function.
765         (wait_reading_process_input): Use it to handle incoming connects.
766         Do not enable input on a new connection if process is stopped.
767         (read_process_output): Handle datagram sockets. Use 2k buffer for them.
768         (send_process): Handle datagram sockets.
769         (Fstop_process, Fcontinue_process): Apply to network processes.  A stopped
770         network process is indicated by setting command field to t .
771         (Fprocess_send_eof): No-op if datagram connection.
772         (Fstatus_notify): Don't read input for a stream server socket or a
773         stopped network process.
774         (init_process): Initialize datagram_address array.
775         (syms_of_process): Intern and staticpro new variables, defsubr new
776         functions.
778 2002-03-16  Jason Rumney  <jasonr@gnu.org>
780         * w32fns.c (w32_to_all_x_charsets): Return correct type in
781         startup case.
783 2002-03-16  Richard M. Stallman  <rms@gnu.org>
785         * xdisp.c (redisplay_internal, redisplay_windows): 
786         Use list_of_error to call internal_condition_case_1.
787         (safe_eval, safe_call): Pass Qt to internal_condition_case_{1,2}
788         so as to catch all errors with no possibility of debugger redisplay.
789         (list_of_error): New variable.
790         (syms_of_xdisp): Init and staticpro it.
792         * print.c (print_object): Delete `\ ' from printed rep of frame.
794 2002-03-15  Eli Zaretskii  <eliz@is.elta.co.il>
796         * msdos.c (dos_rawgetc): Disable the x-autoselect-window feature,
797         until its implementation is fixed.
799 2002-03-14  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
801         * xfns.c (png_load): Remove unused variable `gamma_str'.
803 2002-03-14  Richard M. Stallman  <rms@gnu.org>
805         * xfns.c (x_real_positions): Handle failure in XQueryTree.
807 2002-03-14  Miles Bader  <miles@gnu.org>
809         * intervals.c (adjust_for_invis_intang): New function.
810         (set_point_both): Use `adjust_for_invis_intang' to do most of the
811         work for dealing with invisible+intangible regions.  Do so before
812         and after both forward and backward movements, to handle both
813         front-sticky and rear-sticky cases.
814         * textprop.c (text_property_stickiness): Function moved here from
815         `editfns.c'.
816         * intervals.h (text_property_stickiness): New declaration.
817         * editfns.c (char_property_eq): Function removed.
818         (text_property_stickiness): Function moved to `textprop.c'.
820 2002-03-13  Jason Rumney  <jasonr@gnu.org>
822         * config.in: Add STRFTIME_NO_POSIX2.
824         * strftime.c (my_strftime) [STRFTIME_NO_POSIX2]: Handle %h, %EX
825         and %OX when underlying strftime does not.
827 2002-03-13  Stefan Monnier  <monnier@cs.yale.edu>
829         * xterm.c (x_set_toolkit_scroll_bar_thumb) <USE_MOTIF>:
830         Use a fixed-size thumb (based on an ad-hoc estimate of 30 chars per
831         line) to avoid annoying flicker.
832         (xm_scroll_callback): Get rid of the now unnecessary kludge.
833         (XTread_socket): Mark it static.
835         * xdisp.c (display_mode_element): Fix int/Lisp_Object mixup.
837 2002-03-13  Kim F. Storm  <storm@cua.dk>
839         * puresize.h (BASE_PURESIZE): Increase to 775000.
841 2002-03-12  Juanma Barranquero  <lektu@terra.es>
843         * editfns.c (syms_of_editfns): Fix typo.
845 2002-03-12  Gerd Moellmann  <gerd@gnu.org>
847         * xsmfns.c: Include stdio.h because termhooks.h needs it.
848         Include termopt.h for interrupt_input.
850 2002-03-11  Andreas Schwab  <schwab@suse.de>
852         * coding.c (syms_of_coding) <file-coding-system-alist>: Doc fix.
854 2002-03-11  Gerd Moellmann  <gerd@gnu.org>
856         * xterm.c (note_mouse_movement): Put code for
857         x_autoselect_window_p in #if 0.
859         * lread.c (Fload): Don't assume that message_with_string uses the
860         string it is given like a C string.
862 2002-03-10  Jan D.  <Jan.Djarv@mbox200.swipnet.se>
864         * xterm.h (x_session_check_input, x_session_initialize): Declared.
866         * xterm.c: (XTread_socket): Add call to x_session_check_input and
867         x_session_have_connection.
868         (x_initialize): Add call to x_session_initialize.
870         * termhooks.h (enum event_kind): Add save_session_event.
872         * keyboard.c: Add Emacs event save_session_event.
874         * emacs.c (main): Add call to syms_of_xsmfns.
876         * lisp.h: Declare syms_of_xsmfns as extern.
878         * config.in: Add HAVE_X_SM.
880         * Makefile.in (LIBXT): Add -lSM -lICE
881         if HAVE_X_SM and not USE_X_TOOLKIT.
882         (XOBJ): New file xsmfns.c added.
884         * xsmfns.c: New file for X session management.
886 2002-03-09  Jason Rumney  <jasonr@gnu.org>
888         * fileio.c (Fcopy_file) [WINDOWS_NT]: Ensure file is not
889         read-only when setting modified time.
891 2002-03-08  Gerd Moellmann  <gerd@gnu.org>
893         * xdisp.c (move_it_vertically_backward): At the end of the
894         function, when moving forward by lines, treat terminal frames
895         specially.
897         * keyboard.c (echo_char): Make sure to add a separator between
898         keys even if echo_dash hasn't been called.
900         * xdisp.c: Use new string macros.
901         (update_echo_area): Pass number of bytes to message3 instead of
902         number of chars.
903         (set_message_1): Don't access a string's size_byte directly.
904         (decode_mode_spec_coding): Use number of bytes of eoltype string
905         instead number of chars.
907         * lisp.h (SREF, SDATA, SCHARS, SBYTES, SMBP): New macros.
909 2002-03-08  Juanma Barranquero  <lektu@terra.es>
911         * w32fns.c (Fx_display_color_cells): Force 24+ bit color depths to
912         24-bit.
914 2002-03-06  Jason Rumney  <jasonr@gnu.org>
916         * w32term.c (x_draw_hollow_cursor): Draw same size as block cursor.
918 2002-03-06  Gerd Moellmann  <gerd@gnu.org>
920         * keyboard.c (echo_prompt, echo_char, echo_dash, echo_now)
921         (cancel_echoing, echo_length, echo_truncate): Changed to
922         work with new kboard definition.
923         (echo_now): Use message3_nolog instead of message2_nolog.
925         * alloc.c (mark_kboards): Mark echo_string.
927         * keyboard.h (ECHOBUFSIZE): Removed.
928         (struct kboard): Member echoptr removed, member echobuf renamed
929         to echo_string.
931         * xdisp.c (message_with_string): Use Fformat instead of doprnt and
932         message3 instead of message2 to display the message using STRING's
933         text properties.
935 2002-03-05  Andreas Schwab  <schwab@suse.de>
937         * xdisp.c (hscroll_margin): Change to EMACS_INT.
939 2002-03-05  Per Abrahamsen  <abraham@dina.kvl.dk>
941         * frame.c (default-frame-alist): Explain that setting it doesn't
942         affect existing frames.
944 2002-03-05  Stefan Monnier  <monnier@cs.yale.edu>
946         * indent.c (skip_invisible): Fix my brain fart.
948         * dispnew.c (sit_for): Don't wait if executing a kbd macro.
950 2002-03-04  Stefan Monnier  <monnier@cs.yale.edu>
952         * dosfns.c, dosfns.h, dispnew.c, dispextern.h, commands.h, charset.c,
953         * alloc.c, abbrev.c, emacs.c, eval.c, keyboard.c, keyboard.h,
954         * lisp.h, lread.c, sysdep.c, termcap.c, termchar.h, w32term.c,
955         * window.c, xdisp.c, xselect.c, xterm.c: Change defvar_int definition
956         and variables to use EMACS_INT instead of just int.
958         * buffer.c (syms_of_buffer): Allow non-string `mode-name'.
960 2002-03-04  Eli Zaretskii  <eliz@is.elta.co.il>
962         * sysdep.c (sys_subshell) [MSDOS]: If PWD is set in the
963         environment, pass it down with corrected value.
965 2002-03-04  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
967         * lread.c (read_filtered_event): Do not call start_hourglass
968         before returning.
970 2002-03-04  Juanma Barranquero  <lektu@terra.es>
972         * w32term.c (x_display_and_set_cursor): Fix typo.
974 2002-03-03  Richard M. Stallman  <rms@gnu.org>
976         * fileio.c (Fmake_temp_name): Doc fix.
978 2002-03-03  Gary Wong  <gtw@gnu.org>
980         * termcap.c [!emacs]: Replace ospeed for building standalone
981         libtermcap, for binary compatibility.
983         * tparam.c [!emacs]: Move #define of bcopy to after string.h.
985 2002-03-03  Richard M. Stallman  <rms@gnu.org>
987         * xrdb.c (file_p): Rename arg `path' to `filename'.
989         * abbrev.c (Fexpand_abbrev): Increment plist as use count
990         only if it is an integer.
992         * xfns.c (png_load): Set screen_gamma based on f->gamma.
993         If png_get_sRGB gives an answer, call png_set_gamma
994         using the default image gamma value.
996         * lread.c (read1): When reading from a file, default string to
997         multibyte only if it has some multibyte characters.
999         * print.c (print_object): Output multibyte chars 128...255
1000         using \x even if ! print_escape_multibyte.
1002         * xdisp.c (display_mode_element): Move the places where
1003         bytepos, charpos, this, and lisp_string are set.
1004         Use lisp_string to set bytepos.
1006         * xdisp.c (redisplay_internal):
1007         Call clear_image_cache only if HAVE_WINDOW_SYSTEM.
1009         * xdisp.c (display_mode_element): Merge properties specified with
1010         :propertize onto those that come with the string.
1012 2002-03-03  Eli Zaretskii  <eliz@is.elta.co.il>
1014         * xdisp.c (syms_of_xdisp) <auto-hscroll-mode>: Renamed from
1015         automatic-hscrolling.  Users changed.
1016         <hscroll-margin>: Renamed from automatic-hscroll-margin.
1017         Users changed.
1018         <hscroll-step>: Renamed from automatic-hscroll-step.  Users changed.
1020 2002-03-02  Eli Zaretskii  <eliz@is.elta.co.il>
1022         * buffer.c (syms_of_buffer) <buffer-file-coding-system>: Doc fix.
1024 2002-03-02  Kim F. Storm  <storm@cua.dk>
1026         * window.c (Fminibuffer_selected_window): New function.
1027         (syms_of_window): Defsubr it.
1029 2002-03-01  Kim F. Storm  <storm@cua.dk>
1031         * window.h (struct window): New member phys_cursor_width.
1033         * window.c (make_window, replace_window): Init phys_cursor_width.
1035         * xterm.c (x_display_and_set_cursor): Blink box cursor using
1036         hollow box cursor.  Blink bar cursor using 1 pixel wide bar.
1038         * w32term.c (x_display_and_set_cursor): Blink box cursor using
1039         hollow box cursor.  Blink bar cursor using 1 pixel wide bar.
1041         * lisp.h (GCPRO6): New macro.
1043         * process.c (Fopen_network_stream): Use GCPRO6.
1045 2002-03-01  Kim F. Storm  <storm@cua.dk>
1047         * process.c (Qconnect, Qfailed): New variables.
1048         (syms_of_process): Intern and staticpro them.
1049         (Fprocess_status): Document connect and failed return values.
1050         [NON_BLOCKING_CONNECT]: New conditional.
1051         (connect_wait_mask, num_pending_connects): New variables.
1052         (status_message): Convert Qfailed status.
1053         (Fopen_network_stream): Added support for non-blocking connect.
1054         New optional args: filter, sentinel, non_blocking.  Doc updated.
1055         [HAVE_GETADDRINFO, !HAVE_GETADDRINFO]:  Merged common code.
1056         (deactivate_process): Handle pending non-blocking connect.
1057         (wait_reading_process_input): Poll for status of non-blocking
1058         connects.  Exec sentinel directly when connect succeeds.
1059         (status_notify): Don't read process output if not yet connected.
1061 2002-02-28  Kim F. Storm  <storm@cua.dk>
1063         * window.c: (minibuf_selected_window): Renamed from
1064         Vminibuf_selected_window.  Users changed.
1065         (syms_of_window): Staticpro it.
1067 2002-02-26  Kim F. Storm  <storm@cua.dk>
1069         The following changes add a new Vminibuf_selected_window variable
1070         which is similar to Vminibuf_scroll_window, but which is only set
1071         on entry to the minibuffer (from a non-minibuffer window):
1073         * window.c: (Vminibuf_selected_window): New variable.
1074         (struct save_window_data): New member minibuf_selected_window.
1075         (Fset_window_configuration): Restore Vminibuf_selected_window.
1076         (Fcurrent_window_configuration): Save Vminibuf_selected_window.
1077         Set minibuf_scroll_window member to nil if minibuf_level is 0.
1078         (compare_window_configurations): Compare minibuf_selected_window.
1080         * window.h: (Vminibuf_selected_window): Declare extern.
1082         * minibuf.c (read_minibuf): Set Vminibuf_selected_window on first
1083         entry to minibuffer or on entry from a non-minibuffer window.
1085         * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): Compare with
1086         Vminibuf_selected_window instead of Vminibuf_scroll_window.
1088         * xdisp.c (init_iterator): Compare with Vminibuf_selected_window
1089         instead of Vminibuf_scroll_window when deciding in which window
1090         the region should be highlighted.  Consequently, the region remains
1091         highlighteded even when a completion buffer is also displayed.
1093 2002-02-26  Eli Zaretskii  <eliz@is.elta.co.il>
1095         * fileio.c (Fsubstitute_in_file_name): Fix the change from
1096         2002-02-08.
1098         * xselect.c (Qcompound_text_with_extensions): Renamed from
1099         Qcompound_text_no_extensions.
1100         (lisp_data_to_selection_data, syms_of_xselect): Use the new name.
1102 2002-02-26  Juanma Barranquero  <lektu@terra.es>
1104         * w32proc.c (syms_of_ntproc): Doc fix.
1106 2002-02-24  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1108         * intervals.h: Include "dispextern.h" unconditionally.
1110 2002-02-24  Jason Rumney  <jasonr@gnu.org>
1112         * Makefile.in (WINNT_SUPPORT) [WINDOWSNT]: Add w32-vars.elc
1113         and disp-table.elc.
1114         (lisp): Add emacs-lisp/backquote.elc.
1116 2002-02-24  Kim F. Storm  <storm@cua.dk>
1118         * keymap.c (Flookup_key): Fixed problem in 2001-12-28 patch:
1119         The validation of the event type was too strict as it didn't
1120         allow string events; buffer names are used in bindings for
1121         menu-bar-select-buffer (see `menu-bar-update-buffers').
1123 2002-02-23  Kim F. Storm  <storm@cua.dk>
1125         The following changes rework my patch of 2002-02-06 which
1126         added command remapping by entering the commands directly into
1127         the keymaps.  Now, command remapping uses an explicit `remap'
1128         prefix in the keymaps, i.e. [remap COMMAND].
1130         * keymap.c (Qremap, remap_command_vector): New variables.
1131         (is_command_symbol): Removed function.
1132         (Fdefine_key): No longer accept a symbol for KEY.
1133         Added validation of [remap COMMAND] argument for KEY.
1134         The DEF is no longer required to be a symbol when remapping a command.
1135         (Fremap_command): New function to remap command through keymaps.
1136         (Flookup_key): Perform command remapping initiated by
1137         Fremap_command directly for speed.
1138         (Fkey_binding): Use Fremap_command for command remapping.
1139         (where_is_internal): Handle new command remapping representation.
1140         (syms_of_keymap): Intern Qremap, initialize remap_command_vector,
1141         staticpro them.  Defsubr Fremap_command.
1143         * keymap.h (Fremap_command): Declare extern.
1144         (is_command_symbol): Remove extern.
1146         * keyboard.c (command_loop_1): Use Fremap_command for command
1147         remapping; now try command remapping for all symbols.
1149 2002-02-23  Eli Zaretskii  <eliz@is.elta.co.il>
1151         * coding.h (run_pre_post_conversion_on_str): Add prototype.
1153 2002-02-23  Jason Rumney  <jasonr@gnu.org>
1155         * w32select.c (Fw32_set_clipboard_data): Run pre-write-conversion
1156         on the string before encoding it.
1157         (Fw32_get_clipboard_data): Run post-read-conversion on the string
1158         after decoding it.
1160         * w32fns.c (w32_wnd_proc) <WM_TIMER>: Fix last change.
1162 2002-02-23  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1164         * w32term.c (enter_timestamp): Remove unused static variable to
1165         prevent warning.
1167         * xterm.c (enter_timestamp): Put in #if 0 to prevent warning.
1169 2002-02-23  Eli Zaretskii  <eliz@is.elta.co.il>
1171         * w16select.c (Fw16_get_clipboard_data): Fix last change.
1173         * xselect.c (selection_data_to_lisp_data): Fix last change.
1175 2002-02-22  Jason Rumney  <jasonr@gnu.org>
1177         * w32term.h (struct w32_output): New member menu_command_in_progress.
1179         * w32menu.c (menubar_selection_callback): Free the menu and
1180         clear the menu_command_in_progress flag.
1182         * w32fns.c (mouse_move_timer, mouse_button_timer): Initialize.
1183         (menu_free_timer): New variable.
1184         (MENU_FREE_ID, MENU_FREE_DELAY): New constants.
1185         (w32_wnd_proc) <WM_TIMER>: Handle menu_free_timer.
1186         <WM_EXITMENULOOP>: Delay before freeing menu.  Do nothing if a
1187         menu command is in progress.
1188         <WM_COMMAND>: Set the menu_command_in_progress flag.
1189         Kill any menu_free_timer that is running.
1191         * w32term.c (w32_text_out): Renamed from W32_TEXTOUT.
1192         Call ExtTextOutA rather than ExtTextOut.
1194 2002-02-22  Eli Zaretskii  <eliz@gnu.org>
1196         * puresize.h (BASE_PURESIZE): Increase to 755000.
1198 2002-02-22  Eli Zaretskii  <eliz@is.elta.co.il>
1200         * w16select.c (Fw16_set_clipboard_data): Run pre-write-conversion
1201         on the string before encoding it.
1202         (Fw16_get_clipboard_data): Run post-read-conversion on the string
1203         after decoding it.
1205 2002-02-22  Eli Zaretskii  <eliz@is.elta.co.il>
1207         Support for ICCCM  Extended Segments in X selections:
1209         * xselect.c <Qcompound_text_no_extensions>: New variable.
1210         (syms_of_xselect): Intern and staticpro it.
1211         (selection_data_to_lisp_data): Run post-read-conversion on decoded
1212         selection text.
1213         (lisp_data_to_selection_data): If next-selection-coding-system is
1214         compound-text-no-extensions, set the type of selection to be
1215         compound-text.
1217         * xterm.h (x_encode_text): Update prototype.
1219         * xfns.c (x_encode_text): Accept additional arg SELECTIONP; all
1220         callers changed.  If SELECTIONP is non-zero, run the
1221         pre-write-conversion function before encoding the selection text.
1223 2002-02-21  Kim F. Storm  <storm@cua.dk>
1225         * frame.c (syms_of_frame): Change mouse-highlight default to t.
1227         * keyboard.c (kbd_buffer_get_event) [WINDOWSNT]:
1228         Correct composing of language-change event.
1230 2002-02-20  Kim F. Storm  <storm@cua.dk>
1232         * keyboard.c (menu_bar_items): Don't include keymap or local-map
1233         bindings at PT when building menu (the menu is not updated often
1234         enough for this to work reliable).
1235         (tool_bar_items): Likewise.
1236         (current_active_maps): Removed unused (and buggy) function.
1238 2002-02-20  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1240         * xfns.c (gif_load): Use correct width and height for GIF images.
1242 2002-02-19  Eli Zaretskii  <eliz@is.elta.co.il>
1244         * floatfns.c (Fatan): Accept an optional second arg and call
1245         atan2 if passed 2 args.
1247 2002-02-18  Jason Rumney  <jasonr@gnu.org>
1249         * w32term.c (glyph_rect): Determine the row and glyph more precisely.
1251 2002-02-17  Jason Rumney  <jasonr@gnu.org>
1253         * w32term.c (x_autoselect_window_p): New variable.
1254         (syms_of_w32term): DEFVAR_BOOL and initialize it.
1255         (note_mouse_movement): Use it.
1257         * w32fns.c (w32_load_system_font): Never set fonts_changed_p to zero.
1259         * w32bdf.c (w32_load_bdf_font): Maybe set fonts_changed_p.
1261         * w32fns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
1262         New variables.
1263         (syms_of_w32fns): Intern and staticpro them.
1264         (x_frame_parms) <"fullscreen">: New parameter.
1265         (x_fullscreen_move, x_set_fullscreen): New functions.
1266         (x_set_frame_parameters): Support Qfullscreen.
1267         (x_real_positions): Save x/y_pixels_diff frame params.
1268         (x_figure_window_size): Support full-screen frames.
1269         (Fx_create_frame): Default the fullscreen parameter.
1271         * w32term.c (x_check_fullscreen, x_check_fullscreen_move)
1272         (x_fullscreen_adjust): New functions.
1273         (w32_read_socket) <WM_WINDOWPOSCHANGED>:  Don't resize to
1274         fullscreen.  Call x_check_fullscreen_move, and set the
1275         want_fullscreen member of output_data.w32
1276         <WM_ACTIVATE, WM_ACTIVATEAPP>: Call x_check_fullscreen.
1278         * w32term.h: New enum for FULLSCREEN_* constants.
1279         (struct w32_output): New members want_fullscreen, x_pixels_diff,
1280         y_pixels_diff, x_pixels_outer_diff, and y_pixels_outer_diff.
1281         (x-fullscreen-adjust): New prototype.
1283 2002-02-17  Kim F. Storm  <storm@cua.dk>
1285         * frame.c: (Vmouse_highlight): New variable.
1286         (syms_of_frame): DEFVAR_LISP it.
1288         * frame.h: (Vmouse_highlight): Declare extern.
1290         * xterm.h (struct x_display_info): Add mouse_face_hidden.
1292         * xterm.c (disable_mouse_highlight): Removed variable.
1293         (note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
1294         (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
1295         (XTread_socket): Turn mouse_face_hidden off after mouse movement,
1296         and on after keyboard input.
1297         (x_term_init): Initialize mouse_face_hidden.
1299         * msdos.h (struct display_info): Add mouse_face_hidden.
1301         * msdos.c (disable_mouse_highlight): Removed variable.
1302         (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
1303         (IT_note_mouse_highlight): Don't highlight if Vmouse_highlight is nil.
1304         (internal_terminal_init): Initialize mouse_face_hidden.
1305         (dos_rawgetc): Turn mouse_face_hidden off after mouse movement,
1306         and on after keyboard input.
1308         * w32term.h (struct w32_display_info): Add mouse_face_hidden.
1310         * w32term.c (disable_mouse_highlight): Removed variable.
1311         (note_mouse_highlight): Disable highlight if Vmouse_highlight is nil.
1312         (show_mouse_face): Don't show highlight if mouse_face_hidden is set.
1313         (w32_read_socket): Turn mouse_face_hidden off after mouse movement,
1314         and on after keyboard input.
1315         (w32_initialize_display_info): Initialize mouse_face_hidden.
1317 2002-02-16  Eli Zaretskii  <eliz@is.elta.co.il>
1319         * msdos.c (last_mouse_window): New variable.
1320         (dos_rawgetc): Fix last change--if the mouse is in the same window
1321         as recorded in last_mouse_window, don't select this window.
1323         * Makefile.in (lisp, shortlisp): Use cus-start.elc, not cus-start.el.
1325         * msdos.c (x_autoselect_window_p): New variable.
1326         (syms_of_msdos): Defvar it.
1327         (dos_rawgetc): If x_autoselect_window_p is set, select the window
1328         in which the last mouse movement occured, unless it is already
1329         selected.
1331         * xdisp.c (automatic_hscroll_margin, Vautomatic_hscroll_step):
1332         New variables.
1333         (syms_of_xdisp): DEVFAR them.
1334         (hscroll_window_tree): Use automatic_hscroll_margin and
1335         Vautomatic_hscroll_step to compute the amount of window scrolling.
1337 2002-02-16  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1339         * xterm.c (x-autoselect-window): New variable.
1340         (note_mouse_movement): Use it.
1342         * keyboard.c: Do not include "systime.h" twice.
1344 2002-02-15  Andreas Schwab  <schwab@suse.de>
1346         * puresize.h (BASE_PURESIZE): Increase to 9/5.
1348         * alloc.c (NSTATICS): Increase to 1280.
1350 2002-02-15  Kai Gro\e,A_\e(Bjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
1352         * alloc.c (NSTATICS): Bump to 1026.
1354         * xterm.c (Vx_alt_keysym, Vx_hyper_keysym, Vx_meta_keysym)
1355         (Vx_super_keysym): New variables.
1356         (syms_of_xterm): DEFVAR_LISP them.
1357         (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Use the
1358         variables to determine which keys to use for the various modifiers.
1360 2002-02-13  Kim F. Storm  <storm@cua.dk>
1362         * window.c: (Vmode_line_in_non_selected_windows): Removed.
1363         (mode_line_in_non_selected_windows): New variable.
1364         (syms_of_window): DEFVAR_BOOL it.
1366         * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3):
1367         Use mode_line_in_non_selected_windows.
1368         (mode_line_in_non_selected_windows): Declare extern.
1369         (Vmode_line_in_non_selected_windows): Removed extern.
1371 2002-02-13  Richard M. Stallman  <rms@gnu.org>
1373         * keyboard.c (Fthis_command_keys, Fthis_command_keys_vector)
1374         (Fthis_single_command_keys, Fthis_single_command_raw_keys)
1375         (Fclear_this_command_keys): Doc fixes.
1377         * xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
1378         (update_face_from_frame_parameter): Increment face_change_count
1379         and windows_or_buffers_changed to force redisplay using changed faces.
1381         * xdisp.c (QCpropertize): New variable.
1382         (mode_line_proptrans_alist): New variable.
1383         (display_mode_element): New arg PROPS; all calls changed.
1384         Implement this, for strings.
1385         Handle literal output of strings by sharing the
1386         main-line code for strings, using local var `literal'.
1387         Handle :propertize feature.
1388         (syms_of_xdisp): Initialze and staticpro QCpropertize and
1389         mode_line_proptrans_alist.
1391 2002-02-11  Kim F. Storm  <storm@cua.dk>
1393         * window.c: (Vmode_line_in_non_selected_windows): New variable.
1394         (syms_of_window): DEFVAR_LISP it.
1396         * dispextern.h (CURRENT_MODE_LINE_FACE_ID_3): New macro.
1397         (CURRENT_MODE_LINE_FACE_ID): Use it.
1398         (Vmode_line_in_non_selected_windows): Declare extern.
1400         * xdisp.c (display_mode_lines): Use CURRENT_MODE_LINE_FACE_ID_3
1401         to get mode line face.
1403 2002-02-11  Eli Zaretskii  <eliz@is.elta.co.il>
1405         * msdos.c (Vx_bitmap_file_path, x_stretch_cursor_p): Remove these
1406         variables; cus-start.el doesn't need them anymore.
1408 2002-02-09  Kim F. Storm  <storm@cua.dk>
1410         * insdel.c (make_gap_smaller): Preserve BEG_UNCHANGED during gap
1411         reduction.  This fixes a display problem where stray newlines were
1412         inserted in the window (corrected by C-l).  Clarified code (IMHO).
1414 2002-02-09  Eli Zaretskii  <eliz@is.elta.co.il>
1416         * dispextern.h (CURRENT_MODE_LINE_FACE_ID): Fix last change.
1418         * xdisp.c (display_mode_lines): Fix last change.
1420 2002-02-09  Jason Rumney  <jasonr@gnu.org>
1422         * w32fns.c (enum_font_cb2): Don't let charsets unknown to Windows
1423         match each other.
1424         (w32_load_system_font): Prevent Cleartype fonts from loading.
1425         (Fx_show_tip): Ensure tip frames are above other topmost windows.
1427 2002-02-09  Kim F. Storm  <storm@cua.dk>
1429         * dispextern.h (CURRENT_MODE_LINE_FACE_ID): New macro.
1430         (CURRENT_MODE_LINE_HEIGHT): Use it.
1431         (enum face_id): Add MODE_LINE_INACTIVE_FACE_ID.
1433         * xdisp.c (window_box_height): Use CURRENT_MODE_LINE_FACE_ID.
1434         (pos_visible_p, handle_face_prop): Likewise.
1435         (display_mode_lines): Likewise, but for the real selected window.
1436         (init_iterator) [row == NULL]: Handle MODE_LINE_INACTIVE_FACE_ID.
1438         * xfaces.c (Qmode_line_inactive): New face variable for mode-line
1439         in non-selected windows.
1440         (realize_basic_faces): Realize it.
1441         (syms_of_term): Intern and staticpro it.
1443 2002-02-08  Kim F. Storm  <storm@cua.dk>
1445         * alloc.c (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK):
1446         Changed mail addresses to emacs-devel@gnu.org.
1448 2002-02-08  Eli Zaretskii  <eliz@is.elta.co.il>
1450         * fileio.c (Fsubstitute_in_file_name): If the file name includes
1451         ~user, and there's no such user, don't discard everything before ~user.
1453         * floatfns.c (Fround): Doc fix.
1455 2002-02-08  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1457         * sysdep.c (init_system_name): Put unused variable `p' in #if 0.
1459 2002-02-07  Stefan Monnier  <monnier@cs.yale.edu>
1461         * lisp.h (Fx_file_dialog): Add extern decl (used in fileio.c).
1463 2002-02-07  Kim F. Storm  <storm@cua.dk>
1465         * keymap.c (where_is_internal): Only check whether definition is
1466         remapped if it fulfills is_command_symbol.
1468 2002-02-07  Andreas Schwab  <schwab@suse.de>
1470         * s/gnu-linux.h (GC_LISP_OBJECT_ALIGNMENT): Define to 2 for m68k.
1472         * alloc.c (mark_stack): Don't assume sizeof (Lisp_Object) is 4.
1474 2002-02-06  Kim F. Storm  <storm@cua.dk>
1476         * keymap.c (Fdefine_key): Allow symbol as KEY argument for
1477         defining command remapping.  Doc updated.
1478         (Flookup_key): Remap command through keymap if KEY is a symbol.
1479         (is_command_symbol): New function.
1480         (Fkey_binding): Use it.  New optional argument NO-REMAP.
1481         Doc updated.  Callers changed.  Perform command remapping via
1482         recursive call unless that arg is non-nil.
1483         (where_is_internal): New argument no_remap.  Callers changed.
1484         Call recursively to find original key bindings for a remapped
1485         comand unless that arg is non-nil.
1486         (Fwhere_is_internal): New optional argument NO-REMAP.
1487         Doc updated.  Callers changed.  Pass arg to where_is_internal.
1489         * keymap.h (Fkey_binding, Fwhere_is_internal): Update prototype.
1490         (is_command_symbol): Added prototype.
1492         * keyboard.c (Vthis_original_command): New variable.
1493         (syms_of_keyboard): DEFVAR_LISP it.
1494         (command_loop_1): Set it, and perform command remapping.
1496 2002-02-06  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1498         * keyboard.c (recursive_edit_1): Call cancel_hourglass unconditionally.
1500 2002-02-06  Jason Rumney  <jasonr@gnu.org>
1502         * w32term.c (w32_native_per_char_metric): Disable 2002-01-20 change.
1504 2002-02-06  Eli Zaretskii  <eliz@is.elta.co.il>
1506         * charset.c (get_charset_id): Use if-else instead of ?:.
1508 2002-02-06  Richard M. Stallman  <rms@gnu.org>
1510         * filelock.c (S_ISLNK): Define if not defined.
1512 2002-02-03  Richard M. Stallman  <rms@gnu.org>
1514         * fileio.c (Fdo_auto_save): Improve "auto save disabled" msg.
1516         * lread.c (read1): Redesign strategy for force_multibyte and
1517         force_singlebyte.  Now is_multibyte records whether read_buffer
1518         is multibyte.  Encountering any multibyte character makes it so.
1520 2002-02-02  Stefan Monnier  <monnier@cs.yale.edu>
1522         * term.c (term_get_fkeys_1): If `k0' and `k;' are both specified and
1523         with the same sequence, map that sequence to f10 rather than f0.
1525 2002-02-03  Andreas Schwab  <schwab@suse.de>
1527         * s/gnu-linux.h: Check for __mc68000__ instead of __m68k__, the
1528         latter never being defined on GNU/Linux.
1530 2002-02-02  Eli Zaretskii  <eliz@is.elta.co.il>
1532         * xfaces.c (realize_default_face): Don't set the weight and slant
1533         of the default face to Qnormal, unless these attributes are
1534         unspecified.
1536 2002-02-02  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1538         * keyboard.c (command_loop_1) [HAVE_X_WINDOWS]:
1539         Call cancel_hourglass unconditionally.
1541         * eval.c (Fsignal): Remove duplicated declaration of
1542         the variable `display_hourglass_p'.
1544 2002-01-31  Richard M. Stallman  <rms@gnu.org>
1546         * editfns.c (region_limit): Nicer error message.
1548         * coding.c (decode_composition_emacs_mule):
1549         Give up if NCOMPONENT gets too large to index `component'.
1551         * callint.c (check_mark): New arg to specify clearer error message.
1552         Callers changed.
1554 2002-01-27  Richard M. Stallman  <rms@gnu.org>
1556         * minibuf.c (Fcompleting_read): Doc fix.
1558 2002-01-27  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1560         * minibuf.c (Fread_from_minibuffer, Fread_command, Fread_function)
1561         (Fread_variable, Fread_buffer, minibuffer-completion-confirm):
1562         Fix doc-strings.
1564 2002-01-26  Richard M. Stallman  <rms@gnu.org>
1566         * buffer.c (syms_of_buffer): Doc fixes for scroll-...-aggressively.
1568         * xdisp.c (try_scrolling): Exchange uses of scroll_down_aggressively
1569         and scroll_up_aggressively.
1571 2002-01-26  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1573         * keyboard.c (parse_tool_bar_item): Remove duplicated prototypes.
1575 2002-01-25  Stefan Monnier  <monnier@cs.yale.edu>
1577         * textprop.c (Fnext_property_change, Fnext_single_property_change)
1578         (Fprevious_property_change, Fprevious_single_property_change):
1579         Stay within the narrowed-buffer boundaries.
1581 2002-01-25  Eli Zaretskii  <eliz@is.elta.co.il>
1583         * term.c (Ftty_display_color_cells): New function.
1584         (syms_of_term): Defsubr it.
1585         (Ftty_display_color_cells, Ftty_display_color_p): Change the
1586         argument name to DISPLAY.  Doc fix.
1588         * dispextern.h: Add prototype for set_tty_color_mode and
1589         tty_setup_colors.
1591 2002-01-24  Jason Rumney  <jasonr@gnu.org>
1593         * w32term.c (x_scroll_run): Use ScrollWindowEx in place of BitBlt.
1594         If region left to draw is not what was expected, mark the frame as
1595         garbaged.
1597         * w32fns.c (w32_wnd_proc) <WM_PAINT>: Initialize update_rect.
1598         Combine the regions returned by BeginPaint and GetUpdateRect.
1600 2002-01-23  Jason Rumney  <jasonr@gnu.org>
1602         * w32term.c (x_update_window_begin): Only hide caret if
1603         w32_use_visible_system_caret is set.
1604         (x_update_window_end): Only show caret if
1605         w32_use_visible_system_caret is set.
1606         (syms_of_w32term): Handle SystemParametersInfo call failing.
1608         * w32fns.c (syms_of_w32fns): Initialize w32_visible_system_caret_hwnd.
1610 2002-01-22  Richard M. Stallman  <rms@gnu.org>
1612         * unexelf.c (unexec): Define n so as to cause compilation error
1613         for the code where people have often written n instead of nn.
1615         * .gdbinit (hookpost-run): Defined.
1617 2002-01-22  Jan D.  <Jan.Djarv@mbox200.swipnet.se>
1619         * xfns.c (x_set_frame_parameters): Typo in previous fix corrected.
1621 2002-01-21  Jan D.  <Jan.Djarv@mbox200.swipnet.se>
1623         * xfns.c (x_set_frame_parameters): Just call x_fullscreen_adjust
1624         if fullscreen is being set.
1626 2002-01-21  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1628         * minibuf.c (Fminibuffer_contents)
1629         (Fminibuffer_contents_no_properties, Fread_from_minibuffer)
1630         (Fread_string, Fread_no_blanks_input, Fcompleting_read): Doc fixes.
1632 2002-01-21  Richard M. Stallman  <rms@gnu.org>
1634         * window.c (check_frame_size): Fix minimum height calculation.
1636 2002-01-20  Ken Raeburn  <raeburn@gnu.org>
1638         * dispextern.h (WINDOW_WANTS_MODELINE_P): Use XFASTINT on window
1639         height before comparison.
1640         (WINDOW_WANTS_HEADER_LINE_P): Likewise.
1642 2002-01-20  Jason Rumney  <jasonr@gnu.org>
1644         * w32term.c (w32_system_caret_width): Remove.
1645         (w32_use_visible_system_caret): New user flag.
1646         (syms_of_w32term): DEFVAR_BOOL it.  Initialize based on whether
1647         Windows reports a screen reader running.
1648         (x_update_window_begin): Hide the system caret.
1649         (x_update_window_end): Show the system caret.
1650         (x_display_and_set_cursor): Don't draw a cursor when
1651         w32_use_visible_system_caret is set.  Do not adjust width.
1653         * w32fns.c (w32_visible_system_caret_hwnd): New static variable.
1654         (w32_wnd_proc) <WM_KILL_FOCUS, WM_EMACS_DESTROY_CARET>: Set it.
1655         <WM_EMACS_TRACK_CARET>: Arrange for system caret to be visible if
1656         the user requests it.  Use system default width when creating.
1657         <WM_EMACS_HIDE_CARET, WM_EMACS_SHOW_CARET>: Handle new messages.
1659         * w32term.h (WM_EMACS_SHOW_CARET, WM_EMACS_HIDE_CARET):
1660         New window messages.
1662 2002-01-20  Richard M. Stallman  <rms@gnu.org>
1664         * window.c (MIN_SAFE_WINDOW_HEIGHT): Value now 1.
1666 2002-01-20  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1668         * doprnt.c (doprnt1): Fix typos in error call.
1670 2002-01-20  Eli Zaretskii  <eliz@is.elta.co.il>
1672         * unexelf.c (unexec) [__sgi]: Support the .got sections.
1674 2002-01-20  Jason Rumney  <jasonr@gnu.org>
1676         * w32term.c (w32_native_per_char_metric): Don't trust the metrics
1677         that Windows returns.  If a double check fails, try to guess how
1678         ExtTextOut is going to act.
1680         * w32fns.c (w32_load_system_font, w32_to_x_charset): Use strnicmp
1681         in place of stricmp.
1682         (w32_list_synthesized_fonts): Removed.
1683         (w32_to_all_x_charsets, enum_font_maybe_add_to_list): New functions.
1684         (struct enumfont_t): New element; list.
1685         (enum_font_cb2): List all style and charset variations of a font.
1686         (Fw32_select_font): New optional argument; include_proportional.
1687         Exclude vertical fonts.  Exclude proportional fonts unless
1688         include_proportional is non-nil.
1689         (w32_enable_synthesized_fonts): Change to a boolean.
1690         (Fw32_send_sys_command): Doc fix.
1692 2002-01-19  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1694         * dispnew.c (update_frame): Move the variable `tem' to the block
1695         where it is used.
1697 2002-01-19  Jason Rumney  <jasonr@gnu.org>
1699         * w32fns.c (Fx_create_frame): Bind redisplay-dont-pause around
1700         call to face-set-after-frame-default.
1702 2002-01-18  Richard M. Stallman  <rms@gnu.org>
1704         * dispextern.h (WINDOW_WANTS_MODELINE_P): Check window height > 1.
1705         (WINDOW_WANTS_HEADER_LINE_P): Check window height provides room.
1707 2002-01-17  Richard M. Stallman  <rms@gnu.org>
1709         * window.c (enlarge_window): When exceeding size of parent,
1710         directly delete all the siblings instead of trying to resize it.
1712 2002-01-17  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1714         * term.c (set_tty_color_mode): Remove unused variable `tem'.
1716 2002-01-16  Henrik Enberg  <henrik@enberg.org>
1718         * lread.c (init_lread): Move the installed-lisp dirs later in the path.
1720 2002-01-16  Kim F. Storm  <storm@cua.dk>
1722         * xterm.c (x_erase_phys_cursor): Don't erase cursor if cursor row
1723         is invisible.  This can happen if cursor is on top line of a
1724         window, and we switch to a buffer with a header line.
1726         * w32term.c (x_erase_phys_cursor): Ditto.
1728 2002-01-16  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1730         * xterm.c (XTread_socket) [!USE_X_TOOLKIT]: Compute the value of
1731         `dont_resize' only when used.
1733         * xdisp.c: Remove forgotten extern declaration of `Qimage'.
1735 2002-01-15  Eli Zaretskii  <eliz@is.elta.co.il>
1737         * xdisp.c (display_mode_element): When computing charpos, depend
1738         on multibyteness of elt, not the text in field.
1740 2002-01-15  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1742         * buffer.c (Fkill_all_local_variables):
1743         Increment `update_mode_lines' only once.
1745 2002-01-14  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1747         * lisp.h (adjust_after_replace_noundo)
1748         (Fupdate_coding_systems_internal): Add prototypes.
1750         * sound.c (Fplay_sound): Initialize header_size also for :data case.
1752 2002-01-14  Eli Zaretskii  <eliz@is.elta.co.il>
1754         Support for the --color command-line argument and tty-color-mode
1755         frame parameter:
1757         * term.c (tty_default_color_capabilities, tty_setup_colors)
1758         (set_tty_color_mode): New functions.
1759         (term_init): Call tty_default_color_capabilities.
1760         (Qtty_color_mode_alist): New variable.
1761         (syms_of_term): Intern and staticpro it.
1763         * frame.c (store_frame_param): Call set_tty_color_mode for termcap
1764         frames.
1765         (do_switch_frame): For termcap frames, switch the tty
1766         color mode as specified by the frame's parameters.
1767         (Qtty_color_mode): New variable.
1768         (syms_of_frame): Intern and staticpro it.
1770         * emacs.c (USAGE2): Add the --color option.
1771         (standard_args): Ditto.
1773 2002-01-13  Jan Djarv  <Jan.Djarv@mbox200.swipnet.se>
1775         * xterm.h (struct x_output): New members want_fullscreen,
1776         x_pixels_diff, y_pixels_diff, x_pixels_outer_diff, and
1777         y_pixels_outer_diff.
1778         New enum for FULLSCREEN_* constants.
1779         (FRAME_OUTER_WINDOW): Handle the case where output_data.x->widget
1780         is NULL.
1781         (x_fullscreen_adjust): Add prototype.
1783         * emacs.c (USAGE2): Add the new full-screen arguments.
1784         (standard_args): Ditto.
1786         * xfns.c (Qfullscreen, Qfullwidth, Qfullheight, Qfullboth):
1787         New variables.
1788         (syms_of_xfns): Intern and staticpro them.
1789         (x_frame_parms) <"fullscreen">: New parameter.
1790         (x_fullscreen_move, x_set_fullscreen): New functions.
1791         (x_set_frame_parameters): Support for Qfullscreen.
1792         (x_real_positions): More accurate computation of the frame position.
1793         (x_figure_window_size): Support full-screen frames.
1794         (Fx_create_frame): Default the fullscreen parameter.
1796         * xterm.c (x_check_fullscreen, x_fullscreen_adjust): New functions.
1797         (XTread_socket) <Expose>: Call x_check_fullscreen.
1798         <ConfigureNotify>: Don't resize to fullscreen.
1799         Call x_check_fullscreen_move, and set the want_fullscreen member of
1800         output_data.x.
1802 2002-01-13  Jason Rumney  <jasonr@gnu.org>
1804         * w32term.h (WM_XBUTTONDOWN, WM_XBUTTONUP): New window messages
1805         for mice with more than 3 buttons.
1807         * w32term.c (parse_button): New parameter xbutton.  Callers changed.
1808         (w32_read_socket): Handle new "XBUTTON" messages.
1810         * w32fns.c (w32_pass_extra_mouse_buttons_to_system): New user option.
1811         (syms_of_w32fns): DEFVAR_BOOL it.
1812         (w32_wnd_proc): Handle new "XBUTTON" messages.
1814 2002-01-13  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1816         * keyboard.c (read_key_sequence): Remove unused variable `extra_maps'.
1818 2002-01-13  Andreas Schwab  <schwab@suse.de>
1820         * xterm.c (x_load_font): Never set fonts_changed_p to zero.
1822 2002-01-12  Andreas Schwab  <schwab@suse.de>
1824         * .gdbinit (xbuffer): Remove address operator since data is now a
1825         pointer.
1827 2002-01-11  Richard M. Stallman  <rms@gnu.org>
1829         * insdel.c (adjust_after_replace_noundo): New function.
1831         * coding.c (code_convert_region): Don't copy old text if undo disabled.
1833 2002-01-09  Jason Rumney  <jasonr@gnu.org>
1835         * xdisp.c (x_consider_frame_title): Don't count the tooltip frame
1836         when checking for multiple frames.
1838 2002-01-08  Richard M. Stallman  <rms@gnu.org>
1840         * window.c (delete_window): Rewrite the code for changing the
1841         selected window to handle the case where WINDOW is not a leaf.
1843 2002-01-07  Eli Zaretskii  <eliz@is.elta.co.il>
1845         * process.c (send_process): Set src_multibyte to 1 after the call
1846         top setup_coding_system, not before the call.
1848 2002-01-07  Jason Rumney  <jasonr@gnu.org>
1850         * xmenu.c (set_frame_menubar, xmenu_show):
1851         (xdialog_show): Initialize wv->help to Qnil.
1853         * w32menu.c (single_submenu, set_frame_menubar, w32_menu_show):
1854         (w32_dialog_show): Initialize wv->help to Qnil.
1856 2002-01-06  Jason Rumney  <jasonr@gnu.org>
1858         * xmenu.c (single_submenu): Initialize wv->help to Qnil.
1860         * w32menu.c (w32_menu_display_help): Revert last change.
1862         * xmenu.c (menu_highlight_callback): Revert last change.
1864 2002-01-06  Andreas Schwab  <schwab@suse.de>
1866         * insdel.c (make_gap_larger): Make sure buffer size does not
1867         overflow range of int.
1869 2002-01-05  Jason Rumney  <jasonr@gnu.org>
1871         * w32term.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
1872         OVERLAPS_P.
1874         * w32menu.c (w32_menu_display_help): Hide any tooltip window.
1876         * w32fns.c (compute_tip_xy): If tooltip won't fit on the screen
1877         to the left or to the right of the pointer, put it against
1878         the left screen edge.
1879         (x_frame_parms): Add missing braces around initializer.
1881         * w32term.c (x_setup_relief_colors): Don't compute an image's
1882         background color if it doesn't have a Pixmap.
1883         (notice_overwritten_cursor): Don't depend on
1884         output_cursor and updated_area.  Compare pixel coordinates with
1885         window's cursor pixel coordinates.
1886         (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
1887         Call notice_overwritten_cursor with new arg list.
1888         (show_mouse_face): Fix bug setting a row's mouse_face_p flag
1889         unconditionally.
1890         (x_draw_image_relief): Use predefined macro instead of
1891         constant when the value of `tool_bar_button_relief' is negative.
1893         * w32term.c (x_display_and_set_cursor): Fix PostMessage arg types.
1895 2002-01-04  Richard M. Stallman  <rms@gnu.org>
1897         * xmenu.c (menu_highlight_callback): Hide any tooltip window.
1899 2002-01-03  Richard M. Stallman  <rms@gnu.org>
1901         * keymap.c (Fcurrent_active_maps): Put the `keymap' property map first.
1902         (Fkey_binding): Try the `keymap' property map first.
1903         (Fdescribe_buffer_bindings): Show `keymap' property bindings before
1904         minor mode bindings.
1906 2002-01-03  Kim F. Storm  <storm@cua.dk>
1908         * keyboard.c (read_key_sequence): Fixed cast of submaps arg to bcopy.
1910 2002-01-02  Richard M. Stallman  <rms@gnu.org>
1912         * keyboard.c (read_key_sequence): Handle the keymap property
1913         before minor mode maps.
1915         * editfns.c (Fformat): Update thissize from field_width
1916         based on the actual width, in the string case.
1918 2002-01-01  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
1920         * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Parenthesize assignment
1921         when used as truth value to prevent gcc warnings.
1923         * sysdep.c, unexapollo.c, w32.c, w32bdf.c, w32heap.c, w32inevt.c,
1924         * w32proc.c: Include <config.h>.
1926 2002-01-01  Andreas Schwab  <schwab@suse.de>
1928         * eval.c (max_specpdl_size, max_lisp_eval_depth): Define as int,
1929         not EMACS_INT, to make them compatible with DEFVAR_INT.
1930         * lisp.h (max_specpdl_size): Adjust declaration.
1932 2002-01-01  Richard M. Stallman  <rms@gnu.org>
1934         * print.c (print_object): Test print_escape_nonascii only for
1935         unibyte strings.
1936         (PRINTPREPARE): Once again bind Qprint_escape_nonascii
1937         when outputting to a multibyte buffer.
1939 2001-12-29  Richard M. Stallman  <rms@gnu.org>
1941         * print.c (print_object): In multibyte string, use hex escapes.
1942         Use octal only for unibyte strings.
1943         (PRINTPREPARE): Don't ever set Qprint_escape_nonascii.
1945         * lread.c (read_escape): New arg BYTEREP for reporting whether
1946         escape forces unibyte or multibyte.
1947         (read1): When reading a string, take note of that info.
1949 2001-12-29  Ken Raeburn  <raeburn@gnu.org>
1951         * abbrev.c (Fexpand_abbrev): Use NILP instead of implicit zero
1952         comparison to test lisp value returned by Fget.
1954 2001-12-29  Richard M. Stallman  <rms@gnu.org>
1956         * lisp.h (max_specpdl_size): Add declaration.
1958         * fileio.c (Fdo_auto_save): If NO_MESSAGE, don't call push_message.
1960         * keymap.c (silly_event_symbol_error): New subrtn, from Fdefine_key.
1961         Handle modifier bits.  Correct typo in error message.
1963 2001-12-28  Richard M. Stallman  <rms@gnu.org>
1965         * abbrev.c: Use the plist of an abbrev for multiple params if nec.
1966         (Fdefine_abbrev): New arg SYSTEM-FLAG for a system abbrev.
1967         (Fdefine_global_abbrev, Fdefine_mode_abbrev):
1968         Update calls to Fdefine_abbrev.
1969         (write_abbrev): Update for changed data format.
1970         Don't list "system" abbrevs.
1971         (Fexpand_abbrev): Update use count with new data format.
1972         (describe_abbrev): Update for changed data format.
1973         (Fdefine_abbrev_table): Handle the new SYSTEM-FLAG.
1975         * config.in (HAVE_MBSINIT): Add #undef.
1977         * strftime.c (mbsinit): Define as no-op if not available.
1979         * s/sco5.h (LIBX11_SYSTEM) [MOTIF]: Add -lgen.
1980         (sigprocmask_set): Conditionalize decl on ! NOT_C_CODE.
1982         * keymap.c (Flookup_key): Error message if key has wrong data type.
1983         (Fdefine_key): Add error message for trying to bind [DEL], [RET], etc.
1984         (exclude_key): New variable.
1986 2001-12-28  Gerd Moellmann  <gerd@gnu.org>
1988         * xterm.c (x_setup_relief_colors): Don't compute an image's
1989         background color if it doesn't have a Pixmap.
1991         * xterm.c (notice_overwritten_cursor): Don't depend on
1992         output_cursor and updated_area.  Compare pixel coordinates with
1993         window's cursor pixel coordinates.
1994         (x_draw_glyphs, x_clear_end_of_line, show_mouse_face):
1995         Call notice_overwritten_cursor with new arg list.
1996         (show_mouse_face): Fix bug setting a row's mouse_face_p flag
1997         unconditionally.
1999         * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
2000         height of the cursor line to the amount to scroll.
2002 2001-12-27  Richard M. Stallman  <rms@gnu.org>
2004         * intervals.c (set_point_both): The position after an invisible,
2005         intangible character is not an acceptable stopping point.
2007 2001-12-27  Ken Raeburn  <raeburn@gnu.org>
2009         * window.c (enlarge_window): In new preserve_before code, convert
2010         CURBEG from lisp object to integer before doing arithmetic.
2012 2001-12-27  Richard M. Stallman  <rms@gnu.org>
2014         * bytecode.c (Fbyte_code): Undo previous change.
2016 2001-12-26  Kim F. Storm  <storm@cua.dk>
2018         * keyboard.c (record_char): Ignore duplicate help-echo events only
2019         separated by mouse-movement.  When tracking mouse, only record
2020         first and last mouse-movement event in same window.
2021         Don't record mouse-movement events in keyboard macros.
2023 2001-12-25  Richard M. Stallman  <rms@gnu.org>
2025         * window.c (enlarge_window): New arg PRESERVE_BEFORE.  Callers changed.
2026         (Fenlarge_window): New arg PRESERVE_BEFORE.
2028         * bytecode.c (Fbyte_code): Use Fstring_make_unibyte
2029         instead of Fstring_as_unibyte.
2031 2001-12-22  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2033         The following changes remove mocklisp support:
2035         * mocklisp.h, mocklisp.c: Files removed.
2037         * lisp.h: Remove declarations of variables `Vmocklisp_arguments',
2038         `Qmocklisp' and `Qmocklisp_arguments'.
2039         Remove prototype of syms_of_mocklisp.
2041         * makefile.nt, makefile.w32-in, Makefile.in: Remove mocklisp files.
2043         * callint.c: Do not include mocklisp.h.
2044         (Fcall_interactively): Do not test for mocklisp case.
2046         * eval.c: Remove variables `Qmocklisp_arguments',
2047         `Vmocklisp_arguments' and `Qmocklisp'.  Remove prototype of ml_apply.
2048         (Fprogn, Fwhile, Fcommandp, Feval, Ffuncall, funcall_lambda):
2049         Do not test for mocklisp case.
2050         (Fwhile): Remove unused variable `tem'.
2051         (syms_of_eval): Remove variable `moclisp-arguments'.
2053         * data.c (wrong_type_argument): Remove mocklisp case.
2055         * doc.c (Fdocumentation): Remove mocklisp case.
2057         * emacs.c (main): Do not call syms_of_mocklisp.
2059 2001-12-21  Richard M. Stallman  <rms@gnu.org>
2061         * xfns.c (compute_tip_xy): If tooltip won't fit on the screen
2062         to the left or to the right of the pointer, put it against
2063         the left screen edge.
2065 2001-12-21  Eli Zaretskii  <eliz@is.elta.co.il>
2067         * Makefile.in (distclean): Remove .gdbinit if we are building
2068         outside the source tree.
2070 2001-12-19  Eli Zaretskii  <eliz@is.elta.co.il>
2072         * w32.c (emacs_root_dir): New function.
2074         * msdos.c (emacs_root_dir): New function.
2076         * fileio.c (Fexpand_file_name) [DOS_NT]: Use the root directory
2077         of the current drive as the fallback for default_directory.
2079         * dired.c (file_name_completion): Run the elements of
2080         completion-ignored-extensions through ENCODE_FILE.
2082         * lisp.h (scmp): Remove prototype, since it's now a static
2083         function private to dired.c.
2085 2001-12-18  Richard M. Stallman  <rms@gnu.org>
2087         * dired.c (scmp): Function moved from minibuf.c.
2088         Delete multibyte handling--used only on encoded strings.
2090         * minibuf.c (scmp): Function moved to dired.c.
2092         * fns.c (merge): Add QUIT call.
2094 2001-12-18  Dave Love  <fx@gnu.org>
2096         * Makefile.in (lisp, shortlisp): Add language/utf-8-lang.el,
2097         language/georgian.el.
2099 2001-12-18  Eli Zaretskii  <eliz@is.elta.co.il>
2101         * Makefile.in (lisp, shortlisp): Synchronize with changes to
2102         lisp/Makefile.in:DONTCOMPILE.
2104 2001-12-18  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2106         * xdisp.c (window_box_height): Do not return negative values.
2107         From Gerd Moellmann <gerd@gnu.org>.
2109         * keyboard.c (head_table): Add missing braces around initializer.
2111         * term.c (keys): Likewise.
2113         * xfns.c (x_frame_parms, visual_classes): Likewise.
2115 2001-12-17  Sam Steingold  <sds@gnu.org>
2117         * coding.c (DECODE_COMPOSITION_END): Fixed a typo in the last
2118         patch (COMPOSING_P, not COMPOSING).
2120 2001-12-17  Richard M. Stallman  <rms@gnu.org>
2122         * editfns.c (Fcompare_buffer_substrings): Add QUIT to main loop.
2124         * coding.c (code_convert_region): Update coding->cmp_data->char_offset
2125         before calling decode_coding.
2127         * charset.c (Fdefine_charset): Call Fupdate_coding_systems_internal.
2129         * coding.c (DECODE_COMPOSITION_END): Check for ! COMPOSING_P (coding)
2130         instead of only for COMPOSITION_DISABLED.
2132 2001-12-16  Richard M. Stallman  <rms@gnu.org>
2134         * alloc.c (pure_alloc): After overflow, allocate just a small block.
2136         * Makefile.in (xmenu.o, xterm.o, fontset.o): Depend on buffer.h.
2138         * buffer.h (struct buffer): New field `display_error_modiff'.
2139         * buffer.c (reset_buffer): Initialize `display_error_modiff'.
2141         * window.c (Frecenter): Clear display_error_modiff field.
2143         * xdisp.c (redisplay_window_0, redisplay_window_1): New functions.
2144         Call redisplay_window, but not if display_error_modiff field says no.
2145         (redisplay_window_error): New function.
2146         (displayed_buffer): New variable.
2147         (redisplay_internal, redisplay_windows): Call the new functions
2148         instead of redisplay_window directly.
2150 2001-12-15  Richard M. Stallman  <rms@gnu.org>
2152         * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2154 2001-12-14  Andrew Innes  <andrewi@gnu.org>
2156         * makefile.w32-in (EMACSLOADPATH): Define.
2157         ($(EMACS)): Run `list-load-path-shadows' after dumping emacs.
2158         (bootstrap-temacs): Remove dependency on bootstrap-clean.
2160 2001-12-13  Eli Zaretskii  <eliz@is.elta.co.il>
2162         * xfns.c (x_report_frame_params): Make the scroll-bar-width frame
2163         parameter have a numeric value all the time.
2165         * w32fns.c (x_report_frame_params): Likewise.
2167 2001-12-12  Richard M. Stallman  <rms@gnu.org>
2169         * fileio.c (Fwrite_region): Doc fix.
2171         * xdisp.c (CLEAR_FACE_CACHE_COUNT): Redefine as 500.
2172         (redisplay_internal): Call clear_image_cache only for window terminals.
2174 2001-12-12  Gerd Moellmann  <gerd@gnu.org>
2176         * xdisp.c (move_it_vertically_backward): Change heuristic
2177         for the case that we didn't move far enough initially.
2179         * window.c (Frecenter): Simplify computation in the case of window
2180         system frames and ARG < 0; use window_box_height.
2182 2001-12-11  Richard M. Stallman  <rms@gnu.org>
2184         * Makefile.in, mem-limits.h, dispnew.c, emacs.c, fileio.c:
2185         * process.c, sysdep.c, unexec.c: Test GNU_LINUX, not LINUX.
2187 2001-12-11  Andrew Innes  <andrewi@gnu.org>
2189         * insdel.c (make_gap) [DOUG_LEA_MALLOC]: Call make_gap_smaller if
2190         arg is negative.
2192 2001-12-11  Richard M. Stallman  <rms@gnu.org>
2194         * m/hp800.h: Split the __hpux conditional into the parts
2195         that are right for GNU/Linux too and the parts that are not.
2196         Use the former if GNU_LINUX.
2197         (HAVE_ALLOCA, LOAD_AVE_TYPE, LOAD_AVE_CVT): New defs for GNU/Linux.
2199         * s/gnu-linux.h (GNU_LINUX): Defined.
2201 2001-12-11  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2203         * macros.c, msdos.c, w16select.c: Change doc-string comments to
2204         `new style' [w/`doc:' keyword].
2206 2001-12-10  Jason Rumney  <jasonr@gnu.org>
2208         * w32menu.c (w32_free_submenu_strings): Clear menu item struct
2209         before using.
2211 2001-12-09  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2213         * dosfns.c: Change doc-string comments to `new style' [w/`doc:'
2214         keyword].
2216 2001-12-09  Eli Zaretskii  <eliz@is.elta.co.il>
2218         * dosfns.c (dos-display-scancodes, dos-decimal): Doc fix.
2220         * s/hpux10.h (srand48): Don't undefine.
2222 2001-12-09  Jason Rumney  <jasonr@gnu.org>
2224         * w32menu.c (_widget_value): Make `help' field a Lisp_Object.
2225         Add     comment to explain where the struct came from.
2226         (single_submenu, w32_menu_show): Set `help' field as Lisp_Object.
2227         (add_menu_item): Process pop-up menus first to avoid memory leak.
2228         (add_menu_item, w32_menu_display_help): Use `help' field as
2229         Lisp_Object.
2230         (w32_free_submenu_strings): Only free owner-drawn strings.
2232 2001-12-09  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2234         * COPYING: Moved back.
2236         * charset.c (char_to_string_1, translate_char, Fdefine_charset):
2237         Add parentheses around && within ||.
2239         * indent.c (compute_motion): Likewise.
2241         * intervals.c (merge_properties_sticky): Likewise.
2243         * coding.c (setup_coding_system, shrink_encoding_region)
2244         (Fdecode_sjis_char): Likewise.
2246 2001-12-07  Andreas Schwab  <schwab@suse.de>
2248         * xdisp.c (display_mode_element): Don't read past end of string if
2249         it ends with '%'.
2251         * alloc.c (inhibit_garbage_collection): Don't exceed value an int
2252         can hold.
2254         * data.c (Vmost_positive_fixnum, Vmost_negative_fixnum): Rename
2255         from most_positive_fixnum and most_negative_fixnum, resp., and
2256         type changed to Lisp_Object.
2257         (syms_of_data): DEFVAR_LISP them.
2259 2001-12-07  Richard M. Stallman  <rms@gnu.org>
2261         * callproc.c (init_callproc): Set Vdata_directory based on the source
2262         location whenever Emacs was run uninstalled.
2264 2001-12-06  Paul Eggert  <eggert@twinsun.com>
2266         * config.in (HAVE_WORKING_VFORK): New #undefs.
2267         * process.c (create_process):
2268         Use HAVE_WORKING_VFORK, not HAVE_VFORK.
2269         * m/cnvrgnt.h (HAVE_VFORK): Remove #define.
2270         * m/ibm370aix.h (HAVE_VFORK): Remove #undef.
2271         * m/ibmps2-aix.h (HAVE_VFORK): Remove #define.
2272         * m/intel386.h (HAVE_VFORK): Likewise.
2273         * m/mips-siemens.h (HAVE_VFORK): Likewise.
2274         * m/mips.h (HAVE_VFORK): Likewise.
2275         * s/freebsd.h (vfork): Remove #define.
2276         * s/lynxos.h (HAVE_VFORK): Remove #undef.
2277         * s/usg5-4-2.h: Fix comment about vfork.
2279 2001-12-06  Richard M. Stallman  <rms@gnu.org>
2281         * s/hpux10.h (random): Add undef.
2282         (HAVE_RANDOM): Define it just once.
2284 2001-12-06  Stefan Monnier  <monnier@cs.yale.edu>
2286         * eval.c: Undo last change: the standard syntax is not wanted.
2288 2001-12-06  Eli Zaretskii  <eliz@is.elta.co.il>
2290         * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]: Remove all the
2291         scroll bars of the frame before deleting the frame itself.  If the
2292         frame has a widget, delete the frame with XtDestroyWidget, and do
2293         not call XDestroyWindow before that.
2295 2001-12-06  Kim F. Storm  <storm@cua.dk>
2297         * xfns.c (x_report_frame_params): Return actual fringe widths.
2299         * w32fns.c (x_report_frame_params): Return actual fringe widths.
2301 2001-12-05  Andrew Innes  <andrewi@gnu.org>
2303         * alloc.c (Fgarbage_collect): Shrink buffer gaps that are
2304         excessively large.
2306         * insdel.c (make_gap_larger): New function.
2307         (make_gap_smaller): New function.
2308         (make_gap) [USE_MMAP_FOR_BUFFERS || REL_ALLOC]: Call
2309         make_gap_smaller if arg is negative.
2311 2001-12-04  Stefan Monnier  <monnier@cs.yale.edu>
2313         * keyboard.c (kbd_buffer_store_event): Fix interrupt_signal prototype.
2314         Pass a dummy argument when calling interrupt_signal.
2315         (parse_menu_item): Mark disabled items before checking for empty def.
2316         (read_char_minibuf_menu_prompt): Make safety more visible.
2317         (read_key_sequence): Add a `first_unbound' variable.
2318         Use it to detect C-c ESC ESC ESC ESC ... cases and drop the
2319         unbound prefix as soon as we can detect it.
2321         * doc.c (Fsnarf_documentation): Add prototype.
2322         (get_doc_string): Handle negative arguments.
2323         (Fdocumentation): Use AREF and ASIZE.
2324         Move the calls to get_doc_string to a single place.
2325         Don't confuse an interactive-spec for a docstring reference.
2326         (Fdocumentation_property): Take advantage of the fact that
2327         get_doc_string now ignores the sign of the docstring position.
2329         * eval.c: Use standard syntax for usage in docstrings.
2331 2001-12-03  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2333         * xdisp.c (syms_of_xdisp): Make `tool-bar-button-relief` an option.
2335 2001-12-02  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2337         * xterm.c (x_draw_image_relief): Use predefined macro instead of
2338         constant when the value of `tool_bar_button_relief' is negative.
2340 2001-12-02  Richard M. Stallman  <rms@gnu.org>
2342         * xmenu.c (menu_highlight_callback): Use `help' field as Lisp_Object.
2343         (single_submenu, xmenu_show): Set `help' field as Lisp_Object.
2345         * fileio.c (read_non_regular): Delete Fsignal call.
2347 2001-12-01  Stefan Monnier  <monnier@cs.yale.edu>
2349         * lisp.h (run_hook_list_with_args): Undo last change.
2351 2001-12-01  Gerd Moellmann  <gerd@gnu.org>
2353         * xterm.c (x_draw_fringe_bitmap): Always undo clipping.
2355 2001-12-01  Jason Rumney  <jasonr@gnu.org>
2357         * window.c (Qleft_fringe, Qright_fringe): Remove. Now in frame.c.
2359         * w32term.h (WM_MOUSELEAVE, TME_LEAVE, TRACKMOUSEEVENT)
2360         [!WM_MOUSELEAVE]: Define.
2362         * w32menu.c (current_popup_menu, get_menu_item_info):
2363         (set_menu_item_info): New vars.
2364         (set_frame_menubar): Doc fix clarifying GC interaction with menus.
2365         (w32_menu_show): Set current_popup_menu.
2366         (add_menu_item): Allocate new strings for owner-drawn menu items
2367         and help strings.
2368         Use owner-draw for disabled menu items again.
2369         (w32_menu_display_help): Ignore owner-drawn items and popup menus.
2370         (w32_free_submenu_strings, w32_free_menu_strings): New functions.
2372         * w32fns.c (trackmouse_window, track_mouse_event_fn): New vars.
2373         (w32_wnd_proc) <WM_MOUSEMOVE>: Notice when mouse enters frame.
2374         <WM_EXITMENULOOP>: Free menu strings.
2375         <WM_MOUSELEAVE>: Stop tracking mouse.
2376         (x_create_tip_frame): Specify no minibuffer, modeline or fringes.
2378         * w32term.c (w32_read_socket) <WM_MOUSELEAVE>: Cancel help echo
2379         and mouse face.
2381 2001-12-01  Kim F. Storm  <storm@cua.dk>
2383         The following changes add left-fringe and right-fringe
2384         frame parameters to adjust fringe widths, or remove one or
2385         both fringes.
2387         * frame.h (struct frame): Remove trunc_area_pixel_width and
2388         trunc_area_cols fields.
2389         (Qleft_fringe, Qright_fringe): Declare.
2390         (FRAME_RIGHT_FRINGE_WIDTH): New macro.
2392         * frame.c (Qleft_fringe, Qright_fringe): New vars.
2393         (syms_of_frame): Initialize them.
2395         * window.c (coordinates_in_window): Handle separate left and right
2396         fringe widths.
2398         * xterm.h (struct x_output): Add left_fringe_width, right_fringe_width,
2399         and fringe_cols fields.
2400         (FRAME_FRINGE_BITMAP_WIDTH, FRAME_FRINGE_BITMAP_HEIGHT): Remove macros.
2401         (FRAME_X_FRINGE_COLS): Use fringe_cols field.
2402         (FRAME_X_FRINGE_WIDTH): Use fringes_extra field.
2403         (FRAME_X_LEFT_FRINGE_WIDTH): Use left_fringe_width field.
2404         (FRAME_X_RIGHT_FRINGE_WIDTH): Use right_fringe_width field.
2405         (x_compute_fringe_widths): Add prototype.
2407         * xterm.c (zv_height, zv_bits, zv_period): Changed zv bitmap to
2408         fill fringe evenly with small dashes.
2409         (x_draw_fringe_bitmap): Clear background if necessary. Align and
2410         clip the new ZV bitmap to avoid jitter between rows.
2411         (x_draw_row_fringe_bitmaps): Rely on x_draw_fringe_bitmap to clear
2412         background.  Don't draw fringe bitmaps if fringe width is zero.
2413         (x_compute_fringe_widths): New function.
2414         (x_new_font, x_set_window_size_1): Use it.
2416         * xfns.c (x_frame_parms): Add `left-fringe' and `right-fringe' parms.
2417         (x_set_frame_parameters): Process `font' parameter before other
2418         parameters as fringe widths depend on it.
2419         (x_set_fringe_width): New function.
2420         (x_figure_window_size): Use x_compute_fringe_widths.
2421         (Fx_create_frame): Process `left-fringe' and `right-fringe' frame
2422         parameters.
2424         * widget.c (set_frame_size): Use x_compute_fringe_widths.
2425         (EmacsFrameSetCharSize): Ditto.
2427         * w32term.h: Merged changes from xterm.h.
2428         * w32term.c: Merged changes from xterm.c.
2429         * w32fns.c: Merged changes from xfns.c.
2431 2001-11-29  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2433         * COPYING: Removed.
2435 2001-11-29  Dave Love  <fx@gnu.org>
2437         * coding.c (syms_of_coding) <Qchar_coding_system>: Give it an
2438         extra extra slot.
2439         (detect_coding_mask): Fix call of detect_coding_iso2022.
2441 2001-11-29  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2443         * fileio.c (file-name-coding-system)
2444         (default-file-name-coding-system): Doc fix (links to referenced
2445         variables added).
2447 2001-11-28  Stefan Monnier  <monnier@cs.yale.edu>
2449         * lisp.h (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5):
2450         Add dummy uses of gcproN variables.
2452         * category.c (describe_category, describe_category_1)
2453         (Fdescribe_categories): Remove.  (Moved to lisp/help-fns.el.)
2454         (syms_of_category): Don't defsubr Sdescribe_categories.
2456 2001-11-28  Richard M. Stallman  <rms@gnu.org>
2458         * fileio.c (Ffind_file_name_handler): Avoid initializer for `result'.
2460         * Makefile.in (lispdir): New variable, referring to build dir.
2461         (TAGS-LISP): Find Makefile in $(lispdir), not $(lispsource).
2463 2001-11-28  Andrew Innes  <andrewi@gnu.org>
2465         * w32menu.c (w32_menu_display_help): Actually add the new argument
2466         OWNER.
2468 2001-11-28  Jason Rumney  <jasonr@gnu.org>
2470         * w32menu.c (add_menu_item): Do not use owner-draw for disabled
2471         menu items.  From David Ponce <dponce@wanadoo.fr>.
2472         (w32_dialog_show) [HAVE_DIALOGS]: Compile whole function
2473         conditionally.
2474         (w32_menu_display_help): New argument OWNER. Rewritten to store a
2475         help event in the owner frame's keyboard buffer.
2477         * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
2478         (Fx_show_tip): Don't subtract last width from row width.
2480         * w32term.c (w32_read_socket) <WM_MENUSELECT>: Remove.
2481         (w32_read_socket): Use EQ to compare frames.
2483 2001-11-28  Gerd Moellmann  <gerd@gnu.org>
2485         * xterm.c (x_draw_glyphs): Don't call notice_overwritten_cursor if
2486         OVERLAPS_P.
2488 2001-11-28  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2490         * xdisp.c (message_dolog): Remove unused variables `gcpro2',
2491         `gcpro3' and `gcpro4'.
2493         * coding.c (decode_coding_string): Remove unused variable `gcpro1'.
2495 2001-11-28  Stefan Monnier  <monnier@cs.yale.edu>
2497         * ccl.c: Use AREF and ASIZE.
2499 2001-11-27  Stefan Monnier  <monnier@cs.yale.edu>
2501         * lisp.h (run_hook_list_with_args): Remove.
2502         (LIST_END_P): Fix call to wrong_type_argument.
2503         (make_fixnum_or_float): Use EMACS_INT rather than int.
2505 2001-11-26  Stefan Monnier  <monnier@cs.yale.edu>
2507         * syntax.c (syms_of_syntax): Remove defsubr of Sdescribe_syntax.
2508         (describe_syntax, describe_syntax_1, Fdescribe_syntax): Remove.
2510         * eval.c: Use AREF and ASIZE.
2511         (Ffetch_bytecode): Add the file name to the error message.
2513         * fileio.c (Ffind_file_name_handler): Give precedence to handlers
2514         which match the end of the file-name.
2515         (Fsubstitute_in_file_name): Don't signal an error if $ENVVAR
2516         is not a valid env var, but leave it as is instead.
2518         * keymap.c (access_keymap): Handle t bindings like nil bindings.
2519         Make nil bindings in char-tables transparent.
2520         (store_in_keymap): Turn a nil binding into a t binding for char-tables.
2522 2001-11-26  Richard M. Stallman  <rms@gnu.org>
2524         * textprop.c (set_text_properties_1): Allow START, END in either order.
2525         Do nothing if range is empty.
2527         * Makefile.in (mallocobj): Simplify logic using auxiliary vars.
2529         * Makefile.in (mostlyclean): Delete bootstrap-emacs here.
2530         (clean): Not here.
2532 2001-11-25  Stefan Monnier  <monnier@cs.yale.edu>
2534         * textprop.c (set_text_properties_1): Clearly mark that the
2535         interval should not be empty.
2537         * intervals.c (graft_intervals_into_buffer):
2538         Don't call set_text_properties_1 on an empty interval.
2540 2001-11-25  Richard M. Stallman  <rms@gnu.org>
2542         * unexelf.c (unexec): Index by n, not nn, when checking for ".sbss".
2544         * callproc.c (Fcall_process): When we make a bigger buffer for bufptr,
2545         don't lose the data in it.
2547 2001-11-25  Juanma Barranquero  <lektu@terra.es>
2549         * abbrev.c (Fexpand_abbrev): Use Frun_hooks instead of Vrun_hooks.
2551         * buffer.c (Fkill_buffer): Use Frun_hooks, not Vrun_hooks.
2553         * print.c (temp_output_buffer_setup): Use Frun_hooks, not Vrun_hooks.
2555 2001-11-25  Stefan Monnier  <monnier@cs.yale.edu>
2557         * xfaces.c (merge_face_heights): Coerce back to int explicitly.
2559 2001-11-25  Eli Zaretskii  <eliz@is.elta.co.il>
2561         * window.c (Fset_window_vscroll): Doc fix.  From Kalle Olavi
2562         Niemitalo <kon@iki.fi>.
2564 2001-11-25  Jason Rumney  <jasonr@gnu.org>
2566         * w32term.h (FRAME_X_FRINGE_COLS): No fringe on tip frames.
2568         * w32fns.c (x_create_tip_frame): Set frame's fringes_extra to 0.
2569         (Fx_show_tip): Block input during frame creation.
2570         (Fx_show_tip, Fx_hide_tip): Enable.
2572 2001-11-24  Richard M. Stallman  <rms@gnu.org>
2574         * lread.c (Fload): Detect recursive load error for more than 3
2575         nestings of the same file.
2576         (Vrecursive_load_depth_limit): Variable deleted.
2577         (syms_of_lread) <recursive-load-depth-limit>: Variable deleted.
2579 2001-11-24  Jason Rumney  <jasonr@gnu.org>
2581         * xfns.c (compute_tip_xy): Initialize root_x and root_y from
2582         mouse position if either left or top is not specified.
2584         * w32fns.c (w32_wnd_proc) <WM_MENUSELECT>: Revert last change.
2585         <WM_WINDOWPOSCHANGING>: Let tip frames resize without restriction.
2586         (my_create_tip_window, Fx_show_tip): Adjust size for external border.
2587         (my_create_tip_window): Assign tip_window.
2588         (x_create_tip_frame): Use same defaults as X.
2589         (compute_tip_xy): Remove unused variable.  Use full screen width.
2590         (Fx_show_tip): Do not double height. Call ShowWindow directly.
2592         * w32term.c (x_after_update_window_line): Doc fix.
2593         (w32_read_socket): Doc fix.  Avoid SET_FRAME_GARBAGED for tip
2594         frames.
2595         <WM_SHOWWINDOW>: Redo mouse highlight when hiding tip frame.
2597         * xdisp.c (prepare_menu_bars) [HAVE_WINDOW_SYSTEM]: Use tip_frame
2598         for all Windowed systems.
2600 2001-11-23  Eli Zaretskii  <eliz@is.elta.co.il>
2602         * msdos.c (IT_clear_screen): If the frame's faces are not yet
2603         realized, use the initial screen colors to clear the screen.
2605 2001-11-23  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2607         * textprop.c (Fset_text_properties): Remove unused variables
2608         `unchanged', `prev_changed', `s' and `len'.
2610         * search.c (Freplace_match): Remove unused variable `inslen'.
2612         * keymap.c (access_keymap): Remove unused variables `c1' and `c2'.
2614 2001-11-22  Jason Rumney  <jasonr@gnu.org>
2616         * w32fns.c (x_window_to_frame): Remove irrelevant TODO comment.
2617         (w32_wnd_proc) <WM_MENUSELECT>: Show help echo directly.
2618         (my_create_tip_window): New function.
2619         (x_create_tip_frame, compute_tip_xy): Adapt for Windows.
2620         (Fx_show_tip, Fx_hide_tip) [TEST_TOOLTIPS]: Adapt for Windows.
2622 2001-11-20  Jason Rumney  <jasonr@gnu.org>
2624         * coding.h (Vw32_system_coding_system) [WINDOWSNT]: Remove.
2625         (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: Use Vlocale_coding_system.
2627         * w32fns.c (Vw32_system_coding_system): Remove.
2628         (w32_to_x_font, x_to_w32_font): Use Vlocale_coding_system.
2630 2001-11-19  Stefan Monnier  <monnier@cs.yale.edu>
2632         * fileio.c (Fwrite_region): Move choose_write_coding_system to
2633         after build_annotations.
2635         * syntax.c (describe_syntax): Add dummy arg.
2636         (describe_syntax_1): Update call to describe_vector.
2638         * category.c (describe_category): Add dummy arg.
2639         (describe_category_1): Update call to describe_vector.
2641         * keymap.c (Fdescribe_vector): Add `describer' parameter.
2642         (describe_command, describe_translation): Add dummy second param.
2643         (describe_map): Call elt_describer with two arguments.
2644         (describe_vector_princ): Add `fun' parameter.
2645         Call it instead of the hardcoded `princ'.
2646         (describe_vector): Add arg `args'.
2647         Pass it as a new second argument to elt_describer.
2649         * keymap.h (describe_vector): Update prototype.
2651         * frame.c: Don't include keymap.h any more.
2652         (keys_of_frame): Remove.
2654         * lisp.h (keys_of_frame): Remove declaration.
2656         * emacs.c (main): Don't call `keys_of_frame' any more.
2658 2001-11-14  Andreas Schwab  <schwab@suse.de>
2660         * unexelf.c [!defined MAP_ANON]: Define MAP_ANON to MAP_ANONYMOUS
2661         if defined, 0 otherwise.
2662         (MAP_FAILED): Define if not defined and use it to test mmap failure.
2663         (unexec) [!MAP_ANON]: Use /dev/zero as file to map.
2665 2001-11-19  Richard M. Stallman  <rms@gnu.org>
2667         * indent.c (current_column_1): Fix handling of scan_bytes for mb chars.
2669 2001-11-18  Jason Rumney  <jasonr@gnu.org>
2671         * w32term.c (note_mouse_highlight): Fix type of variable `ignore'.
2672         (x_draw_bar_cursor): If the background color of the glyph under
2673         the cursor equals the frame's cursor color, use the glyph's
2674         foreground color for drawing the bar cursor.
2675         (x_after_update_window_line): Clear internal border in different
2676         circumstances.
2677         (w32_set_vertical_scroll_bar): Check for width and height > 0.
2678         (w32_draw_relief_rect): Correct relief by 1 pixel.
2679         (x_set_glyph_string_background_width):
2680         Set extends_to_end_of_line_p if the row's fill_line_p is set and
2681         drawing the last glyph with DRAW_IMAGE_{RAISED,SUNKEN}.
2682         (x_display_and_set_cursor): If cursor_in_echo_area, use NO_CURSOR
2683         if cursor_in_non_selected_windows is false.
2684         (show_mouse_face): Clean up.  Recognize overwritten cursor differently.
2685         (x_draw_glyphs): Remove parameters REAL_START and REAL_END.
2686         Notice if cursor gets overwritten.
2687         (notice_overwritten_cursor): Renamed from
2688         note_overwritten_text_cursor.  Rewritten to take glyph widths
2689         into account, and to take X positions as parameters.
2690         (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
2691         around call to x_draw_glyphs.
2692         (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
2693         `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
2694         color to use for image glyph reliefs.
2695         (x_draw_image_relief): Accept zero tool_bar_button_relief.
2696         (glyph_rect): Remove unused variable `area'.
2698         * w32fns.c (x_set_frame_parameters): Avoid infinite recursion for
2699         some items.
2700         (x_set_internal_border_width): Set frame garbaged when window
2701         doesn't exist yet.
2702         (Fx_create_frame): Accept zero tool_bar_button_relief.
2703         (x_clear_image_1, four_corners_best, image_background)
2704         (image_background_transparent): New functions.
2705         (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
2706         (gs_format): Add `:background' entry.
2707         (lookup_image): Set IMG's background color if specified.
2708         (pbm_load, xbm_load_image, png_load): Set IMG's background field
2709         when appropriate.
2710         (x_clear_image_1): Reset `background_valid' and
2711         `background_transparent_valid' fields.
2712         (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
2713         calculating it here.  Set IMG's background_transparent field.
2714         (enum xpm_keyword_index): Add XPM_BACKGROUND.
2715         (enum png_keyword_index): Add PNG_BACKGROUND.
2716         (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
2717         (enum tiff_keyword_index): Add TIFF_BACKGROUND.
2718         (enum gif_keyword_index): Add GIF_BACKGROUND.
2719         (enum gs_keyword_index): Add GS_BACKGROUND.
2720         (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
2721         Pre-calculate image background color where necessary.
2722         (x_create_x_image_and_pixmap, xbm_load, gs_load):
2723         Use display info's n_cbits entry for screen depth.
2724         (Fx_show_tip): Remove unused variables `buffer', `top',
2725         `left', `max_width' and `max_height'.
2727         * w32menu.c (w32_menu_show, push_menu_pane): Doc fixes.
2729 2001-11-18  Gerd Moellmann  <gerd@gnu.org>
2731         * puresize.h (BASE_PURESIZE): Increase to 750000.
2733 2001-11-18  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2735         * frame.c (Fframe_live_p): Doc fix.
2737 2001-11-18  Richard M. Stallman  <rms@gnu.org>
2739         * xdisp.c (message_dolog_marker1, message_dolog_marker2)
2740         (message_dolog_marker3): New static variables hold three markers.
2741         (syms_of_xdisp): Initialize and staticpro them.
2742         (message_dolog): Use message_dolog_marker1..3 instead of
2743         allocating markers each time.  Unchain them when done.
2745 2001-11-17  Richard M. Stallman  <rms@gnu.org>
2747         * doc.c (Fsnarf_documentation): Doc fix.
2749 2001-11-17  Andreas Schwab  <schwab@suse.de>
2751         * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
2753 2001-11-17  Richard M. Stallman  <rms@gnu.org>
2755         * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
2757 2001-11-17  Jason Rumney  <jasonr@gnu.org>
2759         * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
2761 2001-11-17  Gerd Moellmann  <gerd@gnu.org>
2763         * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
2764         with invalid position.
2766 2001-11-16  Richard M. Stallman  <rms@gnu.org>
2768         * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
2770         * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
2771         * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
2772         * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
2774         * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
2776 2001-11-16  Stefan Monnier  <monnier@cs.yale.edu>
2778         * fileio.c (build_annotations): Split off the tail.
2779         (build_annotations_2): New fun.  Extracted from build_annotations.
2780         (Fwrite_region): Split the call to build_annotations into two
2781         calls to build_annotations and build_annotations_2.
2783 2001-11-16  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2785         * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
2786         clear_waiting_for_input with argument.
2788         * xterm.h (x_update_cursor): Remove duplicated prototype.
2790         * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
2792         * xterm.c (waiting_for_input): Remove unnecessary declaration.
2794         * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
2796 2001-11-16  Stefan Monnier  <monnier@cs.yale.edu>
2798         * fileio.c (choose_write_coding_system): New fun, extracted
2799         from Fwrite_region.
2800         (Fwrite_region): Use it.
2802         * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
2803         (funcall_lambda, run_hook_with_args): Make static and add prototype.
2804         (ml_apply, find_handler_clause): Add prototype.
2806 2001-11-16  Eli Zaretskii  <eliz@gnu.org>
2808         * config.in: Add #undef HAVE_COFF_H.
2810         * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
2811         Required for ISC 4.1.
2813 2001-11-16  Eli Zaretskii  <eliz@is.elta.co.il>
2815         * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1.  Reported by
2816         Andrew Wiseman <a.wiseman@btclick.com>.
2818 2001-11-16  Kim F. Storm  <storm@cua.dk>
2820         The following changes are made to clean up the various internal
2821         references to the fringes to actually use the term `fringe' for
2822         them.  Previously, they were called `flags areas', `bitmap areas',
2823         `left/right side of windows', or implicitly as `flags' or
2824         `bitmaps':
2826         * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
2827         Comments fixed. Use renamed symbols.
2829         * dispnew.c: Comment fix. Use renamed symbols.
2831         * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
2832         (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
2833         (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
2835         * msdos.c: Comment fix.
2837         * w32fns.c: Use renamed symbols.
2839         * w32term.c: Comment fixes. Use renamed symbols.
2840         (fringe_bitmap_type): Renamed from bitmap_type.
2841         (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
2842         (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
2843         (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
2845         * w32term.h: Comment fixes. Use renamed symbols.
2846         (fringes_extra): Renamed from flags_areas_extra.
2847         (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
2848         (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
2849         (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
2850         (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
2851         (FRAME_X_LEFT_FRINGE_WIDTH):
2852         Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
2853         (FRAME_X_RIGHT_FRINGE_WIDTH):
2854         Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
2856         * widget.c: Use renamed symbols.
2858         * window.c: Comment fixes. Use renamed symbols.
2859         (coordinates-in-window-p): Doc fix.
2861         * xdisp.c: Comment fixes. Use renamed symbols.
2863         * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
2865         * xfns.c: Use renamed symbols.
2867         * xterm.c: Comment fixes. Use renamed symbols.
2868         (fringe_bitmap_type): Renamed from bitmap_type.
2869         (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
2870         (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
2871         (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
2873         * xterm.h: Comment fixes. Use renamed symbols.
2874         (fringes_extra): Renamed from flags_areas_extra.
2875         (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
2876         (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
2877         (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
2878         (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
2879         (FRAME_X_LEFT_FRINGE_WIDTH):
2880         Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
2881         (FRAME_X_RIGHT_FRINGE_WIDTH):
2882         Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
2884 2001-11-15  Jason Rumney  <jasonr@gnu.org>
2886         * w32menu.c (add-menu-item): Make help_echo and radio buttons
2887         work for most menu items.  From David Ponce
2888         <david.ponce@wanadoo.fr>.
2890 2001-11-15  Gerd Moellmann  <gerd@gnu.org>
2892         * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
2893         Some x_set_* function expect to be called even if old and new
2894         value are equal.
2896         * xdisp.c (build_desired_tool_bar_string): Accept zero
2897         tool_bar_button_relief.
2899         * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
2901         * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
2903         * xterm.c (x_draw_bar_cursor): If the background color of the
2904         glyph under the cursor equals the frame's cursor color, use
2905         the glyph's foreground color for drawing the bar cursor.
2907         * dispnew.c (direct_output_forward_char): Fix character/byte
2908         position comparison.
2910 2001-11-15  Miles Bader  <miles@gnu.org>
2912         * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
2913         (Fdelete_field, Ffield_string, Ffield_string_no_properties):
2914         Update arguments to find_field.
2915         (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
2916         (Fconstrain_to_field): Use LIMIT arg to shorten search time.
2917         * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
2918         * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
2920 2001-11-14  Richard M. Stallman  <rms@gnu.org>
2922         * editfns.c (Fpropertize): Allow call with 1 arg.
2924         * dispextern.h (image_background, image_background_transparent):
2925         Conditionalize on HAVE_X_WINDOWS.
2927 2001-11-13  Richard M. Stallman  <rms@gnu.org>
2929         * print.c (Fprin1_to_string): Doc fix.
2931         * sunfns.c (Fsun_change_cursor_icon): Doc fix.
2933         * floatfns.c (Fceiling, Ffloor): Doc fixes.
2935         * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
2937         * fileio.c (Ffile_accessible_directory_p): Doc fix.
2939         * eval.c (syms_of_eval): Doc fix.
2941         * coding.c (syms_of_coding): Doc fix.
2943         * doc.c (Fsnarf_documentation): Doc fix.
2945         * dispnew.c (syms_of_display): Doc fix.
2947         * category.c (Fget_unused_category): Doc fix.
2949         * buffer.c (syms_of_buffer): Doc fixes.
2951 2001-11-14  Eli Zaretskii  <eliz@is.elta.co.il>
2953         * print.c (prin1, print): Doc fix.
2955 2001-11-14  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2957         * fontset.h: Remove declarations of variables
2958         `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
2960         * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
2961         `Vclip_large_size_font'.
2963 2001-11-13  Jason Rumney  <jasonr@gnu.org>
2965         * w32fns.c: Doc fix.
2967 2001-11-13  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
2969         * xfaces.c (Fface_attributes_as_vector): Doc fix.
2971         * w32fns.c (Fx_synchronize): Reindent.
2973         * fns.c: Doc fix.
2975         * emacs.c: Doc fix.
2977         * coding.c: Doc fix.
2979         * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
2980         * fontset.c, insdel.c, keymap.c: Change doc-string comments to
2981         `new style' [w/`doc:' keyword].
2983         * xmenu.c (x-popup-menu): Reindent.
2984         (x-popup-dialog): Likewise.
2986         * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
2988         * xdisp.c (Fdump_tool_bar_row): Reindent.
2990         * minibuf.c (Fminibuffer_complete_word): Reindent.
2991         (Fminibuffer_complete_and_exit): Likewise.
2992         (Fminibuffer_completion_help): Likewise.
2993         (Fminibuffer_message): Likewise.
2995         * fns.c (Freverse): Reindent.
2997         * eval.c (Fif): Reindent.
2998         (Fand): Likewise.
3000         * editfns.c (Fuser_real_login_name): Reindent.
3001         (Finsert_buffer_substring): Likewise.
3002         (Fcompare_buffer_substrings): Likewise.
3003         (Fsubst_char_in_region): Likewise.
3005         * dispnew.c (Fsit_for): Reindent.
3006         (Fframe_or_buffer_changed_p): Likewise.
3007         (Finternal_show_cursor_p): Likewise.
3008         (syms_of_display): Likewise.
3010         * alloc.c (Flist): Reindent.
3011         (Fvector): Likewise.
3013 2001-11-12  Richard M. Stallman  <rms@gnu.org>
3015         * xterm.c (XTread_socket): Don't update focus for EnterNotify or
3016         LeaveNotify events.  Only FocusIn and FocusOut do that now.
3017         (x_display_and_set_cursor): Do display hollow cursors in active
3018         minibuffer windows when they are not selected.
3020 2001-11-12  Jason Rumney  <jasonr@gnu.org>
3022         * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
3023         * w32term.c: Change doc-string comments to `new style'.
3024         [w/`doc:' keyword]. Doc fixes.
3026         * w32fns.c: Don't define max.
3027         (Fx_open_connection): Only execute once.
3029 2001-11-12  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3031         * ccl.c: Change macros to use do-while block instead of if-else.
3032         Use braces to follow GNU Coding Standards.
3034 2001-11-11  Richard M. Stallman  <rms@gnu.org>
3036         * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
3038         * lread.c (read_escape): Use end_of_file_error for reporting eof.
3040         * insdel.c (replace_range): Use adjust_markers_for_replace
3041         instead of adjust_markers_for_delete and adjust_markers_for_insert.
3043         * intervals.h: Declare set_text_properties and set_text_properties_1.
3045         * textprop.c (set_text_properties_1): New subroutine
3046         broken out of set_text_properties.
3047         (set_text_properties): Use set_text_properties_1.
3049         * intervals.c (graft_intervals_into_buffer):
3050         Use set_text_properties_1 to clear out properties.
3052         * search.c (Freplace_match): Use replace_range to insert
3053         and delete.  Don't request property inheritance from
3054         surrounding text.
3056 2001-11-10  Jason Rumney  <jasonr@gnu.org>
3058         * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
3059         vertical fonts. Allow them if face name is explicitly specified.
3060         Do not give up if we find a font that cannot be converted to an xlfd.
3062 2001-11-10  Gerd Moellmann  <gerd@gnu.org>
3064         * unexelf.c (unexec): Use mmap/munmap to allocate buffers
3065         instead of malloc/free.
3067 2001-11-09  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3069         * xfaces.c (merge_face_vectors): Use braces to follow GNU
3070         Coding Standards.
3071         (Finternal_set_lisp_face_attribute): Likewise.
3073         * buffer.c (Fbury_buffer): Likewise.
3075         * indent.c (current_column_1): Remove unused variable `prev_col'.
3077         * coding.c (encode_coding): Use precomputed value of `src'.
3078         (encode_coding): Remove unused variable `src_end'.
3079         (code_convert_region): Remove unused variables `count'.
3081 2001-11-07  Jason Rumney  <jasonr@gnu.org>
3083         * w32term.c (x_display_and_set_cursor): Do not move system caret
3084         if cursor_glyph is NULL.
3086 2001-11-07  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3088         * keymap.c (access_keymap): Fix compilation error.
3090 2001-11-07  Miles Bader  <miles@gnu.org>
3092         * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
3094 2001-11-07  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3096         * intervals.c (graft_intervals_into_buffer):
3097         Remove #ifdef'd-out code.
3098         (graft_intervals_into_buffer): Remove unused variable `middle'.
3100         * lread.c (Feval_region): Remove obsolete #ifdef'd-out
3101         code (eval-current-buffer).
3102         Change doc-string comments to `new style' [w/`doc:' keyword].
3104 2001-11-06  Richard M. Stallman  <rms@gnu.org>
3106         * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
3108 2001-11-06  Stefan Monnier  <monnier@cs.yale.edu>
3110         * lread.c (read1): Fix behavior with nested backquoting.
3112         * keyboard.c (make_lispy_event): Check integerness and fix
3113         Lisp_Object/int mixup.
3115 2001-11-06  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3117         * fns.c (copy_hash_table): Remove unused variable `v'.
3119         * fontset.c (fontset_font_pattern): Remove unused variable
3120         `family_registry'.
3122         * indent.c (current_column_1): Remove unused variable `prev_col'.
3124 2001-11-05  Richard M. Stallman  <rms@gnu.org>
3126         * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
3128         * buffer.c (Fkill_buffer): Don't delete auto save file
3129         if buffer is modified.
3131 2001-11-05  Andrew Innes  <andrewi@gnu.org>
3133         * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
3134         CHECK_NUMBER_CDR.
3136 2001-11-05  Richard M. Stallman  <rms@gnu.org>
3138         * unexelf.c (unexec): Minor changes; clean up comments.
3140 2001-11-05  Sam Steingold  <sds@gnu.org>
3142         * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
3144 2001-11-05  Andreas Schwab  <schwab@suse.de>
3146         * sound.c (sound_perror): Save errno from being clobbered.
3148 2001-11-05  Dale Hagglund  <rdh@yottayotta.com>
3150         * unexelf.c (unexec): Don't use `mmap'.  Instead, read and write
3151         the program image directly.
3153 2001-11-05  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3155         * buffer.h (Fbuffer_local_value): Add prototype.
3157 2001-11-04  Richard M. Stallman  <rms@gnu.org>
3159         * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
3160         and CHECK_BUFFER.
3162         * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
3163         (record_char): Likewise.
3165         * keyboard.c (make_lispy_event): Don't insist a drag event must
3166         move to a different buffer position.  Instead, check for moving at
3167         least double_click_fuzz.
3169         * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
3171         * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
3173         * indent.c (current_column_1, Fmove_to_column): Separate the code
3174         for display-table glyphs from the code buffer text, to fix
3175         bugs in the former.
3177 2001-11-04  Michael Welsh Duggan  <md5i@cs.cmu.edu>
3179         * buffer.c (Fbuffer_local_value): New function.
3180         (syms_of_buffer): Defsubr it.
3182         * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
3183         value of `cursor-in-non-selected-windows'.
3185         * lisp.h (Qcursor_in_non_selected_windows): New declaration.
3186         * xdisp.c (Qcursor_in_non_selected_windows): New variable.
3187         (syms_of_xdisp): Initialize it.
3189 2001-11-04  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3191         * xfns.c (Fx_create_frame): Doc fix.
3193         * coding.c: Change doc-string comments to `new style' [w/`doc:'
3194         keyword].
3196         * eval.c (top_level_value, top_level_set): Remove commented and
3197         #ifdef'd-out code.
3198         (Fdefvar): Fix usage in doc-string.
3200 2001-11-03  Richard M. Stallman  <rms@gnu.org>
3202         * xfns.c: Include unistd.h, if it exists.
3204         * editfns.c: Move the include of ctype.h after unistd.h.
3206         * gmalloc.c: Test BROKEN_PROTOTYPES.
3208 2001-11-03  Ken Raeburn  <raeburn@gnu.org>
3210         * lisp.h (CHECK_STRING_CAR): New macro.
3211         * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
3212         treating XCAR and XCDR as lvalues.
3213         (openp): Use CHECK_STRING_CAR.
3214         (read_list): Use XSETCDR instead of treating XCDR as lvalue.
3216 2001-11-03  Eli Zaretskii  <eliz@is.elta.co.il>
3218         * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
3219         (SIGMASKTYPE): Define.
3221         * syssignal.h (sigunblock): Don't define if already defined.
3223 2001-11-02  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3225         * eval.c (debugger_may_continue, Vdebug_ignored_errors)
3226         (call_debugger, Fcondition_case, skip_debugger, unbind_to):
3227         Fix typos in comments.
3229         * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
3230         and #ifdef'd-out code.
3231         Fix and reindent comments.
3233         * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
3235         * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
3236         argument `i' in macros.
3238         * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
3239         `i' in macros.
3241         * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
3242         (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
3243         (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
3244         (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
3245         (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
3246         (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
3247         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
3248         (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
3249         in macros.
3251         * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
3252         * casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
3253         * composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
3254         * eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
3255         * indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
3256         * minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
3257         * sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
3258         * w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
3259         * xfaces.c, xmenu.c, xselect.c: Update usage of CHECK_ macros
3260         (remove unused second argument).
3262 2001-11-02  Stefan Monnier  <monnier@cs.yale.edu>
3264         * syntax.c (describe_syntax): New wrapper.
3265         (Finternal_describe_syntax_value): Rename from describe_syntax.
3266         Don't insert space at front and \n at the end.
3267         (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
3269         * regex.c (re_wctype): Try to fix some warnings.
3270         (regcomp, regexec): Don't forget the __restrict.
3272 2001-11-02  Richard M. Stallman  <rms@gnu.org>
3274         * textprop.c (Fget_char_property): Doc fix.
3276 2001-11-02  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3278         * process.c (Fstart_process): Add usage to doc-string.
3280         * data.c (Fsetq_default): Ditto.
3282         * callint.c (Finteractive): Ditto.
3284 2001-11-01  Stefan Monnier  <monnier@cs.yale.edu>
3286         * macros.c: Don't include keymap.h any more.
3288 2001-11-01  Richard M. Stallman  <rms@gnu.org>
3290         * data.c (Fmake_local_variable): Doc fix.
3292         * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
3293         (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
3295         * keymap.c (Fdescribe_buffer_bindings): Print character property
3296         bindings along with or instead of the buffer local map.
3297         Make the overriding maps override what they should.
3299 2001-11-01  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3301         * window.c (grow_mini_window): Fix typo in comment.
3303 2001-11-01  Gerd Moellmann  <gerd@gnu.org>
3305         * xterm.c (x_scroll_bar_create): Check for width and height > 0.
3306         (XTset_vertical_scroll_bar): Likewise.
3308         * xfns.c (x_build_heuristic_mask): Use four_corners_best
3309         instead of IMAGE_BACKGROUND.
3311         * xfns.c (four_corners_best): Reindent.
3313         * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
3314         Handle :box so that it is possible to specify sexprs.
3316 2001-11-01  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3318         * xfaces.c (Finternal_merge_in_global_face): Reindent.
3319         (Fface_font): Ditto.
3320         (Finternal_set_alternative_font_registry_alist): Ditto.
3321         (Ftty_suppress_bold_inverse_default_colors): Ditto.
3323         * xfns.c (x-get-resource): Reindent.
3325 2001-10-31  Eli Zaretskii  <eliz@is.elta.co.il>
3327         * s/hpux11.h: New file.
3329 2001-10-31  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3331         * emacs.c (USAGE1): Show command line option --no-window-system
3332         instead of --no-windows in usage.
3333         (standard_args): Rename --no-windows to --no-window-system.
3334         (bug_reporting_address): Follow Emacs coding conventions.
3336         * eval.c (Fcommandp): Doc fix.
3337         Change doc-string comments to `new style' [w/`doc:' keyword].
3339         * frame.c (Fframe_live_p): Doc fix.
3341         * buffer.c (selective-display-ellipses): Doc fix.
3343 2001-10-31  Gerd Moellmann  <gerd@gnu.org>
3345         * lread.c (to_multibyte): Fix computation of new read_buffer_size.
3347         * xfaces.c (realize_x_face): If C is not a single-byte character,
3348         set the face's colors_copied_bitwise_p instead of the defaulted_p
3349         members which have a different meaning.
3350         (free_face_colors): Do nothing for a face whose colors have been
3351         copied bitwise.
3353         * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
3355 2001-10-31  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3357         * marker.c, mocklisp.c: Change doc-string comments to `new style'
3358         [w/`doc:' keyword].
3360 2001-10-31  Gerd Moellmann  <gerd@gnu.org>
3362         * fns.c (require_unwind): Return Lisp_Object.
3364 2001-10-31  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3366         * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
3367         (last-input-char): Revert doc-string to be the same as the
3368         doc-string of `last-input-event'.
3370         * xdisp.c:  Fix typos in comments.
3372 2001-10-31  Gerd Moellmann  <gerd@gnu.org>
3374         * window.c (grow_mini_window): Handle case that the root
3375         window is already smaller than the nominal mininum height.
3377 2001-10-30  Stefan Monnier  <monnier@cs.yale.edu>
3379         * emacs.c (main): Don't call keys_of_macros any more.
3381         * lisp.h (keys_of_macros): Remove.
3383         * macros.c (keys_of_macros): Remove.
3385         * xfaces.c (Fface_attribute_relative_p): Declare args.
3387 2001-10-30  Jason Rumney  <jasonr@gnu.org>
3389         * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
3390         (enum_font_cb2): Ignore fonts with vertical orientation.
3392 2001-10-30  Richard M. Stallman  <rms@gnu.org>
3394         * keyboard.c (Finput_pending_p): Doc fix.
3396 2001-10-30  Gerd Moellmann  <gerd@gnu.org>
3398         * xterm.c (x_after_update_window_line): Don't run the code
3399         clearing in borders for rows whose visible height is 0.
3401         * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
3402         resized_p flag is set.  If not set, use the much less flickering
3403         method previously used.
3405         * dispnew.c (change_frame_size_1): Set frame's resized_p.
3407         * frame.h (struct frame) <resized_p>: New member.
3409         * lread.c (to_multibyte): Ensure read_buffer is at least twice
3410         as large as the number of bytes to convert.
3412         * lread.c (to_multibyte): New function.
3413         (read1): Use it.
3415 2001-10-30  Eli Zaretskii  <eliz@is.elta.co.il>
3417         * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
3419 2001-10-30  Gerd Moellmann  <gerd@gnu.org>
3421         * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
3422         (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
3423         if the row's fill_line_p is set and drawing the last glyph with
3424         DRAW_IMAGE_{RAISED,SUNKEN}.
3426         * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
3428 2001-10-29  Stefan Monnier  <monnier@cs.yale.edu>
3430         * xmenu.c: Include coding.h and charset.h.
3431         (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
3432         (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
3433         (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
3434         Explicitly set wv->help.  Use `TRUE' rather than `True'.
3435         (menu_help_callback): Use empty_string.
3437         * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
3438         (Fx_popup_dialog): Explicitly init f.
3439         (w32_menu_display_help): Use empty_string.
3441 2001-10-29  Richard M. Stallman  <rms@gnu.org>
3443         * fns.c (Frequire): Detect recursive try to require the same
3444         feature 3 or more levels deep, and get error.
3445         (require_unwind): New subroutine.
3446         (require_nesting_list): New variable.
3447         (syms_of_fns): Init and staticpro it.
3449         * print.c (print_object): Clarify indication of insertion type.
3451 2001-10-29  Eli Zaretskii  <eliz@is.elta.co.il>
3453         * coding.c (syms_of_coding): Document that locale-coding-system is
3454         used for decoding input on X.
3456         * window.c (Fscroll_left, Fscroll_right): Doc fix.
3458 2001-10-29  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3460         * keyboard.c (Finput_pending_p): Fix typo in doc-string.
3461         (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
3463 2001-10-29  Gerd Moellmann  <gerd@gnu.org>
3465         * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
3466         use NO_CURSOR if cursor_in_non_selected_windows is false.
3468         * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
3469         the slant attribute if FRAME is t.
3471         * xfns.c (x_set_internal_border_width): Set frame garbaged
3472         when X window doesn't exist yet.
3474         * xterm.c (x_after_update_window_line): Clear internal border
3475         in different circumstances.
3477         * xterm.c (XTread_socket) <KeyPress>: Don't use
3478         STRING_CHAR_AND_LENGTH if nchars == nbytes.  From Kenichi Handa
3479         <handa@etl.go.jp>.
3481 2001-10-28  Eli Zaretskii  <eliz@is.elta.co.il>
3483         * m/ibms390.h: New file.  From Adam Thornton
3484         <athornton@sinenomine.net>.
3486 2001-10-28  Gerd Moellmann  <gerd@gnu.org>
3488         * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
3490         * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
3491         a loop counter.
3493 2001-10-28  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3495         * emacs.c: Use argv[0] instead of emacs when -t was specified.
3497         * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
3498         keyword].
3499         Fix typos in comments.
3501         * emacs.c (bug_reporting_address): New function.
3502         Use it when displaying usage message.
3504         * minibuf.c (read_minibuf): Remove unused external declaration of
3505         variable `Qread_only'.
3507         * keymap.c (access_keymap): Remove unused variable `charset'.
3509 2001-10-28  Miles Bader  <miles@gnu.org>
3511         * xfaces.c (merge_face_heights): Handle TO being relative as well.
3512         Remove #ifdef'd-out code.
3513         (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
3514         (syms_of_xfaces): Initialize them.
3516 2001-10-27  Jason Rumney  <jasonr@gnu.org>
3518         * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
3519         <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
3520         position using the system caret.
3522         * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
3523         (w32_system_caret_height, w32_system_caret_x)
3524         (w32_system_caret_y): New variables for tracking system caret.
3525         (w32_initialize): Initialize them.
3526         (x_display_and_set_cursor): Make system caret follow the active cursor.
3528         * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
3529         New messages types.
3531         * w32term.c (note_mouse_highlight): Clear old help_echo.
3533 2001-10-27  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3535         * xterm.c: Fix typo in a comment.
3537         * emacs.c: Fix typos in comments.
3538         Remove unnecessary spaces.
3539         Change doc-string comments to `new style' [w/`doc:' keyword].
3540         (USAGE2): Fix typos in usage string.
3542         * xterm.c: Fix typo in a comment.
3544         * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
3545         emacs.c.
3547 2001-10-27  Gerd Moellmann  <gerd@gnu.org>
3549         * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
3550         instead of 1/2 line_height in the heuristic for skipping
3551         farther backward when target_y was not reached.
3553         * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
3554         Display errno only if non-zero.
3555         (sound_warning): New function.
3556         (vox_configure): Don't treat failing to set sample rate as error.
3557         (various places): Improve error messages.
3559 2001-10-26  Eli Zaretskii  <eliz@is.elta.co.il>
3561         * fileio.c (Faccess_file): Run the argument filename through
3562         Fexpand_file_name, before using it.
3564         * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
3565         ring-bell-function.  Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
3567 2001-10-26  Gerd Moellmann  <gerd@gnu.org>
3569         * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
3571         * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3572         Fix clearing in the case of scroll bars on the right.
3574 2001-10-26  Juanma Barranquero <lektu@terra.es>
3576         * w32gui.h (XImage): Add a dummy typedef.
3578 2001-10-26  Gerd Moellmann  <gerd@gnu.org>
3580         * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
3582 2001-10-25  Eli Zaretskii  <eliz@is.elta.co.il>
3584         * frame.c (Fframe_parameter): Fix last change.
3586         * fileio.c: Revert last change (which removed old commented-out
3587         version of expand-file-name).  Add a comment that explains why
3588         this old version should not be removed.
3590 2001-10-25  Gerd Moellmann  <gerd@gnu.org>
3592         * frame.c (Fframe_parameter): Fix a bug whereby some
3593         ``artificial'' frame parameters, like `minibuffer' were not
3594         obtained by calling Fframe_parameters.
3596         * xterm.c (show_mouse_face): Clean up.  Recognize overwritten
3597         cursor differently.
3599         * xdisp.c (move_it_vertically_backward): Compute line height
3600         differently.  Add heuristic to try to be more compatible to 20.x.
3602 2001-10-25  Stefan Monnier  <monnier@cs.yale.edu>
3604         * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
3606         * editfns.c (text_property_stickiness): Fix Lisp_Object used as
3607         boolean.
3609 2001-10-25  Miles Bader  <miles@gnu.org>
3611         * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
3612         BG is a pointer to a structure, not a structure.
3613         (gif_format, png_format): Add missing commas.
3615 2001-10-24  Richard M. Stallman  <rms@gnu.org>
3617         * xfaces.c (Fface_attributes_as_vector): New function.
3618         (syms_of_xfaces): Defsubr it.
3620 2001-10-24  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3622         * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
3623         variable `area'.
3625 2001-10-25  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3627         * search.c (scan_newline): Remove unused variable `selective_display'.
3629 2001-10-25  Miles Bader  <miles@gnu.org>
3631         * dispextern.h (struct image): Add `background',
3632         `background_valid', and `background_transparent' fields.
3633         (image_background, image_background_transparent): New declarations.
3634         (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
3635         * xfns.c (image_background, image_background_transparent)
3636         (four_corners_best): New functions.
3637         (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
3638         (gs_format): Add `:background' entry.
3639         (lookup_image): Set IMG's background color if specified.
3640         (pbm_load, xbm_load_image, png_load): Set IMG's background field
3641         when appropriate.
3642         (x_clear_image_1): Reset `background_valid' and
3643         `background_transparent_valid' fields.
3644         (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
3645         calculating it here.  Set IMG's background_transparent field.
3646         (enum xpm_keyword_index): Add XPM_BACKGROUND.
3647         (enum png_keyword_index): Add PNG_BACKGROUND.
3648         (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
3649         (enum tiff_keyword_index): Add TIFF_BACKGROUND.
3650         (enum gif_keyword_index): Add GIF_BACKGROUND.
3651         (enum gs_keyword_index): Add GS_BACKGROUND.
3652         (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
3653         Pre-calculate image background color where necessary.
3654         * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
3655         `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
3656         color to use for image glyph reliefs.
3658 2001-10-24  Gerd Moellmann  <gerd@gnu.org>
3660         * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
3661         in full-width rows.
3663         * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3664         Fix clearing of area not covered by scroll bar.
3666 2001-10-24  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3668         * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
3669         and `real_start'.
3670         (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
3671         (glyph_rect): Remove unused variable `area'.
3673 2001-10-24  Gerd Moellmann  <gerd@gnu.org>
3675         * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
3677         * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
3678         (row_containing_pos): Take additional argument DY.
3679         Treat rows ending in middle of char differently.
3680         (display_line): Handle tabs on window systems differently.
3682         * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
3683         with additional argument.
3685         * dispextern.h (row_containing_pos): Adjust prototype.
3687         * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
3688         (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
3689         (try_window_id, try_window_reusing_current_matrix)
3690         (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
3691         (syms_of_xdisp) [GLYPH_DEBUG]:  DEFVAR_BOOL the variables.
3693 2001-10-24  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3695         * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
3696         gnuemacs).
3697         (HAVE_BOXES): Fix typo in comment.
3698         (push_menu_pane): Fix typo in comment.
3700         * xdisp.c: (display_prop_string_p): Remove unused local declaration
3701         of `Qwhen'.
3702         (single_display_prop_string_p): Remove unused local declarations
3703         of `Qwhen' and `Qmargin'.
3704         (string_buffer_position): Remove unused variable `around'.
3705         (store_frame_title): Remove unused variable `width'.
3707         * window.c: Don't define max.
3708         (coordinates_in_window): Remove unused variable `uy'.
3710         * widget.c: Don't define max.
3712         * process.c: Don't define max.
3713         (create_process): Remove unused variable `buffer'.
3715 2001-10-23  Gerd Moellmann  <gerd@gnu.org>
3717         * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
3719 2001-10-23  Eli Zaretskii  <eliz@is.elta.co.il>
3721         * xfaces.c (Finternal_set_lisp_face_attribute)
3722         [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
3723         frame is on a windowed display.
3725 2001-10-23  Gerd Moellmann  <gerd@gnu.org>
3727         * dispnew.c (sync_window_with_frame_matrix_rows):
3728         Fix handling of windows which aren't full-width, fix handling
3729         of marginal areas.
3731         * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
3733 2001-10-23  Andreas Schwab  <schwab@suse.de>
3735         * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
3736         LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
3738 2001-10-23  Gerd Moellmann  <gerd@gnu.org>
3740         * xterm.c (x_draw_glyphs): Remove parameters READ_START and
3741         REAL_END.  Notice if cursor gets overwritten.
3742         (notice_overwritten_cursor): Take X positions as parameters.
3743         (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
3744         around call to x_draw_glyphs.
3746 2001-10-23  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3748         * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
3749         instead of C) and usage.
3751         * editfns.c (char-to-string): Fix argument names (use CHAR instead
3752         of C) and usage.
3754         * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
3755         `left', `max_width' and `max_height'.
3757 2001-10-23  Gerd Moellmann  <gerd@gnu.org>
3759         * xdisp.c (display_line): For a tab continued to the next line,
3760         set row's ends_in_middle_of_char_p.
3762 2001-10-22  Gerd Moellmann  <gerd@gnu.org>
3764         * xdisp.c (display_line): Fix computation of continuation lines
3765         width for TABs.
3767 2001-10-22  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3769         * xdisp.c (build_desired_tool_bar_string): Remove unused variable
3770         `Qlaplace'.
3772         * fileio.c: Remove unused code.
3774 2001-10-22  Miles Bader  <miles@gnu.org>
3776         * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
3777         (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
3778         Remove `DOC_STRINGS_IN_COMMENTS' cases.
3780 2001-10-21  Jason Rumney  <jasonr@gnu.org>
3782         * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
3784 2001-10-21  Eli Zaretskii  <eliz@is.elta.co.il>
3786         * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
3787         (Finsert_string): Avoid the multi-line string literals warning.
3789 2001-10-22  Miles Bader  <miles@gnu.org>
3791         * doc.c (Vhelp_manyarg_func_alist): Variable removed.
3792         (Fdocumentation): Don't use it.
3793         (syms_of_doc): Don't initialize it.
3795         * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
3796         * print.c (Fwith_output_to_temp_buffer): Likewise.
3797         * window.c (Fsave_window_excursion): Likewise.
3798         * editfns.c (Fsave_excursion, Fsave_current_buffer)
3799         (Fsave_restriction): Likewise.
3800         * eval.c (Frun_hooks, Frun_hook_with_args)
3801         (Frun_hook_with_args_until_failure)
3802         (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
3803         (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
3804         (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
3805         (Funwind_protect, Fcondition_case): Likewise.
3806         * coding.c (Ffind_operation_coding_system): Likewise.
3807         * keyboard.c (Ftrack_mouse): Likewise.
3809 2001-10-21  Miles Bader  <miles@gnu.org>
3811         * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
3812         (Fmake_hash_table): Add usage: string to doc string.
3813         * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
3814         (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
3815         (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
3816         * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
3817         (Fml_prefix_argument_loop): Likewise.
3819 2001-10-21  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3821         * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
3823         * sysdep.c (init_sys_modes): Change doc-string comments to `new
3824         style' [w/`doc:' keyword].
3826         * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
3827         * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
3828         comments to `new style' [w/`doc:' keyword].
3830 2001-10-21  Jason Rumney  <jasonr@gnu.org>
3832         * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
3834         * w32term.c (remember_mouse_glyph): New function.
3835         (w32_mouse_position): Use it.
3836         (note_mouse_movement): If the mouse moved off the glyph, remember
3837         its new position.
3839         * w32term.h (struct w32_output): Correct spelling of x_compatible.
3840         (w32_display_info): Add mouse_face_overlay.
3842         * w32term.c (notice_overwritten_cursor): Renamed from
3843         note_overwritten_text_cursor.  Rewritten to take glyph widths into
3844         account.
3845         (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3846         (fast_find_string_pos): New function.
3847         (fast_find_position): Return the correct vpos.  Add parameter
3848         STOP.  In the final row, stop before glyphs having STOP as object.
3849         Don't consider glyphs that are not from a buffer.
3850         (fast_find_position) [0]: Add a presumably more correct version
3851         for after 21.1.
3852         (expose_window_tree, expose_frame): Don't compute intersections here.
3853         (expose_window): Do it here instead.
3854         (expose_window_tree, expose_window, expose_line): Return 1 when
3855         overwriting mouse-face.
3856         (expose_window): If W is the window currently being updated, mark
3857         the frame garbaged.
3858         (expose_frame): If mouse-face was overwritten, redo it.
3859         (x_use_underline_position_properties): New variable.
3860         (syms_of_xterm): DEFVAR_BOOL it.
3861         (x_draw_glyph_string): Add comment to use it in future.
3862         (x_draw_glyph_string): Restore clipping after drawing box.
3863         Fix a computation of the underline position.
3864         (w32_get_glyph_string_clip_rect): Minor cleanup.
3865         (x_fill_stretch_glyph_string): Remove an assertion.
3866         (x_produce_glyphs): Don't convert multibyte characters
3867         to unibyte characters in unibyte buffers.
3868         (cursor_in_mouse_face_p): New function.
3869         (x_draw_stretch_glyph_string): Use it to choose a different GC
3870         when drawing a cursor within highlighted text.  Don't draw
3871         background again if it has already been drawn.
3872         (x_draw_glyph_string_box): Don't draw a full-width
3873         box just because the glyph row's full_width_p flag is set.
3874         (x_draw_glyphs): Fix computation of rightmost x for
3875         full-width rows.
3876         (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
3877         (w32_draw_relief_rect): Extend left shadow to the bottom and left;
3878         change bottom shadow accordingly. Some cleanup.
3879         (x_update_window_end): Handle overwritten mouse face
3880         also for tool bar windows.
3881         (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3882         DRAW is DRAW_IMAGE_RAISED.
3883         (clear_mouse_face): Return 1 if text with mouse face was
3884         actually redrawn.  Make the function static.  Reset
3885         dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
3886         optimize away highlighting if we pass over that same overlay again.
3887         (note_mouse_highlight): Call mouse_face_overlay_overlaps
3888         to detect a case where we have to highlight a different region
3889         despite not having left the currently highlighted region.
3890         Set mouse_face_overlay in the x_display_info.  Avoid changing the
3891         mouse pointer shape when show_mouse_face has already done it, or
3892         there is no need.  Handle mouse-face and help-echo in strings.
3893         (glyph_rect): New function.
3894         (w32_mouse_position): Use it to raise the threshold for mouse
3895         movement event generation.
3896         (w32_initialize_display_info): Initialize the x_display_info's
3897         mouse_face_overlay.
3898         (w32_set_vertical_scroll_bar): Don't clear a zero height
3899         or width area.
3900         (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3901         a widget to zero height.
3903         * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
3904         Protect unibyte strings created by replacing their multibyte
3905         equivalents in menu_items.
3906         (w32_menu_show): Don't overwrite an item's name with its key
3907         description in case the description is a multibyte string.
3908         (single_submenu): Some cleanup.
3910         * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
3911         (postprocess_image): New function.
3912         (lookup_image): Call it for all image types except PostScript.
3913         (x_kill_gs_process): Call postprocess_image.
3914         (tiff_error_handler, tiff_warning_handler): New functions.
3915         (tiff_load): Install them as handlers.
3916         (x_kill_gs_process): Recognize if someone has cleared the image
3917         cache under us.
3918         (valid_image_p): Protect better against invalid image
3919         specifications.  Previous code could signal an error.
3920         (Fx_hide_tip, Fshow_tip): Doc fix.
3921         (Fv_max_tooltip_size): New variable.
3922         (syns_of_xfns): DEFVAR_LISP it.
3923         (Fx_show_tip): Add parameter TEXT.  Set the tip frame's root
3924         window buffer to *tip* right after creating the frame. Set frame's
3925         window_width.  Use a maximum tooltip size specified by
3926         Vx_max_tooltip_size, if that has valid contents.
3927         (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3928         Make sure the tooltip is completely visible.
3929         (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3930         (Fx_create_frame): Adjust the frame's height for presence
3931         of the tool bar before calling x_figure_window_size.
3932         (x_set_tool_bar_lines): Clear the tool bar window's current matrix
3933         when the window gets smaller.
3934         (x_set_foreground_color): Set frame's cursor_pixel.
3935         (x_set_foreground_color, x_set_background_color): Cleaned up.
3936         (x_set_font): Handle case of x_new_fontset returning the same name
3937         as before, although there was a change in fontsets.
3939 2001-10-21  Miles Bader  <miles@gnu.org>
3941         * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
3942         (Flogxor): Add usage: string to doc string.
3943         * charset.c (Fstring): Likewise.
3944         * callproc.c (Fcall_process_region, Fcall_process): Likewise.
3945         * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
3947 2001-10-21  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
3949         * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
3951         * alloc.c: Reindent DEFUNs with doc: keywords.
3953         * abbrev.c (Finsert_abbrev_table_description): Reindent.
3955         * frame.c: Change doc-string comments to `new style' [w/`doc:'
3956         keyword].
3958 See ChangeLog.9 for earlier changes.
3960 ;; Local Variables:
3961 ;; coding: iso-2022-7bit
3962 ;; End:
3964     Copyright (C) 2001, 2002 Free Software Foundation, Inc.
3965   Copying and distribution of this file, with or without modification,
3966   are permitted provided the copyright notice and this notice are preserved.