Update copyright year to 2014 by running admin/update-copyright.
[emacs.git] / src / ChangeLog.6
blob6e7f6499ea4070e18290b43b7ea21366ded0d035
1 1996-08-11  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
3         * Version 19.33 released.
5 1996-08-10  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
7         * s/sco5.h (POSIX_SIGNALS): Don't define it, #undef instead.
8         (NO_SOCKETS_IN_FILE_SYSTEM): Definition deleted.
9         (sigblock): New definition.
11 1996-08-10  Marcus G. Daniels  <marcus@sayre.sysc.pdx.edu>
13         * m/sequent-ptx.h (LOAD_AVE_TYPE, FSCALE, LOAD_AVE_CVT):
14         Undef them before defining.
16         * s/ptx4.h: Fix include file name.
17         (NO_FILIO_H): Move definition.
19 1996-08-09  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
21         * m/alpha.h [__ELF__] (UNEXEC): Use unexelf1.c.
23 1996-08-09  David Mosberger-Tang  <davidm@azstarnet.com>
25         * unexelf1.c: New file, copied from unexelf.c.
26         [__alpha__]: Include <sym.h> to get COFF debugging
27         info declarations for .mdebug section.
28         [__GNU_LIBRARY__ - 0 >= 6]: Include <link.h>.
29         [notdef ElfW]: Define backwards compatible ElfW macro.
30         (unexec) [__alpha__]: Add code to update Alpha COFF symbol table
31         (.mdebug section).
32         (unexec) [__alpha__]: Work around binutils-2.7 bug: for Alpha ELF
33         sometimes unneeded data relocs do not get elided properly which
34         results in reloc entries that contain all zeroes.
36         * m/alpha.h [__ELF__ && __GNUC__] (C_SWITCH_MACHINE): Add -fno-common.
37         (TEXT_START, DATA_START, DATA_SEG_BITS, UNEXEC): Define only if
38         __ELF__ is not defined.
39         (LINUX_SBRK_BUG): Define only if LINUX and __GNU_LIBRARY__ < 6.
40         (NO_TERMIO): Always define this.  No Alpha system should need
41         termio.
42         (COFF, DATA_END): Define only if __ELF__ is not defined.
44 1996-08-08  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
46         * s/usg5-4.h: Don't include filio.h if NO_FILIO_H.
48         * s/ptx4.h: New file.
50         * config.in (GETTIMEOFDAY_ONE_ARGUMENT): Conditionalize on
51         HAVE_GETTIMEOFDAY.
53 1996-08-07  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
55         * xmenu.c (xmenu_show): Set dummy.state.
56         Set dummy.button appropriately.
57         (popup_get_selection) [USE_MOTIF]: Set event.xbutton.button.
59         * s/osf1.h (LD_SWITCH_SYSTEM): New definition.
61 1996-08-06  Paul Eggert  <eggert@twinsun.com>
63         * editfns.c (set_time_zone_rule): Don't put a string literal
64         "TZ=..." in environ.
66 1996-08-05  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
68         * minibuf.c (Fread_from_minibuffer): Make position 0 in the initial
69         input mean the beginning.
71 1996-08-04  Eli Zaretskii  <eliz@is.elta.co.il>
73         * callproc.c (Fcall_process_region) [DOS_NT]: Avoid downcasing
74         the `X' characters in the template passed to `mktemp'.
76 1996-08-02  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
78         * widget.c (EmacsFrameSetCharSize): Call do_pending_window_change.
80 1996-07-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
82         * Version 19.32 released.
84         * s/hpux10.h (C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
85         Override to add /usr/contrib directories.
87 1996-07-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
89         * xterm.c (XTread_socket): Delete the code to pass menu bar keys
90         to the toolkit alone.
91         (XTread_socket): Don't fail to pass button events to toolkit.
93 1996-07-29  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
95         * xterm.c (XTread_socket): Pass keys in menu bar to toolkit alone
96         only for Motif.
98         * xdisp.c (prepare_menu_bars): Conditionalize previous change.
100 1996-07-27  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
102         * filelock.c (lock_file_owner_name): Always initialize the_pw.
104         * xterm.c (XTread_socket): Fixing previous change:
105         Clear last_mouse_press_frame on non-menu-bar ButtonPress.
106         Always use last_mouse_press_frame as frame for ButtonRelease.
107         But ignore the event if frame's output_data.x is null.
108         Save the ButtonRelease only if USE_MOTIF.
109         (last_mouse_press_frame): This is now a Lisp object.
110         (syms_of_xterm): Initialize and staticpro it.
112         * xmenu.c (pending_menu_activation): Don't initialize.  Not static.
113         (set_frame_menubar): If no saved_menu_event yet, set deep_p.
114         Don't clear pending_menu_activation here.
116         * xmenu.c (Fx_popup_dialog): Don't fail to initialize WINDOW.
118         * xdisp.c (prepare_menu_bars): Clear pending_menu_activation.
120         * print.c: When printing into a buffer, generate all the text
121         first, then insert it all at once.
122         (print_buffer): New variable.
123         (print_buffer_size, print_buffer_pos): New variables.
124         (PRINTPREPARE): Allocate print_buffer.
125         (PRINTFINISH): Free print_buffer after inserting its contents.
126         (printchar, strout): Output into print_buffer.
127         (print_string): If printcharfun is nil, use strout.
129 1996-07-26  Marcus G. Daniels  <marcus@sayre.sysc.pdx.edu>
131         * xmenu.c (pending_menu_activation): New variable.
132         (x_activate_menubar): Don't call set_frame_menubar for
133         ButtonRelease events.  Instead, set pending_menu_activation.
134         (set_frame_menubar): If pending_menu_activation, set deep_p.
136         * xterm.c (last_mouse_press_frame): New variable.
137         (XTread_socket): Store a saved_button_event for ButtonRelease.
139 1996-07-25  Marcus G. Daniels  <marcus@sayre.sysc.pdx.edu>
141         * xmenu.c (set_frame_menubar): Use -1 for call_data
142         in the deep_p = 0 case.
144 1996-07-24  Geoff Voelker  <voelker@joker.cs.washington.edu>
146         * ntinevt.c (win32_read_socket): Never block reading from input queue.
148 1996-07-24  Marcus G. Daniels  <marcus@sayre.sysc.pdx.edu>
150         * editfns.c (Fencode_time): Assign to tm.tm_gmtoff for NEXTSTEP,
151         since timezone environment variable is ignored.
153 1996-07-23  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
155         * buffer.c (buffer_permanent_local_flags): New variable.
156         (init_buffer_once): Initialize it.
157         (reset_buffer_local_variables): New argument PERMANENT_TOO.
158         Callers changed.  Now declared static.
160         * s/irix6-0.h [__GNUC__] (C_DEBUG_SWITCH): Define as -g3.
162         * m/mips.h, m/iris4.h, m/iris5d.h (LIBS_MACHINE) [__GNUC__ and ABIN32]:
163         Define as empty.
165 1996-07-23  Paul Eggert  <eggert@twinsun.com>
167         * editfns.c (Fdecode_time, difftm): Work even if tm_year represents
168         negative years; this is possible with 64-bit time_t values.
170 1996-07-20  Karl Heuer  <kwzh@gnu.ai.mit.edu>
172         * fileio.c (check_writable): Use euidaccess, not eaccess.
174 1996-07-20  Erik Naggum  <erik@naggum.no>
176         * intervals.c (balance_intervals_internal): Recurse directly.
178 1996-07-19  Eli Zaretskii  <eliz@is.elta.co.il>
180         * unexec.c (copy_text_and_data) [DJGPP >= 2]: Switch off two bits
181         in `_crt0_startup_flags' so they don't go into the dumped Emacs.
182         Restore the value of `_crt0_startup_flags' after .text and .data
183         were dumped.
185 1996-07-19  Karl Heuer  <kwzh@gnu.ai.mit.edu>
187         * s/irix5-0.h (_BSD_SIGNALS): Define.
188         * s/irix6-0.h (SA_RESTART): Add #undef.
190 1996-07-16  Andrew Innes  <andrewi@harlequin.co.uk>
192         * w32term.c (w32_read_socket): Need to erase background
193         immediately before repainting exposed region.
195         * makefile.nt (DOC, clean): Use OBJDIR macro.
197 1996-07-16  Karl Heuer  <kwzh@gnu.ai.mit.edu>
199         * xfns.c (Fx_create_frame): Do xlwmenu hack only if USE_LUCID.
201         * m/alpha.h, unexelf.c: Undo Jul 15 changes.
202         * config.in, data.c, keyboard.c, process.c: Undo Jul 15 changes.
203         * cm.h, sysdep.c, terminfo.c: Undo Jul 15 and Jul 16 changes.
205 1996-07-16  Karl Heuer  <kwzh@gnu.ai.mit.edu>
207         * cm.h, terminfo.c, sysdep.c: Test HAVE_TERMIOS rather than the
208         automatically-generated HAVE_TERMIOS_H, in case <termios.h> is
209         present but unusable.
211 1996-07-16  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
213         * fns.c (Fy_or_n_p): Pass 3rd arg to Flookup_key.
215         * s/hpux10.h (LIBS_TERMCAP): New definition.
217 1996-07-15  Karl Heuer  <kwzh@gnu.ai.mit.edu>
219         * window.c (struct save_window_data, struct saved_window): First
220         placeholder member is EMACS_INT, not int.
222         * print.c (print): Fix args in strout calls.
224         * xterm.h (struct x_output): Member saved_button_event replaced by
225         saved_menu_event.
226         * xmenu.c (x_activate_menubar): Allow any event, not just ButtonPress.
227         * xterm.c (SET_SAVED_MENU_EVENT): New macro.
228         (SET_SAVED_BUTTON_EVENT, SET_SAVED_KEY_EVENT): New macros.
229         (XTread_socket): Defer key events as well as button presses.
231         * frame.c (Qmouse_leave_buffer_hook): Delete redundant definition.
232         (syms_of_frame_1): Delete the duplicate assignment and staticpro.
233         * lisp.h (Qmouse_leave_buffer_hook, Qfont): Declare here.
234         * floatfns.c (Qarith_error): Delete redundant definition.
235         * xfns.c (Qfont): Delete redundant definition.
236         (syms_of_xfns): Delete the duplicate assignment and staticpro.
237         * w32fns.c (Qfont): Delete redundant definition.
238         (syms_of_win32fns): Delete the duplicate assignment and staticpro.
239         * xfns.c (xlwmenu_default_font): Declare, but don't define.
240         * xselect.c (last_event_timestamp): Declare, but don't define.
242 1996-07-15  David Mosberger-Tang  <davidm@AZStarNet.com>
244         * m/alpha.h (TEXT_START, DATA_START, DATA_SEG_BITS, UNEXEC, DATA_END):
245         Omit these definitions if ELF.
246         (LINUX_SBRK_BUG): Omit this if using a recent GNU library.
247         [__ELF__] (C_SWITCH_MACHINE): Define.
248         (NO_TERMIO): Define this unconditionally.
249         (COFF): Omit this if ELF.
250         * config.in (HAVE_TERMIOS_H): Add #undef.
251         * cm.h [HAVE_TERMIOS_H]: Declare ospeed as speed_t.
252         * sysdep.c [HAVE_TERMIOS_H]: Likewise.
253         * dispnew.c: Don't declare ospeed; cm.h already did it.
254         * terminfo.c: Use <config.h>.
255         [HAVE_TERMIOS_H]: Declare ospeed as speed_t.
256         [USG]: Include <string.h>.
257         * data.c (arith_error): Don't reinstall sig handler if POSIX_SIGNALS.
258         * keyboard.c (input_available_signal, interrupt_signal): Likewise.
259         * process.c (create_process_1, sigchld_handler): Likewise.
260         * unexelf.c: Add 64-bit ELF and Alpha/ELF support.
262 1996-07-13  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
264         * search.c (Fmatch_data): If no matching done yet, return Qnil.
266 1996-07-13  Paul Eggert  <eggert@twinsun.com>
268         * vmstime.c (sys_gmtime): Don't assume year < 2000.
270 1996-07-13  Karl Heuer  <kwzh@gnu.ai.mit.edu>
272         * process.c (wait_reading_process_input) [hpux]: Workaround for
273         annoying messages.
275 1996-07-12  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
277         * indent.c (Fvertical_motion): Doc fix.
279 1996-07-11  Andrew Innes  <andrewi@harlequin.co.uk>
281         * w32fns.c (win32_wnd_proc): Handle WM_ERASEBKGND and
282         WM_PALETTECHANGED messages inline (as they should be).
284         * w32term.c (w32_read_socket): Remove unused WM_ERASEBKGND code.
285         No need to erase background now on (delayed) WM_PAINT.  Move
286         WM_PALETTECHANGED processing to raw input thread.
288 1996-07-11  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
290         * keyboard.c (menu_bar_item): Skip menu-bar equiv keys data
291         to get just the keymap.
293         * s/irix5-0.h [__GNUC__] (C_DEBUG_SWITCH): New definition.
295 1996-07-11  David Mosberger-Tang  <davidm@AZStarNet.com>
297         * mem-limits.h (lim_data): Make this an unsigned long.
299 1996-07-11  Bill Mann  <dvmann@dvncr.praxisint.com>
301         * s/usg5-4-3.h: New file.
303 1996-07-11  Marcus G. Daniels  <marcus@sayre.sysc.pdx.edu>
305         * xterm.c (XTread_socket): Add #ifdef for previous change.
307 1996-07-11  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
309         * buffer.c (syms_of_buffer): Doc fix.
311 1996-07-08  Roland McGrath  <roland@delasyd.gnu.ai.mit.edu>
313         * mem-limits.h [_LIBC]: Use weak_extern instead of weak_symbol for
314         __data_start.
316 1996-07-07  Michael I. Bushnell, p/BSG  <mib@gnu.ai.mit.edu>
318         * s/gnu.h: Enable use of ncurses library cleanly.
320 1996-07-07  Karl Heuer  <kwzh@gnu.ai.mit.edu>
322         * xterm.c: Undo previous change.
323         (XTread_socket): Better way to avoid sending toolkit-specific
324         events to Emacs.
326 1996-07-07  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
328         * xmenu.c (popup_get_selection): For a ButtonRelease on the proper
329         display, don't queue it, and always deactivate the menu.
331 1996-07-07  Eli Zaretskii  <eliz@is.elta.co.il>
333         * msdos.c (IT_menu_display): Display control characters as ^X.
334         (XMenuAddPane, XMenuAddSelection): Adjust menu width for control
335         characters (displayed as ^X).
337         * dired.c (file_name_completion): Set `stat' flags to avoid
338         computing expensive fields in struct stat (makes filename
339         completion much faster).
341         * fileio.c (Fcopy_file): Use st_ino under DJGPP v2 and later to
342         prevent copying file into itself.
343         (check_executable): DJGPP v2 `stat' doesn't need to be augmented
344         in case of executable files.
345         (Ffile_modes): Use `stat' results as is in DJGPP v2 and later.
347 1996-07-04  Eli Zaretskii  <eliz@is.elta.co.il>
349         * msdos.c (dostounix_filename): On caseless filesystems, downcase
350         the filename.
351         (unixtodos_filename): Downcase the drive letter.
352         (init_environment): Downcase the pathnames in the environment only
353         when running on caseless filesystems.
355 1996-07-03  Andrew Innes  <andrewi@harlequin.co.uk>
357         * nt.c (normalize_filename): Always lower-case drive letters, even
358         on systems that preserve case in filenames.
360         * fileio.c (DRIVE_LETTER) [WINDOWSNT]: Lower-case drive letters.
362 1996-07-05  Andrew Innes  <andrewi@harlequin.co.uk>
364         * w32term.c (x_set_mouse_pixel_position): Adjust coords by frame
365         position.
366         (x_set_mouse_position): Call x_set_mouse_pixel_position.
368 1996-07-05  Andrew Innes  <andrewi@harlequin.co.uk>
370         * nt.c (sys_rename): Do not delete newname if only changing case.
371         On Windows 95, use our version of mktemp (not the MSVC version)
372         and give the temp name a long extension to ensure the final rename
373         works as expected.
375 1996-07-03  Eli Zaretskii  <eliz@is.elta.co.il>
377         * callproc.c (Fcall_process) [MSDOS]: Initialize fd[0]; unlink
378         `tempfile' in case of errors.
379         (Fcall_process): When fd_error is negative,
380         don't close fd[0] if it's same as filefd.
382 1996-07-03  Eli Zaretskii  <eliz@is.elta.co.il>
384         * callproc.c (Fcall_process) [MSDOS]: Make the `tempfile'
385         parameter passed to `report_file_error' be a Lisp string.
386         (Fcall_process): If stderr is redirected to NULL_DEVICE, make
387         `report_file_error' print the name of device.  Make the arguments
388         a cons cell.
390 1996-07-06  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
392         * indent.c (Fvertical_motion): Doc fix.
394 1996-07-03  Marcus G. Daniels  <marcus@sayre.sysc.pdx.edu>
396         * xterm.c (XTread_socket): Use lw_tookit_related_event_p to
397         avoid sending toolkit-specific events to Emacs.
399 1996-07-01  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
401         * m/alpha.h (HAVE_X11R4, HAVE_X11R5): Definitions deleted
402         since xterm.h and config.h should take care of them.
404         * xselect.c (x_clear_frame_selections): Don't call
405         redisplay_preserve_echo_area here.
407 1996-06-30  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
409         * systty.h: Delete spurious period from last change.
411 1996-07-01  Eli Zaretskii  <eliz@is.elta.co.il>
413         * fileio.c (DRIVE_LETTER) [MSDOS]: Lower-case drive letters.
415         * msdos.c (msdos_downcase_filename): Always lower-case drive
416         letters, even on systems that preserve case in filenames.
418 1996-06-29  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
420         * s/sol2-5.h (LIB_MOTIF): Fix typo.
422         * emacs.c (main): Add `GNU Emacs' to the response to --version.
424         * xfns.c (Fx_create_frame): Gcpro parms, parent, and name.
426         * systty.h (GETPGRP_NO_ARG): Always define it, if __GNU_LIBRARY__.
428 1996-06-28  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
430         * frame.c (make_frame_without_minibuffer): GCPRO the frame f.
432         * config.in (AMPERSAND_FULL_NAME): Defined by default.
434         * s/sol2-5.h (LIB_MOTIF): New definition.
436         * emacs.c (standard_args): Delete `-rn' option.
438         * .gdbinit: Add `dir ../lwlib'.
440         * print.c (print): Obey Vprint_length for vectors, bitvectors.
442         * fileio.c (check_executable): Use euidaccess, not eaccess.
444         * config.in (HAVE_EUIDACCESS): This replaces HAVE_EACCESS.
446         * xterm.h: Don't define HAVE_X11R5 here.
448         * config.in (HAVE_X11R5): Add #undef.
450         * unexhp9k800.c (unexec): Cast result of sbrk.
451         (run_time_remap): Cat arg to brk.
453 1996-06-27  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
455         * xterm.c (x_connection_closed): Call clear_waiting_for_input.
457         * keyboard.c (modify_event_symbol): Add properly to *symbol_table.
459 1996-06-26  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
461         * xterm.c (x_connection_closed): Add newline when printing error
462         message on stderr.
463         (XTread_socket, Xatom_wm_save_yourself clause):
464         Don't call XSetCommand if f is 0.
465         (x_error_quitter): Delete newline from sprintf string.
467         * xdisp.c (redisplay_internal): Use last_had_star to decide
468         whether to update the mode line to update the star.
469         (update_menu_bar): Likewise.
470         Also, don't set w->update_mode_line for frames that use
471         set_frame_menubar.
472         (redisplay_internal, mark_window_display_accurate):
473         Set last_had_star.
475         * window.h (struct window): New field, last_had_star.
477 1996-06-25  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
479         * xterm.c (x_connection_signal): Just return after calling `signal'.
480         (X_CONNECTION_LOCK_FLAG): Definition deleted.
481         (x_connection_signal_dpyinfo): Variable deleted.
482         (x_connection_signal_1): Function deleted.
483         (x_connection_close_if_hung): Function deleted.
485         * indent.c (Fmove_to_column): Go after invis chars at the goal column.
487 1996-06-24  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
489         * xterm.c (x_connection_closed): If waiting_for_input,
490         call quit_throw_to_read_char.
492 1996-06-24  Paul Eggert  <eggert@twinsun.com>
494         * unexelf.c (unexec): Round up section header offset to bss alignment
495         before deciding whether it's after the bss section.
497 1996-06-23  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
499         * xfns.c (x_real_positions): Don't call x_uncatch_errors twice.
501         * indent.c (current_column_1): Add declaration.
503 1996-06-22  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
505         * indent.c: Make current-column, move-to-column and current-indentation
506         handle invisible chars (both text properties and overlays).
507         (skip_invisible): New function.
508         (Fmove_to_column): Use skip_invisible.  Get rid of `retry' label.
509         (compute_motion): Use skip_invisible.
510         (current_column_1): New function.
511         (current_column): Use current_column_1 if might have invisible text.
513         * data.c (Fdefalias): Doc fix.
515         * s/gnu-linux.h (LD_SWITCH_SYSTEM): Just one definition.
516         Don't use prefix-args here because Makefile.in
517         does that when necessary.
519 1996-06-21  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
521         * s/sco5.h: New file.
523         * s/gnu-linux.h: Renamed from lignux.h.
524         (SYSTEM_TYPE): Changed to gnu/linux.
526         * callproc.c (Fcall_process): Fix previous change.
528         * xterm.c (x_iconify_frame): If frame is invisible,
529         explicitly mark it as iconified.
531         * keyboard.c (kbd_buffer_get_event): Don't call x_activate_menubar
532         for a deleted frame.
534 1996-06-19  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
536         * s/sol2-4.h (LD_SWITCH_SYSTEM): Use no space after -L and -R.
538 1996-06-18  Nico Francois  <nico.francois@scala.nl>
540         * w32fns.c (Vwin32_alt_is_meta): New variable.
541         (win32_get_modifiers): Map Alt to alt_modifier if required.
542         (syms_of_win32fns): DEFVAR new variable.
544         * ntinevt.c (Vwin32_alt_is_meta): Declared.
545         (win32_kbd_mods_to_emacs): Map Alt to alt_modifier if required.
547 1996-06-16  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
549         * callproc.c (Fcall_process): Handle t or nil as STDERR_FILE.
551         * s/hpux10.h (HPUX10): New macro.
553 1996-06-14  Andrew Innes  <andrewi@harlequin.co.uk>
555         * w32fns.c (win32_wnd_proc): No need to forward WM_ERASEBKGND to
556         main thread.
558         * w32term.c (w32_read_socket): Erase update rect on WM_PAINT, so
559         no need to process WM_ERASEBKGND.
561 1996-06-13  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
563         * xmenu.c (Qmenu_alias): New variable.
564         (syms_of_xmenu): Initialize it.
565         (menu_item_equiv_key): Check this property on the definition.
567         * fileio.c (Fexpand_file_name): When simplifying /foo/..,
568         keep the initial slash.
570         * s/hpux10.h (LIBS_SYSTEM): Two new definitions (and #undef first).
572 1996-06-12  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
574         * emacs.c (main): For SIGHUP, use sigblock and sigunblock,
575         not sigblockx and sigunblockx.
577         * buffer.c (Fkill_buffer): Doc fix.
579 1996-06-12  Andrew Innes  <andrewi@harlequin.co.uk>
581         * ntproc.c (restrict_dos_process): Variable deleted.
582         (sys_spawnve): Restrict DOS processes on NT as well.
584         * nt.c: Delete restrict_dos_process.
586 1996-06-12  Andrew Innes  <andrewi@harlequin.co.uk>
588         * nt.c (restrict_dos_process): Renamed from can_run_dos_process.
589         (init_ntproc): Refer to restrict_dos_process.
591         * ntproc.c (restrict_dos_process): Renamed from can_run_dos_process.
592         (sys_spawnve): Refer to restrict_dos_process.
594 1996-06-12  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
596         * syssignal.h (sigunblockx): Use sigunblock.
598 1996-06-11  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
600         * process.c (wait_reading_process_input): Move the O_NONBLOCK and
601         O_NDELAY conditionals out of the EWOULDBLOCK conditional.
603 1996-06-10  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
605         * keymap.c (Fset_keymap_parent): Return early if KEYMAP already has
606         the proper parent.
608         * s/lignux.h [__ELF__] (LD_SWITCH_SYSTEM): Define it.
610         * frame.c (Fmake_terminal_frame): Test MSDOS, not __MSDOS__.
612         * xdisp.c (redisplay_internal): Use FRAME_WINDOW_P.
613         (decode_mode_spec): Likewise.
615         * minibuf.c (choose_minibuf_frame): Eliminate
616         MSDOS-non-MULTI_FRAME conditional.
618         * dispnew.c (change_frame_size, remake_frame_glyphs):
619         Use FRAME_WINDOW_P.
621         * msdos.c (check_x): Fix error message.
623 1996-06-09  Eli Zaretskii  <eliz@is.elta.co.il>
625         * xfaces.c (init_frame_faces): Build faces for an MSDOS frame
626         like for X frame.
627         (Fmake_face_internal): Call `ensure_face_ready' for MSDOS frames.
628         (Fset_face_attribute_internal): Support face attributes for MSDOS
629         frames.
631         * xdisp.c (redisplay_internal): Use `Vterminal_frame' and other
632         termcap frame code on MSDOS as well.
633         (display_text_line) [HAVE_FACES]: Support faces on MSDOS.
634         (decode_mode_spec): Return frame name on MSDOS like for termcap
635         frames.
637         * window.c (Fset_window_configuration) [HAVE_WINDOW_SYSTEM]: Call
638         `x_set_menu_bar_lines' on MSDOS as well.
640         * msdos.h (check_x): Macro definition deleted.
641         (DisplayWidth): Use `selected_frame'.
642         (DisplayHeight): Use `selected_frame'.
643         (x_mouse_leave): Remove; it's not used.
645         * msdos.c (x_set_menu_bar_lines): New function, copied from xfns.c.
646         (IT_set_frame_parameters): Use selected_frame instead of
647         the_only_frame.
648         (internal_terminal_init): Use selected_frame instead of the_only_frame.
649         (check_x): New function, replacing macro in msdos.h.
650         (XMenuActivate): Use selected_frame instead of
651         the_only_frame.  Don't let the title for the "Buffers" popup
652         include a number when it is split into several menus.
654         * minibuf.c (choose_minibuf_frame): Support multiple frames on MSDOS.
656         * frame.h (FRAME_MSDOS_P): A new macro for MSDOS frames.
658         * frame.c (Qpc): New variable.
659         (syms_of_frame_1): Define and staticpro it.
660         (Fframep): Support MSDOS frames.
661         (make_terminal_frame, Fmake_terminal_frame): Support MSDOS frames.
662         (Fset_mouse_position, Fset_mouse_pixel_position): Support MSDOS frames.
663         (Fframe_parameters, Fmodify_frame_parameters): Support MSDOS frames.
665         * dosfns.c (Fset_mouse_position): Remove the DOS-specific
666         definition (it's defined on `frame.c').
667         (syms_of_dosfns): Remove defsubr of `Fset_mouse_position'.
669         * dispnew.c (Fredraw_frame, remake_frame_glyphs)
670         (direct_output_for_insert, change_frame_size): Support MSDOS frames.
672 1996-06-10  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
674         * keymap.c (fix_submap_inheritance): If parent_entry is not a keymap,
675         use nil instead.
677         * alloc.c (mark_object): Do set ARRAY_MARK_FLAG for bool-vectors.
679 1996-06-10  Andrew Innes  <andrewi@harlequin.co.uk>
681         * w32fns.c (x_to_win32_font): Allow any quality fonts.
683 1996-06-09  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
685         * keyboard.c (read_char): Use unsigned to compare against
686         the size of Vkeyboard_translate_table.
687         Check size for char-table too.
689         * s/freebsd.h (DONT_REOPEN_PTY): New definition.
691         * process.c (create_process): Add DONT_OPEN_PTY conditional.
693 1996-06-07  Andrew Innes  <andrewi@harlequin.co.uk>
695         * nt.c (init_environment): Read PRELOAD_WINSOCK from registry if
696         not set in environment.
698         (winsock_inuse) [HAVE_SOCKETS]: New variable.
699         (have_winsock) [HAVE_SOCKETS]: Obsolete variable removed.
701         (term_winsock) [HAVE_SOCKETS]: Only unload winsock library if there
702         are no active sockets still open, and if the cleanup function
703         succeeds.  Return TRUE if winsock is unloaded.
705         (init_winsock) [HAVE_SOCKETS]: Load winsock if not already loaded,
706         and return TRUE if winsock support is available.  Unload winsock
707         immediately if new parameter load_now is false.  Check that
708         WSAStartup supports the winsock version we requested.
710         (set_errno, check_errno, sys_socket, sys_bind, sys_connect)
711         (sys_htons, sys_ntohs, sys_inet_addr, sys_gethostname)
712         (sys_gethostbyname, sys_getservbyname, sys_close, sys_read)
713         (sys_write) [HAVE_SOCKETS]: Check winsock_lib instead of
714         have_winsock to determine if winsock support is available.
716         (sys_socket, sys_close) [HAVE_SOCKETS]: Count sockets in use.
718         (init_ntproc) [HAVE_SOCKETS]: Only load winsock library on startup
719         if PRELOAD_WINSOCK is set in environment (or registry).
721         * ntproc.c (Fwin32_has_winsock, Fwin32_unload_winsock)
722         [HAVE_SOCKETS]: New functions.
723         (syms_of_ntproc) [HAVE_SOCKETS]: defsubr them.
725         * process.c (Fopen_network_stream) [WINDOWSNT]: Ensure Windows
726         socket library is loaded if available.
728 1996-06-07  Marcus G. Daniels  <marcus@sayre.sysc.pdx.edu>
730         * xterm.c (XTread_socket): Use XtAppNextEvent when using
731         toolkit configurations.
733 1996-06-07  Andrew Innes  <andrewi@harlequin.co.uk>
735         * nt.c (sys_mktemp): Complete rewrite.
737 1996-06-07  Andrew Innes  <andrewi@harlequin.co.uk>
739         * ntproc.c (sys_kill): Don't try to terminate a DOS process.
741 1996-06-06  Andrew Innes  <andrewi@harlequin.co.uk>
743         * fileio.c (Ffile_name_directory) [WINDOWSNT]: Remove previous
744         change, which was incorrect and isn't strictly required.
746 1996-06-06  Eli Zaretskii  <eliz@is.elta.co.il>
748         * xfaces.c (Fset_face_attribute_internal) [MSDOS]: Don't mask
749         bright color bit in background colors.
751         * msdos.c (bright_bg): New function, enables bright background colors.
752         (dos_set_window_size): Move code to `bright_bg'.
753         (IT_set_terminal_modes): Enable bright background colors.
754         (IT_set_frame_parameters): Don't mask bright color bit in
755         background colors.  Record colors on `termscript' file.
756         (internal_terminal_init): Enable bright background colors.  Fix
757         default colors setting from $EMACSCOLORS.
759 1996-06-07  Geoff Voelker  <voelker@joker.cs.washington.edu>
761         * w32fns.c (sync_modifiers): New function.
762         (w32_wnd_proc): Synchronize modifiers on each key down.
764 1996-06-06  Andrew Innes  <andrewi@harlequin.co.uk>
766         * nt.c (init_winsock): Dynamically link to SetHandleInformation.
767         (sys_socket): If possible, use SetHandleInformation to make socket
768         handle non-inheritable to avoid a bug in NT.
770 1996-06-05  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
772         * keymap.c (Fkeymap_parent, Fset_keymap_parent): New functions.
773         (fix_submap_inheritance): New function.
774         (access_keymap): Use fix_submap_inheritance.
776 1996-06-05  Paul Eggert  <eggert@twinsun.com>
778         * editfns.c (set_time_zone_rule):
779         Work around localtime cache bug in SunOS 4.1.3_U1 and SunOS 4.1.4.
781 1996-06-04  Geoff Voelker  <voelker@joker.cs.washington.edu>
783         * w32term.c (w32_read_socket): If the dead key was produced using
784         AltGr and has a valid AltGr scan code, it's a valid key and
785         should not be discarded.
787 1996-06-03  Kim Storm  <storm@olicom.dk>
789         * ntproc.c (Vwin32_downcase_file_names): New variable.
790         (syms_of_win32fns): DEFVAR it.
792         * fileio.c (DRIVE_LETTER): [DOS_NT] New macro.
793         (expand_file_name): Apply DRIVE_LETTER macro to drive names.
795         * nt.c (normalize_filename): New function.
796         (dostounix_filename, unixtodos_filename): Use it.
797         (readdir): Convert upper case file names to lower case
798         if win32-downcase-file-names is non-nil.
800 1996-05-31  Andrew Innes  <andrewi@harlequin.co.uk>
802         * fileio.c (Fexpand_file_name) [WINDOWSNT]: Don't strip trailing /
803         when newdir is just "//".
804         (Ffile_name_directory) [WINDOWSNT]: Return Qnil if filename is a
805         partial UNC name such as "//foo".
807 1996-05-31  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
809         * xmenu.c (single_submenu): Handle non-keymap lists like symbols.
811         * w32fns.c (reset_modifiers): Only clear a modifier if the
812         modifier key has been detected to have been released since
813         Emacs lost focus.
814         (win32_wnd_proc): Have Windows translate VK_NUMLOCK and
815         VK_SCROLL key downs; don't reset the modifier state when
816         Emacs loses focus.
818 1996-05-30  Richard Stallman  <rms@psilocin.gnu.ai.mit.edu>
820         * buffer.c (Fpop_to_buffer): Doc fix.
822         * window.c (Fdisplay_buffer): Doc fix.
824 1996-05-27  Karl Heuer  <kwzh@gnu.ai.mit.edu>
826         * s/sol2.h (LIBS_SYSTEM): Define this.
828 1996-05-25  Karl Heuer  <kwzh@gnu.ai.mit.edu>
830         * Version 19.31 released.
832 1996-05-25  Karl Heuer  <kwzh@gnu.ai.mit.edu>
834         * m/sparc.h [__linux__] (A_TEXT_OFFSET, A_TEXT_SEEK): Don't define.
836 1996-05-24  Marcus G. Daniels  <marcus@sayre.sysc.pdx.edu>
838         * xterm.c [SOLARIS2]: Include string.h.
840 1996-05-24  Andrew Innes  <andrewi@harlequin.co.uk>
842         * w32fns.c (Vwin32_mouse_move_interval): New lisp variable.
843         (syms_of_win32fns): Add Vwin32_mouse_move_interval to syms.
844         (saved_mouse_msg): Renamed to saved_mouse_button_msg.
845         (timer_id): Renamed to mouse_button_timer.
846         (saved_mouse_move_msg, mouse_move_timer): New variables.
847         (win_msg_worker): Delete WM_TIMER code.
848         (win32_wnd_proc): Handle WM_TIMER events here.  Use separate timers
849         for mouse down and mouse move (including scroll bar drag) events.
850         Add new handling code for WM_VSCROLL and WM_MOUSEMOVE events.
851         Only filter WM_MOUSEMOVE events when a button is held down.
852         Always pass on message to DefWindowProc after calling
853         TranslateMessage.  Reset keyboard modifiers when losing focus.
855         * w32term.c (x_scroll_bar_handle_click): Repaint scroll bar handle
856         when drag is finished.
858 1996-05-23  Geoff Voelker  <voelker@joker.cs.washington.edu>
860         * w32fns.c (win32_wnd_proc): When passing modifier keystrokes back
861         to Windows, invoke TranslateMessage on them.
862         (reset_modifiers): Don't reset Window's keyboard state.
864 1996-05-23  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
866         * lread.c (init_lread): Init Vload_file_name to Qnil.
868 1996-05-21  Geoff Voelker  <voelker@joker.cs.washington.edu>
870         * w32fns.c (modifier_set): Check toggle state of CapsLock even
871         if modifiers are not being recorded.
873 1996-05-21  Andrew Innes  <andrewi@harlequin.co.uk>
875         * nt.c (get_volume_info): Always update *pPath correctly, even if
876         UNC header is incomplete.
878 1996-05-21  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
880         * indent.c (compute_motion): When calling Fget_char_property,
881         don't pass window if window is displaying the wrong buffer.
883         * dispnew.c (init_display) [HAVE_LIBNCURSES]: If X, call tgetent.
885         * keyboard.c (Fexecute_extended_command): Don't look for
886         a key binding if executing a kbd macro.
888         * print.c (Fprin1_to_string): Preserve Vdeactivate_mark.
890         * systty.h [__GNU_LIBRARY__]: #include <sys/ioctl.h>.
892         * cmds.c (internal_self_insert): Don't return 2 for auto-fill
893         unless the auto_fill_function returns non-nil.
895 1996-05-17  Karl Heuer  <kwzh@gnu.ai.mit.edu>
897         * nt.h (struct _child_process): New member is_dos_process.
898         * nt.c (_sys_read_ahead): Handle sleep here.
899         (sys_read): Not here.
900         (init_ntproc): Initialize can_run_dos_process, dos_process_running.
901         * ntproc.c (Vwin32_pipe_read_delay): New var.
902         (can_run_dos_process, dos_process_running): New vars.
903         (win32_is_dos_binary): New function.
904         (reap_subprocess, sys_spawnve): Use them.
905         (syms_of_ntproc): Defvar and initialize Vwin32_pipe_read_delay.
907         * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Enable the display of
908         menus in --no-window mode on NT.
910 1996-05-17  Geoff Voelker  <voelker@cs.washington.edu>
912         * w32term.c (w32_read_socket): Mask out lower 4 bits of wParam
913         for WM_SYSCOMMAND messages.
915 1996-05-15  Karl Heuer  <kwzh@gnu.ai.mit.edu>
917         * makefile.nt: Fix typo in previous patch.
919         * callproc.c (Fcall_process): Don't close the same fd twice.
921 1996-05-15  Kim Storm  <storm@olicom.dk>
923         * nt.c (sys_read): Introduce a small delay before reading from
924         a pipe or socket to allow more data to be buffered; otherwise,
925         process output is read one byte at a time on fast machines
926         (which is slow).
928 1996-05-14  Karl Heuer  <kwzh@gnu.ai.mit.edu>
930         * w32select.c (QCLIPBOARD): New symbol.
931         (Fx_selection_exists_p): New function.
932         (syms_of_win32select): Initialize/staticpro and defsubr them.
934 1996-05-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
936         * makefile.nt (w32*.obj): Fix deps.
938 1996-05-13  Andrew Innes  <andrewi@harlequin.co.uk>
940         * eval.c (Fsignal) [HAVE_WINDOW_SYSTEM]: Changed from
941         HAVE_X_WINDOWS, so that TOTALLY_UNBLOCK_INPUT is called on Windows.
943         * w32fns.c (win32_wnd_proc): Reenable quit_char detection.
945 1996-05-13  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
947         * w32menu.c: Include buffer.h.
948         (set_frame_menubar): Make sure input is unblocked
949         when we call create_menu_items.
950         Switch temporarily to proper buffer, bind inhibit-quit to t,
951         and run the same hooks as in smenu.c.
952         (syms_of_win32menu): Initialize and staticpro Qdebug_on_next_call.
954         * w32term.c (note_mouse_movement): Upwards mouse movement
955         recognition corrected.
957 1996-05-12  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
959         * callproc.c (Fcall_process): Fix previous change (now !MSDOS only).
961 1996-05-12  Karl Heuer  <kwzh@gnu.ai.mit.edu>
963         * macros.c (Fstart_kbd_macro): Add missing xrealloc arg.
965 1996-05-12  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
967         * Makefile.in (MSDOS_SUPPORT): Use full name disp-table.elc.
969 1996-05-12  Eli Zaretskii  <eliz@is.elta.co.il>
971         * dosfns.c (init_dosfns) [DJGPP >= 2]: Make `opendir' preserve
972         filename case (under Windows 95) and find hidden files.
974         * msdos.c (Fmsdos_downcase_filename): Don't change the argument,
975         return a copy.
977 1996-05-11  Eli Zaretskii  <eliz@is.elta.co.il>
979         * msdos.c (msdos_downcase_filename): New function to convert case
980         in filenames.
981         (Fmsdos_downcase_filename): New function.
982         (syms_of_msdos): Defsubr it.
984         * s/msdos.h (FILE_SYSTEM_CASE): Call Fmsdos_downcase_filename
985         instead of Fdowncase.
987 1996-05-11  Geoff Voelker  <voelker@cs.washington.edu>
989         * s/windowsnt.h (SYSTEM_PURESIZE_EXTRA): Macro defined.
991 1996-05-11  Andrew Innes  <andrewi@harlequin.co.uk>
993         * w32term.c (x_scroll_bar_set_handle): Always use start
994         in calling SetScrollPos.
995         (x_scroll_bar_handle_click): In line up/down cases, don't alter y.
996         Don't call x_scroll_bar_set_handle.
998         * nt.c (map_win32_filename): If not a fat volume, cvt name to dos.
1000 1996-05-11  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1002         * ntheap.c (allocate_heap): Clean up conditional.
1004 1996-05-11  Geoff Voelker  <voelker@cs.washington.edu>
1006         * ntheap.c (allocate_heap): Bump heap base up to 27MB to
1007         satisfy Windows 95.
1009 1996-05-10  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1011         * callproc.c (Fcall_process): Close fd_error if successful.
1013 1996-05-10  Geoff Voelker  <voelker@cs.washington.edu>
1015         * w32fns.c (win32_wnd_proc): Disable setting of Vquit_flag
1016         at this point.
1018 1996-05-10  Andrew Innes  <andrewi@harlequin.co.uk>
1020         * w32fns.c (win_msg_worker): Use post_msg.
1021         (win32_wnd_proc): Don't abort if button_state & this, just return.
1022         Use post_msg instead of my_post_msg in some places.
1023         (win32_to_x_font): Major rewrite.
1024         (struct enumfont_t): New element logfont.
1025         (enum_font_cb2): Add special code for TRUETYPE_FONTTYPE.
1026         (Fx_list_fonts): Call x_to_win32_font.
1028         * w32term.c (x_scroll_bar_move): Call my_show_window.
1029         (x_scroll_bar_clear): Likewise.
1031         * ntterm.c (prev_console_mode): New variable.
1032         (unset_kbd): Use prev_console_mode.
1033         (reset_kbd): Set prev_console_mode.  Call Fset_input_mode.
1035         * emacs.c (main) [WINDOWSNT]: Call syms_of_ntproc.
1037         * ntproc.c (Vwin32_quote_process_args): New variable.
1038         (sys_spawnve): If Vwin32_quote_process_args, quote the args.
1039         (syms_of_ntproc): Set up Lisp variable.
1041 1996-05-10  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1043         * xterm.c (x_connection_signal_1): Call x_connection_closed properly.
1045 1996-05-08  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1047         * msdos.c (syms_of_msdos): Fix typo.
1049 1996-05-07  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1051         * termhooks.h (enum scroll_bar_part): Delete extra comma.
1053 1996-05-06  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1055         * msdos.c (Fmsdos_long_file_names): New function.
1056         (syms_of_msdos): Defsubr it.
1058         * s/msdos.h (GMALLOC_INHIBIT_VALLOC): Defined.
1060         * casetab.c (set_case_table): Set upcase_table, case_canon_table
1061         and case_eqv_table in the buffer.
1063         * casefiddle.c (casify_region, casify_object):
1064         If case table has been changed, call Fset_case_table.
1066 1996-05-04  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1068         * editfns.c (Fencode_time): Accept MANY args, so as to cope
1069         with the value of decode-time.
1071 1996-05-03  Andrew Innes  <andrewi@harlequin.co.uk>
1073         * keyboard.c (Qup, Qdown): New variables.
1074         (syms_of_keyboard): Initialize and staticpro.
1075         (scroll_bar_parts): Add Qup and Qdown.
1076         (make_lispy_event) [WINDOWSNT]: Handle win32_scroll_bar_click.
1078         * termhooks.h (enum scroll_bar_part): New alternatives
1079         scroll_bar_up_arrow, scroll_bar_down_arrow.
1080         (win32_scroll_bar_click): New enum constant.
1082 1996-05-03  Andrew Innes  <andrewi@harlequin.co.uk>
1084         * makefile.nt (SUBSYSTEM) [NTGUI]: Remove conditional.
1085         (LINK_FLAGS): Explicitly set base address, and stack and heap sizes.
1086         (nt.obj): Add dependency to nt.h.
1088         * nt.c (nt_ctime): Function renamed to sys_ctime.
1090         Undefine macros for shadowed CRT functions.
1091         (nt_stat, get_unassigned_drive_letter, is_toplevel_share_name)
1092         (stat_toplevel_share): Functions deleted.
1094         Include sys/socket.h and
1095         undefine macros for shadowed socket functions.
1097         (getwd): Return NULL if GetCurrentDirectory fails.
1099         (gethostname) [!HAVE_SOCKETS]: Replace with winsock version.
1101         (nt_sleep): Renamed to sys_sleep.
1103         (rename): Renamed to sys_rename.  Always rename to a temporary name
1104         first on Windows 95.  Unlink new name first if necessary.
1106         (dir_finding): Variable deleted.
1107         (dir_is_fat, dir_pathname): New variables.
1109         (openddir): Fail if dir_find_handle is in use.  Save directory name
1110         in dir_pathname, and set dir_is_fat appropriately.
1111         (closedir, readdir): Use dir_find_handle in place of dir_finding.
1112         (readdir): Copy directory name from dir_pathname on first
1113         call.  Use IS_DIRECTORY_SEP instead of IS_ANY_SEP.  Force filename
1114         to be lower case on FAT volumes.
1116         (getpwuid): Move struct passwd initialization to init_user_info,
1117         return information for current user if uid matches.
1119         (getuid, geteuid): Return uid determined by init_user_info.
1120         (getgid, getegid): New functions.
1122         (getpwnam): Ignore case when comparing name.
1123         (init_user_info): New function.  Determine user name and id from
1124         NT security calls if possible, otherwise try Windows networking
1125         calls before falling back to hard-coded defaults.  Ensure HOME and
1126         SHELL environment variables are set.
1128         (unixtodos_filename): New function.
1130         (REG_ROOT): Trailing backslash removed.
1132         (init_environment): Call init_user_info.
1134         (get_inode_and_device_vals, pipe_with_inherited_out)
1135         (pipe_with_inherited_in): Functions deleted.
1137         (prepare_standard_handles, reset_standard_handles): Moved to
1138         ntproc.c and simplified to match other changes (all handles are
1139         already non-inheritable).
1141         (get_emacs_configuration): Detect Windows flavor (Windows 95 or
1142         NT) at run-time.  Change OS name for Windows 95 to be "win95".
1144         (fd_info): New variable.  Array of extra info for file descriptors
1145         needed for pipe/socket support.
1147         (utc_base_ft, utc_base, init): New internal variables used for
1148         implementing stat.
1150         (get_volume_info, is_fat_volume, map_win32_filename, convert_time)
1151         (convert_from_time_t, hashval, generate_inode_val): New
1152         internal support functions for shadowed C library functions.
1154         (sys_access, sys_chdir, sys_chmod, sys_link, sys_mkdir)
1155         (sys_mktemp, sys_rmdir, sys_unlink): Call map_win32_filename
1156         before calling shadowed C library function.
1158         (sys_fopen, sys_open): Map file names, and ensure file handle is
1159         non-inheritable.
1161         (stat): Replace buggy library function.  Fake reasonable i-node
1162         values by hashing the canonical file name, and use uid/gid values
1163         determined by init_user_info.
1165         (term_winsock, init_winsock, set_errno, check_errno)
1166         [HAVE_SOCKETS]: New internal socket support functions (plus
1167         associated variables) required to support dynamic linking to
1168         Windows socket library.
1170         (sys_socket, sys_bind, sys_connect, sys_htons, sys_ntohs)
1171         (sys_inet_addr, sys_gethostname, sys_gethostbyname)
1172         (sys_getservbyname) [HAVE_SOCKETS]: New functions to provide
1173         dynamically loaded interface to Windows socket library.
1175         (sys_close, sys_dup, sys_dup2, sys_read, sys_write): New wrappers
1176         for C library functions to handle sockets and pipes.
1178         (sys_pipe): Make pipe handles non-inheritable, and set binary mode
1179         as required.
1181         (_sys_read_ahead): New internal support function for pipe/socket
1182         support in sys_select.
1184         (term_ntproc): New function.
1185         (init_ntproc): New function to initialize socket support and make
1186         initial std handles non-inheritable.  Also ensure stdin, stdout
1187         and stderr have valid handles so that pipes and sockets can't
1188         inadvertently use fd 0, 1, or 2.
1190         * nt.h: Check to see if already included.
1191         (fd_set, filedesc): New structures.
1192         (child_process, MAX_CHILDREN, CHILD_ACTIVE): Definitions moved
1193         from ntproc.c.
1194         (FD_SET, FD_CLR, FD_ISSET, FD_ZERO): Operate on fd_set structures.
1195         (SELECT_TYPE): New macro.
1196         New child process status enumeration.
1197         (FILE_READ, FILE_WRITE, FILE_BINARY, FILE_PIPE, FILE_SOCKET):
1198         New macros.
1199         (fd_info, new_child, delete_child): Declared.
1201         * ntheap.c: Include lisp.h.
1202         (allocate_heap): Use VALBITS to determine size of heap.
1203         (allocate_heap) [WINDOWS95]: Conditional code removed.
1204         (sbrk): Use VALMASK instead of an unsigned integer mask.
1206         * ntinevt.c (win32_kdb_patch_key): Initialize isdead.
1207         (key_event) [HAVE_NTGUI]: Use Windows key code.
1209         * ntproc.c: Include config.h after CRT headers.  Include fcntl.h.
1210         (child_process, MAX_CHILDREN, CHILD_ACTIVE): Moved to nt.h.
1211         (DebugPrint): New macro.
1212         (new_child): Create input event structures for child processes.
1213         (delete_child): New function.
1214         (reader_thread): Return nonzero upon failure.  Use _sys_read_ahead.
1215         (create_child): Add child_process and parent PID arguments.
1216         Don't create input event or thread structures here.
1217         Fixup Windows 95 negative process IDs.
1218         (register_child): Don't set consumed event; instead, set thread
1219         status so that select will release it.
1220         (remove_child): Renamed to reap_process.  Only free resources
1221         of synchronous children.
1222         (win32_wait): Renamed to sys_wait.  Sanity check to make sure
1223         handle to subprocess exists.  Don't reclaim thread resources here.
1224         (win32_spawnve): Renamed to sys_spawnve.
1225         Check for proper wait mode first thing.
1226         Convert command name to DOS format.
1227         Quote whitespace and quotes in arguments to subprocess.
1228         Use alloca instead of malloc.
1229         If max subprocesses, return EAGAIN in hopes of another completing.
1230         (sys_select): Add support for socket input.  Remove dead code.
1231         Check input from children fairly.
1232         (sys_select) [HAVE_TIMEVAL]: Remove conditional check and code.
1233         (win32_kill_process): Renamed to sys_kill.  Use OpenProcess
1234         to terminate process.
1235         (prepate_standard_handles, reset_standard_handles): Moved here
1236         from nt.c.
1238         * ntterm.c (reset_kbd): Try to use interrupt input.
1240         * unexnt.c (WinMain): Function removed.
1241         (_start) [HAVE_NTGUI]: Don't invoke WinMain, but do set up
1242         WinMain args as crt0.c would.
1244         * w32fns.c (quit_char, Vwin32_enable_italics, Vwin32_enable_palette):
1245         New variables.
1246         (syms_of_win32fns): Set up new lisp variables.
1248         (Fwin32_rgb): Dead procedure removed.
1249         (Fwin32_define_rgb_color, Fwin32_load_color_file, win32_map_color)
1250         (win32_regenerate_palette, win32_unmap_color): New functions.
1251         (syms_of_w32fns): Set up new lisp functions.
1252         (define_color): Use palettes.  Simulate use of PALETTE_RGB to
1253         use closest color instead of dithering.
1254         (map_mode): Function removed.
1255         (WIN32_COLOR, SET_WIN32_COLOR): New macros.
1257         (win32_init_class): Don't set CS_OWNDC in the WNDCLASS style.
1258         (win32_createwindow): Invoke ShowWindow to discard defaults
1259         from parent.
1260         (win32_wnd_proc): Use separate critical sections appropriately.
1261         Handle palette change, show window, and set window position messages.
1262         Record WINDOWPLACEMENT structure length.
1263         Detect quit_char.
1264         (Fx_create_frame): Set scrollbar width to be the system standard.
1266         (Ffocus_frame, Funfocus_frame): Functions now do nothing.
1268         (x_to_win32_weight, win32_to_x_weight): Handle "heavy", "extrabold",
1269         "light", "extralight", and "thin" fonts.
1270         (x_to_win32_charset, win32_to_x_charset): New functions.
1271         (win32_to_x_font): Use new height units.  Use win32_to_x_charset.
1272         (x_to_win32_font): Use x_to_win32_charset.  Support w32 font names
1273         in addition to X font names.
1275         (win32_load_font, Fx_list_fonts, Fx_display_color_cells)
1276         (Fx_display_mm_height, Fx_display_mm_width): Use GetDC directly.
1278         (Fx_open_connection): Support external color mapping files.
1280         (win32_abort): Map abort button to abort, retry to debug, and
1281         ignore to continue.
1283         * w32reg.c (REG_ROOT): Remove trailing backslash.
1285         * w32select.c (Fwin32_set_clipboard_data, Fwin32_get_clipboard_data):
1286         Calculate exact size of clipboard string with CRs removed or inserted.
1288         * w32term.c (Vwindow_system): Declared.
1289         (win32_fill_rect, dumpglyphs, do_line_dance, x_draw_box):
1290         Use Get/ReleaseFrameDC.
1292         (pixel_to_glyph_coords): Support tty mode.
1293         (w32_read_socket): Explicitly use FALSE.
1294         Handle WM_PALLETTECHANGED event.
1295         (parse_button): Handle mouse button emulation.
1297         (my_show_window, my_set_window_pos): New functions.
1298         (x_set_offset, x_set_window_size, x_raise_frame, x_lower_frame):
1299         Use my_set_window_pos.
1300         (x_make_frame_visible, x_iconify_frame): Use my_show_window.
1302         (x_draw_box): Don't trim right and bottom.
1303         (x_make_frame_visible): Don't invoke SetForegroundWindow.
1305         (win32_term_init): Use GetDC directly.  Initialize palette
1306         and win32_num_mouse_buttons.
1307         (win32_update_begin): Regenerate palette if necessary.
1308         (x_delete_display): Free palette.
1310         (win32_initialize) [ATTACH_THREADS]: Only AttachThreadInput if
1311         conditional is defined.
1313         * w32term.h (struct win32_palette_entry): New structure.
1314         (win32_display_info): New fields has_palette, p_colors_in_use,
1315         n_colors_in_use, h_palette.
1316         (win32_output): New field h_old_palette.
1317         (WM_EMACS_SETWINDOWPOS): New macro.
1318         (WM_EMACS_DESTROY_WINDOW): Value redefined.
1319         (win32_window_pos): New structure.
1320         (GetFrameDC, ReleaseFrameDC): Functions declared.
1322         (my_get_dc): Macro undefined.
1323         (map_mode): Function declaration removed.
1324         (enter_crit, leave_crit): Function declarations changed to macros.
1326         * w32xfns.c: Include frame.h.
1327         (hEvent): Renamed to h_input_available.
1328         (init_crit, delete_crit, get_next_msg, post_msg):
1329         Use h_input_available.
1330         (GetFrameDC, ReleaseFrameDC): New functions.
1331         (leave_crit): Function removed.
1333         * s/windowsnt.h: Include string.h.
1334         (HAVE_FREXP, HAVE_FMOD): Macros removed.
1335         (struct timeval, struct timezone, gettimeofday): Declarations removed.
1336         (HAVE_SOCKETS, MAIL_USE_POP, MAIL_USE_SYSTEM_LOCK): Macros defined.
1337         (DIRECTORY_SEP): Use Vdirectory_sep_char.
1338         (EXEC_SUFFIXES): Add .cmd to list of suffixes.
1339         (HAVE_SYS_TIMEB_H, HAVE_SYS_TIME_H, HAVE_UNISTD_H, STDC_HEADERS)
1340         (TIME_WITH_SYS_TIME, HAVE_GETTIMEOFDAY, HAVE_CLOSEDIR)
1341         (HAVE_LONG_FILE_NAMES, HAVE_BCOPY, HAVE_BCMP, HAVE_LOGB, HAVE_FREXP)
1342         (HAVE_FMOD, HAVE_FTIME, HAVE_MKTIME, HAVE_H_ERRNO): New macros.
1343         (access, chdir, chmod, close, creat, ctime, dup, dup2, fopen)
1344         (link, mkdir, mktemp, open, pipe, read, rename, rmdir, select)
1345         (sleep, unlink, write, spawnve, wait, kill, signal):
1346         Macros redefined from win32_* to sys_*.
1347         [__STDC__]: Define when including direct.h, io.h, stdio.h.
1348         (struct nt_stat): Definition removed.
1349         (stat, st_dev, st_ino, st_mode, st_nlink, st_uid, st_gid)
1350         (st_rdev, st_size, st_atime, st_mtime, st_ctime): Macros undefined.
1352         * s/windows95.h: File removed.
1354 1996-05-02  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1356         * keyboard.c (Fthis_single_command_keys): New function.
1357         (syms_of_keyboard): defsubr it.
1358         (this_single_command_key_start): New variable.
1359         (add_command_key): Reduce this_single_command_key_start if nec.
1360         (command_loop_1): Clear this_single_command_key_start if nec.
1361         (Fread_key_sequence, Fexecute_extended_command): Likewise.
1362         (read_key_sequence): Set this_single_command_key_start.
1363         (command_loop_1): Clear echo area while inhibit-quit is still t.
1365 1996-05-01  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1367         * keyboard.c (Fevent_convert_list): Never treat last elt as modifier.
1369         * buffer.c (add_overlay_mod_hooklist): Fix call to bcopy.
1371         * insdel.c (signal_after_change): Correct the arg to
1372         report_overlay_modification.
1374         * s/sol2-4.h (C_SWITCH_X_SYSTEM): Definition moved from sol2.h.
1376         * s/sol2.h (C_SWITCH_X_SYSTEM): Definition moved to sol2-4.h.
1378 1996-05-01  Eli Zaretskii  <eliz@is.elta.co.il>
1380         * msdos.c (dos_get_modifiers): Restore missing comment terminator.
1381         (getdefdir): Rewrite to call `_fixpath' instead of `intdos'.
1382         (run_msdos_command) [DJGPP > 1]: Work around some MSDOS
1383         command-line restrictions by running shell commands via `system'
1384         instead of `spawnve'.
1386         * fileio.c (Fexpand_file_name) [DOS_NT]: Correct the `if' clause
1387         to compile on all platforms.
1389 1996-04-30  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1391         * xterm.c [USE_X_TOOLKIT]: Include X11/Shell.h.
1392         (x_wm_set_icon_pixmap) [USE_X_TOOLKIT]: Tell widget the new pixmap.
1394 1996-04-29  Andrew Innes  <andrewi@harlequin.co.uk>
1396         * fileio.c (Fexpand_file_name) [DOS_NT]: Keep dir sep following ~
1397         or ~user, but don't collapse the newdir prefix in that case.
1399 1996-04-26  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1401         * keyboard.c (make_lispy_event): FRAME_MENU_BAR_ITEMS now has
1402         four elements per item.  Add a separate slot for the hpos.
1403         (menu_bar_items): Likewise.
1404         (menu_bar_item): Initialize the hpos slot to 0.
1406         * xdisp.c (display_menu_bar): FRAME_MENU_BAR_ITEMS now has
1407         four elements per item.
1408         (update_menu_bar): If we update FRAME_MENU_BAR_ITEMS,
1409         also set w->update_mode_line.
1411         * xmenu.c (set_frame_menubar): FRAME_MENU_BAR_ITEMS now has
1412         four elements per item.
1414         * w32menu.c (get_frame_menubar_event, set_frame_menubar):
1415         FRAME_MENU_BAR_ITEMS now has four elements per item.
1417         * fileio.c (Fexpand_file_name, Ffile_name_absolute_p): Doc fixes.
1418         (Ffile_exists_p, Ffile_executable_p, Ffile_readable_p)
1419         (Ffile_writable_p, Ffile_directory_p, Ffile_regular_p)
1420         (Ffile_modes, Fset_file_modes, Ffile_newer_than_file_p)
1421         (expand_and_dir_to_file): Rename abspath to absname.
1423 1996-04-26  Andrew Innes  <andrewi@harlequin.co.uk>
1425         * fileio.c (Fexpand_file_name) [!DOS_NT]: Fix incorrect expansion of
1426         "/foo/../bar" -> "//bar".  Delete relpath variable.
1428         * fileio.c (CORRECT_DIR_SEPS) [DOS_NT]: New macro.
1429         (IS_DRIVE) [DOS_NT]: Added separate definitions for DOS and NT.
1430         (Ffile_name_directory) [DOS_NT]: Simplify code to match change in
1431         getdefdir in msdos.c.  Ignore embedded colons.  Correct dir seps.
1432         (Ffile_name_nondirectory) [DOS_NT]: Ignore embedded colons.
1433         Correct IS_ANY_SEP to IS_DIRECTORY_SEP.
1434         (file_name_as_directory) [DOS_NT]: Correct dir seps.
1435         Correct IS_ANY_SEP to IS_DIRECTORY_SEP.
1436         (directory_file_name) [DOS_NT]: Correct dir seps.
1437         (Fmake_temp_name) [DOS_NT]: Correct dir seps.
1438         (Fexpand_file_name) [DOS_NT]: Remove relpath, tmp and
1439         defdir variables; init drive to 0.
1440         Correctly detect when default_directory is absolute.
1441         Be strict when looking for MSDOS drive specifier; defer calling
1442         getdefdir.  Ignore drive specifier if name now has UNC prefix.
1443         Correctly recognize if name is not absolute when trying simple
1444         method to expand; return original string if possible.
1445         Skip dir sep after ~ or ~user.
1446         Use getpwnam instead of HOME for ~user on NT.
1447         Handle error return from getdefdir.
1448         Correctly detect if newdir is absolute before using default_directory.
1449         Handle case where newdir is not absolute - expand relative to
1450         current working dir if necessary (instead of calling getdisk
1451         later).  Only keep UNC prefix if nm starts with dir sep.
1452         Replace kludgy handling of drive spec in newdir.  Correct dir seps.
1453         (Fsubstitute_in_file_name) [DOS_NT]: Correct dir seps for NT as
1454         well.  Merge equivalent #ifdef APOLLO and WINDOWSNT cases.  Ignore
1455         embedded colons and be strict about drive specs.
1456         (Fcopy_file) [DOS_NT]: Do dev/inode check on NT.
1457         (Ffile_name_absolute_p) [DOS_NT]: Be strict about drive specs.
1458         (check_executable) [DOS_NT]: Test st_mode on NT.
1459         (Ffile_readable_p) [DOS_NT]: Use access instead of open on NT.
1460         (Ffile_modes) [DOS_NT]: Don't embellish st_mode value on NT.
1461         (Fread_file_name) [DOS_NT]: Correct dir seps in HOME.
1462         (syms_of_fileio): Add Vdirectory_sep_char.
1464         * msdos.c (getdefdir): Include drive letter and colon when
1465         constructing default directory for drive.
1467 1996-04-26  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1469         * xterm.c (x_scroll_bar_clear): Do nothing if frame now has no
1470         scroll bars.
1472         * xfns.c (x_window) [! USE_X_TOOLKIT]: Initialize wm_hints.icon_pixmap.
1474 1996-04-26  Andrew Innes  <andrewi@harlequin.co.uk>
1476         * callproc.c (Fcall_process) [WINDOWSNT]: Remove conditional NT code.
1477         (Fcall_process_region) [DOSNT]: Canonicalize slashes in filename.
1478         (child_setup) [WINDOWSNT]: Decrease handles array by one.
1480         * dired.c (Ffile_attributes) [WINDOWSNT]: Remove conditional NT code.
1482         * emacs.c (main) [WINDOWSNT]: Invoke init_ntproc.
1483         (shut_down_emacs) [WINDOWSNT]: Invoke term_ntproc.
1485         * lisp.h [WINDOWS_NT]: Declare Vdirectory_sep_char.
1487         * lread.c (close_load_descs) [WINDOWS_NT]: Don't actually do anything.
1489         * process.c (Fopen_network_stream): Set process infd to inch.
1490         (create_process, read_process_output, Fsignal_process) [WINDOWSNT]:
1491         Remove conditional NT code.
1493         * syssignal.h (EMACS_KILLPG) [WINDOWSNT]: Invoke kill instead of
1494         win32_kill_process.
1496         * term.c (FRAME_TERMCAP_P) [WINDOWSNT && !HAVE_NTGUI]: Remove
1497         conditional for HAVE_NTGUI.
1499 1996-04-25  Eli Zaretskii  <eliz@is.elta.co.il>
1501         * msdos.c (getdefdir) [DJGPP > 1]: Use 32-bit ESI to pass buffer
1502         address to `intdos' instead of SI which can be 16-bit.
1504 1996-04-25  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1506         * lread.c (read_escape): Detect READCHAR reporting eof.
1508         * editfns.c (save_excursion_restore): Add gcpros.
1510         * unexelf.c (unexec): Add conditional for SOLARIS_POWERPC.
1512         * fileio.c (syms_of_fileio): Doc fix.
1514 1996-04-24  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1516         * xfns.c (Fx_list_fonts) [BROKEN_XLISTFONTSWITHINFO]:
1517         Free the font, and the fontinfo too if we don't want it.
1519         * xterm.c (x_connection_signal): Call sigunblock properly.
1521 1996-04-23  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1523         * dispnew.c: Include blockinput.h.
1524         (change_frame_size_1): Block input around the real work.
1526         * Makefile.in (dispnew.o): Depend on blockinput.h.
1528 1996-04-21  Richard Stallman  <rms@delasyd.gnu.ai.mit.edu>
1530         * process.c (wait_reading_process_input, both definitions):
1531         If wait_for_cell, don't call timer_check, and use
1532         detect_input_pending instead of detect_input_pending_run_timers.
1534         * frame.c (Fframe_parameters, both definitions):
1535         Get sizes from FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH if they are nonzero.
1537 1996-04-20  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
1539         * indent.c (compute_motion): Pass window to Fget_char_property.
1541 1996-04-19  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1543         * keyboard.c (read_key_sequence):
1544         Fix confusion between key and new_key.
1546 1996-04-18  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1548         * keyboard.c (syms_of_keyboard): Doc fix.
1550 1996-04-17  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1552         * xterm.h (STANDARD_EVENT_SET): Remove PointerNotifyHintMask.
1553         * widget.c (EmacsFrameRealize): Use STANDARD_EVENT_SET.
1554         * xterm.c (note_mouse_movement): Don't call XQueryPointer.
1555         (x_scroll_bar_note_movement): Don't call XQueryPointer.
1557         * xterm.c (x_new_font): Intern FONT just once for finding full name.
1559         * xterm.h (CHECK_X_FRAME): Macro deleted.
1561 1996-04-16  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1563         * xdisp.c (decode_mode_spec): For %F, use explicit name or `Emacs'.
1564         (decode_mode_spec): Use frame F, not selected frame.
1565         On termcap frames, implicit names are ok.
1567 1996-04-16  Andrew Innes  <andrewi@harlequin.co.uk>
1569         * w32term.c (w32_read_socket): Initialize frame_or_window field.
1570         (x_make_frame_visible): Don't call SetForegroundWindow
1571         after x_set_offset.
1572         (win32_initialize): Call AttachThreadInput at the end.
1574         * w32fns.c (defined_color): Map color to nearest in default palette.
1575         (win32_wnd_proc): Special handling for WM_CLOSE.
1577 1996-04-16  Kim Storm  <storm@olicom.dk>
1579         * msdos.c (check_timer): Removed; use gettime instead.
1580         (sys_select): Call __dpmi_yield while waiting for input to
1581         improve multitasking behavior.
1582         Do not check timer when no timeout.
1584 1996-04-16  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1586         * buffer.c (syms_of_buffer): Doc fix.
1588 1996-04-15  Eli Zaretskii  <eliz@is.elta.co.il>
1590         * process.c (wait_reading_process_input) [!subprocesses]:
1591         Get rid of the loop around the detect_input_pending call.
1593 1996-04-14  Eli Zaretskii  <eliz@is.elta.co.il>
1595         * process.c (wait_reading_process_input) [!subprocesses]: Handle
1596         the case of READ_KBD being a cons cell.  Retry the timer check
1597         after a timer fired.  (All of these make this definition
1598         consistent with the one that supports async subprocesses.)
1600 1996-04-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1602         * process.c (wait_reading_process_input, both definitions):
1603         Use plain detect_input_pending just before the select call.
1604         (wait_reading_process_input) [subprocesses]:
1605         Get rid of the loop around the detect_input_pending call.
1607         * editfns.c (Fcompare_buffer_substrings): Fix dumb bug handling
1608         buffer name as second arg.
1610         * xfns.c (x_set_frame_parameters): Get height and width from
1611         FRAME_NEW_WIDTH and FRAME_NEW_HEIGHT if nonzero.
1613 1996-04-12  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1615         * emacs.c (main) [MSDOS]: Always call tzset, not init__gettimeofday.
1617         * editfns.c (Fformat_time_string): Doc fix.
1619 1996-04-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1621         * keyboard.c (read_char): Use detect_input_pending_run_timers
1622         before redisplay, not detect_input_pending.
1623         (readable_events): Don't touch timers at all if DO_TIMERS_NOW is 0.
1624         (timer_check): Always run timers directly.
1625         Bind inhibit-quit to t here.
1627         * process.c (wait_reading_process_input, both definitions):
1628         Don't call detect_input_pending; use detect_input_pending_run_timers.
1630 1996-04-11  Erik Naggum  <erik@naggum.no>
1632         * emacs.c (standard_args): Synchronize with startup.el.
1634 1996-04-11  Eli Zaretskii  <eliz@is.elta.co.il>
1636         * msdos.c: Include signal.h.
1637         (__write) [DJGPP == 2.0]: New function, avoids
1638         calling `malloc' while writing to a text file, so that buffer
1639         text being written won't be relocated.
1640         (abort) [DJGPP > 1]: Generate traceback, to identify the abort
1641         cause.
1643         * emacs.c (main) [DJGPP v2]: Make standard streams use binary mode.
1644         Call `tzset' instead of `init_gettimeofday'.
1646         * fileio.c [MSDOS]: If DJGPP version 3, include fcntl.h and string.h.
1648         * lread.c [MSDOS]: If DJGPP version 3, include unistd.h.
1649         Include msdos.h somewhat earlier.  For X_OK.
1651         * unexec.c [DJGPP v2]: Include fcntl.h.
1652         (copy_text_and_data) [DJGPP v2]: Momentarily restore
1653         the hardware exceptions table before dumping it.
1655         * sysdep.c [DJGPP]: Declare `etext' and `start'.
1656         (wait_for_termination) [DJGPP]: Do not wait for child on MS-DOS.
1657         (sys_subshell): Ignore signals while sub-shell runs.
1659         * sysdep.c [DJGPP v2] (etext, start): Declared.
1660         (wait_for_termination) [DJGPP v2]: Just exit.
1662         * s/msdos.h (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
1663         (POSIX_SIGNALS): Define if DJGPP v2.
1664         (LIBS_SYSTEM, chdir, NO_MODE_T, TEXT_START, NO_MATHERR)
1665         (LOCALTIME_CACHE, tzset): Don't define if DJGPP v2.
1667         * msdos.c [MSDOS]: If DJGPP version 3, include fcntl.h.
1668         (_crt0_startup_flags): Initialize to work
1669         correctly both with and without GNU `malloc' and `ralloc'.
1670         (internal_terminal_init): Use only 3 bits when setting background
1671         colors.
1672         (init_environment): Call tzset, not init_gettimeofday.
1673         (ctrl_break_vector, ctrl_break_regs): Don't define if DJGPP v2.
1674         (ctrl_break_func, install_ctrl_break_check): Don't define if DJGPP v2.
1675         (dos_ttraw) [DJGPP v2]: Don't call install_ctrl_break_check.
1676         Call setmode at the end and exit.
1677         (dos_ttcooked) [DJGPP v2]: Call setmode at the end and exit.
1678         (gethostname, gettimeofday): Don't define if DJGPP v2.
1679         (alarm, fork, kill, nicr, pause, sigsetask): Don't define if DJGPP v2.
1681 1996-04-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1683         * xdisp.c (redisplay_window): Move w->start marker before
1684         running window-scroll-functions (in scroll_step case).
1686 1996-04-11  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1688         * syswait.h: Remove `|| defined (LINUX)' from #if condition.
1690         * s/lignux.h: Define HAVE_WAIT_HEADER.
1692 1996-04-11  Geoff Voelker  <voelker@cs.washington.edu>
1694         * w32fns.c (win32_color_map): Use PALETTERGB instead of RGB.
1696         * w32term.h (BLACK_PIX_DEFAULT, WHITE_PIX_DEFAULT): Use PALETTERGB
1697         instead of RGB.
1699 1996-04-10  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1701         * term.c (calculate_ins_del_char_costs): Use proper frame's width.
1703         * frame.c (make_frame_without_minibuffer): Don't change the
1704         mini_window's buffer if it already displays a minibuffer.
1706         * xfns.c (Fx_list_fonts): Handle X protocol errors.
1708 1996-04-09  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1710         * minibuf.c (read_minibuf): GCPRO ambient_dir.
1712 1996-04-08  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1714         * frame.c (Fset_frame_size): Do call Fset_frame_size
1715         if size is specified and there is a pending size change already.
1717         * xfns.c (x_set_frame_parameters): Do call Fset_frame_size
1718         if size is specified and there is a pending size change already.
1720         * xterm.c: Include locale.h if HAVE_SETLOCALE.
1721         (x_term_init): Restore LC_TIME as well as LC_NUMERIC.
1723 1996-04-08  Miles Bader  <miles@gnu.ai.mit.edu>
1725         * s/gnu.h (HAVE_PTYS): #undef removed.
1727 1996-04-08  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1729         * config.in (HAVE_LIBNCURSES): Renamed from HAVE_NCURSES.
1730         * s/lignux.h: Test HAVE_LIBNCURSES, not HAVE_NCURSES.
1732 1996-04-06  Richard Stallman  <rms@lucy.gnu.ai.mit.edu>
1734         * dispnew.c (sit_for): Call swallow_events.
1736 1996-04-05  Richard Stallman  <rms@lucy.gnu.ai.mit.edu>
1738         * s/lignux.h [HAVE_NCURSES] (LIBS_TERMCAP): New definition.
1740         * alloc.c (garbage_collection_messages): New variable.
1741         (syms_of_alloc): Set up Lisp variable.
1742         (Fgarbage_collect): Variable controls whether to display messages.
1744         * lread.c: Include locale.h.
1745         (init_lread): Specify LC_NUMERIC locale.
1746         * xterm.c (x_term_init): Respecify LC_NUMERIC locale.
1748         * config.in (HAVE_SETLOCALE): Add #undef.
1750 1996-04-04  Richard Stallman  <rms@lucy.gnu.ai.mit.edu>
1752         * ralloc.c (r_alloc_check): Don't check alignment of h->start.
1754         * minibuf.c (read_minibuf): Rearrange operations, mainly putting
1755         the read_minibuf_unwind setup and the associated variable changes
1756         together after saving the frame configuration.
1758 1996-04-03  Richard Stallman  <rms@lucy.gnu.ai.mit.edu>
1760         * process.c (wait_reading_process_input): Don't call
1761         wait_reading_process_input_1 if time_limit is -1.
1763 1996-04-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1765         * xterm.c (x_destroy_window): Do call XCloseIM if X11R6.
1767 1996-04-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1769         * emacs.c (main): Initialize displayname.
1771 1996-03-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1773         * s/lignux.h (TERMINFO): Do define (if HAVE_NCURSES).
1775 1996-03-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1777         * xterm.c (x_destroy_window) [SOLARIS2]: Don't free the IC or IM.
1779 1996-03-28  Geoff Voelker  <voelker@cs.washington.edu>
1781         * nt.c (rename): New function.
1783 1996-03-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1785         * fileio.c (Frename_file) [WINDOWSNT]: Remove conditional code.
1787         * keyboard.c (last_timer_event): New variable.
1788         (timer_check): Set that variable.
1790 1996-03-28  Erik Naggum  <erik@naggum.no>
1792         * dispnew.c (make_frame_glyphs): Zero the correct number of bytes.
1794         * widget.c (EmacsFrameResize): We may be called from an interrupt,
1795         so delay the resize operation.
1797 1996-03-27  Geoff Voelker  <voelker@cs.washington.edu>
1799         * makefile.nt: Change uses of del to $(DEL).
1801 1996-03-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1803         * xterm.c (x_connection_closed): Don't check _Xdebug.
1805 1996-03-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1807         * xterm.c (XTread_socket, MapNotify case):
1808         Call record_asynch_buffer_change only if >1 frames.
1810         * s/lignux.h: Renamed from s/linux.h.
1811         (SYSTEM_TYPE): Changed to "lignux".
1813         * process.c (wait_reading_process_input_1): New (empty) function.
1814         (wait_reading_process_input): Call wait_reading_process_input_1.
1815         If timer_check runs some timers, retry it.
1817 1996-03-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1819         * Makefile.in (xfns.o, xmenu.o, widget.o): Depend on ../lwlib/lwlib.h.
1821         * callproc.c (Fcall_process, child_setup): If BSD_PGRPS, call
1822         setpgrp the BSD way even on USG.
1824         * s/linux.h (setpgrp): New macro.
1825         (BSD_PGRPS): Defined.
1827 1996-03-19  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1829         * callint.c (Fcall_interactively): In `c' case, use message_nolog
1830         instead of message1_nolog.
1832 1996-03-19  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1834         * config.in (HAVE_LINUX_VERSION_H): Renamed from HAVE_VERSION_H.
1835         * s/linux.h: Test HAVE_LINUX_VERSION_H, not HAVE_VERSION_H.
1837 1996-03-17  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1839         * process.c (wait_reading_process_input): Eliminate bogus test
1840         that was trying to check read_kbd and failing.
1842 1996-03-17  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1844         * xfns.c (X_I18N_INHIBITED): New macro--define this
1845         instead of undefining HAVE_X_I18N.
1846         (x_window) [HAVE_X_I18N]: Set FRAME_XIM.
1847         [X_I18N_INHIBITED]: Set FRAME_XIM and FRAME_XIC to 0.
1849         * xterm.c (x_destroy_window) [HAVE_X_I18N]: Free xic and xim of frame.
1851         * xterm.h (struct x_output): New member xim.
1852         (FRAME_XIM): New macro.
1854 1996-03-16  Geoff Voelker  <voelker@cs.washington.edu>
1856         * unexnt.c (WinMain): Allocate a console for stdout
1857         and stderr if necessary.
1859         * w32fns.c (Vwin32_pass_alt_to_system)
1860         (Vwin32_pass_optional_keys_to_system): New variables.
1861         (reset_modifiers, map_keypad_keys): New functions.
1862         (win32_wnd_proc): Fixup keypad function keys.
1863         Handle the three new keys on Windows keyboards.
1864         Reset internal keyboard modifier state upon window focus.
1866         * w32term.h (VK_NUMPAD_*, VK_LWIN, VK_RWIN, VK_APPS):
1867         Define virtual keys for the numpad functions and the three
1868         new keys on Windows keyboards.
1870 1996-03-14  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
1872         * s/aix3-2.h (X11R5_INHIBIT_I18N): Definition moved here.
1873         * s/aix3-2-5.h (X11R5_INHIBIT_I18N): Definition moved to aix3-2.h.
1875         * s/irix5-2.h (NEED_LIBW): Defined.
1877 1996-03-13  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
1879         * widget.c (update_from_various_frame_slots)
1880         (update_various_frame_slots): Take account of menubar_height.
1882         * s/linux.h (LINUX_SIGIO_DOES_WORK): Define only if HAVE_VERSION_H.
1884         * config.in (HAVE_VERSION_H): Add #undef.
1886 1996-03-11  Eli Zaretskii  <eliz@is.elta.co.il>
1888         * process.c (wait_reading_process_input) [! subprocesses]: Run
1889         timers and redisplay if they were run, like the code for systems
1890         which support subprocesses does.
1892 1996-03-10  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1894         * s/linux.h (TERMINFO): Don't define this.
1896         * process.c [!subprocesses] (wait_reading_process_input):
1897         Port the timer changes from the other wait_reading_process_input.
1899 1996-03-09  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1901         * xterm.c (x_calc_absolute_position): Don't explicitly subtract
1902         the external menu bar height--PIXEL_HEIGHT (f) includes that.
1904 1996-03-08  Bill Mann  <dvmann@dvaix19.praxisint.com>
1906         * m/ibmrs6000.h (LD_SWITCH_MACHINE): Undo previous change--
1907         define this unconditionally.
1908         (LD_SWITCH_SITE): New conditional definition.
1909         For gcc 2.7.x, use /bin/ld instead of collect2.
1911 1996-03-07  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1913         * emacs.c (main) [! HAVE_NTGUI]: Don't call syms_of_xmenu.
1915 1996-03-07  Bill Mann  <dvmann@dvaix19.praxisint.com>
1917         * unexaix.c (write_segment, copy_sym): Increase blocking from
1918         128 to 4k bytes.
1919         (adjust_lnnoptrs): Handle include file names, mostly for dbx.
1920         (unrelocate_symbols): Remove some unnecessary tests.
1922 1996-03-07  Eli Zaretskii  <eliz@is.elta.co.il>
1924         * Makefile.in (MSDOS_OBJ): Remove xmenu.o.
1926         * msdos.c (check_timer): Remove code for dos-display-time.
1927         (syms_of_msdos): Delete dos-display-time Lisp var.
1929 1996-03-07  Bill Mann  <dvmann@dvaix19.praxisint.com>
1931         * unexaix.c: Handle both AIX 3.2 and 4.1 bind output.
1932         (make_hdr): Handle data_start being non-zero for 4.1.  Padding
1933         sections are omitted in 4.1, but padding bytes can still be
1934         present.  Calculate bias directly from first real section
1935         following bss.
1936         (copy_text_and_data): Correct data section starting point for 4.1.
1937         (adjust_lnnoptrs): Adjust line number pointers correctly for both
1938         3.2 and 4.1, based on published IBM documentation.
1939         (unrelocate_symbols): Compute and subtract relocation offsets for
1940         text and data sections.  Handle data_start being non-zero for 4.1.
1941         Skip unnecessary writes.
1943 1996-03-06  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1945         * sysdep.c (init_sys_modes): Clear INLCR like ICRNL.
1947         * widget.c (pixel_to_char_size): Cast args to int.
1949 1996-03-05  Karl Heuer  <kwzh@gnu.ai.mit.edu>
1951         * alloc.c (struct string_block_head): Change to match string_block.
1953 1996-03-05  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1955         * process.c (wait_reading_process_input):
1956         Redisplay after timer_check if timers were actually run.
1958         * keyboard.c (timers_run): New variable, incremented when a timer is
1959         run directly.
1960         (timer_check, swallow_events): Increment timers_run.
1961         (swallow_events): Redisplay if get_input_pending has run timers.
1962         (detect_input_pending_run_timers): New arg DO_DISPLAY.
1964         * dispnew.c (sit_for): Pass DISPLAY to detect_input_pending_run_timers.
1966         * process.c (wait_reading_process_input):
1967         Pass DO_DISPLAY to detect_input_pending_run_timers.
1969 1996-03-04  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1971         * process.c (Fopen_network_stream):
1972         Set immediate_quit around gethostbyname.
1974         * dispnew.c (sit_for): Use detect_input_pending_run_timers.
1976         * xfns.c [AIX] [HAVE_X11R5] (XIMStatusNothing): Definition deleted.
1978         * config.in (HAVE_NCURSES): Add #undef.
1979         * s/linux.h (TERMINFO): Define, if HAVE_NCURSES.
1981 1996-03-03  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
1983         * data.c (Fkill_local_variable): Call find_symbol_value directly,
1984         not via Fsymbol_value, to avoid getting void-variable error.
1986 1996-03-03  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
1988         * xterm.c (x_connection_closed): Don't unblock input until the end.
1990         * s/linux.h (LINUX_SIGIO_DOES_WORK): Maybe define, based on Linux vers.
1991         [LINUX_SIGIO_DOES_WORK]: Don't undef SIGIO, SIGPOLL, SIGPOLL.
1992         Do define INTERRUPT_INPUT.
1994         * keyboard.c (init_keyboard): Initialize timer_idleness_start_time.
1996         * Makefile.in (obj): Add xmenu.o.
1997         (XOBJ): Delete xmenu.o.
1998         * emacs.c (main): Always call syms_of_xmenu.
1999         * xmenu.c: Put most of file into HAVE_MENUS conditional.
2000         (Fx_popup_menu): Put parts into HAVE_MENUS conditionals.
2002         * process.c (wait_reading_process_input):
2003         Use getpid when generating SIGIO.
2005         * keyboard.c (reinvoke_input_signal): Use getpid.
2007 1996-03-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2009         * keyboard.c (input_poll_signal): Use start_polling
2010         after first incrementing poll_suppress_count.
2012 1996-03-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2014         * xterm.c [X_CONNECTION_LOCK_FLAG] (abort, exit): New definitions.
2016         * keymap.c (Fuse_global_map, Fuse_local_map):
2017         Don't call record_asynch_buffer_change.
2019 1996-02-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2021         * s/aix3-2.h: Avoid the #pragma alloca on AIX 4.
2023         * s/aix4-1.h (REL_ALLOC): #undef deleted.
2025 1996-02-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2027         * xfns.c [AIX] [HAVE_X11R5] (XIMStatusNothing): Defined.
2029         * keyboard.c (timer_check): Walk down both timer lists in parallel.
2031 1996-02-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2033         * keyboard.c (Fcommand_execute): New arg SPECIAL.
2034         All callers changed.
2036         * xterm.c (X_CONNECTION_LOCK_FLAG): New macro.
2037         (x_connection_close_if_hung): New subroutine, at the end of the file.
2038         Include X11/Xlibint.h only for this function.
2039         #undef bcopy, bzero, bcmp, min, max first.
2040         Define malloc and free to avoid type conflicts.
2041         (x_connection_signal): Use x_connection_close_if_hung.
2043         * doprnt.c (doprnt1): Move cast to unsigned inside a shift.
2045 1996-02-26  enami tsugutomo  <enami@ba2.so-net.or.jp>
2047         * xdisp.c (redisplay_window): Pass preserve_echo_area as a missing
2048         second argument of redisplay_windows.
2050 1996-02-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2052         * minibuf.c (read_minibuf):
2053         Bind inhibit-read-only to t around clearing the minibuffer.
2054         (read_minibuf_unwind): Likewise.  Also, clearing the buffer
2055         is now the last thing we do.
2057         * keyboard.c (command_loop_1): Explicitly clear the echo area
2058         with message2; don't just clear echo_area_glyphs.
2059         Don't set no_direct in that case.
2061         * lisp.h (Qinhibit_read_only): Declared.
2063         * xterm.c (x_set_window_size): Clear out the mouse-highlighting data
2064         if it applies to this frame.
2065         Clear out the frame cursor position in Xt version as in Xlib version.
2067 1996-02-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2069         * fileio.c (Fexpand_file_name): Fix confusion in detecting
2070         that default_directory is already absolute so need not be expanded.
2072         * syntax.c (Fcopy_syntax_table): Set default to nil.
2073         Set the parent only if it was nil.
2075         * xterm.c (x_update_cursor): If no previous cursor position is known,
2076         leave the cursor off.
2078 1996-02-23  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2080         * xdisp.c (redisplay_internal): Renamed from redisplay.
2081         New arg PRESERVE_ECHO_AREA.
2082         (redisplay): New wrapper function calls redisplay_internal.
2083         (redisplay_window, redisplay_windows): New arg PRESERVE_ECHO_AREA.
2085 1996-02-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2087         * process.c (Fopen_network_stream): Set immediate_quit for the connect.
2089 1996-02-22  Erik Naggum  <erik@naggum.no>
2091         * dispnew.c (Fsleep_for): Accept sub-second intervals.
2093 1996-02-21  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2095         * xdisp.c (redisplay_window): If window-scroll-functions change
2096         the start position, redisplay from the new one.
2098         * xfns.c (defined_color): When we find a "near" color in the map,
2099         make sure it is really available as a read-only color.
2101         * process.c (wait_reading_process_input):
2102         Pass new arg to swallow_events.
2104         * process.c (wait_reading_process_input): If read_kbd is 1,
2105         use detect_input_pending_run_timers instead of detect_input_pending.
2107         * keyboard.c (swallow_events): New arg DO_DISPLAY.
2109         * keyboard.c (swallow_events): Process timer_event events here.
2110         (detect_input_pending_run_timers): New function.
2112         * keyboard.c (Vtimer_idle_list): New variable.
2113         (syms_of_keyboard): Set up Lisp var.
2114         (timer_check): Check for idle-time timers too.
2115         Expect timers to have 8 slots.  Initialize triggertime.
2116         (timer_start_idle, timer_stop_idle): New functions.
2118         * keyboard.c (get_input_pending): New arg do_timers_now.
2119         (readable_events): Likewise.
2120         (Finput_pending_p): Use get_input_pending, so we can specify
2121         1 for do_timers_now.
2123         * fns.c (map_char_table): Fix args in recursive call.
2125         * s/netbsd.h (vfork): Delete definition (kernel bug fixed).
2127         * fileio.c (Fdo_auto_save): Pause before restoring old message.
2129         * s/aix4-1.h (C_DEBUG_SWITCH) [not __GNUC__]: New definition.
2130         (C_OPTIMIZE_SWITCH) [not __GNUC__]: Add #undef.
2131         (X11R5_INHIBIT_I18N): #undef deleted.
2133         * s/aix4-1.h (REL_ALLOC): Add #undef.
2135 1996-02-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2137         * keyboard.c (timer_check): Check for difference being zero.
2139 1996-02-21  Erik Naggum  <erik@naggum.no>
2141         * process.c (Faccept_process_output): Accept sub-second timeouts.
2143 1996-02-20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
2145         * eval.c (init_eval_once): Initialize specpdl_ptr.
2147 1996-02-19  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2149         * xfns.c (Fx_create_frame): Title is a string, not a symbol.
2151 1996-02-18  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2153         * unexelf.c: Use <config.h>, not "config.h".
2155 1996-02-17  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2157         * doc.c (get_doc_string): Move static vars outside the function,
2158         and rename to get_doc_string_buffer and get_doc_string_buffer_size.
2160 1996-02-16  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2162         * keyboard.c (syms_of_keyboard): Doc fix.
2163         (Fopen_dribble_file): Check for failure.
2165 1996-02-16  enami tsugutomo  <enami@ba2.so-net.or.jp>
2167         * keyboard.c (Fopen_dribble_file): Close dribble file before
2168         opening new file.
2170 1996-02-15  Eli Zaretskii  <eliz@is.elta.co.il>
2172         * fileio.c (Fmake_temp_name) [MSDOS]: Make sure there is at least
2173         one character before the dot, in case `prefix' is only a directory
2174         name.
2176 1996-02-13  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2178         * xfns.c (x_real_positions): Cast arg of XFree.
2180 1996-02-12  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2182         * xterm.c (x_error_quitter): Add newline to error message.
2184         * xmenu.c (xmalloc_widget_value): Define only if USE_X_TOOLKIT.
2186 1996-02-12  Erik Naggum  <erik@naggum.no>
2188         * doc.c (get_doc_string): Always read entire disk blocks.
2190 1996-02-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2192         * keyboard.c [HAVE_NTGUI] (lispy_function_keys): Add mappings
2193         for keypad function keys and new PC optional keys.
2195         * xmenu.c (xmalloc_widget_value): Fix previous change.
2197         * xdisp.c (redisplay) [USE_X_TOOLKIT]: Do nothing if popup_activated.
2199         * xmenu.c (xmalloc_widget_value): New function.
2200         Use it instead of malloc_widget_value.
2202 1996-02-10  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2204         * textprop.c (Fadd_text_properties): Don't return without ungcpro.
2206 1996-02-10  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2208         * window.c (display_buffer_1): Fix typo in last change.
2210 1996-02-10  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2212         * window.c (display_buffer_1): Raise the frame if already visible.
2214 1996-02-09  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2216         * keyboard.c (read_char, timer_check): Call any_kboard_state
2217         after calling Fcommand_execute, if was previously in that state.
2219 1996-02-08  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2221         * dired.c (Fdirectory_files): Doc fix.
2223         * process.c (Fopen_network_stream): Use sizeof, not strlen,
2224         for numeric_addr.
2226 1996-02-08  Eli Zaretskii  <eliz@is.elta.co.il>
2228         * fileio.c (Fmake_temp_name) [MS-DOS]: Allow upto 8 characters in
2229         the prefix of the temporary file name.
2231 1996-02-07  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2233         * process.c (remove_process): Don't unlink the process marker.
2235         * m/paragon.h (LIB_STANDARD): Add -lmach.
2236         (LD_DATA_START): Definition deleted.
2237         (LD_SWITCH_SYSTEM): Definition and #undef deleted.
2239 1996-02-06  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2241         * buffer.c (Fbuffer_live_p): New function.
2242         (syms_of_buffer): defsubr it.
2244         * xterm.c (min, max): Don't define if already defined.
2246         * xfns.c (x_real_positions): Use XFree.
2248         * Makefile.in (emacs.o): Depend on blockinput.h.
2249         * emacs.c: Include blockinput.h.
2251 1996-02-06  Kevin Gallo  <kgallo@microsoft.com>
2253         * w32term.h (FONT_WIDTH): Use average character width, not maximum.
2255 1996-02-05  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2257         * emacs.c (fatal_error_signal): Do TOTALLY_UNBLOCK_INPUT.
2259 1996-02-05  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2261         * process.c (sigchld_handler): Use cleaner end-of-list test.
2263 1996-02-04  Paul Eggert  <eggert@twinsun.com>
2265         * s/sol2-4.h (LIB_X11_LIB): Remove; this undoes the Jan 31 change,
2266         which didn't fix the Solaris linking problem.  The problem was
2267         fixed instead by the Feb 1 change to ../configure.in.
2269 1996-02-04  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2271         * fns.c (syms_of_fns): Set yes-or-no-p-history to nil.
2273         * s/netbsd.h, s/freebsd.h (vfork): Define as fork.
2275         * lread.c (Fread_char_exclusive): Doc fix.
2277 1996-02-03  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2279         * xfns.c (x_frame_parms): Add "title" element.
2280         (x_set_title): New function.
2281         (x_set_name): Let title parm override name parm for title use.
2282         (x_set_icon_name): Use title parm before name parm, if no icon_name.
2284         Properly undo the way deletion affects markers.
2285         * undo.c (record_marker_adjustment): New function.
2286         (Fprimitive_undo): Handle marker-adjustment elements.
2287         * insdel.c (adjust_markers): When a marker is inside text
2288         being deleted, call record_marker_adjustment for it.
2289         (del_range_1): Call adjust_markers before record_delete.
2290         * buffer.c (syms_of_buffer): Doc fix.
2292 1996-02-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2294         * xterm.c (x_connection_signal): Call x_connection_closed properly.
2295         (x_connection_closed): Set FRAME_X_DISPLAY to 0.
2296         (x_destroy_window): Don't do any X operations if FRAME_X_DISPLAY is 0.
2298 1996-02-02  Darrin B. Jewell  <jewell@mit.edu>
2300         * lisp.h (VECSIZE): Round up when dividing.
2302 1996-02-01  Geoff Voelker  <voelker@cs.washington.edu>
2304         * w32xfns.c (prepend_msg): New function.
2306         * w32fns.c (modifiers, modifier_key_support_tested, modifiers_recorded):
2307         New variables.
2308         (EMACS_LCONTROL, EMACS_RCONTROL, EMACS_LMENU, EMACS_RMENU): New macros.
2309         (test_modifier_support, record_keydown, record_keyup, modifier_set)
2310         (construct_modifiers): New functions.
2311         (win32_wnd_proc): Monitor modifier keyup and keydown messages.
2312         Map window modifiers into console modifiers to unify input.
2314         (x_create_frame): Use the FixedSys font as the default font.
2315         (x_to_win32_font): For now, always use ANSI_CHARSET.
2317         * w32term.c (convert_to_key_event, is_dead_key): New functions.
2318         (w32_read-socket): Convert console modifiers to Emacs modifiers.
2319         Use console input routines to unify keyboard support.
2320         (x_make_frame_visible): Make frame foreground window.
2322         * ntinevt.c (win32_kbd_mods_to_emacs, win32_kbd_patch_key, key_event):
2323         Convert from static to global functions.
2324         (win32_kbd_patch_key): Set modifiers when AltGr is pressed.
2325         (key_event): Don't modify key code on window input.
2327 1996-02-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2329         * keyboard.c (read_char_minibuf_menu_prompt): Use malloc to allocate
2330         the echo-area prompt buffer.
2331         (read_char_minibuf_menu_text, read_char_minibuf_menu_width):
2332         New variables.
2334 1996-02-01  enami tsugutomo  <enami@ba2.so-net.or.jp>
2336         * dispnew.c (update_frame): Compare FRAME_MINIBUF_WINDOW(f)
2337         against with not minibuf_window but echo_area_window.
2339 1996-02-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2341         * xterm.c (x_term_init): Use "" as 2nd arg to setlocale.
2343         * process.c (wait_reading_process_input): If select times out,
2344         return only if we had no timers to shorten the wait.
2345         Don't shorten the wait for timers if time_limit is -1.
2347         * syssignal.h [POSIX_SIGNALS] (sigsetmask):
2348         Don't define if already defined.
2350         * keyboard.c (echo_now): Renamed from `echo'.  All callers changed.
2352 1996-01-31  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2354         * process.h (synch_process_death, synch_process_retcode): Delete
2355         extra declaration.
2357 1996-01-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2359         * s/sol2-4.h (LIB_X11_LIB): New definition.
2361 1996-01-30  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2363         * s/isc2-2.h (HAVE_SOCKETS): Moved here from s/isc4-1.h.
2364         (NO_SOCKETS_IN_FILE_SYSTEM, NEED_NET_ERRNO_H): Likewise.
2365         (LIBS_SYSTEM): Use -linet unconditionally.
2366         * s/isc4-1.h (HAVE_SOCKETS): Moved to s/isc2-2.h.
2367         (NO_SOCKETS_IN_FILE_SYSTEM, NEED_NET_ERRNO_H): Likewise.
2368         * s/isc4-0.h (LIBS_SYSTEM): Use -linet unconditionally.
2370 1996-01-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2372         * window.c (Fset_window_buffer): Set buffer temporarily around running
2373         the window-scroll-functions.
2374         (Fset_window_buffer_unwind): New function.
2375         (window_initialized): New variable.
2376         (init_window_once): Set it.
2378         * callproc.c (child_setup): Fix size in write call.
2380 1996-01-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2382         * fns.c (Qcursor_in_echo_area): New variable.
2383         (syms_of_fns): Set up Lisp var.
2384         (Fy_or_n_p): Bind Qcursor_in_echo_area in case of nonlocal exit.
2386         * keyboard.c (make_lispy_event): Timer event is a list, not just cons.
2387         (timer_check): When DO_IT_NOW is true, handle events by running
2388         the definition of timer-event.  Don't get the current time if there
2389         are no pending timers.  If an event was generated, return 0,
2390         If all timers were handled, return -1.  Add gcpros.
2392         * xterm.c (x_connection_signal): Don't stop polling.
2393         Don't mess with SIGALRM.
2394         Those were relics of the superseded Dec 19 change.
2396         * process.c (wait_reading_process_input): Don't exit immediately
2397         if select returns due to timeout--loop around to check time left.
2399         * keyboard.c (readable_events): Tell timer_check to execute events.
2401 1996-01-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2403         * keyboard.c (timer_check): Return an EMACS_TIME.
2404         (read_char, kbd_buffer_get_event): Calls changed accordingly.
2406         * process.c (wait_reading_process_input): Call timer_check
2407         and shorten the inner delay if appropriate.
2409 1996-01-28  Morten Welinder  <terra@diku.dk>
2411         * termhooks.h (event_kind): New event type: timer_event.
2413         * keyboard.c (Qtimer_event): New symbol.
2414         (read_char, kbd_buffer_get_event): Don't sleep past the next timer.
2415         (readable_events, kbd_buffer_get_event): Check for timer events.
2416         (make_lispy_event): Handle timer events.
2417         (timer_check): New function.
2418         (Vtimer_list): New variable.
2419         (syms_of_keyboard): Set up Qtimer_event and Vtimer_list.
2421 1996-01-28  enami tsugutomo  <enami@ba2.so-net.or.jp>
2423         * process.c (create_process): Set outchannel to be non-blocking.
2425 1996-01-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2427         * xfns.c (x_frame_parms): Alphabetize.
2428         (enum x_frame_parm): Data type deleted.
2430         * xterm.c (XTframe_raise_lower): Rename arg `raise' to `raise_flag'.
2432 1996-01-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2434         * emacs.c (sort_args): Error if option is missing an arg.
2436         * editfns.c (syms_of_editfns): Make buffer-access-fontify-functions
2437         locally nil in the prin1 buffer.
2439         * fns.c (Fy_or_n_p): Call choose_minibuf_frame.
2441         * editfns.c (Fcompare_buffer_substrings): Access case_canon_table
2442         as a char_table.
2444 1996-01-27  enami tsugutomo  <enami@ba2.so-net.or.jp>
2446         * sysdep.c (child_setup_tty): Turn off ISTRIP to pass 8bit.  Turn
2447         off TAB3 do don't expand tabs.
2449 1996-01-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2451         * minibuf.c (Fset_minibuffer_window): New function.
2452         (keys_of_minibuf): defsubr it.
2454         * cmds.c (Fdelete_backward_char): In overwrite mode,
2455         insert spaces, unless we deleted a tab.
2457 1996-01-26  Eli Zaretskii  <eliz@is.elta.co.il>
2459         * msdos.c (dos_rawgetc): Allow simulation of `Mouse-3' by
2460         simultaneous click/drag of `Mouse-1' and `Mouse-2'.
2462 1996-01-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2464         * xselect.c (xfree): Macro deleted.
2465         Callers changed to use `free' directly.
2467         * xselect.c (x_get_window_property_as_lisp_data): Use xfree, not XFree.
2468         (x_get_window_property): Use XFree for tmp_data.
2470 1996-01-25  Eli Zaretskii  <eliz@is.elta.co.il>
2472         * dosfns.c (mode25, mode4350): Moved to `lisp/dos-fns.el'.
2474         * msdos.c (dos_set_window_size): Make the window size change
2475         faster for standard sizes.  Fix a bug in v2-specific code to
2476         change window size.
2478 1996-01-24  Geoff Voelker  <voelker@cs.washington.edu>
2480         * w32fns.c, w32reg.c, w32term.c, w32term.h, w32xfns.c:
2481         Latest patches backed out.
2483 1996-01-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2485         * termhooks.h (struct input_event): New field `padding'.
2486         Change `kind' field to an int.
2488 1996-01-24  Eli Zaretskii  <eliz@is.elta.co.il>
2490         * msdos.c (dos_set_window_size): New function; switches the screen
2491         to the size as close as possible to requested frame dimensions.
2493         * msdos.h (dos_set_window_size): Prototype for a new function.
2495         * dispnew.c (change_frame_size_1) [MSDOS]: Support frame size
2496         changing as best as possible.
2498 1996-01-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2500         * Makefile.in (xmenu.o): Depend on termhooks.h.
2502 1996-01-24  Eli Zaretskii  <eliz@is.elta.co.il>
2504         * process.c (wait_reading_process_input) [not subprocesses]: Do
2505         not assume SELECT_TYPE is an int.
2507         * msdos.c (sys_select): Use time macros to prevent time values
2508         from overflowing.
2510 1996-01-23  Geoff Voelker  <voelker@cs.washington.edu>
2512         * xdisp.c (update_menu_bar, redisplay_window): Use FRAME_WINDOW_P
2513         instead of only testing for X11.
2515 1996-01-23  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2517         * m/mips-siemens.h (UNEXEC): unexsni.o renamed from unexelfsni.o.
2518         * m/iris5d.h (UNEXEC): unexsgi.o renamed from unexelfsgi.o.
2519         * m/iris4d.h [USG5_4] (UNEXEC): Likewise.
2521         * config.in (LOCALTIME_CACHE): Delete extra #undef.
2523 1996-01-23  Felix Lee  <flee@teleport.com>
2525         * data.c (kill-local-variable): Didn't update the value of
2526         forwarded objects.
2528         * xdisp.c (mark_window_display_accurate): buffer->clip_changed was
2529         being inappropriately cleared.
2531 1996-01-23  Eli Zaretskii  <eliz@is.elta.co.il>
2533         * syssignal.h (sigblock): Delete this, undoing previous change.
2534         * msdos.c (sigblock): New (dummy) function.
2536 1996-01-22  Simon Marshall  <simon@duality.gnu.ai.mit.edu>
2538         * editfns.c (syms_of_editfns): Correct spelling of Lisp variable
2539         buffer-access-fontified-property.
2541 1996-01-20  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2543         * unexelf.c (unexec): Undo data relocations unconditionally, not
2544         #ifdef SOLARIS2.
2546 1996-01-20  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2548         * syssignal.h [__DJGPP__] (sigblock): Define trivially.
2550 1996-01-20  Andrew Innes  <andrewi@harlequin.co.uk>
2552         * w32term.c (x_make_frame_visible): Explicitly make the frame
2553         the selected frame.
2555 1996-01-20  Andrew Innes  <andrewi@harlequin.co.uk>
2557         * w32xfns.c: Include frame.h.
2558         (critsect, h_input_available): New variables.
2559         (init_crit, delete_crit): Handle all three critical sections.
2560         (GetFrameDC, ReleaseFrameDC): New functions.
2561         (get_next_msg, post_msg): Use h_input_available.
2562         Use CRIT_MSG critical section.
2564         * w32term.h (win32_palette_entry): New structure.
2565         (has_palette, p_colors_in_use, n_colors_in_use, h_palette)
2566         (regen_palette): Declare variables.
2567         (struct win32_output): New field.
2568         (my_get_dc): Macro removed.
2569         (GetFrameDC, ReleaseFrameDC): Declare functions.
2571         (critsect): Declare variable.
2572         (enum win32_critical_section): New enumeration.
2573         (enter_crit, leave_crit): Functions converted to macros.
2575         * w32term.c (win32_fill_rect): Remove unused variable.
2576         (x_iconify_frame): Conform to coding style.
2577         (x_draw_box): Don't trim right and bottom.
2578         (x_wm_set_size_hint): Use specific CRIT_MSG critical section.
2580         (win32_fill_rect, dumpglyphs, do_line_dance, x_draw_box):
2581         Use Get/ReleaseFrameDC.
2582         (win32_update_begin): Regenerate palette if required.
2583         (w32_read_socket): Use FALSE.  Handle WM_PALETTECHANGED.
2584         (win32_term_init): Use GetDC directly.
2585         Enable palette in display structure.
2586         Predefine white and black.
2587         (x_delete_display): Free palette table.
2589         * w32reg.c (REG_ROOT): Don't use trailing backslash.
2591         * w32fns.c (Vwin32_enable_italics, Vwin32_enable_palette):
2592         New variables.
2593         (syms_of_win32fns): Set up new lisp variables.
2595         (x_set_frame_parameters, x_real_positions, win32_load_font)
2596         (win32_abort): Conform to coding style.
2598         (Fwin32_define_rgb_color, Fwin32_load_color_file, Fwin32_map_color)
2599         (Fwin32_unmap_color, Fwin32_regenerate_palette): New functions.
2600         (syms_of_win32fns): Set up new lisp subroutines.
2601         (defined_color): Use palettes.
2602         (map_mode): Function removed.
2604         (win32_init_class): Don't CS_OWNDC.
2605         (win32_wnd_proc): Use segregated critical sections appropriately.
2606         Handle WM_PALETTECHANGED.
2607         Record WINDOWPLACEMENT structure length.
2609         (x_to_win32_weight, win32_to_x_weight): Handle "heavy", "extrabold",
2610         "light", "extralight", and "thin" fonts.
2611         (x_to_win32_charset, win32_to_x_charset): New functions.
2612         (win32_to_x_font): Use win32_to_x_charset.
2613         (x_to_win32_font): Use x_to_win32_charset.
2614         Support Windows font names.
2616         (Fx_list_fonts, Fx_display_color_cells, Fx_display_mm_height.
2617         Fx_display_mm_width): Use GetDC directly.
2619         (Fx_open_connection): Support external color mapping files.
2621 1996-01-20  Geoff Voelker  <voelker@cs.washington.edu>
2623         * ntterm.c (clear_frame): Use FillConsoleOutput* calls instead of
2624         ScrollConsoleScreenBuffer (which has a bug on Windows 95).
2626         * ntinevt.c (WIN32_KEY_SHIFTED): Macro undefined.
2627         (win32_number_shift_map): Array undefined.
2628         (win32_kbd_patch_key): Properly handle virtual keys for
2629         arbitrary keyboards.
2630         (map_virt_key, key_event, win32_mouse_position, do_mouse_event)
2631         (win32_read_socket): Support for MULE.
2633         * nt.c (nt_stat): Use alloca instead of xmalloc.
2634         (get_unassigned_drive_letter, is_toplevel_share_name)
2635         (stat_toplevel_share): New functions for stat on remote shares.
2636         (readdir): Use IS_ANY_SEP.
2638         * makefile.nt (keyboard.obj, dispnew.obj): Depend upon w32term.h.
2639         (LIBS): Link with mpr.lib for remote share support.
2641 1996-01-20  Paul Eggert  <eggert@twinsun.com>
2643         * editfns.c (Fformat_time_string): Doc fix.
2644         Don't crash if the resulting string is empty.
2646 1996-01-19  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2648         * buffer.c (Fother_buffer): If we have to create a new buffer, use
2649         default-major-mode.
2651 1996-01-19  Erik Naggum  <erik@naggum.no>
2653         * frame.c (make_frame): Initialize frame title field to nil.
2655 1996-01-18  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2657         * alloc.c (mark_object): Mark frame title field.
2659 1996-01-22  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2661         * xterm.c [SOLARIS2]: Include Xlibint.h.
2662         (x_connection_signal): Access XlibDisplayWriting properly.
2663         No need to sleep--if the flag is set, assume connection is dead.
2665 1996-01-21  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2667         * lisp.h (XCAR, XCDR, CAR, CDR): New macros.
2669         * xmenu.c (set_frame_menubar):
2670         Use safe_run_hooks for Qmenu_bar_update_hook.
2672         * xdisp.c (update_menu_bar):
2673         Use safe_run_hooks for Qmenu_bar_update_hook.
2675         * lread.c (syms_of_lread): Set Vsource_directory here.
2676         (init_lread): Not here.
2678         * macros.c (Fstart_kbd_macro): Use xmalloc.
2679         Shrink the kbd macro buffer if it is very big.
2681         * lisp.h (make_number): New macro definition.
2682         * data.c (make_number): Function deleted.
2684 1996-01-20  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2686         * keymap.c (Faccessible_keymaps): Doc fix.
2688 1996-01-19  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2690         * keymap.c (describe_command): Sometimes use col 32 for desc.
2691         Record that col in previous_description_column for hysteresis.
2692         (describe_map): Clear out previous_description_column.
2694 1996-01-19  enami tsugutomo  <enami@sys.ptg.sony.co.jp>
2696         * frame.c (make_frame): Initialize title parameter to Qnil.
2698 1996-01-18  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2700         * xterm.c (x_connection_signal): Explicitly check the thread interlock
2701         on Solaris.
2703 1996-01-17  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2705         * keyboard.c (safe_run_hooks): Use Qt, not Qerror, to avoid
2706         running the debugger.
2708         * eval.c (run_hook_with_args): Do nothing if Vrun_hooks is nil.
2710         * xfns.c (Qtitle): Declared.
2711         (Fx_create_frame): Initialize title parameter.
2712         Don't use the title resource to initialize the name parameter.
2714         * frame.c (syms_of_frame_1): Initialize Qtitle.
2716         * xdisp.c (decode_mode_spec, case 'F'): Use `title' field.
2718         * frame.h (struct frame): New field `title'.
2720 1996-01-17  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2722         * window.c (replace_buffer_in_all_windows): Don't change selected
2723         window, even temporarily; that has undesirable side effects.
2725 1996-01-17  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2727         * emacs.c (dump_environ): Variable deleted.
2728         (main): Don't free dump_environ.
2729         (Fdump_emacs): Don't set dump_environ.
2730         (environ): Declare only on VMS, as before.
2732 1996-01-15  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2734         * s/aix4-1.h (X11R5_INHIBIT_I18N): Add undef.
2735         (LIB_MOTIF): Undef before defining.
2737 1996-01-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2739         * window.c (display_buffer_1): Don't deiconify the selected frame.
2741 1996-01-14  Paul Eggert  <eggert@twinsun.com>
2743         * emacs.c (Fdump_emacs): If HAVE_TZSET and not
2744         LOCALTIME_CACHE, call tzset to force a tz reload.
2746 1996-01-13  Paul Eggert  <eggert@twinsun.com>
2748         * emacs.c (set_time_zone_rule): New decl.
2749         (environ): Always declare.
2750         (dump_tz, dump_environ): New vars.
2751         (main): Change TZ twice if the execution TZ happens to be the same as
2752         the dump TZ.  Free dump environ.
2753         (Fdump_emacs): Set TZ to unlikely value just before dumping.
2754         * editfns.c (set_time_zone_rule): Now extern, not static.
2755         * config.in (HAVE_TZSET): Add #undef.
2757 1996-01-12  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2759         * Makefile.in ($(OLDXMENU) rules): Fix conditionals so no rules
2760         are defined when !HAVE_MENUS.
2762 1996-01-12  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2764         * msdos.c (dos_rawgetc): Make buf longer.
2766 1996-01-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2768         * xdisp.c (redisplay_window): Fix minor bug in Fset_marker call.
2770         * s/aix3-2-5.h (LIB_MOTIF): New macro definition.
2772 1996-01-10  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2774         * window.c (Fset_window_buffer): Call the window-scroll-functions.
2776 1996-01-08  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2778         * keymap.c (Fapropos_internal): Fix previous change.
2779         * abbrev.c (Fdefine_abbrev_table): Fix previous change.
2780         * fns.c (Fset_char_table_parent): Fix previous change.
2781         * data.c (Flognot): Fix previous change.
2782         * macros.c (Fexecute_kbd_macro): Fix previous change.
2784 1996-01-08  Erik Naggum  <erik@naggum.no>
2786         * abbrev.c (Fdefine_global_abbrev, Fdefine_mode_abbrev)
2787         (Fabbrev_symbol, Finsert_abbrev_table_description)
2788         (Fdefine_abbrev_table): Harmonize arguments with documentation.
2790         * alloc.c (Fmake_symbol): Harmonize arguments with documentation.
2792         * buffer.c (Fmake_indirect_buffer, Fset_buffer_major_mode)
2793         (Fpop_to_buffer, Fbury_buffer, Foverlay_get): Harmonize arguments
2794         with documentation.
2796         * bytecode.c (Fbyte_code): Harmonize arguments with documentation.
2798         * callint.c (Fcall_interactively, Fprefix_numeric_value): Harmonize
2799         arguments with documentation.
2801         * casefiddle.c (Fupcase_region, Fdowncase_region, Fcapitalize_region)
2802         (Fupcase_initials_region): Harmonize arguments with documentation.
2804         * casetab.c (Fcase_table_p): Harmonize arguments with documentation.
2806         * cmds.c (Fforward_line, Fbeginning_of_line, Fend_of_line)
2807         (Fdelete_char, Fdelete_backward_char): Harmonize arguments with
2808         documentation.
2810         * data.c (Fboundp, Ffboundp, Fmakunbound, Ffmakunbound)
2811         (Fsymbol_plist, Fsymbol_name, Ffset, Fdefalias, Fdefine_function)
2812         (Fsetplist, store_symval_forwarding, swap_in_symval_forwarding)
2813         (find_symbol_value, Fsymbol_value, Fset, default_value)
2814         (Fdefault_boundp, Fdefault_value, Fset_default, Fsetq_default)
2815         (Fmake_variable_buffer_local, Fmake_local_variable)
2816         (Fkill_local_variable, Flocal_variable_p, Flocal_variable_if_set_p)
2817         (Faref, Faset, Fzerop, Fnumber_to_string, Fstring_to_number, Frem)
2818         (Fmod, Fadd1, Fsub1, Flognot): Harmonize arguments with documentation.
2820         * dired.c (Fdirectory_files, Ffile_name_completion)
2821         (Ffile_name_all_completions, Ffile_name_all_versions): Harmonize
2822         arguments with documentation.
2824         * dispnew.c (Fsend_string_to_terminal, Fsit_for): Harmonize
2825         arguments with documentation.
2827         * doc.c (Fdocumentation, Fdocumentation_property)
2828         (Fsubstitute_command_keys): Harmonize arguments with documentation.
2830         * dosfns.c (Fint86, Fdos_memget, Fdos_memput, Fmsdos_set_keyboard):
2831         Harmonize arguments with documentation.
2833         * editfns.c (Fchar_to_string, Fstring_to_char, Fgoto_char, Fencode_time)
2834         (Finsert_char, Fbuffer_substring, Fbuffer_substring_no_properties)
2835         (Finsert_buffer_substring, Fdelete_region, Fnarrow_to_region):
2836         Harmonize arguments with documentation.
2837         (Fformat_time_string): Allow TIME to default to current time.
2839         * emacs.c (Fdump_emacs_data, Fdump_emacs): Harmonize arguments with
2840         documentation.
2842         * eval.c (Fmacroexpand, Fthrow, Fbacktrace_frame): Harmonize
2843         arguments with documentation.
2845         * fileio.c (Ffile_name_directory, Ffile_name_nondirectory)
2846         (Ffile_name_as_directory, Fdirectory_file_name, Fexpand_file_name)
2847         (Fsubstitute_in_file_name, Fcopy_file, Fmake_directory_internal)
2848         (Fdelete_directory, Fdelete_file, Frename_file, Fadd_name_to_file)
2849         (Fdefine_logical_name, Ffile_modes, Fset_file_modes)
2850         (Fset_default_file_modes, Fdo_auto_save, Fread_file_name):
2851         Harmonize arguments with documentation.
2853         * filelock.c (Flock_buffer, Ffile_locked_p): Harmonize arguments
2854         with documentation.
2856         * floatfns.c (Fbessel_jn, Fbessel_yn): Harmonize arguments with
2857         documentation.
2859         * fns.c (Frandom, Flength, Felt, Fsort, Fchar_table_subtype)
2860         (Fchar_table_parent, Fset_char_table_parent, Fchar_table_extra_slot)
2861         (Fset_char_table_extra_slot, Fchar_table_range)
2862         (Fset_char_table_range, Fmap_char_table, Fmapconcat, Fmapcar):
2863         Harmonize arguments with documentation.
2865         * frame.c (Fhandle_switch_frame, Fset_frame_height): Harmonize
2866         arguments with documentation.
2868         * indent.c (Findent_to): Harmonize arguments with documentation.
2870         * keyboard.c (Fevent_convert_list, Fcommand_execute): Harmonize
2871         arguments with documentation.
2873         * keymap.c (Fkeymapp, Fdefine_prefix_command, Faccessible_keymaps)
2874         (Ftext_char_description, Fapropos_internal): Harmonize arguments
2875         with documentation.
2877         * lread.c (Feval_buffer, Feval_region, Fintern, Fintern_soft):
2878         Harmonize arguments with documentation.
2880         * macros.c (Fend_kbd_macro, Fexecute_kbd_macro): Harmonize
2881         arguments with documentation.
2883         * marker.c (Fset_marker): Harmonize arguments with documentation.
2885         * minibuf.c (Ftry_completion, Fall_completions, Fcompleting_read):
2886         Harmonize arguments with documentation.
2888         * print.c (Fwrite_char, Fprin1, Fprin1_to_string, Fprinc, Fprint):
2889         Harmonize arguments with documentation.
2891         * process.c (Fprocessp, Fget_buffer_process, Fdelete_process)
2892         (Fprocess_status, Fprocess_exit_status, Fprocess_id, Fprocess_name)
2893         (Fprocess_command, Fprocess_tty_name, Fset_process_buffer)
2894         (Fprocess_buffer, Fprocess_mark, Fset_process_filter)
2895         (Fprocess_filter, Fset_process_sentinel, Fprocess_sentinel)
2896         (Fset_process_window_size, Fprocess_kill_without_query)
2897         (Faccept_process_output): Harmonize arguments with documentation.
2899         * search.c (Fmatch_end, Fregexp_quote): Harmonize arguments with
2900         documentation.
2902         * syntax.c (Fsyntax_table_p, Fchar_syntax, Fmatching_paren)
2903         (Fmodify_syntax_entry): Harmonize arguments with documentation.
2905         * textprop.c (Ftext_properties_at, Fget_text_property)
2906         (Fget_char_property, Fnext_property_change)
2907         (Fnext_single_property_change, Fprevious_property_change)
2908         (Fprevious_single_property_change, Fadd_text_properties)
2909         (Fput_text_property, Fset_text_properties, Fremove_text_properties)
2910         (Ftext_property_any, Ftext_property_not_all): Harmonize arguments
2911         with documentation.
2913         * window.c (Fwindowp, Fwindow_live_p, Fother_window, Fenlarge_window)
2914         (Fshrink_window, Fscroll_up, Fscroll_down, Fscroll_other_window)
2915         (Fscroll_left, Fscroll_right, Frecenter, Fwindow_configuration_p):
2916         Harmonize arguments with documentation.
2918         * xfaces.c (Fpixmap_spec_p): Harmonize arguments with
2919         documentation.
2921 1996-01-08  Erik Naggum  <erik@naggum.no>
2923         * buffer.c (Fkill_buffer): Delete buffer from Vbuffer_alist after
2924         replacing it.
2926 1996-01-08  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2928         * s/sol2-3.h (PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
2930         * unexelf.c (unexec) [SOLARIS2]: Undo relocations performed by the
2931         runtime linker.
2933         * config.in (LOCALTIME_CACHE): Add #undef.
2935 1996-01-08  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2937         * xdisp.c (display_text_line): Clear out redisplay_end_trigger
2938         before calling the functions.
2940         * xselect.c (x_handle_selection_notify): Give an indication
2941         in reading_selection_reply of whether the request succeeded.
2942         (x_get_foreign_selection): Do error if foreign selection was cleared.
2944         * dispnew.c (init_display): Treat null string DISPLAY var like not set.
2946 1996-01-07  Erik Naggum  <erik@naggum.no>
2948         * fns.c (Fplist_get): Rename arg `val' to `plist' as in doc.
2950 1996-01-07  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2952         * lread.c (read1): Use xmalloc and xrealloc, not malloc and realloc.
2954         * s/sol2-5.h: Add #if 0 around everything but the include of sol2-4.h.
2956         * process.c (create_process): Restore the signal state
2957         after vfork whether it succeeds or not.
2959         * m/hp800.h: Conditionalize many macro definitions on __hpux.
2960         (NEED_BSDTTY): Delete duplicate definition.
2962         * lread.c (dump_path): New static var.
2963         (init_lread): Use that to record dump-time initial path.
2964         Delete the local var dump_path; find Vsource_directory differently.
2965         (syms_of_lread): staticpro it.
2967         * config.in (LOCALTIME_CACHE): Add #undef.
2969         * editfns.c (update_buffer_properties): Delete superfluous &'s.
2971         * emacs.c (main): In batch mode, don't handle SIGHUP if was ignored.
2972         Block it while we decide what to do.
2974 1996-01-06  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2976         * keymap.c (describe_map): New arg nomenu.
2977         (describe_map_tree): Pass that arg.
2979 1996-01-05  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2981         * fileio.c (do_auto_save_unwind): Don't close DESC if DESC < 0.
2982         (Fdo_auto_save): Unconditionally set up unwind-protect.
2984         * s/linux.h (LIBS_TERMCAP): Definition deleted.
2986 1996-01-05  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2988         * termhooks.h (struct input_event): Put frame_or_window last.
2990 1996-01-04  Erik Naggum  <erik@naggum.no>
2992         * window.c (replace_buffer_in_all_windows): Only re-select old
2993         window if it is still live.
2995 1996-01-04  Paul Eggert  <eggert@twinsun.com>
2997         Spelling corrections.
2998         * s/vms.h, s/vms5-5.h (SHARABLE_LIB_BUG): Renamed from
2999         SHAREABLE_LIB_BUG.
3000         * xselect.c (syms_of_xselect): Doc fix for x-selection-timeout.
3001         * sysdep.c (WRITABLE): Renamed from WRITEABLE.
3002         * unexelfsni.c (unexec): Message fix.
3003         * sysdep.c (sys_siglist): Message fix.
3004         * eval.c (syms_of_eval): Doc fix for inhibit-quit.
3005         * window.c (Fprevious_window, Fwindow_configuration_p): Doc fix.
3006         * keymap.c (Flookup_key): Doc fix.
3008 1996-01-04  Geoff Voelker  <voelker@cs.washington.edu>
3010         * nt.c (getuid): Only return root uid if Administrator.
3011         (geteuid): Return getuid.
3013 1996-01-03  Ulrich Leodolter  <ulrich@lab1.psy.univie.ac.at>
3015         * ntproc.c (win32_wait): Fixed bad synch_process_retcode
3016         and initialized synch_process_death if signaled.
3018 1996-01-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3020         * xterm.c (XTread_socket): For selection_clear_event and
3021         selection_request_event, initialize the frame_or_window field.
3023         * window.c (replace_buffer_in_all_windows): New function.
3024         Like Freplace_buffer_in_windows but really does all frames.
3025         * buffer.c (Fkill_buffer): Use replace_buffer_in_all_windows.
3027 1995-12-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3029         * xterm.c (XTread_socket): Pass KeyPress events to the toolkit.
3030         Make the OTHER label exist unconditionally, and make the gotos
3031         unconditional when that is convenient.
3033 1995-12-31  Eli Zaretskii  <eliz@is.elta.co.il>
3035         * fileio.c (Ffile_readable_p) [MSDOS]: Use access rather than open.
3037 1995-12-30  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3039         * Makefile.in (${etc}DOC): Remove spurious `cd' command line.
3041 1995-12-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3043         * xterm.c (x_find_modifier_meanings): Fix !X11R4 code to use dpyinfo.
3045         * s/hpux9.h (C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
3046         Add options to specify /usr/lib/X11R5 and /usr/include/X11R5.
3048 1995-12-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3050         * xfns.c (check_x_display_info, check_x_frame, x_set_font)
3051         (Fx_list_fonts): Fix error messages.
3053 1995-12-24  Eli Zaretskii  <eliz@is.elta.co.il>
3055         * dired.c (Ffile_attributes) [MSDOS]: Remove special detection of
3056         MS-DOS executable files by filename extension (library `stat' does
3057         this itself now).
3059         * msdos.c (XMenuActivate): Make sure the menu title is always
3060         displayed with `msdos-menu-active-face', no matter where the mouse
3061         pointer is.
3063 1995-12-23  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3065         * msdos.c (have_menus_p): Defined.
3067         * s/msdos.h (HAVE_MENUS): Defined.
3069         * config.in (HAVE_MENUS): Renamed from HAVE_X_MENU.
3071         * Makefile.in (XOBJ, LIBXMENU, $(OLDXMENU), really-oldXMenu):
3072         HAVE_X_MENU renamed to HAVE_MENUS.
3074         * keyboard.c (read_char_x_menu_prompt):
3075         HAVE_X_MENU renamed to HAVE_MENUS.
3077         * emacs.c (main): Call syms_of_xmenu if and only if HAVE_MENUS.
3079         * editfns.c (Fmessage_box, Fmessage_or_box):
3080         HAVE_X_MENU renamed to HAVE_MENUS.  Doc fixes.
3082         * xfns.c (have_menus_p): Renamed from using_x_p.
3083         * w32xfns.c (have_menus_p): Renamed from using_x_p.
3084         * fns.c (Fy_or_n_p, Fyes_or_no_p): using_x_p renamed to have_menus_p.
3085         HAVE_X_MENU renamed to HAVE_MENUS.
3087         * keyboard.c (Fexecute_extended_command): Nice error if empty cmd name.
3089         * callint.c (Fcall_interactively): Undo previous change.
3090         * keyboard.c (Fcommand_execute): Undo previous change.
3092         * s/aix3-2.h: Add #pragma alloca.
3094         * Makefile.in (LIBXT): Use DYNAMIC_OPTION too.
3095         * s/sol2-5.h (STATIC_OPTION): For GCC, use -Xlinker.
3096         (DYNAMIC_OPTION): Define like STATIC_OPTION.
3098         * s/sunos4shr.h (LIBXMU): Replace previous change.
3099         Bring back the old definition, but conditionalize on ! HAVE_X11R6.
3101         * config.in (HAVE_X11R6): Add #undef.
3102         * xterm.h (HAVE_X11R6): Definition deleted (previous change undone).
3104         * xdisp.c (redisplay_window): Clear force_start field
3105         before running the Qwindow_scroll_functions.
3106         In the recenter case, set w->start before running them.
3108 1995-12-24  Adrian Colley  <Adrian.Colley@three.serpentine.com>
3110         * s/aix3-2.h: Add #pragma alloca.
3112 1995-12-23  Geoff Voelker  <voelker@cs.washington.edu>
3114         * makefile.nt (LINK_FLAGS): Dump symbol map when linking.
3115         * unexnt.c (get_bss_info_from_map_file): New function.
3116         (get_section_info): When .bss section parameters are not in the
3117         executable, search the symbol map file for them.
3119 1995-12-23  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3121         * syntax.h (SYNTAX_ENTRY): Add cast in call to syntax_parent_lookup.
3123         * print.c (NULL): #undef deleted.
3125         * cmds.c (internal_self_insert): Declare arg c1 as unsigned char.
3127 1995-12-21  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3129         * xdisp.c (prepare_menu_bars): If update_mode_lines,
3130         update all frame titles too.
3132 1995-12-20  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3134         * eval.c (skip_debugger): New function.
3135         (find_handler_clause): Call skip_debugger.
3136         (Vdebug_ignored_errors): New variable.
3137         (syms_of_eval): Set up Lisp variable.
3139         * print.c (Ferror_message_string): New function.
3140         (syms_of_print): defsubr it.  Doc fix.
3141         (print_error_message): New subroutine.
3143         * keyboard.c (cmd_error_internal): Use print_error_message.
3145 1995-12-19  Karl Heuer  <kwzh@gnu.ai.mit.edu>
3147         * callint.c (Fcall_interactively): Don't log prompt strings.
3149         * xfns.c: Use <paths.h>, not "paths.h".
3151         * frame.c [!MULTI_FRAME] (syms_of_frame): Make mouse-pixel-position
3152         a synonym for mouse-position, for the benefit of lisp packages
3153         that use it.
3155 1995-12-19  Eli Zaretskii  <eliz@is.elta.co.il>
3157         * msdos.c (check_timer): Get rid of the DOS-specific menubar clock
3158         feature; call `display-time-filter' from time.el to display time
3159         on the modeline instead.  This makes `display-time' work under DOS.
3160         (abort): Use our own function instead of the one from the library
3161         which reverts the console device to cooked mode.
3162         (syms_of_msdos): `dos-display-time'--a new variable for
3163         communicating with `display-time'.
3164         * dosfns.c (syms_of_dosfns): Delete the `dos-menubar-clock' and
3165         `dos-timer-hooks' variables.
3166         * dosfns.h (Vdos_menubar_clock, Vdos_timer_hooks):
3167         Declarations deleted.
3169 1995-12-19  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3171         * xterm.c (x_connection_signal): Set an alarm around XNoOp call.
3173         * xfns.c [X11R5_INHIBIT_I18N]: Undef HAVE_X_I18N if X11R5.
3174         * xterm.h (HAVE_X11R6): New macro, defined when appropriate.
3175         * s/aix3-2-5.h (X11R5_INHIBIT_I18N): Defined.
3177 1995-12-17  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3179         * s/sol2-5.h (LIBXT_STATIC, STATIC_OPTION): Defined.
3181         * Makefile.in (LIBXT): Handle LIBXT_STATIC.
3183         * fileio.c (syms_of_fileio): Doc fix.
3185         * callint.c (Fcall_interactively): Handle an arg of form (FCN ARGS...).
3187         * keyboard.c (Fcommand_execute): Allow function + args list as cmd.
3189 1995-12-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3191         * m/ibmrs6000.h (LD_SWITCH_MACHINE): Don't define if using GCC.
3193 1995-12-13  Karl Heuer  <kwzh@gnu.ai.mit.edu>
3195         * xterm.c (x_connection_closed): Don't delete dpyinfo if it's null.
3197 1995-12-12  Eli Zaretskii  <eliz@is.elta.co.il>
3199         * msdos.c (run_msdos_command): Support redirection of stderr.
3200         * callproc.c (Fcall_process) [MSDOS]: Support redirection of
3201         stderr.  Assign process exit code to `synch_process_retcode' and
3202         error description to `synch_process_death'.  Reset
3203         `synch_process_alive' to zero when the sub-process exits.
3205         * msdos.c (IT_set_terminal_modes): Save screen color attribute
3206         byte at startup, write saved screen dimensions to termscript
3207         file.
3208         (IT_reset_terminal_modes): When restoring startup screen contents,
3209         only restore as much as was saved, and only as much as the screen
3210         dimensions on exit can hold.  Blank the rest with the background
3211         color saved at startup.  Write restored screen dimensions to
3212         termscript file.
3214         * msdos.c (XMenuActivate): Display the menu pane title.
3215         (XMenuLocate): Do not ignore pane title length when deciding on
3216         menu location.
3218 1995-12-12  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3220         * emacs.c (main): Fix args to handle `--display DISPLAY'.
3222         * data.c (Ftype_of): Return `char-table' and `bool-vector' for
3223         char tables and bool vectors, resp.
3224         (Qchar_table, Qbool_vector): New variables.
3225         (syms_of_data): Initialize and staticpro them.
3227 1995-12-12  Karl Heuer  <kwzh@gnu.ai.mit.edu>
3229         * window.c (Fsplit_window): Account for scroll bar width.
3231         * minibuf.c (choose_minibuf_frame): Test HAVE_X_WINDOWS.
3233         * m/alpha.h (PTY_OPEN): Block SIGCHLD during openpty.
3235         * s/sunos4shr.h (LIBXMU): Use dynamic linking.
3237 1995-12-12  Paul Eggert  <eggert@twinsun.com>
3239         * process.c (create_process): Use POSIX signal handling to
3240         block signals, if available.  If HAVE_VFORK, save and restore
3241         signal handlers that the child might change, since in many
3242         systems (e.g. Solaris 2.4) if the child changes the signal
3243         handlers this munges the parent's handler.
3244         * s/sol2-3.h (HAVE_VFORK): Remove #undef, since we now
3245         know how to use Solaris vfork.
3246         (VFORK_RETURN_TYPE): Remove definition.
3248 1995-12-12  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3250         * callint.c (Fcall_interactively): Move have_prefix_arg label to 'p'.
3252         * process.c (Fopen_network_stream): Call bind_polling_period earlier.
3254 1995-12-10  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3256         * keymap.c (Fkey_binding): Handle text-property keymaps.
3258         * Makefile.in (dotdot): New variable.
3259         (SOME_MACHINE_LISP): Use relative file names.
3260         (shortlisp): New variable.
3261         (${etc}DOC): Use shortlisp instead of lisp.
3263         * xdisp.c (redisplay_window): Don't do the scroll_step thing
3264         if startp is outside the accessible part of the buffer.
3266         * lread.c (init_lread): Add ../lisp (in build dir) to load-path
3267         when dumping.
3269 1995-12-09  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3271         * editfns.c (Fset_time_zone_rule): Move static var environbuf
3272         to top level.
3273         (syms_of_editfns): Initialize environbuf explicitly.
3275         * window.c (Fsplit_window): Rename size to size_int and chsize to size.
3277         * cmds.c (Fbackward_char, Fforward_char): Rename arg to ARG.
3279         * buffer.h (struct buffer): Delete redisplay_end_trigger field.
3280         * buffer.c (reset_buffer, init_buffer_once): Delete code that touches
3281         redisplay_end_trigger field in buffer.
3283 1995-12-07  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3285         * editfns.c (Vbuffer_access_fontified_property): New variable.
3286         (syms_of_editfns): Set up Lisp var.
3287         (make_buffer_string): Don't call the Vbuffer_access_fontify_functions
3288         if the text is already fontified.
3289         (Fbuffer_string): Pas 1 for PROPS arg.
3290         (update_buffer_properties): New subroutine.
3291         (Finsert_buffer_substring): Use update_buffer_properties.
3293 1995-12-06  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3295         * textprop.c (add_properties, remove_properties, set_properties):
3296         Call signal_after_change.
3298         * s/hpux9.h (LIBXMU, NO_EDITRES): Define only if not HAVE_LIBXMU.
3300 1995-12-05  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3302         * config.in (HAVE_LIBXMU): Add #undef.
3304         * s/hpux9shr.h (C_DEBUG_SWITCH): Definition turned off.
3306         * m/iris4d.h (C_SWITCH_MACHINE): Define only if THIS_IS_MAKEFILE.
3308 1995-12-04  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3310         * editfns.c (make_buffer_string): New arg PROPS.
3311         (Fbuffer_string, Fbuffer_substring): Pass new arg.
3312         (Fbuffer_substring_no_properties): New function.
3313         (syms_of_editfns): defsubr it.
3314         (Vbuffer_access_fontify_functions): New variable.
3315         (Qbuffer_access_fontify_functions): New variable.
3316         (syms_of_editfns): Set up Lisp variable, initialize them.
3317         (make_buffer_string): Run this new hook.
3319         * minibuf.c (read_minibuf): Pass PROPS arg to make_buffer_string.
3320         Let make_buffer_string handle the gap.
3322 1995-12-03  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3324         * config.h (EMACS_INT, EMACS_UINT): Definitions deleted
3325         because lisp.h also defines them.
3327         * Makefile.in (keymap.o): Depend on puresize.h.
3329         * keymap.c: Include puresize.h.
3330         (store_in_keymap): Check PURE_P (def) and copy if nec.
3332         * puresize.h (PURE_P): New macro (three definitions).
3333         (CHECK_IMPURE): Use PURE_P.
3335         * buffer.c (Fkill_buffer): Rename arg bufname to buffer.
3336         Don't gcpro it after the last use.
3337         (Fswitch_to_buffer, Fpop_to_buffer): Rename arg bufname to buffer.
3338         (Fset_buffer): Likewise, and rename local buffer to buf.
3340 1995-12-01  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3342         * Makefile.in (THIS_IS_MAKEFILE): New definition.
3343         * s/irix6-0.h (C_SWITCH_SYSTEM): #undef this if THIS_IS_MAKEFILE.
3345         * macros.c (Fstore_kbd_macro_event): New function.
3346         (syms_of_macros): defsubr it.
3348 1995-11-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3350         * xdisp.c (message_dolog): Save and restore windows_or_buffers_changed.
3352 1995-11-28  Paul Eggert  <eggert@twinsun.com>
3354         * Makefile.in (lisp): Remove c-mode.elc.
3356 1995-11-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3358         * msdos.c (sys_select): Check timer once even if input is pending.
3360 1995-11-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3362         * xfns.c (x_set_menu_bar_lines) [USE_X_TOOLKIT]:
3363         Don't crash for non-X frame.
3365         * callint.c (Fcall_interactively): In `c' case, clear out the message
3366         after reading the character.
3368         * xdisp.c (decode_mode_spec): For p and P, avoid overflow with
3369         large buffer sizes.
3371         * xmenu.c (set_frame_menubar): When called with deep_p == 0,
3372         that invalidates the previous f->menu_bar_vector.
3374 1995-11-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3376         * Version 19.30 released.
3378         * msdos.c (IT_set_menu_bar_lines): Clear last_modified field.
3380 1995-11-23  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3382         * keyboard.c (read_char): Handle unread events from popup menus.
3384 1995-11-22  Geoff Voelker  <voelker@cs.washington.edu>
3386         * makefile.nt (DOC, clean): Don't use switches to del not supported
3387         by Windows 95.
3389 1995-11-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3391         * xterm.c (XTmouse_position): Exit the loop if child == win.
3392         (x_iconify_frame): Call FRAME_SAMPLE_VISIBILITY.
3393         (XTframe_up_to_date): Block and unblock input.
3395 1995-11-22  Eli Zaretskii  <eliz@is.elta.co.il>
3397         * msdos.c (internal_terminal_init): Initialize the_only_x_display.font.
3399         * xfaces.c (Fset_face_attribute_internal) [MSDOS]:
3400         Set font field to 1.
3402 1995-11-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3404         * msdos.c (dos_set_keyboard): If CODE is not recognized,
3405         initialize to the US keyboard table.
3407 1995-11-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3409         * s/linux.h (LIB_MOTIF): New definition.
3411         * editfns.c (Fcurrent_time): Doc fix.
3413         * s/hpux10.h (FORCE_ALLOCA_H): Defined (for getdate.y).
3414         (HPUX10): Defined.
3416         * window.c (Fdisplay_buffer): Always deiconify the window's frame.
3417         (display_buffer_1): New subroutine.
3419         * m/alpha.h [LINUX] (LINUX_SBRK_BUG): Defined.
3420         * emacs.c (main): Add LINUX_SBRK_BUG conditional call to __sbrk.
3422         * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Increased.
3424         * dosfns.c (syms_of_dosfns): Use 0x75 for dos_keypad_mode.
3426 1995-11-20  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3428         * alloc.c (Flist): Avoid using -- in while condition.
3430         * xfaces.c (unload_color, unload_font): Never invalidate computed
3431         faces 0 and 1.
3433         * minibuf.c (choose_minibuf_frame): On MSDOS, just use minibuf_window.
3435 1995-11-19  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3437         * xterm.c (show_mouse_face):
3438         When clearing cursor, use proper column range.
3440         * lread.c (Vsource_directory): New variable.
3441         (init_lread): Initialize it.
3442         (syms_of_lread): Set up Lisp var.
3444 1995-11-18  Fred Fish  <fnf@cygnus.com>
3446         * s/linux.h: #undef SIGPOLL and SIGURG as well as SIGIO.
3448 1995-11-18  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3450         * data.c (Fmake_local_variable): Call find_symbol_value
3451         before making a new local binding.
3453 1995-11-15  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3455         * mem-limits.h [_LIBC] (start_of_data): Use weak ref to
3456         __data_start; use &etext if not present.
3458 1995-11-15  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3460         * xterm.c (XTread_socket): Verify a ButtonPress was actually in the
3461         menu bar before generating a menu_bar_activate_event event.
3463         * s/hpux10.h: New file.
3465         * textprop.c (Fset_text_properties): Call set_properties
3466         even if we also merge an interval.
3468         * xselect.c (x_clear_frame_selections): Get selection_symbol properly.
3469         (syms_of_xselect): Doc fix.
3471         * doprnt.c (doprnt1): Add a cast.
3473         * alloc.c (mark_object): Don't overwrite original argument value.
3475         * .gdbinit (xsymbol): Cast name explicitly to (char *).
3477 1995-11-14  Geoff Voelker  <voelker@cs.washington.edu>
3479         * w32term.h: New file.
3481 1995-11-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3483         * keyboard.c (Fexecute_extended_command):
3484         Call Fwhere_is_internal just once to handle all the maps.
3486         * xdisp.c (Qredisplay_end_trigger_functions): Renamed from ..._hook.
3487         (syms_of_xdisp): Set up new name.
3488         (display_text_line): Call them with arguments.
3490         * window.c (Fset_window_redisplay_end_trigger): Doc fix.
3492         * fileio.c (check_executable) [DOS_NT]: Treat all dirs as executable.
3494 1995-11-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3496         * frame.h (FRAME_WINDOW_P): Always define it one way or another.
3498         * m/alpha.h: Declare calloc like malloc.
3500 1995-11-12  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3502         * xselect.c (x_clear_frame_selections): Undo previous change.
3504         * fileio.c (Fcopy_file): Don't chmod output file on MSDOS
3505         unless we have DJGPP version 2.
3507         * s/usg5-4.h (LIBS_STANDARD): Definition deleted.
3509         * s/isc2-2.h (LIBS_SYSTEM): Fix typo in prev change.
3511         * dispnew.c: Always include dispextern.h before cm.h.
3513 1995-11-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3515         * xdisp.c (display_text_line): Handle redisplay_end_trigger
3516         before getting the face of the next character.  Reset next_face_change.
3518         * frame.c (syms_of_frame_1): Set up Vdefault_frame_alist here.
3519         (syms_of_frame): Not here.
3520         (Vdefault_frame_alist): Definition now unconditional.
3522         * msdos.c (dos_menubar_clock_displayed): New variable.
3523         (check_timer): Erase the clock if it has been turned off.
3525         * doc.c (Fdocumentation): Reject a file reference
3526         at the end of a lambda body.
3528         * xdisp.c (display_menu_bar): Fix backwards conditional.
3529         (update_menu_bar, redisplay_window): Don't use FRAME_EXTERNAL_MENU_BAR
3530         in #ifdef, since it is always defined.
3532 1995-11-10  Simon Leinen  <simon@lia.di.epfl.ch>
3534         * s/hpux9.h (NO_EDITRES): Defined.
3535         (LIBXMU): Define once again.
3537         * xfns.c (HACK_EDITRES): Don't define if NO_EDITRES is defined.
3539         * xterm.c (HACK_EDITRES): Define here as in xfns.c.
3540         (XTread_socket): Test HACK_EDITRES.
3542 1995-11-10  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3544         * s/isc2-2.h (LIB_STANDARD_1): New macro.
3545         (LIB_STANDARD): Use LIB_STANDARD_1.
3546         (LIBS_SYSTEM): Use it here too.
3548         * print.c (debug_print): Explicitly print a CR.
3550         * keyboard.c (interrupt_signal): Do special things in GC.
3552 1995-11-10  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3554         * frame.c (set_menu_bar_lines): Record the fact that the window
3555         configuration changes.
3556         (set_menu_bar_lines_1): Mark the window as modified.
3558 1995-11-09  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3560         * floatfns.c (Fexpt): Doc fix.
3562         * window.h (struct window): New field redisplay_end_trigger.
3564         * window.c (Fwindow_redisplay_end_trigger): New function.
3565         (Fset_window_redisplay_end_trigger): Likewise.
3566         (syms_of_window): defsubr them.
3568         * xdisp.c (display_text_line): Get redisplay_end_trigger from window.
3570 1995-11-09  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3572         * buffer.c (syms_of_buffer): Delete the buffer-redisplay-end-trigger
3573         local variable.
3575 1995-11-09  Simon Leinen  <simon@lia.di.epfl.ch>
3577         * xmenu.c: Don't include Xaw/Paned.h unless USE_LUCID is defined.
3578         (set_frame_menubar): Conditionalized some code on USE_LUCID that
3579         depends on the fact that the parent widget of the menu bar is an Xaw
3580         "Paned" widget.
3582 1995-11-09  Erik Naggum  <erik@naggum.no>
3584         * eval.c (run-hook-with-args, run-hook-list-with-args): Safeguard
3585         against a t in the global value of hook variables.
3587 1995-11-08  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3589         * s/msdos.h (SYMS_SYSTEM): Add syms_of_msdos.
3591         * Makefile.in (lisp): Add loadup.el.
3593         * indent.c (compute_motion): Update next_boundary
3594         when we skip to next newline.
3596 1995-11-07  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3598         * lread.c (oblookup): Clear ARRAY_MARK_FLAG in obsize.
3600         * callint.c (syms_of_callint): Set up Qlet, Qletx, Qsave_excursion.
3601         (Fcall_interactively): Look past those special forms
3602         when checking for a call to `list'.
3604 1995-11-07  Geoff Voelker  <voelker@cs.washington.edu>
3606         * config.in [HAVE_X_WINDOWS] (HAVE_WINDOW_SYSTEM): New macro.
3607         * s/windowsnt.h [HAVE_NTGUI] (HAVE_WINDOW_SYSTEM): New macro.
3608         * dispextern.h dispnew.c, emacs.c, frame.c, keyboard.c, process.c,
3609         scroll.c, sysdep.c, window.c, xdisp.c: Use HAVE_WINDOW_SYSTEM
3610         instead of testing for specific window systems.
3612         * frame.h [HAVE_X_WINDOWS] (FRAME_WINDOW_P): Macro defined.
3613         [HAVE_NTGUI] (FRAME_WINDOW_P): Macro defined.
3614         * dispnew.c, frame.c, scroll.c, xdisp.c: Use FRAME_WINDOW_P
3615         instead of testing for specific window system frames.
3617         * xdisp.c (update_menu_bar, redisplay_window): Test for definition
3618         of FRAME_EXTERNAL_MENU_BAR before using it.
3620 1995-11-06  Kevin Gallo  <kgallo@microsoft.com>
3622         * xterm.h (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): New macros.
3623         * dispnew.c (update_frame): Use FRAME_INTERNAL_BORDER_WIDTH.
3624         (update_line): Use FRAME_LINE_HEIGHT and FRAME_FONT.
3626         * xdisp.c [HAVE_NTGUI] (set_menu_framebar): Declare external.
3627         [HAVE_NTGUI] (frame_title_buf, frame_title_ptr): Include variables
3628         for w32 window system.
3629         [HAVE_NTGUI] (store_frame_title, x_consider_frame_title): Include
3630         procedures for w32 window system.
3631         [HAVE_NTGUI] (x_consider_frame_title): Test for w32 frame.
3632         [HAVE_NTGUI] (display_text_line): Test for w32 frame on face change.
3633         [HAVE_NTGUI] (display_menu_bar): Perform no-op for NT window system.
3635         * window.c [HAVE_NTGUI] (Fset_window_configuration): Set menu
3636         bar lines.
3638         * term.c [HAVE_NTGUI] (FRAME_TERMCAP_P): Don't redefine.
3640         * sysdep.c [HAVE_NTGUI] (init_sys_modes, reset_sys_modes):
3641         Don't initialize terminal mode when using window system.
3642         [HAVE_NTGUI] (BUFFER_SIZE_FACTOR): Increase for use with window system.
3644         * scroll.c [HAVE_NTGUI] (do_scrolling, do_direct_scrolling):
3645         Update frame geometry.
3647         * process.c [HAVE_NTGUI] (POLL_FOR_INPUT): Define macro.
3649         * keyboard.c [HAVE_NTGUI]: Include w32term.h.
3650         [HAVE_NTGUI] (KBD_BUFFER_SIZE): Increase for NT window system.
3651         [HAVE_NTGUI] (POLL_FOR_INPUT): Define.
3652         [HAVE_NTGUI] (kbd_buffer_get_event): Enable windowing and menu events.
3653         [HAVE_NTGUI] (lispy_function_keys): Define array for NT.
3654         [HAVE_NTGUI] (make_lispy_event): Enable menu bar events.
3655         [HAVE_NTGUI] (modify_event_symbol): Map symbol to keysym.
3656         [HAVE_NTGUI] (read_char_x_menu_prompt): Display menus.
3658         (FUNCTION_KEY_OFFSET): New macro.
3659         (make_lispy_event): Use FUNCTION_KEY_OFFSET to modify event codes
3660         before applying modifiers.
3662         * frame.c [HAVE_NTGUI]: Test for a w32 frame in procedures
3663         that test for an X frame.
3665         * frame.h (output_method): New method: output_win32.
3666         (output_data): New data: win32.
3667         (FRAME_WIN32_P): New macro.
3668         [HAVE_NTGUI] (external_menu_bar): Define variable.
3669         [HAVE_NTGUI] (FRAME_EXTERNAL_MENU_BAR): Defined macro.
3671         * fns.c [HAVE_NTGUI] (Fy_or_n_p, Fyes_or_no_p): Allow popup.
3673         * emacs.c [HAVE_NTGUI]: Declare Vwindow_system.
3674         [HAVE_NTGUI] (main): Enable inhibit_window_system.
3675         Initialize environment from registry.
3676         Declare syms of w32 windowing modules.
3678         * dispnew.c [HAVE_NTGUI]: Include w32term.h.
3679         Include dispextern.h before cm.h since dispextern.h includes windows.h.
3680         [HAVE_NTGUI] (make_frame_glyphs, free_frame_glyphs, scroll_frame_lines)
3681         (update_frame, update_line): Test for w32 frame.
3682         [HAVE_NTGUI] (init_display): Initialize w32 window system.
3684         * dispextern.h [HAVE_NTGUI]: Include win32.h.
3685         [HAVE_NTGUI] (struct frame_glyphs): Include pixel fields.
3687         * w32term.c, w32xfns.c, w32fns.c, w32faces.c, w32select.c,
3688         * w32menu.c, w32reg.c, win32.h: New files.
3690         * s/windowsnt.h [HAVE_NTGUI] (abort): New macro.
3691         [HAVE_NTGUI] (HAVE_FACES): Defined.
3693         * unexnt.c [HAVE_NTGUI] (WinMain): New procedure.
3694         [HAVE_NTGUI] (hinst, hprevinst, lpCmdLine, nCmdShow): New variables.
3695         [HAVE_NTGUI] (_start): Invoke WinMainCRTStartup.
3697         * ntterm.c (nt_ring_bell): Renamed from ring_bell, now global.
3698         (initialize_win_nt_display): Use nt_ring_bell.
3699         [HAVE_NTGUI] (pixel_to_glyph_coords, glyph_to_pixel_coords):
3700         Don't define.
3702         * ntproc.c [HAVE_NTGUI] (create_child): Pass handles to children.
3703         [HAVE_NTGUI1] (sys_select): Support alternate keyboard handling.
3705         * nt.h (nt_get_resource): Prototype defined.
3707         * nt.c (nt_get_resource, init_environment): Defined.
3708         (prepare_standard_handles, restore_standard_handles) [HAVE_NTGUI]:
3709         Don't duplicate or restore standard handles.
3711         * makefile.nt (SUBSYSTEM, TLIBW32, TLASTLIB, WIN32OBJ): Defined.
3712         (w32term.obj, w32xfns.obj, w32fns.obj w32faces.obj, w32select.obj)
3713         (w32menu.obj, w32reg.obj): Defined.
3714         (LINK_FLAGS): Use SUBSYSTEM.
3715         (OBJ1): Remove lastfile.obj.
3716         (LIBS, TEMACS): Use TLASTLIB.
3717         (LIBS) [NTGUI]: Use TLIBW32 and GUI libs.
3718         (EMACS): Remove Windows 95 conditional.
3719         (clean): Remove paths.h.
3721 1995-11-06  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3723         * xdisp.c (display_string): Detect truncation more carefully.
3725         * dispnew.c (update_line): Avoid indexing into obody by -1.
3727         * s/hpux9.h (LIBXMU): Never define this.
3729 1995-11-06  Erik Naggum  <erik@naggum.no>
3731         * print.c (debug_print): Print newline to stderr, too.
3733 1995-11-05  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3735         * xfaces.c (unload_font): Invalidate computed faces.
3736         (unload_color): Likewise.
3737         (new_computed_face): Reuse invalidated computed faces.
3739 1995-11-04  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3741         * indent.c (Fmove_to_column): Doc fix.
3743         * buffer.c (Fmake_overlay): New args front-advance
3744         and rear-advance.
3746         * fileio.c (Fwrite_region): Move the code that writes annotations
3747         for empty files.
3749 1995-11-03  Karl Heuer  <kwzh@gnu.ai.mit.edu>
3751         * msdos.h (struct x_output): Rename from struct x_display.
3752         * msdos.c (the_only_x_display): Type is now struct x_output.
3753         (internal_terminal_init): Frame member is now named output_data.
3754         (init_environment): Fix timezone rules.
3755         * emacs.c (main): [MSDOS] Call init_gettimeofday.
3756         * frame.c [!MULTI_FRAME] (Fmodify_frame_parameters): Add missing
3757         declaration and initialization.
3758         [MULTI_FRAME] (choose_minibuf_frame): Moved to minibuf.c; now
3759         unconditional.
3760         * minibuf.c (choose_minibuf_frame): Moved here from frame.c.
3762 1995-11-01  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3764         * Makefile.in (USE_@X_TOOLKIT_TYPE@): Define here, if appropriate.
3765         (THIS_IS_YMAKEFILE): Definition deleted.
3767 1995-10-31  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3769         * doprnt.c: Include lisp.h.
3770         (doprnt1): Renamed from doprnt.  New arg LISPSTRINGS.
3771         This is now a static subroutine.
3772         (doprnt): New definition calls doprnt1.
3773         (doprnt_lisp): New function.
3775         * editfns.c (Fformat): Use doprnt_lisp.
3777         * s/dgux.h: Test NOT_C_CODE instead of THIS_IS_YMAKEFILE.
3778         Get fatal error if not using GCC.
3780         * xdisp.c (redisplay_window): On non-X frame, always use
3781         FRAME_MENU_BAR_LINES as criterion for whether to display menu bar.
3782         (update_menu_bar): Likewise.
3783         (display_menu_bar): Do the work here for non-X frames
3784         regardless of USE_X_TOOLKIT.
3786         * m/alpha.h: Don't test THIS_IS_YMAKEFILE.
3788         * s/usg5-4.h: Always include sys/wait.h unless NOT_C_CODE;
3789         don't test #ifdef emacs for that.
3791 1995-10-31  Karl Heuer  <kwzh@gnu.ai.mit.edu>
3793         * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/altos.h:
3794         * m/amdahl.h, m/apollo.h, m/att3b.h, m/aviion.h, m/celerity.h:
3795         * m/clipper.h, m/cnvrgnt.h, m/cydra5.h, m/delta.h, m/delta88k.h:
3796         * m/dpx2.h, m/dual.h, m/elxsi.h, m/gec63.h, m/gould.h, m/hp9000s300.h:
3797         * m/i860.h, m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h:
3798         * m/irist.h, m/isi-ov.h, m/masscomp.h, m/mega68.h, m/mg1.h, m/news.h:
3799         * m/next.h, m/nh3000.h, m/nh4000.h, m/ns16000.h, m/ns32000.h, m/nu.h:
3800         * m/orion.h, m/orion105.h, m/pfa50.h, m/plexus.h, m/pyramid.h:
3801         * m/sequent.h, m/sparc.h, m/sps7.h, m/stride.h, m/sun1.h, m/sun2.h:
3802         * m/tad68k.h, m/tahoe.h, m/targon31.h, m/tek4300.h, m/tekxd88.h:
3803         * m/template.h, m/tower32.h, m/tower32v3.h, m/ustation.h, m/vax.h:
3804         * m/wicat.h, m/windowsnt.h, m/xps100.h:
3805         (SHORTBITS, INTBITS, LONGBITS): Deleted; now in config.h.
3807 1995-10-30  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
3809         * alloc.c, data.c, doprnt.c, floatfns.c, fns.c, indent.c
3810         * insdel.c, lisp.h, lread.c, print.c, xdisp.c, xfaces.c, xterm.c
3811         (BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG): Rename from
3812         SHORTBITS, INTBITS, LONGBITS.
3813         * m/alpha.h, m/convex.h, m/hp800.h, m/intel386.h, m/iris4d.h
3814         * m/iris5d.h, m/mips-siemens.h, m/mips.h:
3815         (SHORTBITS, INTBITS, LONGBITS): Deleted; now in config.h
3816         Used new names for those macros in all references.
3818 1995-10-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3820         * config.in (BITS_PER_CHAR, BITS_PER_INT, BITS_PER_SHORT)
3821         (BITS_PER_LONG): Define if not already defined.
3823         * print.c (debug_print): Print a newline here.
3825         * .gdbinit (pr): Don't print newline here.
3827         * syntax.c (check_syntax_table): Check the purpose slot.
3828         Use Qsyntax_table_p for the error message.
3830         * lisp.h (CHECK_CHAR_TABLE): Don't accept nil.
3832         * Makefile.in (prefix-args): Use LDFLAGS, not ALL_LDFLAGS.
3834         * unexalpha.c (fatal_unexec): Don't use varargs.
3836         * editfns.c (Fencode_time): Add cast.
3837         (Fset_time_zone_rule): Add cast.
3839         * xterm.h: Move the include of Xlocale.h after setting HAVE_X11R5.
3841         * keyboard.c (command_loop_1): Test pre- and post-command hooks
3842         for non-nil-ness by looking at the V... variable.
3844 1995-10-29  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3846         * m/m68k.h [linux]: Define NO_REMAP and TEXT_START,
3847         and also DATA_SEG_BITS if compiling for ELF.
3848         (HAVE_ALLOCA, alloca): Define if compiling with GCC.
3850         * keymap.c (describe_translation): Insert newline after key
3851         description.
3853         * fns.c (Fsafe_length): Add missing parentheses around &
3854         within comparison.
3856         * minibuf.c (temp_echo_area_glyphs): Only delete the temporary
3857         message.
3859 1995-10-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3861         * syssignal.h [POSIX_SIGNALS] (signal): Undef before defining.
3863         * unexelfsgi.c (find_section): New arg old_section_h.
3864         Rename file_h to old_file_h and fix type.
3865         Calls changed.
3867         * syntax.c (Fmodify_syntax_entry): Don't fail to init MATCH.
3869         * lisp.h (PVEC_TYPE_MASK): Remove the 0x100 bit.
3871         * keyboard.c (command_loop_1): No direct display if Column Number mode.
3872         (Vcolumn_number_mode): New variable.
3873         (syms_of_keyboard): Set up Lisp variable.
3875         * marker.c (Fset_marker_insertion_type): Doc fix.
3877         * alloc.c (Fmake_char_table): Doc fix.
3879         * casetab.c (Fset_case_table): Doc fix.
3881         * alloc.c: Cast first arg to bzero.
3883 1995-10-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3885         * xterm.h (FRAME_XIC): Fix wrong field name.
3887         * alloc.c (Fmemory_use_counts): Cast 1 to EMACS_INT before shift.
3889         * eval.c (run_hook_with_args): Add forward declaration.
3891 1995-10-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3893         * Makefile.in (TAGS): Separate export DIR=`pwd` into two commands.
3895         * syntax.h (SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH):
3896         Fix the non-GCC definitions.
3898         * callint.c (Fcall_interactively): New arg KEYS.
3900         * keyboard.c (Fcommand_execute): New arg KEYS.  Callers changed.
3901         (read_char): Specify KEYS when handling Vspecial_event_map.
3903 1995-10-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3905         * msdos.c (IT_ring_bell): Use intdos, not write.
3907 1995-10-25  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
3909         * data.c [!HAVE_FMOD] (fmod): Make consistent with ANSI definition.
3910         Don't use drem; it's not the same function.
3912 1995-10-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3914         * s/linux.h (REGEXP_IN_LIBC): Definition turned off.
3916         * minibuf.c (syms_of_minibuf): Doc fix.
3918 1995-10-23  Erik Naggum  <erik@churchy.gnu.ai.mit.edu>
3920         * fns.c (map_char_table): Map over only CHAR_TABLE_ORDINARY_SLOTS
3921         slots, not vector size.
3923         * casetab.c (Fcase_table_p, Fcurrent_case_table): Delete unused
3924         local variables.
3925         (set_case_table): Delete obsolete local variable `down', use
3926         `table' where referenced.  Fix assignment to `canon' when nil.
3927         Store eqv in extras[2], not extras[0].
3928         (init_casetab_once): Case-tables have 3 extra slots, not 4.
3930 1995-10-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3932         * msdos.c (recent_doskeys_index, total_doskeys, recent_doskeys):
3933         New variables.
3934         (Frecent_doskeys): New function.
3935         (syms_of_msdos): New function.
3937         * search.c (string_match_1): Pass the POSIX arg to compile_pattern.
3939         * keyboard.c (ok_to_echo_at_next_pause): Make it a char *.
3940         (read_char): Copy and compare with echo_area_glyphs.
3942         * buffer.c (reset_buffer_local_variables): Call
3943         Fset_standard_case_table if std case table seems to have been changed.
3945 1995-10-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3947         * buffer.c (reset_buffer): Initialize redisplay_end_trigger slot.
3948         Initialize extra1, extra2 and extra3 slots.
3950         * textprop.c (Fnext_single_property_change): Rearrange handling of
3951         limit = t; don't return t.
3953         * xdisp.c (try_window_id): Stop the compute_motion at ZV, not Z,
3954         when checking if all changes are below the window.
3956         * keyboard.c (read_char): If we reread a char, the next pause
3957         can start echoing despite a remaining echo area message.
3958         (ok_to_echo_at_next_pause): New variable.
3959         (cancel_echoing): Clear ok_to_echo_at_next_pause.
3961 1995-10-20  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3963         * xdisp.c (Qredisplay_end_trigger_hook): New variable.
3964         (syms_of_xdisp): Set up Lisp variable.
3965         (display_text_line): Run the hook when appropriate.
3967         * buffer.c (init_buffer_once): Mark redisplay_end_trigger always local.
3968         Also fix previous change.
3969         (syms_of_buffer): Set up Lisp var buffer-redisplay-end-trigger.
3971         * buffer.h (struct buffer): New slot redisplay_end_trigger.
3972         Also extra1, extra2, extra3.
3974 1995-10-19  Erik Naggum  <erik@naggum.no>
3976         * fns.c (Fmap_char_table): Call map_char_table with correct args.
3978 1995-10-18  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3980         * config.in (RE_TRANSLATE_TYPE): New definition.
3982         * casetab.c: Case tables are now char-tables,
3983         and the case table is stored in the downcase_table slot only.
3984         (Fcurrent_case_table, Fstandard_case_table, set_case_table)
3985         (compute_trt_inverse, init_casetab_once): Use new data format.
3987         * buffer.c (reset_buffer_local_variables):
3988         Get the up, eqv and canon tables from within the down case table.
3990         * editfns.c (Fchar_equal): Handle char-table as case table.
3992         * fns.c (Fchar_table_subtype): New function.
3993         (syms_of_fns): defsubr it.
3995         * fns.c (map_char_table): When possible, use a number
3996         to describe the range.
3998         * doc.c (Fsubstitute_command_keys): Pass new arg to describe_map_tree.
4000         * keymap.c (describe_map_tree): New arg always_title.  Callers changed.
4002         * search.c (compile_pattern_1, compile_pattern, search_buffer):
4003         Case tables are char-tables now.
4005 1995-10-16  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4007         * lisp.h (UPCASE_TABLE): Definition deleted.
4008         (UPPERCASEP, LOWERCASEP, NOCASEP, UPCASE, UPCASE1, DOWNCASE)
4009         (DOWNCASE_TABLE): Case tables are now char-tables.
4010         (Vascii_upcase_table, Vascii_canon_table, Vascii_eqv_table):
4011         Declarations deleted.
4013         * keyboard.c (read_char): Let Vkeyboard_translate_table be char-table.
4014         (syms_of_keyboard): Doc fix.
4016 1995-10-15  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4018         * lread.c (read1): Handle #' as prefix.
4019         (Qfunction): New variable.
4020         (syms_of_lread): Set up Qfunction.
4022         * fns.c (Fchar_table_range): New function.
4023         (syms_of_fns): defsubr it.
4025 1995-10-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4027         * unexelfsgi.c (find_section): New function.
4028         (unexec): Use it.  Also simplify previous changes.
4030 1995-10-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4032         * unexelfsgi.c (unexec): Find the old data section.
4033         New variable new_offsets_shift used instead of new_data2_size
4034         since they are not always the same.  Simplify logic for copying
4035         the headers and inserting new ones.
4037         * xterm.c (x_term_init, XTread_socket): Add HAVE_X_I18N support.
4039         * xfns.c (x_window, both versions): Add HAVE_X_I18N support.
4041 1995-10-12  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4043         * xterm.h (HAVE_X_I18N): New macro.
4044         Maybe include Xlocale.h.
4045         (struct x_output): New field xic.
4046         (FRAME_XIC): New macro.
4048         * window.c (Fdelete_other_windows): Set w->force_start.
4050         * xdisp.c (syms_of_xdisp): Doc fix.
4052 1995-10-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4054         * fileio.c (Finsert_file_contents): If replacing,
4055         set selected_window->start_at_line_beg.
4057 1995-10-11  Kim Storm  <kfstorm@wombat.gnu.ai.mit.edu>
4059         * keyboard.c (make_lispy_event) [!USE_X_TOOLKIT]: Dragging
4060         the mouse into the menu-bar and releasing it there did
4061         not create a drag-mouse event.
4062         (set-input-mode) [MSDOS]: Do not call reset_sys_modes and
4063         init_sys_modes.
4065         * dosfns.c (insert-startup-screen): New function.
4066         (msdos-memget, msdos-memput): New functions.
4067         (msdos-set-keyboard, insert-startup-screen): New functions.
4068         (dos-timezone-offset, dos-display-scancodes, dos-menubar-clock)
4069         (dos-hyper-key, dos-super-key, dos-keypad-mode, dos-keyboard-layout)
4070         (dos-decimal-point): New variables.
4072         * dosfns.h (dos_timezone_offset, dos_display_scancodes)
4073         (dos_menubar_clock, dos_hyper_key, dos_super_key, dos_keypad_mode)
4074         (dos_keyboard_layout, dos_decimal_point): New variables.
4076         * msdos.c: [!HAVE_X_WINDOWS]:
4077         Reworked display code to perform immediate screen output.
4078         Added menu-bar clock.
4079         Reworked keyboard code to support international keyboards.
4080         Improved keypad handling (see dos-keypad-mode).
4081         Properly distinguish between C-end and C-kp-1 etc.
4082         Corrected M-return & M-kp-enter.
4083         Added support for hyper and super keys.
4084         Reworked mouse code to avoid mouse flicker.
4085         Saves and restores DOS-screen prior to Emacs startup.
4086         (sys_select): Would abort if rfds = NULL.
4087         (dos_direct_output): New function.
4088         (dos_dump_scancodes): New variable.
4090         * msdos.h (internal_flush): Removed.
4091         (mouse_init1, mouse_check_moved, mouse_pressed, mouse_released):
4092         Removed.
4093         (dos_get_saved_screen, dos_set_keyboard): New functions.
4095         * s/msdos.h: Check that DJGPP v. 1 is used.
4096         Define __DJGPP__ to 1.
4097         Simplified INTERNAL_TERMINAL termcap definition.
4098         Removed #define fflush internal_flush.
4100         * sysdep.c (init_sys_modes) [!HAVE_X_WINDOWS (MSDOS)]:
4101         Always call set_terminal_modes.
4102         (reset_sys_modes) [MSDOS]: Do not look at EMACSCOLORS.
4104 1995-10-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4106         * buffer.c (Fkill_buffer): Don't kill auto save file if not recent.
4108         * keymap.c (describe_vector): Support nested char-tables.
4110 1995-10-10  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4112         * Give char-tables a new slot `purpose'.
4114         * lisp.h (struct Lisp_Char_Table): New slot `purpose'.
4115         (CHAR_TABLE_STANDARD_SLOTS): Add one.
4117         * alloc.c (Qchar_table_extra_slots): New variable.
4118         (syms_of_alloc): Initialize it.
4119         (Fmake_char_table): Take new arg PURPOSE and get N from a property.
4121         * fns.c (Fcopy_sequence): Call Fmake_char_table the new way.
4122         (map_char_table): No longer static.  New arg C_FUNCTION.
4123         (Fmap_char_table): Call to map_char_table changed.
4124         (Fset_char_table_parent): Allow nil s new parent.
4125         Fix the code that checks for a loop in parents.
4127         * syntax.c (Qsyntax_table): New variable.
4128         (init_syntax_once): Call Fmake_char_table the new way.
4129         Set up Qsyntax_table.
4130         (Fsyntax_table_p): Check the `purpose' field.
4132         * disptab.h (DISP_TABLE_P): Check the `purpose' slot.
4133         (Qdisplay_table): Declared.
4134         * dispnew.c (Qdisplay_table): New variable.
4135         (syms_of_display): Initialize it.
4137 1995-10-09  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4139         * data.c (Qvector_or_char_table_p): New variable.
4140         (Fvector_or_char_table_p): New function.
4141         (syms_of_data): Set up Lisp var and function.
4143         * lisp.h (CHECK_VECTOR_OR_CHAR_TABLE): New macro.
4145 1995-10-09  Erik Naggum  <erik@naggum.no>
4147         * buffer.c (buffer-display-table): Document new implementation.
4149 1995-10-09  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4151         * minibuf.c (temp_echo_area_glyphs): Restore the old point value.
4153 1995-10-08  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4155         * process.c (exec_sentinel, read_process_output):
4156         Call record_asynch_buffer_change only if caller is reading kbd input.
4158         * buffer.c (init_buffer_once): Make file_format always local,
4159         not just local when set.
4161 1995-10-07  Erik Naggum  <erik@naggum.no>
4163         * alloc.c (Fmake_char_table): Initialize parent to nil.
4165 1995-10-07  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4167         * keyboard.c (command_loop_1): Access display tables as char-tables.
4169         * indent.c (buffer_display_table): Use DISP_TABLE_P.  Return type
4170         struct Lisp_Char_Table * since display tables are now char-tables.
4171         (character_width, disptab_matches_widthtab, recompute_width_table)
4172         (current_column, Fmove_to_column, compute_motion):
4173         Corresponding changes.
4175         * window.c (window_display_table): Use DISP_TABLE_P.  Return type
4176         struct Lisp_Char_Table * since display tables are now char-tables.
4177         * xdisp.c (redisplay_window, redisplay_window, display_text_line):
4178         Fix up calls to window_display_table.  Access display tables
4179         as char-tables.
4181         * disptab.h (DISP_TABLE_EXTRA_SLOTS, DISP_TABLE_P): New macros.
4182         (DISP_TRUNC_GLYPH, DISP_CONTINUE_GLYPH, DISP_ESCAPE_GLYPH)
4183         (DISP_CTRL_GLYPH, DISP_INVIS_VECTOR, DISP_BORDER_GLYPH):
4184         Use the `extras' field.
4185         (window_display_table, buffer_display_table): Change return type.
4187         * keymap.c (describe_vector): Use Flength to get length of vector.
4189         * Makefile.in (bytecode.o): Depend on syntax.h.
4191 1995-10-06  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4193         * syntax.c (describe_syntax): Handle new syntax-table data format.
4194         (Fmodify_syntax_entry, init_syntax_once): Use SET_RAW_SYNTAX_ENTRY.
4195         Handle new syntax-table data format.
4196         (check_syntax_table): Use CHECK_CHAR_TABLE.  Now static.
4197         Don't return anything; callers changed.
4198         (Fcopy_syntax_table): Use Fcopy_sequence.
4199         (Fchar_syntax, Fmatching_paren, Fforward_comment): Copy complex args
4200         to SYNTAX into variables before using them.
4201         (Fsyntax_table_p): Accept any char-table.
4202         (syntax_parent_lookup): New function.
4203         (syntax_temp): New variable.
4205         * syntax.h: Use char tables as syntax tables.
4206         (RAW_SYNTAX, RAW_SYNTAX_MATCH): Macros deleted.
4207         (RAW_SYNTAX_ENTRY, SET_RAW_SYNTAX_ENTRY): New macros.
4208         (SYNTAX, SYNTAX_MATCH): Rewritten.
4209         (SYNTAX_ENTRY, SYNTAX_WITH_FLAGS): New macros.
4210         (SYNTAX_COMSTART_SECOND, SYNTAX_COMEND_FIRST, SYNTAX_COMEND_SECOND)
4211         (SYNTAX_PREFIX, SYNTAX_COMMENT_STYLE): Use SYNTAX_WITH_FLAGS.
4213         * callint.c (callint_message, callint_message_size): New vars.
4214         (syms_of_callint): Set up new vars.
4215         (Fcall_interactively): Keep the prompt in the heap.
4217 1995-10-05  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4219         * window.c (Fset_window_hscroll): Don't reject args > SHORTBITS.
4221         * indent.c (Fmove_to_column): Make it interactive.
4223 1995-10-04  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4225         * lisp.h (struct Lisp_Char_Table): New structure.
4226         (CHAR_TABLE_STANDARD_SLOTS, CHAR_TABLE_ORDINARY_SLOTS): New macros.
4227         (CHAR_TABLE_EXTRA_SLOTS): New macro.
4229         * buffer.c (Fmake_indirect_buffer): Was taking marker positions
4230         from current buffer, which is irrelevant.
4231         (init_buffer_once): Make buffer-file-format always local.
4233 1995-10-03  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4235         * unexec.c (write_segment): Write valid data in units of 1<<13,
4236         but write zeros only a page at a time.
4238         * window.c (window_scroll): Always set force_start.
4240 1995-10-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4242         * eval.c (run_hook_with_args_2): New function.
4244         * unexec.c (write_segment): Use pagesize as unit of writing
4245         instead of 128.
4247         * lisp.h (CHECK_CHAR_TABLE): New macro.
4249         * frame.c (Qmouse_leave_buffer_hook): New variable.
4250         (syms_of_frame_1): Initialize it.
4251         (Fhandle_switch_frame): Run the hooks.
4253         * keyboard.c (Vsuggest_key_bindings): New variable.
4254         (syms_of_keyboard): Set up Lisp variable.
4255         (Fexecute_extended_command): When enabled, show an equivalent
4256         key binding.
4258 1995-10-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4260         * xterm.c (x_connection_signal_1): New function.
4261         (x_connection_signal): Try all the server connections
4262         to see which one was lost.
4264 1995-09-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4266         * xdisp.c (Qwindow_scroll_functions, Vwindow_scroll_functions):
4267         New variables.
4268         (syms_of_xdisp): Initialize them.
4269         (redisplay_window): Call the functions when appropriate.
4271         * xterm.c (XTcondemn_scroll_bars): No error if
4272         FRAME_CONDEMNED_SCROLL_BARS is non-nil already.
4273         Just move all the scroll bars into there.
4275         * dispnew.c (get_display_line): Don't abort if there's text
4276         in the line to the right beyond HPOS.
4277         (quit_error_check): Make this a no-op.
4279         * fileio.c (barf_or_query_if_file_exists): New arg STATPTR.
4280         Callers changed.
4281         (Fcopy_file): Error if input and output are the same file.
4283 1995-09-28  Carsten Bormann  <cabo@informatik.uni-bremen.de>
4285         * m/ibmrs6000.h: Add early support for Solaris 2.5 on PowerPCs.
4286         [USG5_4] (CANNOT_DUMP): Define this if USG5_4.
4287         (UNEXEC): Don't define if already defined.
4288         [USG5_4] (DATA_SEG_BITS, LIBS_MACHINE): Alternate definitions.
4289         (C_SWITCH_MACHINE, LD_SWITCH_MACHINE, NLIST_STRUCT, WORDS_BIG_ENDIAN)
4290         (TEXT_START, DATA_START, TEXT_END, DATA_END):
4291         Don't define, if USG5_4.
4293 1995-09-27  Richard Stallman  <rms@pogo.gnu.ai.mit.edu>
4295         * lisp.h (pvec_type): Add PVEC_CHARTABLE and PVEC_BOOLVECTOR.
4296         Move PVEC_BUFFER to a higher bit.
4297         (CHARTABLEP, GC_CHARTABLEP, XSETCHARTABLE, XCHARTABLE): New macros.
4298         (XBOOLVECTOR, XSETBOOLVECTOR, BOOLVECTORP, GC_BOOLVECTORP): New macros.
4299         (struct Lisp_Boolvector): New data type.
4301         * lread.c (read1): Handle chartables and boolvectors.
4302         * print.c (print): Handle chartables and boolvectors.
4303         (print_boolvector): New function.
4304         * data.c (Fchartablep, Fboolvectorp): New functions.
4305         (syms_of_data): defsubr them.
4306         (Faref, Faset, Fsequencep): Handle chartables and boolvectors.
4308         * fns.c (Fset_char_table_range): New function.
4309         (make_char_table, Fmap_char_table): New function.
4310         (Fchar_table_extra_slot, Fset_char_table_extra_slot): New functions.
4312         * fns.c (Fcopy_sequence, Felt, internal_equal, Ffillarray):
4313         Handle chartables and boolvectors.
4314         (Flength, concat): Handle boolvectors as args.
4315         (Flength): Handle chartables as args.
4317         * alloc.c (Fmake_chartable, Fmake_boolvector): New functions.
4318         (syms_of_alloc): defsubr them.
4320         * buffer.c (Fmake_overlay): Set end-marker's insertion_type to 1.
4322 1995-09-22  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
4324         * xfns.c (Fx_create_frame): Set up buffer-predicate slot.
4326         * gmalloc.c (current_core_address): New function.
4327         (_malloc_internal): Use current_core_address.
4328         (morecore): Avoid using __morecore (0).
4330         * ralloc.c (r_alloc_sbrk): Round up amount being returned.
4332 1995-09-20  Paul Eggert  <eggert@twinsun.com>
4334         * msdos.c (gettimeofday, init_gettimeofday, daylight, gmtoffset):
4335         Undo previous change to msdos.c.
4336         (init_environment): No need to call tzset and init_gettimeofday,
4337         since `main' now does that for us.
4338         (gettimeofday): Ignore tzp; it's obsolescent.
4339         (init_gettimeofday): Invoke tzset first.
4340         * s/msdos.h (LOCALTIME_CACHE, tzset): New macros.
4342 1995-09-17  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
4344         * xfns.c (x_decode_color): Get error if color not defined.
4346         * xmenu.c (popup_get_selection): Pop menu down if button is pressed
4347         outside the menu.
4349         * minibuf.c (read_minibuf_unwind): Use safe_run_hooks.
4351         * keyboard.c (safe_run_hooks): No longer static.
4353         * keyboard.c (read_char_x_menu_prompt):
4354         When unreading events generated by a menu,
4355         turn symbols and integers into lists,
4356         for the sake of last_nonmenu_event and thus y-or-n-p.
4358 1995-09-15  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
4360         * lread.c (Fload): Rename arg STR to FILE.
4362 1995-09-14  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
4364         * ralloc.c (r_alloc_sbrk): Get the right heap data address
4365         in multi-heap case.
4367 1995-09-12  Karl Heuer  <kwzh@gnu.ai.mit.edu>
4369         * s/isc2-2.h (BROKEN_SELECT_NON_X): Define this instead of turning
4370         off HAVE_SELECT.
4371         * s/isc3-0.h (BROKEN_SELECT_NON_X): Moved to s/isc2-2.h.
4372         (HAVE_SELECT): Deleted; s/isc2-2.h no longer undefs this.
4374 1995-09-12  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4376         * insdel.c (signal_after_change): Call report_interval_modification.
4378         * textprop.c (call_mod_hooks): Moved from intervals.c.
4379         (verify_interval_modification): Moved from intervals.c.
4380         (interval_insert_behind_hooks, interval_insert_in_front_hooks):
4381         New variables.
4382         (report_interval_modification): New function.
4383         * intervals.c (call_mod_hooks, verify_interval_modification):
4384         Functions moved to textprop.c.
4386 1995-09-10  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4388         * xmenu.c (xmenu_show): Ignore `quote' when looking up the result.
4390 1995-09-10  Paul Eggert  <eggert@twinsun.com>
4392         * editfns.c (Fencode_time): Use mktime to do the real work;
4393         this fixes bugs involving out-of-range dates and leap seconds,
4394         and allows date arithmetic via out-of-range values for arguments.
4395         Allow the ZONE parameter to be a TZ-style string.
4396         Doc string fix: `1900' -> `this century'.
4397         (set_time_zone_rule): New function.
4398         (Fset_time_zone_rule): Use it.
4399         (environ, make_time): Add extern declarations.
4400         (days_per_month): Remove.
4402 1995-09-09  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4404         * keyboard.c (command_loop_1): Set this_command to nil
4405         before reading a command.
4407         * editfns.c (Fdecode_time): Doc fix.
4409 1995-09-08  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4411         * m/apollo.h (HAVE_UNISTD_H): Add #undef.
4413 1995-09-07  Paul Eggert  <eggert@twinsun.com>
4415         * editfns.c (Fset_time_zone_rule): New function.
4416         (syms_of_editfns): defsubr it.
4417         * msdos.c (gettimeofday): Don't bother setting time zone,
4418         since nobody uses it, and our hacks to get it get in the way
4419         of the above fix.  Use simpler method for getting time stamp.
4420         (init_gettimeofday, daylight, gmtoffset): Remove.
4421         * msdos.h (init_gettimeofday): Remove declaration.
4423 1995-09-06  Paul Eggert  <eggert@twinsun.com>
4425         * configure.in (LOCALTIME_CACHE): Define if tzset exists and
4426         if localtime caches TZ.  Check for tzset.
4428         * emacs.c (main): Call tzset only if LOCALTIME_CACHE is defined;
4429         not all Suns have this bug.
4430         * m/pmax.h, s/386bsd.h, s/bsd386.h, s/freebsd.h, s/gnu.h,
4431         * s/netbsd.h (LOCALTIME_CACHE): Remove; now configured automatically.
4433 1995-09-06  Erik Naggum  <erik@naggum.no>
4435         * alloc.c (Fmake_marker): Initialize insertion_type to 0.
4437 1995-09-03  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4439         * insdel.c (adjust_markers_for_insert): New function.
4440         (insert_from_buffer_1, insert_from_string_1, insert_1): Call it.
4442 1995-09-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4444         * fileio.c (Fmake_symbolic_link, Fadd_name_to_file):
4445         Look for handler for the new name as well as for the target.
4447         * dired.c (Ffile_name_all_completions, Ffile_name_completion):
4448         Look for handler for FILE as well as for DIRNAME.
4450 1995-08-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4452         * marker.c (Fcopy_marker): New arg TYPE.
4453         (Fmarker_insertion_type, Fset_marker_insertion_type): New functions.
4454         (syms_of_marker): defsubr them.
4456         * buffer.c (Fmake_indirect_buffer): Set the insertion_type of the
4457         zv_marker markers to 1.
4459         * window.c (save_window_save): Pass the new arg to Fcopy_marker.
4461         * editfns.c (save_excursion_save): Pass the new arg to Fcopy_marker.
4463 1995-08-31  Erik Naggum  <erik@naggum.no>
4465         * keyboard.c (Fcommand_execute): Ignore `disabled' property on
4466         commands if `disable-command-hook' is nil.
4468 1995-08-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4470         * keyboard.c (read_key_sequence): Validate the event position
4471         before calling get_local_map.
4473 1995-08-29  Jack Repenning  <jackr@sgi.com>
4475         * unexelfsgi.c: Compute new data offset based on memory
4476         address; also, copy .got from memory not temacs.
4478 1995-08-29  Kim Storm  <kfs@olicom.dk>
4480         * dosfns.c (Fmsdos_mouse_enable, Fmsdos_mouse_disable)
4481         (Fmsdos_mouse_init): New functions.
4482         (syms_of_dosfns): defsubr them.
4483         (Fmode25, Fmode4350): Call mouse_off unconditionally.
4484         (Fset_mouse_position): Return nil.
4486         * msdos.h (sleep_or_kbd_init): Delete declaration.
4488         * frame.c [!MULTI_FRAME] (Factive_minibuffer_window): New function.
4489         [!MULTI_FRAME] (syms_of_frame): defsubr it.
4491         * sysdep.c (sys_subshell) [MSDOS]: Handle SUSPEND env var.
4492         Disable error report from subshell if system returns non-zero.
4493         Don't call vfork before calling system.
4494         Don't call wait_for_termination.
4495         (sys_select): Turn it off if MSDOS.
4496         (reset_sys_modes): Support EMACSCOLORS env var.
4498         * puresize.h (SITELOAD_PURESIZE_EXTRA): New macro.
4499         (BASE_PURESIZE): Use SITELOAD_PURESIZE_EXTRA.
4501         * msdos.c (putchar): Call internal_flush instead of _flsbuf.
4502         (DO_TERMSCRIPT): New macro to support open-termscript.
4503         (internal_flush): Corrected handling of flush in middle of
4504         escape sequences.  Handle screen width > 127.
4505         (flush_escape): New function for use by internal_flush.
4506         (sys_select): New MS-DOS specific version with us timing.
4507         (EMACSCOLORS): New environment variable.
4508         (IT_clear_end_of_line): Set default face.
4509         (run_msdos_command): Restore mouse position after command.
4510         Close "backup fd"s.
4511         Corrected switch to cooked mode while running command.
4512         (mouse_on, mouse_off): Now checks have_mouse > 0.
4513         Note: "have_mouse < 0" means that a mouse is present, but
4514         it has been disabled via msdos-mouse-disable.
4515         (IT_write_glyphs): Allow esc-character itself to be printed.
4516         (event_timestamp): New function to make reliable times stamps.
4517         (sys_chdir): Skip drive letter before calling chdir.
4518         (sleep_or_kbd_hit): Handle 60 seconds time wrap.
4519         (mouse_get_pos): Return event_timestamp.
4521 1995-08-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4523         * msdos.c (struct IT_menu_state): Refer to it as struct, not typedef.
4525         * editfns.c (Fdecode_time): Doc fix.
4527         * minibuf.c (Fdisplay_completion_list): Clear all text properties
4528         for the whitespace between completion items.
4530         * xterm.c (x_wm_set_icon_pixmap): If trying to turn off icon
4531         pixmap, do nothing.
4533 1995-08-28  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
4535         * s/gnu.h (GETPGRP_NO_ARG, WAIT_USE_INT, UNEXEC): New macros.
4536         (HAVE_SOCKETS, A_TEXT_SEEK, NO_REMAP): Macros removed.
4538 1995-08-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4540         * doprnt.c (doprnt): Fix typo in error message.
4542 1995-08-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4544         * emacs.c (decode_env_path): Use ".", not nil, for current dir.
4546 1995-08-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4548         * keyboard.c (modifier_names): Add 4 bits to modifier bit positions.
4550 1995-08-21  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
4552         * xdisp.c (display_text_line): Write blanks under the entire
4553         scroll bar, not just the first column.
4555 1995-08-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4557         * s/irix5-2.h (SA_RESTART): Add #undef.
4559         * keyboard.c
4560         (Qpost_command_idle_hook, Vpost_command_idle_hook): New vars.
4561         (syms_of_keyboard): Set up new vars.
4562         (command_loop_1): Run Qpost_command_idle_hook.
4564 1995-08-20  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4566         * s/aix3-1.h (SYSTEM_TYPE): Change to just "aix".
4568         * s/aix4.h: Include aix3-2-5.h, not aix3-2.h.
4569         * s/aix4-1.h (sigsetmask, _setjmp, _longjmp): Delete undefs.
4570         [__GNUC__] (_NO_PROTO): Add undef.
4572         * s/aix3-2-5.h (POSIX_SIGNALS, CLASH_DETECTION): Defined.
4573         (SIGNALS_VIA_CHARACTERS, MAIL_USE_LOCKF): Defined.
4574         (sigmask, sigsetmask, _setjmp, _longjmp): Add undefs.
4576 1995-08-19  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4578         * dispnew.c: Include syssignal.h.
4580         * lisp.h (struct Lisp_Marker): Make insertion_type an unsigned int.
4582 1995-08-16  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4584         * syntax.c (scan_sexps_forward): Fix previous change.
4586 1995-08-15  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
4588         * emacs.c (sort_args): Initialize best_priority smaller than any
4589         actual priority.
4591 1995-08-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4593         * fileio.c (Fwrite_region): New arg lockname.
4594         (auto_save_1): Pass new arg.
4596         * callproc.c (Fcall_process_region): Pass new arg to Fwrite_region.
4598         * emacs.c (standard_args): Fix previous change.
4600 1995-08-14  Erik Naggum  <erik@naggum.no>
4602         * emacs.c (standard_args): Add option --eval to evaluate an
4603         expression on the command line and print the result.
4605 1995-08-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4607         * cmds.c (Fself_insert_command): Optimize the case with arg > 2
4608         to avoid running change hooks lots of times.
4610 1995-08-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4612         * s/isc4-1.h (NO_SOCKETS_IN_FILE_SYSTEM): Defined.
4613         (START_FILES): Defined.
4614         (LIB_STANDARD): New definition, details depending on __GNUC__.
4616         * syntax.c (scan_sexps_forward): Use the initial depth
4617         in the starting state for tracking when we reach TARGETDEPTH.
4619 1995-08-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4621         * m/alpha.h: Test OSF1, not __osf1__.
4622         (ORDINARY_LINK): Define only if OSF1.
4623         (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF, PTY_OPEN):
4624         Define only if OSF1.
4625         (TEXT_END, DATA_END): Fix the definitions.
4627 1995-08-10  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4629         * s/linux.h (ULIMIT_BREAK_VALUE, SEGMENT_MASK): Moved to intel386.h.
4630         (LIBS_SYSTEM): Define this instead of LIBS_MACHINE.
4632         * m/intel386.h [linux] (ULIMIT_BREAK_VALUE, SEGMENT_MASK):
4633         Moved from linux.h.
4635         * m/alpha.h [linux] (COFF, NO_TERMIO): Defined.
4636         [linux] (TEXT_END, DATA_END): New definitions.
4638         * unexalpha.c (fatal_unexec): Use vfprintf, not _doprnt.
4640         * m/alpha.h (LIBS_DEBUG, START_FILES, LIBS_MACHINE):
4641         Define only if __osf1__.
4643         * macros.c (Fcancel_kbd_macro_events): New function.
4644         (syms_of_macros): defsubr it.
4646         * frame.c (store_frame_param): Don't call set_menu_bar_lines if X.
4648 1995-08-07  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4650         * keyboard.c (read_key_sequence): Undo previous change.
4651         Instead, put back the orig_uppercase event if key is not defined.
4652         When downcasing, back up one step in key-translation processing.
4654         * doprnt.c (doprnt): Error if %-width is too big.
4656         * editfns.c (Fformat): Limit minlen to avoid stack overflow.
4658 1995-08-07  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
4660         * insdel.c (signal_before_change, signal_after_change): Fix
4661         spelling of Vbefore_change_functions and Vafter_change_functions.
4663 1995-08-07  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4665         * doprnt.c (doprnt): Don't let size_bound be gigantic.
4666         Fix error message.
4668 1995-08-06  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4670         * buffer.c (get_truename_buffer): New function.
4671         * filelock.c (lock_file): Use get_truename_buffer.
4673         * emacs.c (main) [USG5]: Call setpgrp without testing INTERRUPT_INPUT.
4675         * xdisp.c (redisplay): Compute mini_frame the same way
4676         echo_area_display does.
4678         * keyboard.c (kbd_buffer_store_event):
4679         Don't insert two buffer_switch_event's in a row.
4681         * xfns.c (x_set_menu_bar_lines) [USE_X_TOOLKIT]: When turning
4682         menu bar on, make sure next redisplay creates it.
4684         * eval.c (run_hook_with_args): Move the GCPRO2; add UNGCPRO.
4686         * process.c (read_process_output, exec_sentinel): Call
4687         record_asynch_buffer_change after any eval.  Don't call
4688         prepare_menu_bars.
4689         (wait_reading_process_input): Don't call prepare_menu_bars.
4691 1995-08-05  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4693         * search.c (Freplace_match): New arg SUBEXP.
4695         * eval.c (run_hook_with_args): Add gcpros.
4696         * print.c (print_string): Use insert_from_string for output to buffer.
4697         * minibuf.c (Fdisplay_completion_list): gcpro elt.
4699         * insdel.c (signal_before_change, signal_after_change): Major rewrite.
4700         (before_change_function_restore, after_change_function_restore)
4701         (before_change_functions_restore, after_change_functions_restore):
4702         Functions deleted.
4703         * eval.c (run_hook_list_with_args): New function.
4704         * buffer.c (Qbefore_change_functions, Qafter_change_functions):
4705         New variables.
4706         (syms_of_buffer): Initialize them.
4707         * buffer.h (Qbefore_change_functions, Qafter_change_functions):
4708         Declared.
4710         * frame.c (Fset_mouse_position, Fset_mouse_pixel_position): Doc fixes.
4711         [not MULTI_FRAME] (Fframe_visible_p): New function.
4712         [not MULTI_FRAME] (syms_of_frame): defsubr it.
4714         * xfns.c (Ffocus_frame, Funfocus_frame): Make them no-ops.
4716 1995-08-04  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4718         * xterm.c (x_delete_display) [AIX]: Don't call XRmDestroyDatabase.
4720         * msdos.c (IT_write_glyphs): Call ScreenSetCursor.
4722         * lread.c (saved_doc_string*): New variables.
4723         (load_force_doc_strings): New variable.
4724         (syms_of_lread): Set up Lisp var load-force-doc-strings.
4725         (read_list): Handle load_force_doc_strings.
4726         Use the saved_doc_string, if it's right; otherwise, reread from file.
4727         (read1): Save last doc string in saved_doc_string.
4729 1995-08-03  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4731         * frame.c (set_menu_bar_lines, set_menu_bar_lines_1): New functions.
4732         (store_frame_parameter): Call set_menu_bar_lines.
4733         [!MULTI_FRAME] (Fmodify_frame_parameters): Call set_menu_bar_lines.
4735         * frame.c: Move various Q... vars to top of file, unconditional.
4736         (Vterminal_frame): Just one definition, at top of file, unconditional.
4737         (syms_of_frame_1): New function.
4738         (syms_of_frame. both definitions): Call syms_of_frame_1.
4740 1995-08-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4742         * keyboard.c (read_key_sequence): Don't downshift an event
4743         if that fails to make it bound.
4744         (follow_key): Don't alter contents of NEXT until the end.
4746         * xmenu.c [USE_X_TOOLKIT] (xmenu_show): Compute root-based
4747         coordinates.  Make a dummy event to pass them to lw_popup_menu.
4749         * lread.c (Funintern): Fix deleting the last symbol in a chain.
4751 1995-08-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4753         * xdisp.c (redisplay): When displaying a terminal frame,
4754         if it isn't the same one as last time, clear it and redraw.
4755         Don't redisplay mini_frame as well, if it is a termcap frame.
4757         * frame.c (do_switch_frame): Do nothing special when switching
4758         between terminal frames.
4760 1995-07-31  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
4762         * s/usg5-4.h, s/sol2-5.h (GETTIMEOFDAY_ONE_ARGUMENT): Deleted;
4763         configure handles this now.
4765 1995-07-31  Simon Marshall  <simon@duality.gnu.ai.mit.edu>
4767         * eval.c (run_hook_with_args): Renamed from Frun_hook_with_args.
4768         Take extra arg CONDITION, and return appropriately based on hook
4769         function value if CONDITION is until_success or until_failure.
4770         (Frun_hooks, Frun_hook_with_args, Frun_hook_with_args_until_success)
4771         (Frun_hook_with_args_until_failure): New functions, use it.
4772         (syms_of_eval): defsubr them.
4774         * lisp.h (Frun_hook_with_args, Frun_hook_with_args_until_success)
4775         (Frun_hook_with_args_until_failure): Declare them.
4777 1995-07-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4779         * xterm.c (XTread_socket): For UnmapNotify, use x_top_window_to_frame.
4781         * keyboard.c (kbd_buffer_get_event, swallow_events): Fix prev change.
4783 1995-07-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4785         * xmenu.c (single_submenu):
4786         Only ignore 1st char of pane name if that is an @.
4788         * frame.c (Fmake_terminal_frame): Copy face_alist from selected frame.
4790         * s/linux.h (HAVE_XRMSETDATABASE): Define if not defined.
4792 1995-07-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4794         * s/isc3-0.h (HAVE_SELECT): Defined.
4796         * s/isc4-1.h (HAVE_SOCKETS, NEED_NET_ERRNO_H): Defined.
4797         (HAVE_TERMIOS): Defined.
4798         (HAVE_TERMIO): Add undef.
4800         * s/isc4-0.h (sigblock, SIG_BLOCK): Don't define them if POSIX_SIGNALS.
4802         * process.c: Maybe include net/errno.h.
4804         * alloc.c (cons_cells_consed, floats_consed, vector_cells_consed)
4805         (symbols_consed, string_chars_consed, misc_objects_consed)
4806         (intervals_consed): New vars.
4807         (make_float, Fcons, make_interval, allocate_vectorlike, Fmake_symbol)
4808         (allocate_misc, make_uninit_string): Increment them.
4809         (Fmemory_use_counts): New function.
4810         (syms_of_alloc): defsubr it.
4812 1995-07-28  Göran Uddeborg  <uddeborg@carmen.se>
4814         * s/isc4-1.h: ISC 4.1 has termios.
4816 1995-07-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4818         * config.in (GETTIMEOFDAY_ONE_ARGUMENT): Add #undef.
4820 1995-07-27  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
4822         * eval.c (syms_of_eval): Add missing defsubr.
4824         * buffer.c (struct sortstrlist): New type.
4825         (overlay_heads, overlay_tails): Change to struct sortstrlist.
4826         (overlay_heads_len, overlay_tails_len): Deleted; now part of struct.
4827         (record_overlay_string): New function.
4828         (overlay_strings): Simplify.  Use record_overlay_string.
4829         Check for window match in overlays_after loop, not just in
4830         overlays_before.
4831         Handle zero-sized overlays better.
4833 1995-07-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4835         * keymap.c (describe_buffer_bindings): Print bindings from
4836         Vfunction_key_map and from Vkey_translation_map.
4837         (describe_translation): New function.
4838         (describe_command): Handle vector like string.
4839         (describe_map_tree): New arg TRANSL.  Callers changed.
4841         * keymap.c (Vkey_translation_map): Defined.
4842         (syms_of_keymap): Set up Lisp var.
4843         * keyboard.c (Vkey_translation_map): Just declare, don't define.
4844         (syms_of_keyboard): Don't set up Lisp var.
4846 1995-07-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4848         * Makefile.in (prefix-args): Pass ALL_LDFLAGS.
4850         * xdisp.c (syms_of_xdisp): Doc fix.
4852         * keyboard.c (kbd_buffer_get_event): Update input_pending after
4853         discarding one event from the queue, if we process the event here.
4854         (swallow_events): Likewise.
4856 1995-07-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4858         * m/iris4d.h (LIBS_MACHINE): Delete -lsun.
4859         * s/irix3-3.h (LIBS_SYSTEM): Defined.
4861         * frame.h (struct frame): Rename `display' member to `output_data'.
4862         Use new data type name for output_data.x.
4863         * xterm.h (struct x_output): Renamed from struct x_display.
4864         * xterm.c, xfns.c, xmenu.c, dispnew.c, frame.c, xfaces.c: Do renamings:
4865         frame->display => frame->output, struct x_display -> struct x_output.
4867 1995-07-25  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
4869         * lisp.h (Frun_hook_with_args): Declare this function.
4870         * eval.c (Frun_hook_with_args): New C function, formerly in subr.el.
4871         * insdel.c (signal_before_change): Use Frun_hook_with_args.
4872         (signal_after_change): Likewise.
4874 1995-07-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4876         * xterm.c (next_noop_dpyinfo): New variable.
4877         (XTread_socket): Use that to cycle through all displays for XNoOp.
4879 1995-07-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4881         * undo.c (Fprimitive_undo): Don't end inner loop
4882         just because a previous-modtime doesn't match any more.
4884 1995-07-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4886         * process.c (Fstart_process):
4887         Don't expand the file name before trying openp.
4889 1995-07-23  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4891         * xterm.h (struct x_display): New fields saved_button_event, id.
4892         * termhooks.h (enum event_kind): Added menu_bar_activate_event.
4893         * xterm.c (XTread_socket) [USE_X_TOOLKIT]: For ButtonPress in menu bar,
4894         save the event--don't pass to Xt yet.  Make a menu_bar_activate_event.
4895         (temp_index, temp_buffer): Now static.
4896         * keyboard.c (kbd_buffer_get_event) [USE_X_TOOLKIT]:
4897         Handle menu_bar_activate_event by calling x_activate_menubar.
4898         * xmenu.c: Include buffer.h.
4899         (x_activate_menubar): New function.
4900         (set_frame_menubar): New arg deep_p.  Callers changed.
4901         Run various hooks here when deep_p is true.
4902         (frame_vector): Variable deleted.
4903         (syms_of_xmenu): Don't staticpro it.
4904         (frame_vector_add_frame): Function deleted.
4905         (menubar_id_to_frame): New function.
4906         (menubar_selection_callback): Use menubar_id_to_frame.
4907         (next_menubar_widget_id): New variable.
4908         (set_frame_menubar): Use next_menubar_widget_id.
4909         (free_frame_menubar): Get id from f->display.x->id.
4911         * xdisp.c (update_menu_bar): Pass new arg to set_frame_menubar.
4912         * xfns.c (x_menubar_window_to_frame): New function.
4914         * window.c (Fprevious_window, Fnext_window): When minibuf = nil,
4915         accept only the minibuffer window that is currently active.
4917 1995-07-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4919         * lread.c (read_list): When a file loaded from site-init.el uses #$,
4920         turn it into a relative file name starting with ../lisp.
4922         * dispnew.c (update_frame): Check that the echo area is in the
4923         frame being displayed.
4925         * keyboard.c (command_loop_1): Clear echo area after 2 sec
4926         only if the minibuffer is in the same place as the echo area.
4928         * window.h (echo_area_window): Declared.
4930         * xdisp.c (echo_area_display): Use selected frame's minibuf window
4931         but don't set the minibuf_window (don't call choose_minibuffer_frame).
4932         (message2_nolog, message): Likewise.
4933         (echo_area_window): New variable.
4934         (echo_area_display): Set echo_area_window.
4935         (redisplay_window): Distinguish minibuf_window and echo_area_window.
4937         * fileio.c (do_auto_save_unwind): Set auto_saving to 0.
4938         (Fdo_auto_save): Don't clear auto_saving here.  Set it to 1
4939         only when we make the unwind-protect.
4941         * xdisp.c (redisplay): Skip shortcuts if buffer's clip_changed is set.
4942         (redisplay_window): If buffer's clip_changed is set, update mode line.
4944         * frame.c (do_switch_frame): Don't call choose_minibuffer_frame.
4945         (choose_minibuf_frame): Choose frame regardless of minibuffer level.
4946         * minibuf.c (read_minibuf): Call choose_minibuffer_frame.
4947         First save the previous minibuf_window.
4948         (read_minibuf_unwind): Restore old minibuf_window.
4950 1995-07-20  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4952         * s/aix4.h (AIX4): New definition.
4953         * m/ibmrs6000.h (LD_SWITCH_MACHINE) [AIX4]: New alternate definition.
4955         * xmenu.c (set_frame_menubar): If the Lisp-level menu bar menus
4956         are unchanged, don't recompute the widgets.
4958         * xmenu.c (syms_of_xmenu): Set up Qdebug_on_next_call.
4959         (set_frame_menubar): Bind it to nil.
4961         * fileio.c (Ffile_modes) [DOS_NT]: Use check_executable.
4962         (check_executable): DOS_NT code moved here from Ffile_modes.
4963         (check_writable): New code for MSDOS.
4965         * editfns.c (Fformat): Doc fix.
4967 1995-07-20  Karl Heuer  <kwzh@gnu.ai.mit.edu>
4969         * fns.c (Fsafe_length): Return a conservative upper bound.
4971 1995-07-20  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4973         * editfns.c (Fsubst_char_in_region):
4974         Bind buffer-file-name to nil if NOUNDO is true.
4976         * insdel.c (prepare_to_modify_buffer): Don't lock the file
4977         if current_buffer->filename is nil.
4979         * msdos.c (init_environment): Move alloca call out of function arg.
4981         * puresize.h [!MULTI_FRAME] (BASE_PURESIZE): Increased to 325000.
4983 1995-07-19  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4985         * textprop.c (Fget_char_property): If OBJECT is non-current buffer,
4986         use it properly for overlays_at.
4988 1995-07-18  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4990         * alloc.c (init_alloc_once): Set gc_cons_threshold from Lisp obj size.
4992         * editfns.c (Fmessage): Doc fix.
4993         (Fformat): Increment total for size of control string.
4995         * window.c (Fwindow_start): Doc fix.
4997         * xfaces.c (unload_color): Don't free colors if immutable colormap.
4999         * eval.c (Ffuncall, Fapply): Doc fix.
5001         * callint.c (Fcall_interactively): Doc fix.
5003         * fileio.c (Fexpand_file_name): Initial ~ means name is absolute.
5005         * config.in: Renamed from config.h.in.
5006         * paths.in: Renamed from paths.h.in.
5007         * Makefile.in: Renamed from Makefile.in.in.
5008         (paths.h): Depend on paths.in.
5009         (config.h): Depend on config.in.
5010         (distclean): Delete Makefile.c, not Makefile.in.
5011         (SOURCES): Corresponding changes.
5013         * callproc.c (init_callproc): Set Vdoc_directory based on
5014         Vinstallation_directory when that's non-nil, regardless of whether
5015         we had to set Vexec_directory.
5017         * unexsunos4.c (unexec): If not SUNOS4_SHARED_LIBRARIES
5018         or if apparently not dynamically linked, just clear rel and erel.
5020         * s/sunos4shr.h (SUNOS4_SHARED_LIBRARIES): Defined.
5022 1995-07-18  Mikael Djurfeldt  <mdj@kidjo.nada.kth.se>
5024         * xdisp.c (decode_mode_spec): New arg spec_width.
5025         Use pint2str for %l and %c.  New code to output ??.
5026         (display_mode_element): New var minendcol.
5027         Pass new arg to decode_mode_spec.
5028         (pint2str): New function.
5030 1995-07-17  Karl Heuer  <kwzh@kropotkin.gnu.ai.mit.edu>
5032         * bytecode.c (Fbyte_code): Fix variable names in previous change.
5034 1995-07-17  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5036         * xfns.c [USE_MOTIF]: Don't include X11/Xaw/Paned.h, X11/Xaw/Label.h.
5038 1995-07-16  Richard Stallman  <rms@gnu.ai.mit.edu>
5040         * keyboard.c (kbd_buffer_get_event): Discard a selection_clear_event
5041         before processing it.
5043         * bytecode.c (Fbyte_code): For Beqlsign, if both args are ints,
5044         compare as ints.
5046         * xterm.c [HAVE_X11XTR6]: Include locale.h.
5047         (x_term_init) [HAVE_X11XTR6]: Set LC_NUMERIC and LC_TIME back to C.
5049         * data.c (Fnumber_to_string): Make `buffer' long enough.
5051 1995-07-15  Richard Stallman  <rms@gnu.ai.mit.edu>
5053         * xselect.c (x_clear_frame_selections): Delete duplicate code.
5055         * alloc.c (Flist): Rewritten.
5057 1995-07-13  Richard Stallman  <rms@gnu.ai.mit.edu>
5059         * dispnew.c (Fsit_for): Don't call prepare_menu_bars here.
5061         * emacs.c (main): Add to usage message.
5063         * s/netbsd.h (AMPERSAND_FULL_NAME): Defined.
5065 1995-07-12  Richard Stallman  <rms@gnu.ai.mit.edu>
5067         * s/sco4.h (SCO_R4): Defined.
5069 1995-07-10  Richard Stallman  <rms@gnu.ai.mit.edu>
5071         * floatfns.c (Fexpt): Use EMACS_INT for integer calculation.
5072         (Ffloor): Likewise.
5074 1995-07-09  Richard Stallman  <rms@gnu.ai.mit.edu>
5076         * buffer.c (last_overlay_modification_hooks): New variable.
5077         (last_overlay_modification_hooks_used): Likewise.
5078         (syms_of_buffer): Init last_overlay_modification_hooks.
5079         (add_overlay_mod_hooklist): New function.
5080         (call_overlay_mod_hooks): Call add_overlay_mod_hooklist.
5081         (report_overlay_modification): When AFTER is non-nil,
5082         call the functions recorded in last_overlay_modification_hooks.
5084         * s/aix4-1.h (_setjmp, _longjmp): Add #undef's.
5086         * alloc.c (allocating_for_lisp): New variable.
5087         (init_intervals, make_interval, init_symbol, Fmake_symbol)
5088         (init_float, make_float, init_cons, Fcons)
5089         (allocate_vectorlike, init_marker, allocate_misc)
5090         (init_strings, make_uninit_string): Set allocate_misc temporarily.
5092         * Makefile.in.in (TAGS): Use etags from build dir, but make TAGS
5093         file in source dir.
5094         (${lispsource}TAGS): Renamed from ../lisp/TAGS.  Deps changed too.
5095         (tags): Corresponding changes.
5096         (lisptagsfiles): Delete the term/*.el files.
5098         * fileio.c (Fwrite_region): If fsync fails with EINTR, don't
5099         report a Lisp error.
5101 1995-07-08  Richard Stallman  <rms@gnu.ai.mit.edu>
5103         * process.c (keyboard_bit_set): Fix one-off in loop end.
5105 1995-07-07  Richard Stallman  <rms@gnu.ai.mit.edu>
5107         * keymap.c (current_minor_maps): Catch errors in Findirect_function.
5108         (current_minor_maps_error): New function.
5110 1995-07-06  Richard Stallman  <rms@gnu.ai.mit.edu>
5112         * frame.h (struct frame): New field `mouse_moved'.
5113         * keyboard.c (mouse_moved): Variable deleted.
5114         (kbd_buffer_get_event, readable_events):
5115         Check mouse_moved in all frames.
5116         Check do_mouse_tracking for non-nil ness.
5117         (Ftrack_mouse): Set do_mouse_tracking to t.
5118         * xterm.c (note_mouse_movement): Set mouse_moved in the x_display_info.
5119         (XTmouse_position, x_scroll_bar_note_movement): Likewise.
5120         (x_scroll_bar_report_motion): Likewise.
5122         * xterm.c (x_draw_box, x_display_box_cursor, x_display_bar_cursor):
5123         New args x, y.  Don't use curs_x or curs_y here.  Callers changed.
5125         * ntinevt.c (win32_mouse_position, mouse_moved_to):
5126         Access mouse_moved in selected_frame.
5127         * msdos.c (mouse_get_pos, mouse_check_moved, XMenuActivate):
5128         Access mouse_moved in selected_frame.
5130         * lread.c (Fread): Rename arg READCHARFUN to STREAM.
5132         * xfns.c (Fx_list_fonts): Don't free thisinfo if it is 0.
5134         * sysdep.c (sys_close): Handle Sunos 4.1 bug in close errno value.
5136 1995-07-05  Richard Stallman  <rms@gnu.ai.mit.edu>
5138         * Makefile.in.in (lispsource): Renamed from lispdir.
5140         * sysdep.c (init_system_name): Add cast in init for fqdn.
5142 1995-07-03  Michael Shields  <shields@tembel.org>
5144         * m/intel386.h [linux]: Include values.h and #undef
5145         certain macros, to avoid conflict later.
5147 1995-07-06  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
5149         * s/irix6-0.h [!__GNUC__] (LD_SWITCH_SYSTEM): Define this.
5151         * s/usg5-4-2.h (LIB_MOTIF, VFORK_RETURN_TYPE): Define these.
5153         * xterm.c (x_initialize) [USE_X_TOOLKIT]: Set fallback resources.
5155         * window.c (Fset_window_hscroll): Set clip_changed in the buffer.
5156         (temp_output_buffer_show): Likewise.
5158         * lisp.h (get_keymap_1): Declared.
5160         * editfns.c (Fwiden): Set clip_changed in current buffer.
5161         (Fnarrow_to_region, save_restriction_restore): Likewise.
5163         * buffer.c (overlays_in): Don't count empty overlays at END.
5164         (Foverlays_in): Likewise.
5166 1995-07-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5168         * keyboard.c (read_char): Temporarily clear Vquit_flag
5169         while checking Vspecial_event_map.
5171         * xdisp.c (redisplay_window): Fix typos in clip_changed change.
5173         * buffer.h (struct buffer): New field clip_changed.
5175         * xdisp.c (clip_changed): Variable deleted.
5176         (prepare_menu_bars): Don't look at clip_changed.
5177         (redisplay): Don't set clip_changed.  Do set b's clip_changed.
5178         (redisplay_window): Check clip_changed in current_buffer.
5179         (mark_window_display_accurate): Clear clip_changed
5180         in the window's buffer.
5182 1995-07-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5184         * keyboard.c (Vspecial_event_map): New variable.
5185         (syms_of_keyboard): Define Lisp var; init the map.
5186         (read_char): Look up each event in Vspecial_event_map; if bound,
5187         execute the binding here and read another event.
5188         (keys_of_keyboard): Make bindings for iconify-frame,
5189         make-frame-visible and delete-frame.
5191         * fns.c (Fsafe_length): New function.
5192         (syms_of_fns): defsubr it.
5193         * lisp.h (Fsafe_length): Declared.
5194         * xfaces.c (compute_char_face): Use Fsafe_length.
5196         * s/aix4-1.h (sigsetmask): Add #undef.
5198         * s/riscos5.h: New file.
5200         * xfns.c (x_set_icon_type, x_set_icon_name): Don't ever remap the
5201         frame window; changing the icon doesn't make it disappear.
5203         * process.c (Fstart_process): Expand PROGRAM.
5204         Error if it is a directory.
5206         * s/sunos4shr.h (LIBXMU): New definitions (two alternative ones).
5208         * s/sunos4-1-3.h: Don't use sunos4shr.h; go back to 19.28 definition.
5210 1995-06-30  Geoff Voelker  (voelker@cs.washington.edu)
5212         * nt.c (PASSWD_FIELD_SIZE): Defined.
5213         (the_passwd_name, the_passwd_passwd, the_passwd_gecos)
5214         (the_passwd_dir, the_passwd_shell, getpwuid): Use PASSWD_FIELD_SIZE.
5215         (get_emacs_configuration): Check if processor macros are defined.
5217         * ntheap.c: Include config.h.
5218         (syspage_mask, real_data_region_end): Defined.
5219         (allocate_heap) [WINDOWS95]: Reverse conditional, end search
5220         at 0xD00000.
5221         (sbrk): Commit and uncommit memory in machine dependent
5222         page size chunks.
5224         * s/windows95.h (CANNOT_DUMP): Undefined.
5225         * makefile.nt (EMACS) [win95]: Removed.
5227         * makefile.nt (TLASTLIB): Defined.
5228         (TEMACS): Use TLASTLIB.
5229         * unexnt.c (get_section_info): Set the end of the data region
5230         to be just before the start of the shared library data.
5231         (read_in_bss): Read directly into memory.
5232         (map_in_heap): Read directly into memory if unable to map.
5234 1995-06-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5236         * s/hpux9.h (LIBX11_SYSTEM): Add undef.
5238         * m/intel386.h [SOLARIS] (LIBS_MACHINE): Move this out of the
5239         SOLARIS2_4 conditional.
5241         * xdisp.c (redisplay_window): Update individual window's mode line
5242         if %c calls for an update.
5243         (redisplay): Set update_mode_line for selected window only,
5244         if it needs this because of %c.
5246 1995-06-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5248         * s/aix3-2-5.h (C_OPTIMIZE_SWITCH, C_DEBUG_SWITCH): Use these
5249         names instead of C_SWITCH_OPTIMIZE, C_SWITCH_DEBUG.
5251         * s/aix4.h: Include aix3-2.h, not aix3-2-5.h.
5253         * callproc.c (child_setup): Don't get confused if in == err.
5255         * xterm.c (XTread_socket): Turn off meta, super, hyper and alt bits
5256         in the arg for XLookupKey.
5258 1995-06-28  Morten Welinder  <terra+@cs.cmu.edu>
5260         * unexmips.c [MACH]: Include a.out.h.
5261         [MACH] (STYP_INIT, _RDATA, STYP_RDATA, _SDATA, STYP_SDATA): Defined.
5262         [MACH] (_SBSS, STYP_SBSS, HDRR, pHDRR): New definitions.
5263         (unexec): Add MACH conditionals.
5265         * m/pmax.h [MACH]: Use built-in alloca, set START_FILES.
5267         * s/mach-bsd4-3.h: New file.
5269 1995-06-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5271         * term.c (term_init): Alternative error messages for TERMCAP/TERMINFO.
5273         * m/alpha.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN)
5274         (PTY_TTY_NAME_SPRINTF): New definitions.
5276         * dispnew.c (update_frame): Pretend cursor is in echo area
5277         rather than put it in a minibuffer hidden by the echo area.
5279 1995-06-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5281         * s/hpux9.h (LIBXMU): New definition.
5283         * s/hpux9-x11r4.h, s/hpux9shxr4.h: New files.
5285         * xmenu.c (single_submenu): Handle commands appearing directly
5286         in the menu bar.
5288 1995-06-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5290         * xterm.c (x_display_bar_cursor, x_display_box_cursor):
5291         Don't alter curs_x or curs_y here.
5292         (x_display_cursor): Copy them from the frame cursor here.
5293         (x_update_cursor): New function.
5294         (frame_highlight, frame_unhighlight): Use x_update_cursor.
5296         * xdisp.c (echo_area_display): Don't set FRAME_CURSOR_... here.
5297         (redisplay): In the "point hasn't moved" shortcut,
5298         make sure that the cursor is in the right window already.
5300         * msdos.c (IT_cursor_to, IT_clear_end_of_line, IT_write_glyphs)
5301         (IT_set_face): Call internal_flush if short of room.
5303 1995-06-25  Morten Welinder  <terra+@cs.cmu.edu>
5305         * emacs.c (init_cmdargs): Make Vinvocation_directory
5306         absolute if it isn't already.
5308 1995-06-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5310         * frame.c (Fdelete_frame): It's ok to have no minibuffer left on
5311         a kboard if there are no frames on it either.
5313         * buffer.c (overlays_in): New function.
5314         (Foverlays_in): New function.
5315         (syms_of_buffer): defsubr it.
5317         * xfns.c (Fx_open_connection, x_display_info_for_name):
5318         Error if window-system is not x.
5320         * process.c (Fopen_network_stream): Sleep 1 sec before connect retry.
5322         * frame.c (next_frame, prev_frame): Consider only frames on same kbd.
5323         (Fdelete_frame): If next_frame finds nothing, try an alternative.
5325         * buffer.c (overlay_strings): Fix calls to xrealloc.
5327 1995-06-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5329         * s/aix4-1.h (LIB_MOTIF): Defined.
5331         * emacs.c (main): Fix --help message.
5333         * window.c (Fsplit_window): Nicer error if split size is too small.
5335         * Makefile.in.in (LIBXMU): New macro.
5336         (LIBXT): Use LIBXMU.
5338 1995-06-23  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5340         * fileio.c (directory_file_name): Don't get confused by // at end
5341         on Unix-like systems.
5343 1995-06-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5345         * xmenu.c (menu_item_enabled_p_1): Special handling for quit.
5346         (set_frame_menubar): Inhibit quitting.
5348 1995-06-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5350         * buffer.c (syms_of_buffer): Doc fix.
5352         * Makefile.in.in (SOME_MACHINE_OBJECTS): Add dosfns.o,
5353         intervals.o, textprop.o.
5355 See ChangeLog.5 for earlier changes.
5357   Copyright (C) 1995-1996, 2001-2014 Free Software Foundation, Inc.
5359   This file is part of GNU Emacs.
5361   GNU Emacs is free software: you can redistribute it and/or modify
5362   it under the terms of the GNU General Public License as published by
5363   the Free Software Foundation, either version 3 of the License, or
5364   (at your option) any later version.
5366   GNU Emacs is distributed in the hope that it will be useful,
5367   but WITHOUT ANY WARRANTY; without even the implied warranty of
5368   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5369   GNU General Public License for more details.
5371   You should have received a copy of the GNU General Public License
5372   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.