*** empty log message ***
[emacs.git] / src / ChangeLog.6
blobee7ca159e63dd57edad651523645dbc1525dd317
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 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.
119         
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 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 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 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 delare 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 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 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,
722         Fwin32_unload_winsock) [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 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 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  Andrw 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 flavour (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 reaonsable 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 initialise 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 Win32 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 SetForgroundWindow.
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 recognise 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 embelish 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 behaviour.
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 2, include fcntl.h and string.h.
1648         * lread.c [MSDOS]: If DJGPP version 2, 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 2, 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,
2307         modifiers_recorded): New variables.
2308         (EMACS_LCONTROL, EMACS_RCONTROL, EMACS_LMENU,
2309         EMACS_RMENU): New macros.
2310         (test_modifier_support, record_keydown, record_keyup,
2311         modifier_set, construct_modifiers): New functions.
2312         (win32_wnd_proc): Monitor modifier keyup and keydown messages.
2313         Map window modifiers into console modifiers to unify input.
2315         (x_create_frame): Use the FixedSys font as the default font.
2316         (x_to_win32_font): For now, always use ANSI_CHARSET.
2318         * w32term.c (convert_to_key_event, is_dead_key): New functions.
2319         (w32_read-socket): Convert console modifiers to Emacs modifiers.
2320         Use console input routines to unify keyboard support.
2321         (x_make_frame_visible): Make frame foreground window.
2323         * ntinevt.c (win32_kbd_mods_to_emacs, win32_kbd_patch_key,
2324         key_event): Convert from static to global functions.
2325         (win32_kbd_patch_key): Set modifiers when AltGr is pressed.
2326         (key_event): Don't modify key code on window input.
2328 1996-02-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2330         * keyboard.c (read_char_minibuf_menu_prompt): Use malloc to allocate
2331         the echo-area prompt buffer.
2332         (read_char_minibuf_menu_text, read_char_minibuf_menu_width):
2333         New variables.
2335 1996-02-01  enami tsugutomo  <enami@ba2.so-net.or.jp>
2337         * dispnew.c (update_frame): Compare FRAME_MINIBUF_WINDOW(f)
2338         against with not minibuf_window but echo_area_window.
2340 1996-02-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2342         * xterm.c (x_term_init): Use "" as 2nd arg to setlocale.
2344         * process.c (wait_reading_process_input): If select times out,
2345         return only if we had no timers to shorten the wait.
2346         Don't shorten the wait for timers if time_limit is -1.
2348         * syssignal.h [POSIX_SIGNALS] (sigsetmask):
2349         Don't define if already defined.
2351         * keyboard.c (echo_now): Renamed from `echo'.  All callers changed.
2353 1996-01-31  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2355         * process.h (synch_process_death, synch_process_retcode): Delete
2356         extra declaration.
2358 1996-01-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2360         * s/sol2-4.h (LIB_X11_LIB): New definition.
2362 1996-01-30  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2364         * s/isc2-2.h (HAVE_SOCKETS): Moved here from s/isc4-1.h.
2365         (NO_SOCKETS_IN_FILE_SYSTEM, NEED_NET_ERRNO_H): Likewise.
2366         (LIBS_SYSTEM): Use -linet unconditionally.
2367         * s/isc4-1.h (HAVE_SOCKETS): Moved to s/isc2-2.h.
2368         (NO_SOCKETS_IN_FILE_SYSTEM, NEED_NET_ERRNO_H): Likewise.
2369         * s/isc4-0.h (LIBS_SYSTEM): Use -linet unconditionally.
2371 1996-01-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2373         * window.c (Fset_window_buffer): Set buffer temporarily around running
2374         the window-scroll-functions.
2375         (Fset_window_buffer_unwind): New function.
2376         (window_initialized): New variable.
2377         (init_window_once): Set it.
2379         * callproc.c (child_setup): Fix size in write call.
2381 1996-01-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2383         * fns.c (Qcursor_in_echo_area): New variable.
2384         (syms_of_fns): Set up Lisp var.
2385         (Fy_or_n_p): Bind Qcursor_in_echo_area in case of nonlocal exit.
2387         * keyboard.c (make_lispy_event): Timer event is a list, not just cons.
2388         (timer_check): When DO_IT_NOW is true, handle events by running
2389         the definition of timer-event.  Don't get the current time if there
2390         are no pending timers.  If an event was generated, return 0,
2391         If all timers were handled, return -1.  Add gcpros.
2393         * xterm.c (x_connection_signal): Don't stop polling.
2394         Don't mess with SIGALRM.
2395         Those were relics of the superseded Dec 19 change.
2397         * process.c (wait_reading_process_input): Don't exit immediately
2398         if select returns due to timeout--loop around to check time left.
2400         * keyboard.c (readable_events): Tell timer_check to execute events.
2402 1996-01-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2404         * keyboard.c (timer_check): Return an EMACS_TIME.
2405         (read_char, kbd_buffer_get_event): Calls changed accordingly.
2407         * process.c (wait_reading_process_input): Call timer_check
2408         and shorten the inner delay if appropriate.
2410 1996-01-28  Morten Welinder  <terra@diku.dk>
2412         * termhooks.h (event_kind): New event type: timer_event.
2414         * keyboard.c (Qtimer_event): New symbol.
2415         (read_char, kbd_buffer_get_event): Don't sleep past the next timer.
2416         (readable_events, kbd_buffer_get_event): Check for timer events.
2417         (make_lispy_event): Handle timer events.
2418         (timer_check): New function.
2419         (Vtimer_list): New variable.
2420         (syms_of_keyboard): Set up Qtimer_event and Vtimer_list.
2422 1996-01-28  enami tsugutomo  <enami@ba2.so-net.or.jp>
2424         * process.c (create_process): Set outchannel to be non-blocking.
2426 1996-01-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2428         * xfns.c (x_frame_parms): Alphabetize.
2429         (enum x_frame_parm): Data type deleted.
2431         * xterm.c (XTframe_raise_lower): Rename arg `raise' to `raise_flag'.
2433 1996-01-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2435         * emacs.c (sort_args): Error if option is missing an arg.
2437         * editfns.c (syms_of_editfns): Make buffer-access-fontify-functions
2438         locally nil in the prin1 buffer.
2440         * fns.c (Fy_or_n_p): Call choose_minibuf_frame.
2442         * editfns.c (Fcompare_buffer_substrings): Access case_canon_table
2443         as a char_table.
2445 1996-01-27  enami tsugutomo  <enami@ba2.so-net.or.jp>
2447         * sysdep.c (child_setup_tty): Turn off ISTRIP to pass 8bit.  Turn
2448         off TAB3 do don't expand tabs.
2450 1996-01-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2452         * minibuf.c (Fset_minibuffer_window): New function.
2453         (keys_of_minibuf): defsubr it.
2455         * cmds.c (Fdelete_backward_char): In overwrite mode,
2456         insert spaces, unless we deleted a tab.
2458 1996-01-26  Eli Zaretskii  <eliz@is.elta.co.il>
2460         * msdos.c (dos_rawgetc): Allow simulation of `Mouse-3' by
2461         simultaneous click/drag of `Mouse-1' and `Mouse-2'.
2463 1996-01-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2465         * xselect.c (xfree): Macro deleted.
2466         Callers changed to use `free' directly.
2468         * xselect.c (x_get_window_property_as_lisp_data): Use xfree, not XFree.
2469         (x_get_window_property): Use XFree for tmp_data.
2471 1996-01-25  Eli Zaretskii  <eliz@is.elta.co.il>
2473         * dosfns.c (mode25, mode4350): Moved to `lisp/dos-fns.el'.
2475         * msdos.c (dos_set_window_size): Make the window size change
2476         faster for standard sizes.  Fix a bug in v2-specific code to
2477         change window size.
2479 1996-01-24  Geoff Voelker  <voelker@cs.washington.edu>
2481         * w32fns.c, w32reg.c, w32term.c, w32term.h, w32xfns.c:
2482         Latest patches backed out.
2484 1996-01-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2486         * termhooks.h (struct input_event): New field `padding'.
2487         Change `kind' field to an int.
2489 1996-01-24  Eli Zaretskii  <eliz@is.elta.co.il>
2491         * msdos.c (dos_set_window_size): New function; switches the screen
2492         to the size as close as possible to requested frame dimensions.
2494         * msdos.h: (dos_set_window_size): Prototype for a new function.
2496         * dispnew.c (change_frame_size_1) [MSDOS]: Support frame size
2497         changing as best as possible.
2499 1996-01-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2501         * Makefile.in (xmenu.o): Depend on termhooks.h.
2503 1996-01-24  Eli Zaretskii  <eliz@is.elta.co.il>
2505         * process.c (wait_reading_process_input) [not subprocesses]: Do
2506         not assume SELECT_TYPE is an int.
2508         * msdos.c (sys_select): Use time macros to prevent time values
2509         from overflowing.
2511 1996-01-23  Geoff Voelker  <voelker@cs.washington.edu>
2513         * xdisp.c (update_menu_bar, redisplay_window): Use FRAME_WINDOW_P
2514         instead of only testing for X11.
2516 1996-01-23  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2518         * m/mips-siemens.h (UNEXEC): unexsni.o renamed from unexelfsni.o.
2519         * m/iris5d.h (UNEXEC): unexsgi.o renamed from unexelfsgi.o.
2520         * m/iris4d.h [USG5_4] (UNEXEC): Likewise.
2522         * config.in (LOCALTIME_CACHE): Delete extra #undef.
2524 1996-01-23  Felix Lee  <flee@teleport.com>
2526         * data.c (kill-local-variable): Didn't update the value of
2527         forwarded objects.
2529         * xdisp.c (mark_window_display_accurate): buffer->clip_changed was
2530         being inappropriately cleared.
2532 1996-01-23  Eli Zaretskii  <eliz@is.elta.co.il>
2534         * syssignal.h (sigblock): Delete this, undoing previous change.
2535         * msdos.c (sigblock): New (dummy) function.
2537 1996-01-22  Simon Marshall  <simon@duality.gnu.ai.mit.edu>
2539         * editfns.c (syms_of_editfns): Correct spelling of Lisp variable
2540         buffer-access-fontified-property.
2542 1996-01-20  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2544         * unexelf.c (unexec): Undo data relocations unconditionally, not
2545         #ifdef SOLARIS2.
2547 1996-01-20  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2549         * syssignal.h [__DJGPP__] (sigblock): Define trivially.
2551 1996-01-20  Andrew Innes  <andrewi@harlequin.co.uk>
2553         * w32term.c (x_make_frame_visible): Explicitly make the frame
2554         the selected frame.
2556 1996-01-20  Andrew Innes  <andrewi@harlequin.co.uk>
2558         * w32xfns.c: Include frame.h.
2559         (critsect, h_input_available): New variables.
2560         (init_crit, delete_crit): Handle all three critical sections.
2561         (GetFrameDC, ReleaseFrameDC): New functions.
2562         (get_next_msg, post_msg): Use h_input_available.
2563         Use CRIT_MSG critical section.
2565         * w32term.h (win32_palette_entry): New structure.
2566         (has_palette, p_colors_in_use, n_colors_in_use, h_palette,
2567         regen_palette): Declare variables.
2568         (struct win32_output): New field.
2569         (my_get_dc): Macro removed.
2570         (GetFrameDC, ReleaseFrameDC): Declare functions.
2572         (critsect): Declare variable.
2573         (enum win32_critical_section): New enumeration.
2574         (enter_crit, leave_crit): Functions converted to macros.
2576         * w32term.c (win32_fill_rect): Remove unused variable.
2577         (x_iconify_frame): Conform to coding style.
2578         (x_draw_box): Don't trim right and bottom.
2579         (x_wm_set_size_hint): Use specific CRIT_MSG critical section.
2581         (win32_fill_rect, dumpglyphs, do_line_dance, x_draw_box):
2582         Use Get/ReleaseFrameDC.
2583         (win32_update_begin): Regenerate palette if required.
2584         (w32_read_socket): Use FALSE. Handle WM_PALETTECHANGED.
2585         (win32_term_init): Use GetDC directly.
2586         Enable palette in display structure.
2587         Predefine white and black.
2588         (x_delete_display): Free palette table.
2590         * w32reg.c (REG_ROOT): Don't use trailing backslash.
2592         * w32fns.c (Vwin32_enable_italics, Vwin32_enable_palette):
2593         New variables.
2594         (syms_of_win32fns): Set up new lisp variables.
2596         (x_set_frame_parameters, x_real_positions, win32_load_font,
2597         win32_abort): Conform to coding style.
2599         (Fwin32_define_rgb_color, Fwin32_load_color_file, Fwin32_map_color,
2600         Fwin32_unmap_color, Fwin32_regenerate_palette): New functions.
2601         (syms_of_win32fns): Set up new lisp subroutines.
2602         (defined_color): Use palettes.
2603         (map_mode): Function removed.
2605         (win32_init_class): Don't CS_OWNDC.
2606         (win32_wnd_proc): Use segregated critical sections appropriately.
2607         Handle WM_PALETTECHANGED.
2608         Record WINDOWPLACEMENT structure length.
2610         (x_to_win32_weight, win32_to_x_weight): Handle "heavy", "extrabold",
2611         "light", "extralight", and "thin" fonts.
2612         (x_to_win32_charset, win32_to_x_charset): New functions.
2613         (win32_to_x_font): Use win32_to_x_charset.
2614         (x_to_win32_font): Use x_to_win32_charset.
2615         Support Windows font names.
2617         (Fx_list_fonts, Fx_display_color_cells, Fx_display_mm_height.
2618         Fx_display_mm_width): Use GetDC directly.
2620         (Fx_open_connection): Support external color mapping files.
2622 1996-01-20  Geoff Voelker  <voelker@cs.washington.edu>
2624         * ntterm.c (clear_frame): Use FillConsoleOutput* calls instead of
2625         ScrollConsoleScreenBuffer (which has a bug on Windows 95).
2627         * ntinevt.c (WIN32_KEY_SHIFTED): Macro undefined.
2628         (win32_number_shift_map): Array undefined.
2629         (win32_kbd_patch_key): Properly handle virtual keys for
2630         arbitrary keyboards.
2631         (map_virt_key, key_event, win32_mouse_position, do_mouse_event,
2632         win32_read_socket): Support for MULE.
2634         * nt.c (nt_stat): Use alloca instead of xmalloc.
2635         (get_unassigned_drive_letter, is_toplevel_share_name,
2636         stat_toplevel_share): New functions for stat on remote shares.
2637         (readdir): Use IS_ANY_SEP.
2639         * makefile.nt (keyboard.obj, dispnew.obj): Depend upon w32term.h.
2640         (LIBS): Link with mpr.lib for remote share support.
2642 1996-01-20  Paul Eggert  <eggert@twinsun.com>
2644         * editfns.c (Fformat_time_string): Doc fix.
2645         Don't crash if the resulting string is empty.
2647 1996-01-19  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2649         * buffer.c (Fother_buffer): If we have to create a new buffer, use
2650         default-major-mode.
2652 1996-01-19  Erik Naggum  <erik@naggum.no>
2654         * frame.c (make_frame): Initialize frame title field to nil.
2656 1996-01-18  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2658         * alloc.c (mark_object): Mark frame title field.
2660 1996-01-22  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2662         * xterm.c [SOLARIS2]: Include Xlibint.h.
2663         (x_connection_signal): Access XlibDisplayWriting properly.
2664         No need to sleep--if the flag is set, assume connection is dead.
2666 1996-01-21  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2668         * lisp.h (XCAR, XCDR, CAR, CDR): New macros.
2670         * xmenu.c (set_frame_menubar):
2671         Use safe_run_hooks for Qmenu_bar_update_hook.
2673         * xdisp.c (update_menu_bar):
2674         Use safe_run_hooks for Qmenu_bar_update_hook.
2676         * lread.c (syms_of_lread): Set Vsource_directory here.
2677         (init_lread): Not here.
2679         * macros.c (Fstart_kbd_macro): Use xmalloc.
2680         Shrink the kbd macro buffer if it is very big.
2682         * lisp.h (make_number): New macro definition.
2683         * data.c (make_number): Function deleted.
2685 1996-01-20  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2687         * keymap.c (Faccessible_keymaps): Doc fix.
2689 1996-01-19  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2691         * keymap.c (describe_command): Sometimes use col 32 for desc.
2692         Record that col in previous_description_column for hysteresis.
2693         (describe_map): Clear out previous_description_column.
2695 1996-01-19  enami tsugutomo  <enami@sys.ptg.sony.co.jp>
2697         * frame.c (make_frame): Initialize title parameter to Qnil.
2699 1996-01-18  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2701         * xterm.c (x_connection_signal): Explicitly check the thread interlock
2702         on Solaris.
2704 1996-01-17  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2706         * keyboard.c (safe_run_hooks): Use Qt, not Qerror, to avoid
2707         running the debugger.
2709         * eval.c (run_hook_with_args): Do nothing if Vrun_hooks is nil.
2711         * xfns.c (Qtitle): Declared.
2712         (Fx_create_frame): Initialize title parameter.
2713         Don't use the title resource to initialize the name parameter.
2715         * frame.c (syms_of_frame_1): Initialize Qtitle.
2717         * xdisp.c (decode_mode_spec, case 'F'): Use `title' field.
2719         * frame.h (struct frame): New field `title'.
2721 1996-01-17  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2723         * window.c (replace_buffer_in_all_windows): Don't change selected
2724         window, even temporarily; that has undesirable side effects.
2726 1996-01-17  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2728         * emacs.c (dump_environ): Variable deleted.
2729         (main): Don't free dump_environ.
2730         (Fdump_emacs): Don't set dump_environ.
2731         (environ): Declare only on VMS, as before.
2733 1996-01-15  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2735         * s/aix4-1.h (X11R5_INHIBIT_I18N): Add undef.
2736         (LIB_MOTIF): Undef before defining.
2738 1996-01-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2740         * window.c (display_buffer_1): Don't deiconify the selected frame.
2742 1996-01-14  Paul Eggert  <eggert@twinsun.com>
2744         * emacs.c (Fdump_emacs): If HAVE_TZSET and not
2745         LOCALTIME_CACHE, call tzset to force a tz reload.
2747 1996-01-13  eggert  <eggert@twinsun.com>
2749         * emacs.c (set_time_zone_rule): New decl.
2750         (environ): Always declare.
2751         (dump_tz, dump_environ): New vars.
2752         (main): Change TZ twice if the execution TZ happens to be the same as
2753         the dump TZ.  Free dump environ.
2754         (Fdump_emacs): Set TZ to unlikely value just before dumping.
2755         * editfns.c (set_time_zone_rule): Now extern, not static.
2756         * config.in (HAVE_TZSET): Add #undef.
2758 1996-01-12  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2760         * Makefile.in ($(OLDXMENU) rules): Fix conditionals so no rules
2761         are defined when !HAVE_MENUS.
2763 1996-01-12  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2765         * msdos.c (dos_rawgetc): Make buf longer.
2767 1996-01-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2769         * xdisp.c (redisplay_window): Fix minor bug in Fset_marker call.
2771         * s/aix3-2-5.h (LIB_MOTIF): New macro definition.
2773 1996-01-10  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2775         * window.c (Fset_window_buffer): Call the window-scroll-functions.
2777 1996-01-08  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2779         * keymap.c (Fapropos_internal): Fix previous change.
2780         * abbrev.c (Fdefine_abbrev_table): Fix previous change.
2781         * fns.c (Fset_char_table_parent): Fix previous change.
2782         * data.c (Flognot): Fix previous change.
2783         * macros.c (Fexecute_kbd_macro): Fix previous change.
2785 1996-01-08  Erik Naggum  <erik@naggum.no>
2787         * abbrev.c (Fdefine_global_abbrev, Fdefine_mode_abbrev,
2788         Fabbrev_symbol, Finsert_abbrev_table_description,
2789         Fdefine_abbrev_table): Harmonize arguments with documentation.
2791         * alloc.c (Fmake_symbol): Harmonize arguments with documentation.
2793         * buffer.c (Fmake_indirect_buffer, Fset_buffer_major_mode,
2794         Fpop_to_buffer, Fbury_buffer, Foverlay_get): Harmonize arguments
2795         with documentation.
2797         * bytecode.c (Fbyte_code): Harmonize arguments with documentation.
2799         * callint.c (Fcall_interactively, Fprefix_numeric_value): Harmonize
2800         arguments with documentation.
2802         * casefiddle.c (Fupcase_region, Fdowncase_region,
2803         Fcapitalize_region, Fupcase_initials_region): Harmonize arguments
2804         with documentation.
2806         * casetab.c (Fcase_table_p): Harmonize arguments with
2807         documentation.
2809         * cmds.c (Fforward_line, Fbeginning_of_line, Fend_of_line,
2810         Fdelete_char, Fdelete_backward_char): Harmonize arguments with
2811         documentation.
2813         * data.c (Fboundp, Ffboundp, Fmakunbound, Ffmakunbound,
2814         Fsymbol_plist, Fsymbol_name, Ffset, Fdefalias, Fdefine_function,
2815         Fsetplist, store_symval_forwarding, swap_in_symval_forwarding,
2816         find_symbol_value, Fsymbol_value, Fset, default_value,
2817         Fdefault_boundp, Fdefault_value, Fset_default, Fsetq_default,
2818         Fmake_variable_buffer_local, Fmake_local_variable,
2819         Fkill_local_variable, Flocal_variable_p, Flocal_variable_if_set_p,
2820         Faref, Faset, Fzerop, Fnumber_to_string, Fstring_to_number, Frem,
2821         Fmod, Fadd1, Fsub1, Flognot): Harmonize arguments with
2822         documentation.
2824         * dired.c (Fdirectory_files, Ffile_name_completion,
2825         Ffile_name_all_completions, Ffile_name_all_versions): Harmonize
2826         arguments with documentation.
2828         * dispnew.c (Fsend_string_to_terminal, Fsit_for): Harmonize
2829         arguments with documentation.
2831         * doc.c (Fdocumentation, Fdocumentation_property,
2832         Fsubstitute_command_keys): Harmonize arguments with documentation.
2834         * dosfns.c (Fint86, Fdos_memget, Fdos_memput, Fmsdos_set_keyboard):
2835         Harmonize arguments with documentation.
2837         * editfns.c (Fchar_to_string, Fstring_to_char, Fgoto_char,
2838         Fencode_time, Finsert_char, Fbuffer_substring,
2839         Fbuffer_substring_no_properties, Finsert_buffer_substring,
2840         Fdelete_region, Fnarrow_to_region): Harmonize arguments with
2841         documentation.
2842         (Fformat_time_string): Allow TIME to default to current time.
2844         * emacs.c (Fdump_emacs_data, Fdump_emacs): Harmonize arguments with
2845         documentation.
2847         * eval.c (Fmacroexpand, Fthrow, Fbacktrace_frame): Harmonize
2848         arguments with documentation.
2850         * fileio.c (Ffile_name_directory, Ffile_name_nondirectory,
2851         Ffile_name_as_directory, Fdirectory_file_name, Fexpand_file_name,
2852         Fsubstitute_in_file_name, Fcopy_file, Fmake_directory_internal,
2853         Fdelete_directory, Fdelete_file, Frename_file, Fadd_name_to_file,
2854         Fdefine_logical_name, Ffile_modes, Fset_file_modes,
2855         Fset_default_file_modes, Fdo_auto_save, Fread_file_name): Harmonize
2856         arguments with documentation.
2858         * filelock.c (Flock_buffer, Ffile_locked_p): Harmonize arguments
2859         with documentation.
2861         * floatfns.c (Fbessel_jn, Fbessel_yn): Harmonize arguments with
2862         documentation.
2864         * fns.c (Frandom, Flength, Felt, Fsort, Fchar_table_subtype,
2865         Fchar_table_parent, Fset_char_table_parent, Fchar_table_extra_slot,
2866         Fset_char_table_extra_slot, Fchar_table_range,
2867         Fset_char_table_range, Fmap_char_table, Fmapconcat, Fmapcar):
2868         Harmonize arguments with documentation.
2870         * frame.c (Fhandle_switch_frame, Fset_frame_height): Harmonize
2871         arguments with documentation.
2873         * indent.c (Findent_to): Harmonize arguments with documentation.
2875         * keyboard.c (Fevent_convert_list, Fcommand_execute): Harmonize
2876         arguments with documentation.
2878         * keymap.c (Fkeymapp, Fdefine_prefix_command, Faccessible_keymaps,
2879         Ftext_char_description, Fapropos_internal): Harmonize arguments
2880         with documentation.
2882         * lread.c (Feval_buffer, Feval_region, Fintern, Fintern_soft):
2883         Harmonize arguments with documentation.
2885         * macros.c (Fend_kbd_macro, Fexecute_kbd_macro): Harmonize
2886         arguments with documentation.
2888         * marker.c (Fset_marker): Harmonize arguments with documentation.
2890         * minibuf.c (Ftry_completion, Fall_completions, Fcompleting_read):
2891         Harmonize arguments with documentation.
2893         * print.c (Fwrite_char, Fprin1, Fprin1_to_string, Fprinc, Fprint):
2894         Harmonize arguments with documentation.
2896         * process.c (Fprocessp, Fget_buffer_process, Fdelete_process,
2897         Fprocess_status, Fprocess_exit_status, Fprocess_id, Fprocess_name,
2898         Fprocess_command, Fprocess_tty_name, Fset_process_buffer,
2899         Fprocess_buffer, Fprocess_mark, Fset_process_filter,
2900         Fprocess_filter, Fset_process_sentinel, Fprocess_sentinel,
2901         Fset_process_window_size, Fprocess_kill_without_query,
2902         Faccept_process_output): Harmonize arguments with documentation.
2904         * search.c (Fmatch_end, Fregexp_quote): Harmonize arguments with
2905         documentation.
2907         * syntax.c (Fsyntax_table_p, Fchar_syntax, Fmatching_paren,
2908         Fmodify_syntax_entry): Harmonize arguments with documentation.
2910         * textprop.c (Ftext_properties_at, Fget_text_property,
2911         Fget_char_property, Fnext_property_change,
2912         Fnext_single_property_change, Fprevious_property_change,
2913         Fprevious_single_property_change, Fadd_text_properties,
2914         Fput_text_property, Fset_text_properties, Fremove_text_properties,
2915         Ftext_property_any, Ftext_property_not_all): Harmonize arguments
2916         with documentation.
2918         * window.c (Fwindowp, Fwindow_live_p, Fother_window,
2919         Fenlarge_window, Fshrink_window, Fscroll_up, Fscroll_down,
2920         Fscroll_other_window, Fscroll_left, Fscroll_right, Frecenter,
2921         Fwindow_configuration_p): Harmonize arguments with documentation.
2923         * xfaces.c (Fpixmap_spec_p): Harmonize arguments with
2924         documentation.
2926 1996-01-08  Erik Naggum  <erik@naggum.no>
2928         * buffer.c (Fkill_buffer): Delete buffer from Vbuffer_alist after
2929         replacing it.
2931 1996-01-08  Karl Heuer  <kwzh@gnu.ai.mit.edu>
2933         * s/sol2-3.h (PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
2935         * unexelf.c (unexec) [SOLARIS2]: Undo relocations performed by the
2936         runtime linker.
2938         * config.in: (LOCALTIME_CACHE): Add #undef.
2940 1996-01-08  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2942         * xdisp.c (display_text_line): Clear out redisplay_end_trigger
2943         before calling the functions.
2945         * xselect.c (x_handle_selection_notify): Give an indication
2946         in reading_selection_reply of whether the request succeeded.
2947         (x_get_foreign_selection): Do error if foreign selection was cleared.
2949         * dispnew.c (init_display): Treat null string DISPLAY var like not set.
2951 1996-01-07  Erik Naggum  <erik@naggum.no>
2953         * fns.c (Fplist_get): Rename arg `val' to `plist' as in doc.
2955 1996-01-07  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2957         * lread.c (read1): Use xmalloc and xrealloc, not malloc and realloc.
2959         * s/sol2-5.h: Add #if 0 around everything but the include of sol2-4.h.
2961         * process.c (create_process): Restore the signal state
2962         after vfork whether it succeeds or not.
2964         * m/hp800.h: Conditionalize many macro definitions on __hpux.
2965         (NEED_BSDTTY): Delete duplicate definition.
2967         * lread.c (dump_path): New static var.
2968         (init_lread): Use that to record dump-time initial path.
2969         Delete the local var dump_path; find Vsource_directory differently.
2970         (syms_of_lread): staticpro it.
2972         * config.in (LOCALTIME_CACHE): Add #undef.
2974         * editfns.c (update_buffer_properties): Delete superfluous &'s.
2976         * emacs.c (main): In batch mode, don't handle SIGHUP if was ignored.
2977         Block it while we decide what to do.
2979 1996-01-06  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2981         * keymap.c (describe_map): New arg nomenu.
2982         (describe_map_tree): Pass that arg.
2984 1996-01-05  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
2986         * fileio.c (do_auto_save_unwind): Don't close DESC if DESC < 0.
2987         (Fdo_auto_save): Unconditionally set up unwind-protect.
2989         * s/linux.h (LIBS_TERMCAP): Definition deleted.
2991 1996-01-05  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
2993         * termhooks.h (struct input_event): Put frame_or_window last.
2995 1996-01-04  Erik Naggum  <erik@naggum.no>
2997         * window.c (replace_buffer_in_all_windows): Only re-select old
2998         window if it is still live.
3000 1996-01-04  Paul Eggert  <eggert@twinsun.com>
3002         Spelling corrections.
3003         * s/vms.h, s/vms5-5.h (SHARABLE_LIB_BUG): Renamed from
3004         SHAREABLE_LIB_BUG.
3005         * xselect.c (syms_of_xselect): Doc fix for x-selection-timeout.
3006         * sysdep.c (WRITABLE): Renamed from WRITEABLE.
3007         * unexelfsni.c (unexec): Message fix.
3008         * sysdep.c (sys_siglist): Message fix.
3009         * eval.c (syms_of_eval): Doc fix for inhibit-quit.
3010         * window.c (Fprevious_window, Fwindow_configuration_p): Doc fix.
3011         * keymap.c (Flookup_key): Doc fix.
3013 1996-01-04  Geoff Voelker  <voelker@cs.washington.edu>
3015         * nt.c (getuid): Only return root uid if Administrator.
3016         (geteuid): Return getuid.
3018 1996-01-03  Ulrich Leodolter  <ulrich@lab1.psy.univie.ac.at>
3020         * ntproc.c (win32_wait): fixed bad synch_process_retcode
3021         and initialized synch_process_death if signaled.
3023 1996-01-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3025         * xterm.c (XTread_socket): For selection_clear_event and
3026         selection_request_event, initialize the frame_or_window field.
3028         * window.c (replace_buffer_in_all_windows): New function.
3029         Like Freplace_buffer_in_windows but really does all frames.
3030         * buffer.c (Fkill_buffer): Use replace_buffer_in_all_windows.
3032 1995-12-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3034         * xterm.c (XTread_socket): Pass KeyPress events to the toolkit.
3035         Make the OTHER label exist unconditionally, and make the gotos
3036         unconditional when that is convenient.
3038 1995-12-31  Eli Zaretskii  <eliz@is.elta.co.il>
3040         * fileio.c (Ffile_readable_p) [MSDOS]: Use access rather than open.
3042 1995-12-30  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3044         * Makefile.in (${etc}DOC): Remove spurious `cd' command line.
3046 1995-12-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3048         * xterm.c (x_find_modifier_meanings): Fix !X11R4 code to use dpyinfo.
3050         * s/hpux9.h (C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
3051         Add options to specify /usr/lib/X11R5 and /usr/include/X11R5.
3053 1995-12-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3055         * xfns.c (check_x_display_info, check_x_frame, x_set_font)
3056         (Fx_list_fonts): Fix error messages.
3058 1995-12-24  Eli Zaretskii  <eliz@is.elta.co.il>
3060         * dired.c (Ffile_attributes) [MSDOS]: Remove special detection of
3061         MS-DOS executable files by filename extension (library `stat' does
3062         this itself now).
3064         * msdos.c (XMenuActivate): Make sure the menu title is always
3065         displayed with `msdos-menu-active-face', no matter where the mouse
3066         pointer is.
3068 1995-12-23  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3070         * msdos.c (have_menus_p): Defined.
3072         * s/msdos.h (HAVE_MENUS): Defined.
3074         * config.in (HAVE_MENUS): Renamed from HAVE_X_MENU.
3076         * Makefile.in (XOBJ, LIBXMENU, $(OLDXMENU), really-oldXMenu):
3077         HAVE_X_MENU renamed to HAVE_MENUS.
3079         * keyboard.c (read_char_x_menu_prompt):
3080         HAVE_X_MENU renamed to HAVE_MENUS.
3082         * emacs.c (main): Call syms_of_xmenu if and only if HAVE_MENUS.
3084         * editfns.c (Fmessage_box, Fmessage_or_box):
3085         HAVE_X_MENU renamed to HAVE_MENUS.  Doc fixes.
3087         * xfns.c (have_menus_p): Renamed from using_x_p.
3088         * w32xfns.c (have_menus_p): Renamed from using_x_p.
3089         * fns.c (Fy_or_n_p, Fyes_or_no_p): using_x_p renamed to have_menus_p.
3090         HAVE_X_MENU renamed to HAVE_MENUS.
3092         * keyboard.c (Fexecute_extended_command): Nice error if empty cmd name.
3094         * callint.c (Fcall_interactively): Undo previous change.
3095         * keyboard.c (Fcommand_execute): Undo previous change.
3097         * s/aix3-2.h: Add #pragma alloca.
3099         * Makefile.in (LIBXT): Use DYNAMIC_OPTION too.
3100         * s/sol2-5.h (STATIC_OPTION): For GCC, use -Xlinker.
3101         (DYNAMIC_OPTION): Define like STATIC_OPTION.
3103         * s/sunos4shr.h (LIBXMU): Replace previous change.
3104         Bring back the old definition, but conditionalize on ! HAVE_X11R6.
3106         * config.in (HAVE_X11R6): Add #undef.
3107         * xterm.h (HAVE_X11R6): Definition deleted (previous change undone).
3109         * xdisp.c (redisplay_window): Clear force_start field
3110         before running the Qwindow_scroll_functions.
3111         In the recenter case, set w->start before running them.
3113 1995-12-24  Adrian Colley  <Adrian.Colley@three.serpentine.com>
3115         * s/aix3-2.h: Add #pragma alloca.
3117 1995-12-23  Geoff Voelker  <voelker@cs.washington.edu>
3119         * makefile.nt (LINK_FLAGS): Dump symbol map when linking.
3120         * unexnt.c (get_bss_info_from_map_file): New function.
3121         (get_section_info): When .bss section parameters are not in the
3122         executable, search the symbol map file for them.
3124 1995-12-23  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3126         * syntax.h (SYNTAX_ENTRY): Add cast in call to syntax_parent_lookup.
3128         * print.c (NULL): #undef deleted.
3130         * cmds.c (internal_self_insert): Declare arg c1 as unsigned char.
3132 1995-12-21  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3134         * xdisp.c (prepare_menu_bars): If update_mode_lines,
3135         update all frame titles too.
3137 1995-12-20  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3139         * eval.c (skip_debugger): New function.
3140         (find_handler_clause): Call skip_debugger.
3141         (Vdebug_ignored_errors): New variable.
3142         (syms_of_eval): Set up Lisp variable.
3144         * print.c (Ferror_message_string): New function.
3145         (syms_of_print): defsubr it.  Doc fix.
3146         (print_error_message): New subroutine.
3148         * keyboard.c (cmd_error_internal): Use print_error_message.
3150 1995-12-19  Karl Heuer  <kwzh@gnu.ai.mit.edu>
3152         * callint.c (Fcall_interactively): Don't log prompt strings.
3154         * xfns.c: Use <paths.h>, not "paths.h".
3156         * frame.c [!MULTI_FRAME] (syms_of_frame): Make mouse-pixel-position
3157         a synonym for mouse-position, for the benefit of lisp packages
3158         that use it.
3160 1995-12-19  Eli Zaretskii  <eliz@is.elta.co.il>
3162         * msdos.c (check_timer): Get rid of the DOS-specific menubar clock
3163         feature; call `display-time-filter' from time.el to display time
3164         on the modeline instead.  This makes `display-time' work under DOS.
3165         (abort): Use our own function instead of the one from the library
3166         which reverts the console device to cooked mode.
3167         (syms_of_msdos): `dos-display-time'--a new variable for
3168         communicating with `display-time'.
3169         * dosfns.c (syms_of_dosfns): Delete the `dos-menubar-clock' and
3170         `dos-timer-hooks' variables.
3171         * dosfns.h (Vdos_menubar_clock, Vdos_timer_hooks):
3172         Declarations deleted.
3174 1995-12-19  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3176         * xterm.c (x_connection_signal): Set an alarm around XNoOp call.
3178         * xfns.c [X11R5_INHIBIT_I18N]: Undef HAVE_X_I18N if X11R5.
3179         * xterm.h (HAVE_X11R6): New macro, defined when appropriate.
3180         * s/aix3-2-5.h (X11R5_INHIBIT_I18N): Defined.
3182 1995-12-17  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3184         * s/sol2-5.h (LIBXT_STATIC, STATIC_OPTION): Defined.
3186         * Makefile.in (LIBXT): Handle LIBXT_STATIC.
3188         * fileio.c (syms_of_fileio): Doc fix.
3190         * callint.c (Fcall_interactively): Handle an arg of form (FCN ARGS...).
3192         * keyboard.c (Fcommand_execute): Allow function + args list as cmd.
3194 1995-12-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3196         * m/ibmrs6000.h (LD_SWITCH_MACHINE): Don't define if using GCC.
3198 1995-12-13  Karl Heuer  <kwzh@gnu.ai.mit.edu>
3200         * xterm.c (x_connection_closed): Don't delete dpyinfo if it's null.
3202 1995-12-12  Eli Zaretskii  <eliz@is.elta.co.il>
3204         * msdos.c (run_msdos_command): Support redirection of stderr.
3205         * callproc.c (Fcall_process) [MSDOS]: Support redirection of
3206         stderr.  Assign process exit code to `synch_process_retcode' and
3207         error description to `synch_process_death'.  Reset
3208         `synch_process_alive' to zero when the sub-process exits.
3210         * msdos.c (IT_set_terminal_modes): Save screen color attribute
3211         byte at startup, write saved screen dimensions to termscript
3212         file.
3213         (IT_reset_terminal_modes): When restoring startup screen contents,
3214         only restore as much as was saved, and only as much as the screen
3215         dimensions on exit can hold.  Blank the rest with the background
3216         color saved at startup.  Write restored screen dimensions to
3217         termscript file.
3219         * msdos.c (XMenuActivate): Display the menu pane title.
3220         (XMenuLocate): Do not ignore pane title length when deciding on
3221         menu location.
3223 1995-12-12  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3225         * emacs.c (main): Fix args to handle `--display DISPLAY'.
3227         * data.c (Ftype_of): Return `char-table' and `bool-vector' for
3228         char tables and bool vectors, resp.
3229         (Qchar_table, Qbool_vector): New variables.
3230         (syms_of_data): Initialize and staticpro them.
3232 1995-12-12  Karl Heuer  <kwzh@gnu.ai.mit.edu>
3234         * window.c (Fsplit_window): Account for scroll bar width.
3236         * minibuf.c (choose_minibuf_frame): Test HAVE_X_WINDOWS.
3238         * m/alpha.h (PTY_OPEN): Block SIGCHLD during openpty.
3240         * s/sunos4shr.h (LIBXMU): Use dynamic linking.
3242 1995-12-12  Paul Eggert  <eggert@twinsun.com>
3244         * process.c (create_process):  Use Posix signal handling to
3245         block signals, if available.  If HAVE_VFORK, save and restore
3246         signal handlers that the child might change, since in many
3247         systems (e.g. Solaris 2.4) if the child changes the signal
3248         handlers this munges the parent's handler.
3249         * s/sol2-3.h (HAVE_VFORK):  Remove #undef, since we now
3250         know how to use Solaris vfork.
3251         (VFORK_RETURN_TYPE): Remove definition.
3253 1995-12-12  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3255         * callint.c (Fcall_interactively): Move have_prefix_arg label to 'p'.
3257         * process.c (Fopen_network_stream): Call bind_polling_period earlier.
3259 1995-12-10  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3261         * keymap.c (Fkey_binding): Handle text-property keymaps.
3263         * Makefile.in (dotdot): New variable.
3264         (SOME_MACHINE_LISP): Use relative file names.
3265         (shortlisp): New variable.
3266         (${etc}DOC): Use shortlisp instead of lisp.
3268         * xdisp.c (redisplay_window): Don't do the scroll_step thing
3269         if startp is outside the accessible part of the buffer.
3271         * lread.c (init_lread): Add ../lisp (in build dir) to load-path
3272         when dumping.
3274 1995-12-09  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3276         * editfns.c (Fset_time_zone_rule): Move static var environbuf
3277         to top level.
3278         (syms_of_editfns): Initialize environbuf explicitly.
3280         * window.c (Fsplit_window): Rename size to size_int and chsize to size.
3282         * cmds.c (Fbackward_char, Fforward_char): Rename arg to ARG.
3284         * buffer.h (struct buffer): Delete redisplay_end_trigger field.
3285         * buffer.c (reset_buffer, init_buffer_once): Delete code that touches
3286         redisplay_end_trigger field in buffer.
3288 1995-12-07  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3290         * editfns.c (Vbuffer_access_fontified_property): New variable.
3291         (syms_of_editfns): Set up Lisp var.
3292         (make_buffer_string): Don't call the Vbuffer_access_fontify_functions
3293         if the text is already fontified.
3294         (Fbuffer_string): Pas 1 for PROPS arg.
3295         (update_buffer_properties): New subroutine.
3296         (Finsert_buffer_substring): Use update_buffer_properties.
3298 1995-12-06  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3300         * textprop.c (add_properties, remove_properties, set_properties):
3301         Call signal_after_change.
3303         * s/hpux9.h (LIBXMU, NO_EDITRES): Define only if not HAVE_LIBXMU.
3305 1995-12-05  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3307         * config.in (HAVE_LIBXMU): Add #undef.
3309         * s/hpux9shr.h (C_DEBUG_SWITCH): Definition turned off.
3311         * m/iris4d.h (C_SWITCH_MACHINE): Define only if THIS_IS_MAKEFILE.
3313 1995-12-04  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3315         * editfns.c (make_buffer_string): New arg PROPS.
3316         (Fbuffer_string, Fbuffer_substring): Pass new arg.
3317         (Fbuffer_substring_no_properties): New function.
3318         (syms_of_editfns): defsubr it.
3319         (Vbuffer_access_fontify_functions): New variable.
3320         (Qbuffer_access_fontify_functions): New variable.
3321         (syms_of_editfns): Set up Lisp variable, initialize them.
3322         (make_buffer_string): Run this new hook.
3324         * minibuf.c (read_minibuf): Pass PROPS arg to make_buffer_string.
3325         Let make_buffer_string handle the gap.
3327 1995-12-03  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3329         * config.h (EMACS_INT, EMACS_UINT): Definitions deleted
3330         because lisp.h also defines them.
3332         * Makefile.in (keymap.o): Depend on puresize.h.
3334         * keymap.c: Include puresize.h.
3335         (store_in_keymap): Check PURE_P (def) and copy if nec.
3337         * puresize.h (PURE_P): New macro (three definitions).
3338         (CHECK_IMPURE): Use PURE_P.
3340         * buffer.c (Fkill_buffer): Rename arg bufname to buffer.
3341         Don't gcpro it after the last use.
3342         (Fswitch_to_buffer, Fpop_to_buffer): Rename arg bufname to buffer.
3343         (Fset_buffer): Likewise, and rename local buffer to buf.
3345 1995-12-01  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3347         * Makefile.in (THIS_IS_MAKEFILE): New definition.
3348         * s/irix6-0.h (C_SWITCH_SYSTEM): #undef this if THIS_IS_MAKEFILE.
3350         * macros.c (Fstore_kbd_macro_event): New function.
3351         (syms_of_macros): defsubr it.
3353 1995-11-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3355         * xdisp.c (message_dolog): Save and restore windows_or_buffers_changed.
3357 1995-11-28  Paul Eggert  <eggert@twinsun.com>
3359         * Makefile.in (lisp): Remove c-mode.elc.
3361 1995-11-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3363         * msdos.c (sys_select): Check timer once even if input is pending.
3365 1995-11-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3367         * xfns.c (x_set_menu_bar_lines) [USE_X_TOOLKIT]:
3368         Don't crash for non-X frame.
3370         * callint.c (Fcall_interactively): In `c' case, clear out the message
3371         after reading the character.
3373         * xdisp.c (decode_mode_spec): For p and P, avoid overflow with
3374         large buffer sizes.
3376         * xmenu.c (set_frame_menubar): When called with deep_p == 0,
3377         that invalidates the previous f->menu_bar_vector.
3379 1995-11-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3381         * Version 19.30 released.
3383         * msdos.c (IT_set_menu_bar_lines): Clear last_modified field.
3385 1995-11-23  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3387         * keyboard.c (read_char): Handle unread events from popup menus.
3389 1995-11-22  Geoff Voelker  <voelker@cs.washington.edu>
3391         * makefile.nt (DOC, clean): Don't use switches to del not supported
3392         by Windows 95.
3394 1995-11-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3396         * xterm.c (XTmouse_position): Exit the loop if child == win.
3397         (x_iconify_frame): Call FRAME_SAMPLE_VISIBILITY.
3398         (XTframe_up_to_date): Block and unblock input.
3400 1995-11-22  Eli Zaretskii  <eliz@is.elta.co.il>
3402         * msdos.c (internal_terminal_init): Initialize the_only_x_display.font.
3404         * xfaces.c (Fset_face_attribute_internal) [MSDOS]:
3405         Set font field to 1.
3407 1995-11-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3409         * msdos.c (dos_set_keyboard): If CODE is not recognized,
3410         initialize to the US keyboard table.
3412 1995-11-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3414         * s/linux.h (LIB_MOTIF): New definition.
3416         * editfns.c (Fcurrent_time): Doc fix.
3418         * s/hpux10.h (FORCE_ALLOCA_H): Defined (for getdate.y).
3419         (HPUX10): Defined.
3421         * window.c (Fdisplay_buffer): Always deiconify the window's frame.
3422         (display_buffer_1): New subroutine.
3424         * m/alpha.h [LINUX] (LINUX_SBRK_BUG): Defined.
3425         * emacs.c (main): Add LINUX_SBRK_BUG conditional call to __sbrk.
3427         * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Increased.
3429         * dosfns.c (syms_of_dosfns): Use 0x75 for dos_keypad_mode.
3431 1995-11-20  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3433         * alloc.c (Flist): Avoid using -- in while condition.
3435         * xfaces.c (unload_color, unload_font): Never invalidate computed
3436         faces 0 and 1.
3438         * minibuf.c (choose_minibuf_frame): On MSDOS, just use minibuf_window.
3440 1995-11-19  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3442         * xterm.c (show_mouse_face):
3443         When clearing cursor, use proper column range.
3445         * lread.c (Vsource_directory): New variable.
3446         (init_lread): Initialize it.
3447         (syms_of_lread): Set up Lisp var.
3449 1995-11-18  Fred Fish  <fnf@cygnus.com>
3451         * s/linux.h: #undef SIGPOLL and SIGURG as well as SIGIO.
3453 1995-11-18  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3455         * data.c (Fmake_local_variable): Call find_symbol_value
3456         before making a new local binding.
3458 1995-11-15  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
3460         * mem-limits.h [_LIBC] (start_of_data): Use weak ref to
3461         __data_start; use &etext if not present.
3463 1995-11-15  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3465         * xterm.c (XTread_socket): Verify a ButtonPress was actually in the
3466         menu bar before generating a menu_bar_activate_event event.
3468         * s/hpux10.h: New file.
3470         * textprop.c (Fset_text_properties): Call set_properties
3471         even if we also merge an interval.
3473         * xselect.c (x_clear_frame_selections): Get selection_symbol properly.
3474         (syms_of_xselect): Doc fix.
3476         * doprnt.c (doprnt1): Add a cast.
3478         * alloc.c (mark_object): Don't overwrite original argument value.
3480         * .gdbinit (xsymbol): Cast name explicitly to (char *).
3482 1995-11-14  Geoff Voelker  <voelker@cs.washington.edu>
3484         * w32term.h: New file.
3486 1995-11-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3488         * keyboard.c (Fexecute_extended_command):
3489         Call Fwhere_is_internal just once to handle all the maps.
3491         * xdisp.c (Qredisplay_end_trigger_functions): Renamed from ..._hook.
3492         (syms_of_xdisp): Set up new name.
3493         (display_text_line): Call them with arguments.
3495         * window.c (Fset_window_redisplay_end_trigger): Doc fix.
3497         * fileio.c (check_executable) [DOS_NT]: Treat all dirs as executable.
3499 1995-11-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3501         * frame.h (FRAME_WINDOW_P): Always define it one way or another.
3503         * m/alpha.h: Declare calloc like malloc.
3505 1995-11-12  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3507         * xselect.c (x_clear_frame_selections): Undo previous change.
3509         * fileio.c (Fcopy_file): Don't chmod output file on MSDOS
3510         unless we have DJGPP version 2.
3512         * s/usg5-4.h (LIBS_STANDARD): Definition deleted.
3514         * s/isc2-2.h (LIBS_SYSTEM): Fix typo in prev change.
3516         * dispnew.c: Always include dispextern.h before cm.h.
3518 1995-11-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3520         * xdisp.c (display_text_line): Handle redisplay_end_trigger
3521         before getting the face of the next character.  Reset next_face_change.
3523         * frame.c (syms_of_frame_1): Set up Vdefault_frame_alist here.
3524         (syms_of_frame): Not here.
3525         (Vdefault_frame_alist): Definition now unconditional.
3527         * msdos.c (dos_menubar_clock_displayed): New variable.
3528         (check_timer): Erase the clock if it has been turned off.
3530         * doc.c (Fdocumentation): Reject a file reference
3531         at the end of a lambda body.
3533         * xdisp.c (display_menu_bar): Fix backwards conditional.
3534         (update_menu_bar, redisplay_window): Don't use FRAME_EXTERNAL_MENU_BAR
3535         in #ifdef, since it is always defined.
3537 1995-11-10  Simon Leinen  <simon@lia.di.epfl.ch>
3539         * s/hpux9.h (NO_EDITRES): Defined.
3540         (LIBXMU): Define once again.
3542         * xfns.c (HACK_EDITRES): Don't define if NO_EDITRES is defined.
3544         * xterm.c (HACK_EDITRES): Define here as in xfns.c.
3545         (XTread_socket): Test HACK_EDITRES.
3547 1995-11-10  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3549         * s/isc2-2.h (LIB_STANDARD_1): New macro.
3550         (LIB_STANDARD): Use LIB_STANDARD_1.
3551         (LIBS_SYSTEM): Use it here too.
3553         * print.c (debug_print): Explicitly print a CR.
3555         * keyboard.c (interrupt_signal): Do special things in GC.
3557 1995-11-10  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3559         * frame.c (set_menu_bar_lines): Record the fact that the window
3560         configuration changes.
3561         (set_menu_bar_lines_1): Mark the window as modified.
3563 1995-11-09  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3565         * floatfns.c (Fexpt): Doc fix.
3567         * window.h (struct window): New field redisplay_end_trigger.
3569         * window.c (Fwindow_redisplay_end_trigger): New function.
3570         (Fset_window_redisplay_end_trigger): Likewise.
3571         (syms_of_window): defsubr them.
3573         * xdisp.c (display_text_line): Get redisplay_end_trigger from window.
3575 1995-11-09  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3577         * buffer.c (syms_of_buffer): Delete the buffer-redisplay-end-trigger
3578         local variable.
3580 1995-11-09  Simon Leinen  <simon@lia.di.epfl.ch>
3582         * xmenu.c: Don't include Xaw/Paned.h unless USE_LUCID is defined.
3583         (set_frame_menubar): Conditionalized some code on USE_LUCID that
3584         depends on the fact that the parent widget of the menu bar is an Xaw
3585         "Paned" widget.
3587 1995-11-09  Erik Naggum  <erik@naggum.no>
3589         * eval.c (run-hook-with-args, run-hook-list-with-args): Safeguard
3590         against a t in the global value of hook variables.
3592 1995-11-08  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3594         * s/msdos.h (SYMS_SYSTEM): Add syms_of_msdos.
3596         * Makefile.in (lisp): Add loadup.el.
3598         * indent.c (compute_motion): Update next_boundary
3599         when we skip to next newline.
3601 1995-11-07  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3603         * lread.c (oblookup): Clear ARRAY_MARK_FLAG in obsize.
3605         * callint.c (syms_of_callint): Set up Qlet, Qletx, Qsave_excursion.
3606         (Fcall_interactively): Look past those special forms
3607         when checking for a call to `list'.
3609 1995-11-07  Geoff Voelker  <voelker@cs.washington.edu>
3611         * config.in [HAVE_X_WINDOWS] (HAVE_WINDOW_SYSTEM): New macro.
3612         * s/windowsnt.h [HAVE_NTGUI] (HAVE_WINDOW_SYSTEM): New macro.
3613         * dispextern.h dispnew.c, emacs.c, frame.c, keyboard.c, process.c,
3614         scroll.c, sysdep.c, window.c, xdisp.c: Use HAVE_WINDOW_SYSTEM
3615         instead of testing for specific window systems.
3617         * frame.h [HAVE_X_WINDOWS] (FRAME_WINDOW_P): Macro defined.
3618         [HAVE_NTGUI] (FRAME_WINDOW_P): Macro defined.
3619         * dispnew.c, frame.c, scroll.c, xdisp.c: Use FRAME_WINDOW_P
3620         instead of testing for specific window system frames.
3622         * xdisp.c (update_menu_bar, redisplay_window): Test for definition
3623         of FRAME_EXTERNAL_MENU_BAR before using it.
3625 1995-11-06  Kevin Gallo  <kgallo@microsoft.com>
3627         * xterm.h (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): New macros.
3628         * dispnew.c (update_frame): Use FRAME_INTERNAL_BORDER_WIDTH.
3629         (update_line): Use FRAME_LINE_HEIGHT and FRAME_FONT.
3631         * xdisp.c [HAVE_NTGUI] (set_menu_framebar): Declare external.
3632         [HAVE_NTGUI] (frame_title_buf, frame_title_ptr): Include variables
3633         for Win32 window system.
3634         [HAVE_NTGUI] (store_frame_title, x_consider_frame_title): Include
3635         procedures for Win32 window system.
3636         [HAVE_NTGUI] (x_consider_frame_title): Test for Win32 frame.
3637         [HAVE_NTGUI] (display_text_line): Test for Win32 frame on face change.
3638         [HAVE_NTGUI] (display_menu_bar): Perform no-op for NT window system.
3640         * window.c [HAVE_NTGUI] (Fset_window_configuration): Set menu
3641         bar lines.
3643         * term.c [HAVE_NTGUI] (FRAME_TERMCAP_P): Don't redefine.
3645         * sysdep.c [HAVE_NTGUI] (init_sys_modes, reset_sys_modes):
3646         Don't initialize terminal mode when using window system.
3647         [HAVE_NTGUI] (BUFFER_SIZE_FACTOR): Increase for use with window system.
3649         * scroll.c [HAVE_NTGUI] (do_scrolling, do_direct_scrolling):
3650         Update frame geometry.
3652         * process.c [HAVE_NTGUI] (POLL_FOR_INPUT): Define macro.
3654         * keyboard.c [HAVE_NTGUI]: Include w32term.h.
3655         [HAVE_NTGUI] (KBD_BUFFER_SIZE): Increase for NT window system.
3656         [HAVE_NTGUI] (POLL_FOR_INPUT): Define.
3657         [HAVE_NTGUI] (kbd_buffer_get_event): Enable windowing and menu events.
3658         [HAVE_NTGUI] (lispy_function_keys): Define array for NT.
3659         [HAVE_NTGUI] (make_lispy_event): Enable menu bar events.
3660         [HAVE_NTGUI] (modify_event_symbol): Map symbol to keysym.
3661         [HAVE_NTGUI] (read_char_x_menu_prompt): Display menus.
3663         (FUNCTION_KEY_OFFSET): New macro.
3664         (make_lispy_event): Use FUNCTION_KEY_OFFSET to modify event codes
3665         before applying modifiers.
3667         * frame.c [HAVE_NTGUI]: Test for a Win32 frame in procedures
3668         that test for an X frame.
3670         * frame.h (output_method): New method: output_win32.
3671         (output_data): New data: win32.
3672         (FRAME_WIN32_P): New macro.
3673         [HAVE_NTGUI] (external_menu_bar): Define variable.
3674         [HAVE_NTGUI] (FRAME_EXTERNAL_MENU_BAR): Defined macro.
3676         * fns.c [HAVE_NTGUI] (Fy_or_n_p, Fyes_or_no_p): Allow popup.
3678         * emacs.c [HAVE_NTGUI]: Declare Vwindow_system.
3679         [HAVE_NTGUI] (main): Enable inhibit_window_system.
3680         Initialize environment from registry.
3681         Declare syms of Win32 windowing modules.
3683         * dispnew.c [HAVE_NTGUI]: Include w32term.h.
3684         Include dispextern.h before cm.h since dispextern.h includes windows.h.
3685         [HAVE_NTGUI] (make_frame_glyphs, free_frame_glyphs, scroll_frame_lines,
3686         update_frame, update_line): Test for WIN32 frame.
3687         [HAVE_NTGUI] (init_display): Initialize WIN32 window system.
3689         * dispextern.h [HAVE_NTGUI]: Include win32.h.
3690         [HAVE_NTGUI] (struct frame_glyphs): Include pixel fields.
3692         * w32term.c, w32xfns.c, w32fns.c, w32faces.c, w32select.c,
3693         w32menu.c, w32reg.c, win32.h: New files.
3695         * s/windowsnt.h [HAVE_NTGUI] (abort): New macro.
3696         [HAVE_NTGUI] (HAVE_FACES): Defined.
3698         * unexnt.c [HAVE_NTGUI] (WinMain): New procedure.
3699         [HAVE_NTGUI] (hinst, hprevinst, lpCmdLine, nCmdShow): New variables.
3700         [HAVE_NTGUI] (_start): Invoke WinMainCRTStartup.
3702         * ntterm.c (nt_ring_bell): Renamed from ring_bell, now global.
3703         (initialize_win_nt_display): Use nt_ring_bell.
3704         [HAVE_NTGUI] (pixel_to_glyph_coords, glyph_to_pixel_coords):
3705         Don't define.
3707         * ntproc.c [HAVE_NTGUI] (create_child): Pass handles to children.
3708         [HAVE_NTGUI1] (sys_select): Support alternate keyboard handling.
3710         * nt.h (nt_get_resource): Prototype defined.
3712         * nt.c (nt_get_resource, init_environment): Defined.
3713         (prepare_standard_handles, restore_standard_handles) [HAVE_NTGUI]:
3714         Don't duplicate or restore standard handles.
3716         * makefile.nt (SUBSYSTEM, TLIBW32, TLASTLIB, WIN32OBJ): Defined.
3717         (w32term.obj, w32xfns.obj, w32fns.obj w32faces.obj, w32select.obj,
3718         w32menu.obj, w32reg.obj): Defined.
3719         (LINK_FLAGS): Use SUBSYSTEM.
3720         (OBJ1): Remove lastfile.obj.
3721         (LIBS, TEMACS): Use TLASTLIB.
3722         (LIBS) [NTGUI]: Use TLIBW32 and GUI libs.
3723         (EMACS): Remove Windows 95 conditional.
3724         (clean): Remove paths.h.
3726 1995-11-06  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3728         * xdisp.c (display_string): Detect truncation more carefully.
3730         * dispnew.c (update_line): Avoid indexing into obody by -1.
3732         * s/hpux9.h (LIBXMU): Never define this.
3734 1995-11-06  Erik Naggum  <erik@naggum.no>
3736         * print.c (debug_print): Print newline to stderr, too.
3738 1995-11-05  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3740         * xfaces.c (unload_font): Invalidate computed faces.
3741         (unload_color): Likewise.
3742         (new_computed_face): Reuse invalidated computed faces.
3744 1995-11-04  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3746         * indent.c (Fmove_to_column): Doc fix.
3748         * buffer.c (Fmake_overlay): New args front-advance
3749         and rear-advance.
3751         * fileio.c (Fwrite_region): Move the code that writes annotations
3752         for empty files.
3754 1995-11-03  Karl Heuer  <kwzh@gnu.ai.mit.edu>
3756         * msdos.h (struct x_output): Rename from struct x_display.
3757         * msdos.c (the_only_x_display): Type is now struct x_output.
3758         (internal_terminal_init): frame member is now named output_data.
3759         (init_environment): Fix timezone rules.
3760         * emacs.c (main): [MSDOS] Call init_gettimeofday.
3761         * frame.c [!MULTI_FRAME] (Fmodify_frame_parameters): Add missing
3762         declaration and initialization.
3763         [MULTI_FRAME] (choose_minibuf_frame): Moved to minibuf.c; now
3764         unconditional.
3765         * minibuf.c (choose_minibuf_frame): Moved here from frame.c.
3767 1995-11-01  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3769         * Makefile.in (USE_@X_TOOLKIT_TYPE@): Define here, if appropriate.
3770         (THIS_IS_YMAKEFILE): Definition deleted.
3772 1995-10-31  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
3774         * doprnt.c: Include lisp.h.
3775         (doprnt1): Renamed from doprnt.  New arg LISPSTRINGS.
3776         This is now a static subroutine.
3777         (doprnt): New definition calls doprnt1.
3778         (doprnt_lisp): New function.
3780         * editfns.c (Fformat): Use doprnt_lisp.
3782         * s/dgux.h: Test NOT_C_CODE instead of THIS_IS_YMAKEFILE.
3783         Get fatal error if not using GCC.
3785         * xdisp.c (redisplay_window): On non-X frame, always use
3786         FRAME_MENU_BAR_LINES as criterion for whether to display menu bar.
3787         (update_menu_bar): Likewise.
3788         (display_menu_bar): Do the work here for non-X frames
3789         regardless of USE_X_TOOLKIT.
3791         * m/alpha.h: Don't test THIS_IS_YMAKEFILE.
3793         * s/usg5-4.h: Always include sys/wait.h unless NOT_C_CODE;
3794         don't test #ifdef emacs for that.
3796 1995-10-31  Karl Heuer  <kwzh@gnu.ai.mit.edu>
3798         * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/altos.h:
3799         * m/amdahl.h, m/apollo.h, m/att3b.h, m/aviion.h, m/celerity.h:
3800         * m/clipper.h, m/cnvrgnt.h, m/cydra5.h, m/delta.h, m/delta88k.h:
3801         * m/dpx2.h, m/dual.h, m/elxsi.h, m/gec63.h, m/gould.h, m/hp9000s300.h:
3802         * m/i860.h, m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h:
3803         * m/irist.h, m/isi-ov.h, m/masscomp.h, m/mega68.h, m/mg1.h, m/news.h:
3804         * m/next.h, m/nh3000.h, m/nh4000.h, m/ns16000.h, m/ns32000.h, m/nu.h:
3805         * m/orion.h, m/orion105.h, m/pfa50.h, m/plexus.h, m/pyramid.h:
3806         * m/sequent.h, m/sparc.h, m/sps7.h, m/stride.h, m/sun1.h, m/sun2.h:
3807         * m/tad68k.h, m/tahoe.h, m/targon31.h, m/tek4300.h, m/tekxd88.h:
3808         * m/template.h, m/tower32.h, m/tower32v3.h, m/ustation.h, m/vax.h:
3809         * m/wicat.h, m/windowsnt.h, m/xps100.h:
3810         (SHORTBITS, INTBITS, LONGBITS): Deleted; now in config.h.
3812 1995-10-30  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
3814         * alloc.c, data.c, doprnt.c, floatfns.c, fns.c, indent.c
3815         * insdel.c, lisp.h, lread.c, print.c, xdisp.c, xfaces.c, xterm.c
3816         (BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG): Rename from
3817         SHORTBITS, INTBITS, LONGBITS.
3818         * m/alpha.h, m/convex.h, m/hp800.h, m/intel386.h, m/iris4d.h
3819         * m/iris5d.h, m/mips-siemens.h, m/mips.h:
3820         (SHORTBITS, INTBITS, LONGBITS): Deleted; now in config.h
3821         Used new names for those macros in all references.
3823 1995-10-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3825         * config.in (BITS_PER_CHAR, BITS_PER_INT, BITS_PER_SHORT)
3826         (BITS_PER_LONG): Define if not already defined.
3828         * print.c (debug_print): Print a newline here.
3830         * .gdbinit (pr): Don't print newline here.
3832         * syntax.c (check_syntax_table): Check the purpose slot.
3833         Use Qsyntax_table_p for the error message.
3835         * lisp.h (CHECK_CHAR_TABLE): Don't accept nil.
3837         * Makefile.in (prefix-args): Use LDFLAGS, not ALL_LDFLAGS.
3839         * unexalpha.c (fatal_unexec): Don't use varargs.
3841         * editfns.c (Fencode_time): Add cast.
3842         (Fset_time_zone_rule): Add cast.
3844         * xterm.h: Move the include of Xlocale.h after setting HAVE_X11R5.
3846         * keyboard.c (command_loop_1): Test pre- and post-command hooks
3847         for non-nil-ness by looking at the V... variable.
3849 1995-10-29  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
3851         * m/m68k.h [linux]: Define NO_REMAP and TEXT_START,
3852         and also DATA_SEG_BITS if compiling for ELF.
3853         (HAVE_ALLOCA, alloca): Define if compiling with GCC.
3855         * keymap.c (describe_translation): Insert newline after key
3856         description.
3858         * fns.c (Fsafe_length): Add missing parentheses around &
3859         within comparison.
3861         * minibuf.c (temp_echo_area_glyphs): Only delete the temporary
3862         message.
3864 1995-10-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3866         * syssignal.h [POSIX_SIGNALS] (signal): Undef before defining.
3868         * unexelfsgi.c (find_section): New arg old_section_h.
3869         Rename file_h to old_file_h and fix type.
3870         Calls changed.
3872         * syntax.c (Fmodify_syntax_entry): Don't fail to init MATCH.
3874         * lisp.h (PVEC_TYPE_MASK): Remove the 0x100 bit.
3876         * keyboard.c (command_loop_1): No direct display if Column Number mode.
3877         (Vcolumn_number_mode): New variable.
3878         (syms_of_keyboard): Set up Lisp variable.
3880         * marker.c (Fset_marker_insertion_type): Doc fix.
3882         * alloc.c (Fmake_char_table): Doc fix.
3884         * casetab.c (Fset_case_table): Doc fix.
3886         * alloc.c: Cast first arg to bzero.
3888 1995-10-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3890         * xterm.h (FRAME_XIC): Fix wrong field name.
3892         * alloc.c (Fmemory_use_counts): Cast 1 to EMACS_INT before shift.
3894         * eval.c (run_hook_with_args): Add forward declaration.
3896 1995-10-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3898         * Makefile.in (TAGS): Separate export DIR=`pwd` into two commands.
3900         * syntax.h (SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH):
3901         Fix the non-GCC definitions.
3903         * callint.c (Fcall_interactively): New arg KEYS.
3905         * keyboard.c (Fcommand_execute): New arg KEYS.  Callers changed.
3906         (read_char): Specify KEYS when handling Vspecial_event_map.
3908 1995-10-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3910         * msdos.c (IT_ring_bell): Use intdos, not write.
3912 1995-10-25  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
3914         * data.c [!HAVE_FMOD] (fmod): Make consistent with ANSI definition.
3915         Don't use drem; it's not the same function.
3917 1995-10-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3919         * s/linux.h (REGEXP_IN_LIBC): Definition turned off.
3921         * minibuf.c (syms_of_minibuf): Doc fix.
3923 1995-10-23  Erik Naggum  <erik@churchy.gnu.ai.mit.edu>
3925         * fns.c (map_char_table): Map over only CHAR_TABLE_ORDINARY_SLOTS
3926         slots, not vector size.
3928         * casetab.c (Fcase_table_p, Fcurrent_case_table): Delete unused
3929         local variables.
3930         (set_case_table): Delete obsolete local variable `down', use
3931         `table' where referenced.  Fix assignment to `canon' when nil.
3932         Store eqv in extras[2], not extras[0].
3933         (init_casetab_once): Case-tables have 3 extra slots, not 4.
3935 1995-10-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3937         * msdos.c (recent_doskeys_index, total_doskeys, recent_doskeys):
3938         New variables.
3939         (Frecent_doskeys): New function.
3940         (syms_of_msdos): New function.
3942         * search.c (string_match_1): Pass the POSIX arg to compile_pattern.
3944         * keyboard.c (ok_to_echo_at_next_pause): Make it a char *.
3945         (read_char): Copy and compare with echo_area_glyphs.
3947         * buffer.c (reset_buffer_local_variables): Call
3948         Fset_standard_case_table if std case table seems to have been changed.
3950 1995-10-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3952         * buffer.c (reset_buffer): Initialize redisplay_end_trigger slot.
3953         Initialize extra1, extra2 and extra3 slots.
3955         * textprop.c (Fnext_single_property_change): Rearrange handling of
3956         limit = t; don't return t.
3958         * xdisp.c (try_window_id): Stop the compute_motion at ZV, not Z,
3959         when checking if all changes are below the window.
3961         * keyboard.c (read_char): If we reread a char, the next pause
3962         can start echoing despite a remaining echo area message.
3963         (ok_to_echo_at_next_pause): New variable.
3964         (cancel_echoing): Clear ok_to_echo_at_next_pause.
3966 1995-10-20  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3968         * xdisp.c (Qredisplay_end_trigger_hook): New variable.
3969         (syms_of_xdisp): Set up Lisp variable.
3970         (display_text_line): Run the hook when appropriate.
3972         * buffer.c (init_buffer_once): Mark redisplay_end_trigger always local.
3973         Also fix previous change.
3974         (syms_of_buffer): Set up Lisp var buffer-redisplay-end-trigger.
3976         * buffer.h (struct buffer): New slot redisplay_end_trigger.
3977         Also extra1, extra2, extra3.
3979 1995-10-19  Erik Naggum  <erik@naggum.no>
3981         * fns.c (Fmap_char_table): Call map_char_table with correct args.
3983 1995-10-18  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
3985         * config.in (RE_TRANSLATE_TYPE): New definition.
3987         * casetab.c: Case tables are now char-tables,
3988         and the case table is stored in the downcase_table slot only.
3989         (Fcurrent_case_table, Fstandard_case_table, set_case_table)
3990         (compute_trt_inverse, init_casetab_once): Use new data format.
3992         * buffer.c (reset_buffer_local_variables):
3993         Get the up, eqv and canon tables from within the down case table.
3995         * editfns.c (Fchar_equal): Handle char-table as case table.
3997         * fns.c (Fchar_table_subtype): New function.
3998         (syms_of_fns): defsube it.
4000         * fns.c (map_char_table): When possible, use a number
4001         to describe the range.
4003         * doc.c (Fsubstitute_command_keys): Pass new arg to describe_map_tree.
4005         * keymap.c (describe_map_tree): New arg always_title.  Callers changed.
4007         * search.c (compile_pattern_1, compile_pattern, search_buffer):
4008         Case tables are char-tables now.
4010 1995-10-16  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4012         * lisp.h (UPCASE_TABLE): Definition deleted.
4013         (UPPERCASEP, LOWERCASEP, NOCASEP, UPCASE, UPCASE1, DOWNCASE)
4014         (DOWNCASE_TABLE): Case tables are now char-tables.
4015         (Vascii_upcase_table, Vascii_canon_table, Vascii_eqv_table):
4016         Declarations deleted.
4018         * keyboard.c (read_char): Let Vkeyboard_translate_table be char-table.
4019         (syms_of_keyboard): Doc fix.
4021 1995-10-15  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4023         * lread.c (read1): Handle #' as prefix.
4024         (Qfunction): New variable.
4025         (syms_of_lread): Set up Qfunction.
4027         * fns.c (Fchar_table_range): New function.
4028         (syms_of_fns): defsubr it.
4030 1995-10-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4032         * unexelfsgi.c (find_section): New function.
4033         (unexec): Use it.  Also simplify previous changes.
4035 1995-10-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4037         * unexelfsgi.c (unexec): Find the old data section.
4038         New variable new_offsets_shift used instead of new_data2_size
4039         since they are not always the same.  Simplify logic for copying
4040         the headers and inserting new ones.
4042         * xterm.c (x_term_init, XTread_socket): Add HAVE_X_I18N support.
4044         * xfns.c (x_window, both versions): Add HAVE_X_I18N support.
4046 1995-10-12  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4048         * xterm.h (HAVE_X_I18N): New macro.
4049         Maybe include Xlocale.h.
4050         (struct x_output): New field xic.
4051         (FRAME_XIC): New macro.
4053         * window.c (Fdelete_other_windows): Set w->force_start.
4055         * xdisp.c (syms_of_xdisp): Doc fix.
4057 1995-10-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4059         * fileio.c (Finsert_file_contents): If replacing,
4060         set selected_window->start_at_line_beg.
4062 1995-10-11  Kim Storm  <kfstorm@wombat.gnu.ai.mit.edu>
4064         * keyboard.c (make_lispy_event) [!USE_X_TOOLKIT]: Dragging
4065         the mouse into the menu-bar and releasing it there did
4066         not create a drag-mouse event.
4067         (set-input-mode) [MSDOS]: Do not call reset_sys_modes and
4068         init_sys_modes.
4070         * dosfns.c (insert-startup-screen): New function.
4071         (msdos-memget, msdos-memput): New functions.
4072         (msdos-set-keyboard, insert-startup-screen): New functions.
4073         (dos-timezone-offset, dos-display-scancodes, dos-menubar-clock,
4074         dos-hyper-key, dos-super-key, dos-keypad-mode, dos-keyboard-layout,
4075         dos-decimal-point): New variables.
4077         * dosfns.h (dos_timezone_offset, dos_display_scancodes,
4078         dos_menubar_clock, dos_hyper_key, dos_super_key, dos_keypad_mode,
4079         dos_keyboard_layout, dos_decimal_point): New variables.
4081         * msdos.c: [!HAVE_X_WINDOWS]:
4082         Reworked display code to perform immediate screen output.
4083         Added menu-bar clock.
4084         Reworked keyboard code to support international keyboards.
4085         Improved keypad handling (see dos-keypad-mode).
4086         Properly distinguish between C-end and C-kp-1 etc.
4087         Corrected M-return & M-kp-enter.
4088         Added support for hyper and super keys.
4089         Reworked mouse code to avoid mouse flicker.
4090         Saves and restores DOS-screen prior to emacs startup.
4091         (sys_select): Would abort if rfds = NULL.
4092         (dos_direct_output): New function.
4093         (dos_dump_scancodes): New variable.
4095         * msdos.h (internal_flush): Removed
4096         (mouse_init1, mouse_check_moved, mouse_pressed, mouse_released): Removed.
4097         (dos_get_saved_screen, dos_set_keyboard): New functions.
4099         * s/msdos.h: Check that DJGPP v. 1 is used.
4100         Define __DJGPP__ to 1.
4101         Simplified INTERNAL_TERMINAL termcap definition.
4102         Removed #define fflush internal_flush.
4104         * sysdep.c: (init_sys_modes) [!HAVE_X_WINDOWS (MSDOS)]:
4105         Always call set_terminal_modes.
4106         (reset_sys_modes) [MSDOS]: Do not look at EMACSCOLORS.
4109 1995-10-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4111         * buffer.c (Fkill_buffer): Don't kill auto save file if not recent.
4113         * keymap.c (describe_vector): Support nested char-tables.
4115 1995-10-10  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4117         * Give char-tables a new slot `purpose'.
4119         * lisp.h (struct Lisp_Char_Table): New slot `purpose'.
4120         (CHAR_TABLE_STANDARD_SLOTS): Add one.
4122         * alloc.c (Qchar_table_extra_slots): New variable.
4123         (syms_of_alloc): Initialize it.
4124         (Fmake_char_table): Take new arg PURPOSE and get N from a property.
4126         * fns.c (Fcopy_sequence): Call Fmake_char_table the new way.
4127         (map_char_table): No longer static.  New arg C_FUNCTION.
4128         (Fmap_char_table): Call to map_char_table changed.
4129         (Fset_char_table_parent): Allow nil s new parent.
4130         Fix the code that checks for a loop in parents.
4132         * syntax.c (Qsyntax_table): New variable.
4133         (init_syntax_once): Call Fmake_char_table the new way.
4134         Set up Qsyntax_table.
4135         (Fsyntax_table_p): Check the `purpose' field.
4137         * disptab.h (DISP_TABLE_P): Check the `purpose' slot.
4138         (Qdisplay_table): Declared.
4139         * dispnew.c (Qdisplay_table): New variable.
4140         (syms_of_display): Initialize it.
4142 1995-10-09  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4144         * data.c (Qvector_or_char_table_p): New variable.
4145         (Fvector_or_char_table_p): New function.
4146         (syms_of_data): Set up Lisp var and function.
4148         * lisp.h (CHECK_VECTOR_OR_CHAR_TABLE): New macro.
4150 1995-10-09  Erik Naggum  <erik@naggum.no>
4152         * buffer.c (buffer-display-table): Document new implementation.
4154 1995-10-09  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4156         * minibuf.c (temp_echo_area_glyphs): Restore the old point value.
4158 1995-10-08  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4160         * process.c (exec_sentinel, read_process_output):
4161         Call record_asynch_buffer_change only if caller is reading kbd input.
4163         * buffer.c (init_buffer_once): Make file_format always local,
4164         not just local when set.
4166 1995-10-07  Erik Naggum  <erik@naggum.no>
4168         * alloc.c (Fmake_char_table): Initialize parent to nil.
4170 1995-10-07  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4172         * keyboard.c (command_loop_1): Access display tables as char-tables.
4174         * indent.c (buffer_display_table): Use DISP_TABLE_P.  Return type
4175         struct Lisp_Char_Table * since display tables are now char-tables.
4176         (character_width, disptab_matches_widthtab, recompute_width_table)
4177         (current_column, Fmove_to_column, compute_motion):
4178         Corresponding changes.
4180         * window.c (window_display_table): Use DISP_TABLE_P.  Return type
4181         struct Lisp_Char_Table * since display tables are now char-tables.
4182         * xdisp.c (redisplay_window, redisplay_window, display_text_line):
4183         Fix up calls to window_display_table.  Access display tables
4184         as char-tables.
4186         * disptab.h (DISP_TABLE_EXTRA_SLOTS, DISP_TABLE_P): New macros.
4187         (DISP_TRUNC_GLYPH, DISP_CONTINUE_GLYPH, DISP_ESCAPE_GLYPH)
4188         (DISP_CTRL_GLYPH, DISP_INVIS_VECTOR, DISP_BORDER_GLYPH):
4189         Use the `extras' field.
4190         (window_display_table, buffer_display_table): Change return type.
4192         * keymap.c (describe_vector): Use Flength to get length of vector.
4194         * Makefile.in (bytecode.o): Depend on syntax.h.
4196 1995-10-06  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4198         * syntax.c (describe_syntax): Handle new syntax-table data format.
4199         (Fmodify_syntax_entry, init_syntax_once): Use SET_RAW_SYNTAX_ENTRY.
4200         Handle new syntax-table data format.
4201         (check_syntax_table): Use CHECK_CHAR_TABLE.  Now static.
4202         Don't return anything; callers changed.
4203         (Fcopy_syntax_table): Use Fcopy_sequence.
4204         (Fchar_syntax, Fmatching_paren, Fforward_comment): Copy complex args
4205         to SYNTAX into variables before using them.
4206         (Fsyntax_table_p): Accept any char-table.
4207         (syntax_parent_lookup): New function.
4208         (syntax_temp): New variable.
4210         * syntax.h: Use char tables as syntax tables.
4211         (RAW_SYNTAX, RAW_SYNTAX_MATCH): Macros deleted.
4212         (RAW_SYNTAX_ENTRY, SET_RAW_SYNTAX_ENTRY): New macros.
4213         (SYNTAX, SYNTAX_MATCH): Rewritten.
4214         (SYNTAX_ENTRY, SYNTAX_WITH_FLAGS): New macros.
4215         (SYNTAX_COMSTART_SECOND, SYNTAX_COMEND_FIRST, SYNTAX_COMEND_SECOND)
4216         (SYNTAX_PREFIX, SYNTAX_COMMENT_STYLE): Use SYNTAX_WITH_FLAGS.
4218         * callint.c (callint_message, callint_message_size): New vars.
4219         (syms_of_callint): Set up new vars.
4220         (Fcall_interactively): Keep the prompt in the heap.
4222 1995-10-05  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4224         * window.c (Fset_window_hscroll): Don't reject args > SHORTBITS.
4226         * indent.c (Fmove_to_column): Make it interactive.
4228 1995-10-04  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4230         * lisp.h (struct Lisp_Char_Table): New structure.
4231         (CHAR_TABLE_STANDARD_SLOTS, CHAR_TABLE_ORDINARY_SLOTS): New macros.
4232         (CHAR_TABLE_EXTRA_SLOTS): New macro.
4234         * buffer.c (Fmake_indirect_buffer): Was taking marker positions
4235         from current buffer, which is irrelevant.
4236         (init_buffer_once): Make buffer-file-format always local.
4238 1995-10-03  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4240         * unexec.c (write_segment): Write valid data in units of 1<<13,
4241         but write zeros only a page at a time.
4243         * window.c (window_scroll): Always set force_start.
4245 1995-10-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4247         * eval.c (run_hook_with_args_2): New function.
4249         * unexec.c (write_segment): Use pagesize as unit of writing
4250         instead of 128.
4252         * lisp.h (CHECK_CHAR_TABLE): New macro.
4254         * frame.c (Qmouse_leave_buffer_hook): New variable.
4255         (syms_of_frame_1): Initialize it.
4256         (Fhandle_switch_frame): Run the hooks.
4258         * keyboard.c (Vsuggest_key_bindings): New variable.
4259         (syms_of_keyboard): Set up Lisp variable.
4260         (Fexecute_extended_command): When enabled, show an equivalent
4261         key binding.
4263 1995-10-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4265         * xterm.c (x_connection_signal_1): New function.
4266         (x_connection_signal): Try all the server connections
4267         to see which one was lost.
4269 1995-09-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4271         * xdisp.c (Qwindow_scroll_functions, Vwindow_scroll_functions):
4272         New variables.
4273         (syms_of_xdisp): Initialize them.
4274         (redisplay_window): Call the functions when appropriate.
4276         * xterm.c (XTcondemn_scroll_bars): No error if
4277         FRAME_CONDEMNED_SCROLL_BARS is non-nil already.
4278         Just move all the scroll bars into there.
4280         * dispnew.c (get_display_line): Don't abort if there's text
4281         in the line to the right beyond HPOS.
4282         (quit_error_check): Make this a no-op.
4284         * fileio.c (barf_or_query_if_file_exists): New arg STATPTR.
4285         Callers changed.
4286         (Fcopy_file): Error if input and output are the same file.
4288 1995-09-28  Carsten Bormann  <cabo@informatik.uni-bremen.de>
4290         * m/ibmrs6000.h: Add early support for Solaris 2.5 on PowerPCs.
4291         [USG5_4] (CANNOT_DUMP): Define this if USG5_4.
4292         (UNEXEC): Don't define if already defined.
4293         [USG5_4] (DATA_SEG_BITS, LIBS_MACHINE): Alternate definitions.
4294         (C_SWITCH_MACHINE, LD_SWITCH_MACHINE, NLIST_STRUCT, WORDS_BIG_ENDIAN)
4295         (TEXT_START, DATA_START, TEXT_END, DATA_END):
4296         Don't define, if USG5_4.
4298 1995-09-27  Richard Stallman  <rms@pogo.gnu.ai.mit.edu>
4300         * lisp.h (pvec_type): Add PVEC_CHARTABLE and PVEC_BOOLVECTOR.
4301         Move PVEC_BUFFER to a higher bit.
4302         (CHARTABLEP, GC_CHARTABLEP, XSETCHARTABLE, XCHARTABLE): New macros.
4303         (XBOOLVECTOR, XSETBOOLVECTOR, BOOLVECTORP, GC_BOOLVECTORP): New macros.
4304         (struct Lisp_Boolvector): New data type.
4306         * lread.c (read1): Handle chartables and boolvectors.
4307         * print.c (print): Handle chartables and boolvectors.
4308         (print_boolvector): New function.
4309         * data.c (Fchartablep, Fboolvectorp): New functions.
4310         (syms_of_data): defsubr them.
4311         (Faref, Faset, Fsequencep): Handle chartables and boolvectors.
4313         * fns.c (Fset_char_table_range): New function.
4314         (make_char_table, Fmap_char_table): New function.
4315         (Fchar_table_extra_slot, Fset_char_table_extra_slot): New functions.
4317         * fns.c (Fcopy_sequence, Felt, internal_equal, Ffillarray):
4318         Handle chartables and boolvectors.
4319         (Flength, concat): Handle boolvectors as args.
4320         (Flength): Handle chartables as args.
4322         * alloc.c (Fmake_chartable, Fmake_boolvector): New functions.
4323         (syms_of_alloc): defsubr them.
4325         * buffer.c (Fmake_overlay): Set end-marker's insertion_type to 1.
4327 1995-09-22  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
4329         * xfns.c (Fx_create_frame): Set up buffer-predicate slot.
4331         * gmalloc.c (current_core_address): New function.
4332         (_malloc_internal): Use current_core_address.
4333         (morecore): Avoid using __morecore (0).
4335         * ralloc.c (r_alloc_sbrk): Round up amount being returned.
4337 1995-09-20  Paul Eggert  <eggert@twinsun.com>
4339         * msdos.c (gettimeofday, init_gettimeofday, daylight, gmtoffset):
4340         Undo previous change to msdos.c.
4341         (init_environment): No need to call tzset and init_gettimeofday,
4342         since `main' now does that for us.
4343         (gettimeofday): Ignore tzp; it's obsolescent.
4344         (init_gettimeofday): Invoke tzset first.
4345         * s/msdos.h (LOCALTIME_CACHE, tzset): New macros.
4347 1995-09-17  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
4349         * xfns.c (x_decode_color): Get error if color not defined.
4351         * xmenu.c (popup_get_selection): Pop menu down if button is pressed
4352         outside the menu.
4354         * minibuf.c (read_minibuf_unwind): Use safe_run_hooks.
4356         * keyboard.c (safe_run_hooks): No longer static.
4358         * keyboard.c (read_char_x_menu_prompt):
4359         When unreading events generated by a menu,
4360         turn symbols and integers into lists,
4361         for the sake of last_nonmenu_event and thus y-or-n-p.
4363 1995-09-15  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
4365         * lread.c (Fload): Rename arg STR to FILE.
4367 1995-09-14  Richard Stallman  <rms@whiz-bang.gnu.ai.mit.edu>
4369         * ralloc.c (r_alloc_sbrk): Get the right heap data address
4370         in multi-heap case.
4372 1995-09-12  Karl Heuer  <kwzh@gnu.ai.mit.edu>
4374         * s/isc2-2.h (BROKEN_SELECT_NON_X): Define this instead of turning
4375         off HAVE_SELECT.
4376         * s/isc3-0.h (BROKEN_SELECT_NON_X): Moved to s/isc2-2.h.
4377         (HAVE_SELECT): Deleted; s/isc2-2.h no longer undefs this.
4379 1995-09-12  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4381         * insdel.c (signal_after_change): Call report_interval_modification.
4383         * textprop.c (call_mod_hooks): Moved from intevals.c
4384         (verify_interval_modification): Moved from intervals.c.
4385         (interval_insert_behind_hooks, interval_insert_in_front_hooks):
4386         New variables.
4387         (report_interval_modification): New function.
4388         * intervals.c (call_mod_hooks, verify_interval_modification):
4389         Functions moved to textprop.c.
4391 1995-09-10  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4393         * xmenu.c (xmenu_show): Ignore `quote' when looking up the result.
4395 1995-09-10  Paul Eggert  <eggert@twinsun.com>
4397         * editfns.c (Fencode_time): Use mktime to do the real work;
4398         this fixes bugs involving out-of-range dates and leap seconds,
4399         and allows date arithmetic via out-of-range values for arguments.
4400         Allow the ZONE parameter to be a TZ-style string.
4401         Doc string fix: `1900' -> `this century'.
4402         (set_time_zone_rule): New function.
4403         (Fset_time_zone_rule): Use it.
4404         (environ, make_time): Add extern declarations.
4405         (days_per_month): Remove.
4407 1995-09-09  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4409         * keyboard.c (command_loop_1): Set this_command to nil
4410         before reading a command.
4412         * editfns.c (Fdecode_time): Doc fix.
4414 1995-09-08  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4416         * m/apollo.h (HAVE_UNISTD_H): Add #undef.
4418 1995-09-07  Paul Eggert  <eggert@twinsun.com>
4420         * editfns.c (Fset_time_zone_rule): New function.
4421         (syms_of_editfns): defsubr it.
4422         * msdos.c (gettimeofday): Don't bother setting time zone,
4423         since nobody uses it, and our hacks to get it get in the way
4424         of the above fix.  Use simpler method for getting time stamp.
4425         (init_gettimeofday, daylight, gmtoffset): Remove.
4426         * msdos.h (init_gettimeofday): Remove declaration.
4428 1995-09-06  Paul Eggert  <eggert@twinsun.com>
4430         * configure.in (LOCALTIME_CACHE): Define if tzset exists and
4431         if localtime caches TZ.  Check for tzset.
4433         * emacs.c (main): Call tzset only if LOCALTIME_CACHE is defined;
4434         not all Suns have this bug.
4435         * m/pmax.h, s/386bsd.h, s/bsd386.h, s/freebsd.h, s/gnu.h,
4436         s/netbsd.h (LOCALTIME_CACHE): Remove; now configured automatically.
4438 1995-09-06  Erik Naggum  <erik@naggum.no>
4440         * alloc.c (Fmake_marker): Initialize insertion_type to 0.
4442 1995-09-03  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4444         * insdel.c (adjust_markers_for_insert): New function.
4445         (insert_from_buffer_1, insert_from_string_1, insert_1): Call it.
4447 1995-09-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4449         * fileio.c (Fmake_symbolic_link, Fadd_name_to_file):
4450         Look for handler for the new name as well as for the target.
4452         * dired.c (Ffile_name_all_completions, Ffile_name_completion):
4453         Look for handler for FILE as well as for DIRNAME.
4455 1995-08-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4457         * marker.c (Fcopy_marker): New arg TYPE.
4458         (Fmarker_insertion_type, Fset_marker_insertion_type): New functions.
4459         (syms_of_marker): defsubr them.
4461         * buffer.c (Fmake_indirect_buffer): Set the insertion_type of the
4462         zv_marker markers to 1.
4464         * window.c (save_window_save): Pass the new arg to Fcopy_marker.
4466         * editfns.c (save_excursion_save): Pass the new arg to Fcopy_marker.
4468 1995-08-31  Erik Naggum  <erik@naggum.no>
4470         * keyboard.c (Fcommand_execute): Ignore `disabled' property on
4471         commands if `disable-command-hook' is nil.
4473 1995-08-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4475         * keyboard.c (read_key_sequence): Validate the event position
4476         before calling get_local_map.
4478 1995-08-29  Jack Repenning <jackr@sgi.com>
4480         * unexelfsgi.c: Compute new data offset based on memory
4481         address; also, copy .got from memory not temacs.
4483 1995-08-29  Kim Storm  <kfs@olicom.dk>
4485         * dosfns.c (Fmsdos_mouse_enable, Fmsdos_mouse_disable)
4486         (Fmsdos_mouse_init): New functions.
4487         (syms_of_dosfns): defsubr them.
4488         (Fmode25, Fmode4350): Call mouse_off unconditionally.
4489         (Fset_mouse_position): Return nil.
4491         * msdos.h (sleep_or_kbd_init): Delete declaration.
4493         * frame.c [!MULTI_FRAME] (Factive_minibuffer_window): New function.
4494         [!MULTI_FRAME] (syms_of_frame): defsubr it.
4496         * sysdep.c (sys_subshell) [MSDOS]: Handle SUSPEND env var.
4497         Disable error report from subshell if system returns non-zero.
4498         Don't call vfork before calling system.
4499         Don't call wait_for_termination.
4500         (sys_select): Turn it off if MSDOS.
4501         (reset_sys_modes): Support EMACSCOLORS env var.
4503         * puresize.h (SITELOAD_PURESIZE_EXTRA): New macro.
4504         (BASE_PURESIZE): Use SITELOAD_PURESIZE_EXTRA.
4506         * msdos.c (putchar): Call internal_flush instead of _flsbuf.
4507         (DO_TERMSCRIPT): New macro to support open-termscript.
4508         (internal_flush): Corrected handling of flush in middle of
4509         escape sequences. Handle screen width > 127.
4510         (flush_escape): New function for use by internal_flush.
4511         (sys_select): New MS-DOS specific version with us timing.
4512         (EMACSCOLORS): New environment variable.
4513         (IT_clear_end_of_line): Set default face.
4514         (run_msdos_command): Restore mouse position after command.
4515         Close "backup fd"s.
4516         Corrected switch to cooked mode while running command.
4517         (mouse_on, mouse_off): Now checks have_mouse > 0.
4518         Note: "have_mouse < 0" means that a mouse is present, but
4519         it has been disabled via msdos-mouse-disable.
4520         (IT_write_glyphs): Allow esc-character itself to be printed.
4521         (event_timestamp): New function to make reliable times stamps.
4522         (sys_chdir): Skip drive letter before calling chdir.
4523         (sleep_or_kbd_hit): Handle 60 seconds time wrap.
4524         (mouse_get_pos): Return event_timestamp.
4527 1995-08-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4529         * msdos.c (struct IT_menu_state): Refer to it as struct, not typedef.
4531         * editfns.c (Fdecode_time): Doc fix.
4533         * minibuf.c (Fdisplay_completion_list): Clear all text properties
4534         for the whitespace between completion items.
4536         * xterm.c (x_wm_set_icon_pixmap): If trying to turn off icon
4537         pixmap, do nothing.
4539 1995-08-28  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
4541         * s/gnu.h (GETPGRP_NO_ARG, WAIT_USE_INT, UNEXEC): New macros.
4542         (HAVE_SOCKETS, A_TEXT_SEEK, NO_REMAP): Macros removed.
4544 1995-08-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4546         * doprnt.c (doprnt): Fix typo in error message.
4548 1995-08-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4550         * emacs.c (decode_env_path): Use ".", not nil, for current dir.
4552 1995-08-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4554         * keyboard.c (modifier_names): Add 4 bits to modifier bit positions.
4556 1995-08-21  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
4558         * xdisp.c (display_text_line): Write blanks under the entire
4559         scroll bar, not just the first column.
4561 1995-08-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4563         * s/irix5-2.h (SA_RESTART): Add #undef.
4565         * keyboard.c:
4566         (Qpost_command_idle_hook, Vpost_command_idle_hook): New vars.
4567         (syms_of_keyboard): Set up new vars.
4568         (command_loop_1): Run Qpost_command_idle_hook.
4570 1995-08-20  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4572         * s/aix3-1.h (SYSTEM_TYPE): Change to just "aix".
4574         * s/aix4.h: Include aix3-2-5.h, not aix3-2.h.
4575         * s/aix4-1.h (sigsetmask, _setjmp, _longjmp): Delete undefs.
4576         [__GNUC__] (_NO_PROTO): Add undef.
4578         * s/aix3-2-5.h (POSIX_SIGNALS, CLASH_DETECTION): Defined.
4579         (SIGNALS_VIA_CHARACTERS, MAIL_USE_LOCKF): Defined.
4580         (sigmask, sigsetmask, _setjmp, _longjmp): Add undefs.
4582 1995-08-19  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4584         * dispnew.c: Include syssignal.h.
4586         * lisp.h (struct Lisp_Marker): Make insertion_type an unsigned int.
4588 1995-08-16  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4590         * syntax.c (scan_sexps_forward): Fix previous change.
4592 1995-08-15  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
4594         * emacs.c (sort_args): Initialize best_priority smaller than any
4595         actual priority.
4597 1995-08-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4599         * fileio.c (Fwrite_region): New arg lockname.
4600         (auto_save_1): Pass new arg.
4602         * callproc.c (Fcall_process_region): Pass new arg to Fwrite_region.
4604         * emacs.c (standard_args): Fix previous change.
4606 1995-08-14  Erik Naggum  <erik@naggum.no>
4608         * emacs.c (standard_args): Add option --eval to evalute an
4609         expression on the command line and print the result.
4611 1995-08-14  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4613         * cmds.c (Fself_insert_command): Optimize the case with arg > 2
4614         to avoid running change hooks lots of times.
4616 1995-08-13  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4618         * s/isc4-1.h (NO_SOCKETS_IN_FILE_SYSTEM): Defined.
4619         (START_FILES): Defined.
4620         (LIB_STANDARD): New definition, details depending on __GNUC__.
4622         * syntax.c (scan_sexps_forward): Use the initial depth
4623         in the starting state for tracking when we reach TARGETDEPTH.
4625 1995-08-11  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4627         * m/alpha.h: Test OSF1, not __osf1__.
4628         (ORDINARY_LINK): Define only if OSF1.
4629         (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF, PTY_OPEN):
4630         Define only if OSF1.
4631         (TEXT_END, DATA_END): Fix the definitions.
4633 1995-08-10  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4635         * s/linux.h (ULIMIT_BREAK_VALUE, SEGMENT_MASK): Moved to intel386.h
4636         (LIBS_SYSTEM): Define this instead of LIBS_MACHINE.
4638         * m/intel386.h [linux] (ULIMIT_BREAK_VALUE, SEGMENT_MASK):
4639         Moved from linux.h.
4641         * m/alpha.h [linux] (COFF, NO_TERMIO): Defined.
4642         [linux] (TEXT_END, DATA_END): New definitions.
4644         * unexalpha.c (fatal_unexec): Use vfprintf, not _doprnt.
4646         * m/alpha.h (LIBS_DEBUG, START_FILES, LIBS_MACHINE):
4647         Define only if __osf1__.
4649         * macros.c (Fcancel_kbd_macro_events): New function.
4650         (syms_of_macros): defsubr it.
4652         * frame.c (store_frame_param): Don't call set_menu_bar_lines if X.
4654 1995-08-07  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4656         * keyboard.c (read_key_sequence): Undo previous change.
4657         Instead, put back the orig_uppercase event if key is not defined.
4658         When downcasing, back up one step in key-translation processing.
4660         * doprnt.c (doprnt): Error if %-width is too big.
4662         * editfns.c (Fformat): Limit minlen to avoid stack overflow.
4664 1995-08-07  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
4666         * insdel.c (signal_before_change, signal_after_change): Fix
4667         spelling of Vbefore_change_functions and Vafter_change_functions.
4669 1995-08-07  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4671         * doprnt.c (doprnt): Don't let size_bound be gigantic.
4672         Fix error message.
4674 1995-08-06  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4676         * buffer.c (get_truename_buffer): New function.
4677         * filelock.c (lock_file): Use get_truename_buffer.
4679         * emacs.c (main) [USG5]: Call setpgrp without testing INTERRUPT_INPUT.
4681         * xdisp.c (redisplay): Compute mini_frame the same way
4682         echo_area_display does.
4684         * keyboard.c (kbd_buffer_store_event):
4685         Don't insert two buffer_switch_event's in a row.
4687         * xfns.c (x_set_menu_bar_lines) [USE_X_TOOLKIT]: When turning
4688         menu bar on, make sure next redisplay creates it.
4690         * eval.c (run_hook_with_args): Move the GCPRO2; add UNGCPRO.
4692         * process.c (read_process_output, exec_sentinel): Call
4693         record_asynch_buffer_change after any eval.  Don't call
4694         prepare_menu_bars.
4695         (wait_reading_process_input): Don't call prepare_menu_bars.
4697 1995-08-05  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4699         * search.c (Freplace_match): New arg SUBEXP.
4701         * eval.c (run_hook_with_args): Add gcpros.
4702         * print.c (print_string): Use insert_from_string for output to buffer.
4703         * minibuf.c (Fdisplay_completion_list): gcpro elt.
4705         * insdel.c (signal_before_change, signal_after_change): Major rewrite.
4706         (before_change_function_restore, after_change_function_restore)
4707         (before_change_functions_restore, after_change_functions_restore):
4708         Functions deleted.
4709         * eval.c (run_hook_list_with_args): New function.
4710         * buffer.c (Qbefore_change_functions, Qafter_change_functions):
4711         New variables.
4712         (syms_of_buffer): Initialize them.
4713         * buffer.h (Qbefore_change_functions, Qafter_change_functions):
4714         Declared.
4716         * frame.c (Fset_mouse_position, Fset_mouse_pixel_position): Doc fixes.
4717         [not MULTI_FRAME] (Fframe_visible_p): New function.
4718         [not MULTI_FRAME] (syms_of_frame): defsubr it.
4720         * xfns.c (Ffocus_frame, Funfocus_frame): Make them no-ops.
4722 1995-08-04  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4724         * xterm.c (x_delete_display) [AIX]: Don't call XRmDestroyDatabase.
4726         * msdos.c (IT_write_glyphs): Call ScreenSetCursor.
4728         * lread.c (saved_doc_string*): New variables.
4729         (load_force_doc_strings): New variable.
4730         (syms_of_lread): Set up Lisp var load-force-doc-strings.
4731         (read_list): Handle load_force_doc_strings.
4732         Use the saved_doc_string, if it's right; otherwise, reread from file.
4733         (read1): Save last doc string in saved_doc_string.
4735 1995-08-03  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4737         * frame.c (set_menu_bar_lines, set_menu_bar_lines_1): New functions.
4738         (store_frame_parameter): Call set_menu_bar_lines.
4739         [!MULTI_FRAME] (Fmodify_frame_parameters): Call set_menu_bar_lines.
4741         * frame.c: Move various Q... vars to top of file, unconditional.
4742         (Vterminal_frame): Just one definition, at top of file, unconditional.
4743         (syms_of_frame_1): New function.
4744         (syms_of_frame. both definitions): Call syms_of_frame_1.
4746 1995-08-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4748         * keyboard.c (read_key_sequence): Don't downshift an event
4749         if that fails to make it bound.
4750         (follow_key): Don't alter contents of NEXT until the end.
4752         * xmenu.c [USE_X_TOOLKIT] (xmenu_show): Compute root-based
4753         coordinates.  Make a dummy event to pass them to lw_popup_menu.
4755         * lread.c (Funintern): Fix deleting the last symbol in a chain.
4757 1995-08-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4759         * xdisp.c (redisplay): When displaying a terminal frame,
4760         if it isn't the same one as last time, clear it and redraw.
4761         Don't redisplay mini_frame as well, if it is a termcap frame.
4763         * frame.c (do_switch_frame): Do nothing special when switching
4764         between terminal frames.
4766 1995-07-31  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
4768         * s/usg5-4.h, s/sol2-5.h (GETTIMEOFDAY_ONE_ARGUMENT): Deleted;
4769         configure handles this now.
4771 1995-07-31  Simon Marshall  <simon@duality.gnu.ai.mit.edu>
4773         * eval.c (run_hook_with_args): Renamed from Frun_hook_with_args.
4774         Take extra arg CONDITION, and return appropriately based on hook
4775         function value if CONDITION is until_success or until_failure.
4776         (Frun_hooks, Frun_hook_with_args,
4777         Frun_hook_with_args_until_success,
4778         Frun_hook_with_args_until_failure): New functions, use it.
4779         (syms_of_eval): defsubr them.
4781         * lisp.h (Frun_hook_with_args,
4782         Frun_hook_with_args_until_success,
4783         Frun_hook_with_args_until_failure): Declare them.
4785 1995-07-31  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4787         * xterm.c (XTread_socket): For UnmapNotify, use x_top_window_to_frame.
4789         * keyboard.c (kbd_buffer_get_event, swallow_events): Fix prev change.
4791 1995-07-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4793         * xmenu.c (single_submenu):
4794         Only ignore 1st char of pane name if that is an @.
4796         * frame.c (Fmake_terminal_frame): Copy face_alist from selected frame.
4798         * s/linux.h (HAVE_XRMSETDATABASE): Define if not defined.
4800 1995-07-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4802         * s/isc3-0.h (HAVE_SELECT): Defined.
4804         * s/isc4-1.h (HAVE_SOCKETS, NEED_NET_ERRNO_H): Defined.
4805         (HAVE_TERMIOS): Defined.
4806         (HAVE_TERMIO): Add undef.
4808         * s/isc4-0.h (sigblock, SIG_BLOCK): Don't define them if POSIX_SIGNALS.
4810         * process.c: Maybe include net/errno.h.
4812         * alloc.c (cons_cells_consed, floats_consed, vector_cells_consed)
4813         (symbols_consed, string_chars_consed, misc_objects_consed)
4814         (intervals_consed): New vars.
4815         (make_float, Fcons, make_interval, allocate_vectorlike, Fmake_symbol)
4816         (allocate_misc, make_uninit_string): Increment them.
4817         (Fmemory_use_counts): New function.
4818         (syms_of_alloc): defsubr it.
4820 1995-07-28  Gvran Uddeborg  <uddeborg@carmen.se>
4822         * s/isc4-1.h: ISC 4.1 has termios.
4824 1995-07-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4826         * config.in (GETTIMEOFDAY_ONE_ARGUMENT): Add #undef.
4828 1995-07-27  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
4830         * eval.c (syms_of_eval): Add missing defsubr.
4832         * buffer.c: (struct sortstrlist): New type.
4833         (overlay_heads, overlay_tails): Change to struct sortstrlist.
4834         (overlay_heads_len, overlay_tails_len): Deleted; now part of struct.
4835         (record_overlay_string): New function.
4836         (overlay_strings): Simplify.  Use record_overlay_string.
4837         Check for window match in overlays_after loop, not just in
4838         overlays_before.
4839         Handle zero-sized overlays better.
4841 1995-07-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4843         * keymap.c (describe_buffer_bindings): Print bindings from
4844         Vfunction_key_map and from Vkey_translation_map.
4845         (describe_translation): New function.
4846         (describe_command): Handle vector like string.
4847         (describe_map_tree): New arg TRANSL.  Callers changed.
4849         * keymap.c (Vkey_translation_map): Defined.
4850         (syms_of_keymap): Set up Lisp var.
4851         * keyboard.c (Vkey_translation_map): Just declare, don't define.
4852         (syms_of_keyboard): Don't set up Lisp var.
4854 1995-07-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4856         * Makefile.in (prefix-args): Pass ALL_LDFLAGS.
4858         * xdisp.c (syms_of_xdisp): Doc fix.
4860         * keyboard.c (kbd_buffer_get_event): Update input_pending after
4861         discarding one event from the queue, if we process the event here.
4862         (swallow_events): Likewise.
4864 1995-07-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4866         * m/iris4d.h (LIBS_MACHINE): Delete -lsun.
4867         * s/irix3-3.h (LIBS_SYSTEM): Defined.
4869         * frame.h (struct frame): Rename `display' member to `output_data'.
4870         Use new data type name for output_data.x.
4871         * xterm.h (struct x_output): Renamed from struct x_display.
4872         * xterm.c, xfns.c, xmenu.c, dispnew.c, frame.c, xfaces.c: Do renamings:
4873         frame->display => frame->output, struct x_display -> struct x_output.
4875 1995-07-25  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
4877         * lisp.h (Frun_hook_with_args): Declare this function.
4878         * eval.c (Frun_hook_with_args): New C function, formerly in subr.el.
4879         * insdel.c (signal_before_change): Use Frun_hook_with_args.
4880         (signal_after_change): Likewise.
4882 1995-07-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4884         * xterm.c (next_noop_dpyinfo): New variable.
4885         (XTread_socket): Use that to cycle through all displays for XNoOp.
4887 1995-07-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
4889         * undo.c (Fprimitive_undo): Don't end inner loop
4890         just because a previous-modtime doesn't match any more.
4892 1995-07-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4894         * process.c (Fstart_process):
4895         Don't expand the file name before trying openp.
4897 1995-07-23  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4899         * xterm.h (struct x_display): New fields saved_button_event, id.
4900         * termhooks.h (enum event_kind): Added menu_bar_activate_event.
4901         * xterm.c (XTread_socket) [USE_X_TOOLKIT]: For ButtonPress in menu bar,
4902         save the event--don't pass to Xt yet.  Make a menu_bar_activate_event.
4903         (temp_index, temp_buffer): Now static.
4904         * keyboard.c (kbd_buffer_get_event) [USE_X_TOOLKIT]:
4905         Handle menu_bar_activate_event by calling x_activate_menubar.
4906         * xmenu.c: Include buffer.h.
4907         (x_activate_menubar): New function.
4908         (set_frame_menubar): New arg deep_p.  Callers changed.
4909         Run various hooks here when deep_p is true.
4910         (frame_vector): Variable deleted.
4911         (syms_of_xmenu): Don't staticpro it.
4912         (frame_vector_add_frame): Function deleted.
4913         (menubar_id_to_frame): New function.
4914         (menubar_selection_callback): Use menubar_id_to_frame.
4915         (next_menubar_widget_id): New variable.
4916         (set_frame_menubar): Use next_menubar_widget_id.
4917         (free_frame_menubar): Get id from f->display.x->id.
4919         * xdisp.c (update_menu_bar): Pass new arg to set_frame_menubar.
4920         * xfns.c (x_menubar_window_to_frame): New function.
4922         * window.c (Fprevious_window, Fnext_window): When minibuf = nil,
4923         accept only the minibuffer window that is currently active.
4925 1995-07-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4927         * lread.c (read_list): When a file loaded from site-init.el uses #$,
4928         turn it into a relative file name starting with ../lisp.
4930         * dispnew.c (update_frame): Check that the echo area is in the
4931         frame being displayed.
4933         * keyboard.c (command_loop_1): Clear echo area after 2 sec
4934         only if the minibuffer is in the same place as the echo area.
4936         * window.h (echo_area_window): Declared.
4938         * xdisp.c (echo_area_display): Use selected frame's minibuf window
4939         but don't set the minibuf_window (don't call choose_minibuffer_frame).
4940         (message2_nolog, message): Likewise.
4941         (echo_area_window): New variable.
4942         (echo_area_display): Set echo_area_window.
4943         (redisplay_window): Distinguish minibuf_window and echo_area_window.
4945         * fileio.c (do_auto_save_unwind): Set auto_saving to 0.
4946         (Fdo_auto_save): Don't clear auto_saving here.  Set it to 1
4947         only when we make the unwind-protect.
4949         * xdisp.c (redisplay): Skip shortcuts if buffer's clip_changed is set.
4950         (redisplay_window): If buffer's clip_changed is set, update mode line.
4952         * frame.c (do_switch_frame): Don't call choose_minibuffer_frame.
4953         (choose_minibuf_frame): Choose frame regardless of minibuffer level.
4954         * minibuf.c (read_minibuf): Call choose_minibuffer_frame.
4955         First save the previous minibuf_window.
4956         (read_minibuf_unwind): Restore old minibuf_window.
4958 1995-07-20  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4960         * s/aix4.h (AIX4): New definition.
4961         * m/ibmrs6000.h (LD_SWITCH_MACHINE) [AIX4]: New alternate definition.
4963         * xmenu.c (set_frame_menubar): If the Lisp-level menu bar menus
4964         are unchanged, don't recompute the widgets.
4966         * xmenu.c (syms_of_xmenu): Set up Qdebug_on_next_call.
4967         (set_frame_menubar): Bind it to nil.
4969         * fileio.c (Ffile_modes) [DOS_NT]: Use check_executable.
4970         (check_executable): DOS_NT code moved here from Ffile_modes.
4971         (check_writable): New code for MSDOS.
4973         * editfns.c (Fformat): Doc fix.
4975 1995-07-20  Karl Heuer  <kwzh@gnu.ai.mit.edu>
4977         * fns.c (Fsafe_length): Return a conservative upper bound.
4979 1995-07-20  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4981         * editfns.c (Fsubst_char_in_region):
4982         Bind buffer-file-name to nil if NOUNDO is true.
4984         * insdel.c (prepare_to_modify_buffer): Don't lock the file
4985         if current_buffer->filename is nil.
4987         * msdos.c (init_environment): Move alloca call out of function arg.
4989         * puresize.h [!MULTI_FRAME] (BASE_PURESIZE): Increased to 325000.
4991 1995-07-19  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4993         * textprop.c (Fget_char_property): If OBJECT is non-current buffer,
4994         use it properly for overlays_at.
4996 1995-07-18  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
4998         * alloc.c (init_alloc_once): Set gc_cons_threshold from Lisp obj size.
5000         * editfns.c (Fmessage): Doc fix.
5001         (Fformat): Increment total for size of control string.
5003         * window.c (Fwindow_start): Doc fix.
5005         * xfaces.c (unload_color): Don't free colors if immutable colormap.
5007         * eval.c (Ffuncall, Fapply): Doc fix.
5009         * callint.c (Fcall_interactively): Doc fix.
5011         * fileio.c (Fexpand_file_name): Initial ~ means name is absolute.
5013         * config.in: Renamed from config.h.in.
5014         * paths.in: Renamed from paths.h.in.
5015         * Makefile.in: Renamed from Makefile.in.in.
5016         (paths.h): Depend on paths.in.
5017         (config.h): Depend on config.in.
5018         (distclean): Delete Makefile.c, not Makefile.in.
5019         (SOURCES): Corresponding changes.
5021         * callproc.c (init_callproc): Set Vdoc_directory based on
5022         Vinstallation_directory when that's non-nil, regardless of whether
5023         we had to set Vexec_directory.
5025         * unexsunos4.c (unexec): If not SUNOS4_SHARED_LIBRARIES
5026         or if apparently not dynamically linked, just clear rel and erel.
5028         * s/sunos4shr.h (SUNOS4_SHARED_LIBRARIES): Defined.
5030 1995-07-18  Mikael Djurfeldt  <mdj@kidjo.nada.kth.se>
5032         * xdisp.c (decode_mode_spec): New arg spec_width.
5033         Use pint2str for %l and %c.  New code to output ??.
5034         (display_mode_element): New var minendcol.
5035         Pass new arg to decode_mode_spec.
5036         (pint2str): New function.
5038 1995-07-17  Karl Heuer  <kwzh@kropotkin.gnu.ai.mit.edu>
5040         * bytecode.c (Fbyte_code): Fix variable names in previous change.
5042 1995-07-17  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5044         * xfns.c [USE_MOTIF]: Don't include X11/Xaw/Paned.h, X11/Xaw/Label.h.
5046 1995-07-16  Richard Stallman  <rms@gnu.ai.mit.edu>
5048         * keyboard.c (kbd_buffer_get_event): Discard a selection_clear_event
5049         before processing it.
5051         * bytecode.c (Fbyte_code): For Beqlsign, if both args are ints,
5052         compare as ints.
5054         * xterm.c [HAVE_X11XTR6]: Include locale.h
5055         (x_term_init) [HAVE_X11XTR6]: Set LC_NUMERIC and LC_TIME back to C.
5057         * data.c (Fnumber_to_string): Make `buffer' long enough.
5059 1995-07-15  Richard Stallman  <rms@gnu.ai.mit.edu>
5061         * xselect.c (x_clear_frame_selections): Delete duplicate code.
5063         * alloc.c (Flist): Rewritten.
5065 1995-07-13  Richard Stallman  <rms@gnu.ai.mit.edu>
5067         * dispnew.c (Fsit_for): Don't call prepare_menu_bars here.
5069         * emacs.c (main): Add to usage message.
5071         * s/netbsd.h (AMPERSAND_FULL_NAME): Defined.
5073 1995-07-12  Richard Stallman  <rms@gnu.ai.mit.edu>
5075         * s/sco4.h (SCO_R4): Defined.
5077 1995-07-10  Richard Stallman  <rms@gnu.ai.mit.edu>
5079         * floatfns.c (Fexpt): Use EMACS_INT for integer calculation.
5080         (Ffloor): Likewise.
5082 1995-07-09  Richard Stallman  <rms@gnu.ai.mit.edu>
5084         * buffer.c (last_overlay_modification_hooks): New variable.
5085         (last_overlay_modification_hooks_used): Likewise.
5086         (syms_of_buffer): Init last_overlay_modification_hooks.
5087         (add_overlay_mod_hooklist): New function.
5088         (call_overlay_mod_hooks): Call add_overlay_mod_hooklist.
5089         (report_overlay_modification): When AFTER is non-nil,
5090         call the functions recorded in last_overlay_modification_hooks.
5092         * s/aix4-1.h (_setjmp, _longjmp): Add #undef's.
5094         * alloc.c (allocating_for_lisp): New variable.
5095         (init_intervals, make_interval, init_symbol, Fmake_symbol)
5096         (init_float, make_float, init_cons, Fcons)
5097         (allocate_vectorlike, init_marker, allocate_misc)
5098         (init_strings, make_uninit_string): Set allocate_misc temporarily.
5100         * Makefile.in.in (TAGS): Use etags from build dir, but make TAGS
5101         file in source dir.
5102         (${lispsource}TAGS): Renamed from ../lisp/TAGS.  Deps changed too.
5103         (tags): Corresponding changes.
5104         (lisptagsfiles): Delete the term/*.el files.
5106         * fileio.c (Fwrite_region): If fsync fails with EINTR, don't
5107         report a Lisp error.
5109 1995-07-08  Richard Stallman  <rms@gnu.ai.mit.edu>
5111         * process.c (keyboard_bit_set): Fix one-off in loop end.
5113 1995-07-07  Richard Stallman  <rms@gnu.ai.mit.edu>
5115         * keymap.c (current_minor_maps): Catch errors in Findirect_function.
5116         (current_minor_maps_error): New function.
5118 1995-07-06  Richard Stallman  <rms@gnu.ai.mit.edu>
5120         * frame.h (struct frame): New field `mouse_moved'.
5121         * keyboard.c (mouse_moved): Variable deleted.
5122         (kbd_buffer_get_event, readable_events):
5123         Check mouse_moved in all frames.
5124         Check do_mouse_tracking for non-nil ness.
5125         (Ftrack_mouse): Set do_mouse_tracking to t.
5126         * xterm.c (note_mouse_movement): Set mouse_moved in the x_display_info.
5127         (XTmouse_position, x_scroll_bar_note_movement): Likewise.
5128         (x_scroll_bar_report_motion): Likewise.
5130         * xterm.c (x_draw_box, x_display_box_cursor, x_display_bar_cursor):
5131         New args x, y.  Don't use curs_x or curs_y here.  Callers changed.
5133         * ntinevt.c (win32_mouse_position, mouse_moved_to):
5134         Access mouse_moved in selected_frame.
5135         * msdos.c (mouse_get_pos, mouse_check_moved, XMenuActivate):
5136         Access mouse_moved in selected_frame.
5138         * lread.c (Fread): Rename arg READCHARFUN to STREAM.
5140         * xfns.c (Fx_list_fonts): Don't free thisinfo if it is 0.
5142         * sysdep.c (sys_close): Handle Sunos 4.1 bug in close errno value.
5144 1995-07-05  Richard Stallman  <rms@gnu.ai.mit.edu>
5146         * Makefile.in.in (lispsource): Renamed from lispdir.
5148         * sysdep.c (init_system_name): Add cast in init for fqdn.
5150 1995-07-03  Michael Shields  <shields@tembel.org>
5152         * m/intel386.h [linux]: Include values.h and #undef
5153         certain macros, to avoid conflict later.
5155 1995-07-06  Karl Heuer  <kwzh@nutrimat.gnu.ai.mit.edu>
5157         * s/irix6-0.h [!__GNUC__] (LD_SWITCH_SYSTEM): Define this.
5159         * s/usg5-4-2.h (LIB_MOTIF, VFORK_RETURN_TYPE): Define these.
5161         * xterm.c (x_initialize) [USE_X_TOOLKIT]: Set fallback resources.
5163         * window.c (Fset_window_hscroll): Set clip_changed in the buffer.
5164         (temp_output_buffer_show): Likewise.
5166         * lisp.h (get_keymap_1): Declared.
5168         * editfns.c (Fwiden): Set clip_changed in current buffer.
5169         (Fnarrow_to_region, save_restriction_restore): Likewise.
5171         * buffer.c (overlays_in): Don't count empty overlays at END.
5172         (Foverlays_in): Likewise.
5174 1995-07-02  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5176         * keyboard.c (read_char): Temporarily clear Vquit_flag
5177         while checking Vspecial_event_map.
5179         * xdisp.c (redisplay_window): Fix typos in clip_changed change.
5181         * buffer.h (struct buffer): New field clip_changed.
5183         * xdisp.c (clip_changed): Variable deleted.
5184         (prepare_menu_bars): Don't look at clip_changed.
5185         (redisplay): Don't set clip_changed.  Do set b's clip_changed.
5186         (redisplay_window): Check clip_changed in current_buffer.
5187         (mark_window_display_accurate): Clear clip_changed
5188         in the window's buffer.
5190 1995-07-01  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5192         * keyboard.c (Vspecial_event_map): New variable.
5193         (syms_of_keyboard): Define Lisp var; init the map.
5194         (read_char): Look up each event in Vspecial_event_map; if bound,
5195         execute the binding here and read another event.
5196         (keys_of_keyboard): Make bindings for iconify-frame,
5197         make-frame-visible and delete-frame.
5199         * fns.c (Fsafe_length): New function.
5200         (syms_of_fns): defsubr it.
5201         * lisp.h (Fsafe_length): Declared.
5202         * xfaces.c (compute_char_face): Use Fsafe_length.
5204         * s/aix4-1.h (sigsetmask): Add #undef.
5206         * s/riscos5.h: New file.
5208         * xfns.c (x_set_icon_type, x_set_icon_name): Don't ever remap the
5209         frame window; changing the icon doesn't make it disappear.
5211         * process.c (Fstart_process): Expand PROGRAM.
5212         Error if it is a directory.
5214         * s/sunos4shr.h (LIBXMU): New definitions (two alternative ones).
5216         * s/sunos4-1-3.h: Don't use sunos4shr.h; go back to 19.28 definition.
5218 1995-06-30  Geoff Voelker  (voelker@cs.washington.edu)
5220         * nt.c (PASSWD_FIELD_SIZE): Defined.
5221         (the_passwd_name, the_passwd_passwd, the_passwd_gecos,
5222         the_passwd_dir, the_passwd_shell, getpwuid): Use PASSWD_FIELD_SIZE.
5223         (get_emacs_configuration): Check if processor macros are defined.
5225         * ntheap.c: Include config.h.
5226         (syspage_mask, real_data_region_end): Defined.
5227         (allocate_heap) [WINDOWS95]: Reverse conditional, end search
5228         at 0xD00000.
5229         (sbrk): Commit and uncommit memory in machine dependent
5230         page size chunks.
5232         * s/windows95.h (CANNOT_DUMP): Undefined.
5233         * makefile.nt (EMACS) [win95]: Removed.
5235         * makefile.nt (TLASTLIB): Defined.
5236         (TEMACS): Use TLASTLIB.
5237         * unexnt.c (get_section_info): Set the end of the data region
5238         to be just before the start of the shared library data.
5239         (read_in_bss): Read directly into memory.
5240         (map_in_heap): Read directly into memory if unable to map.
5242 1995-06-30  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5244         * s/hpux9.h (LIBX11_SYSTEM): Add undef.
5246         * m/intel386.h [SOLARIS] (LIBS_MACHINE): Move this out of the
5247         SOLARIS2_4 conditional.
5249         * xdisp.c (redisplay_window): Update individual window's mode line
5250         if %c calls for an update.
5251         (redisplay): Set update_mode_line for selected window only,
5252         if it needs this because of %c.
5254 1995-06-29  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5256         * s/aix3-2-5.h (C_OPTIMIZE_SWITCH, C_DEBUG_SWITCH): Use these
5257         names instead of C_SWITCH_OPTIMIZE, C_SWITCH_DEBUG.
5259         * s/aix4.h: Include aix3-2.h, not aix3-2-5.h.
5261         * callproc.c (child_setup): Don't get confused if in == err.
5263         * xterm.c (XTread_socket): Turn off meta, super, hyper and alt bits
5264         in the arg for XLookupKey.
5266 1995-06-28  Morten Welinder  <terra+@cs.cmu.edu>
5268         * unexmips.c [MACH]: Include a.out.h.
5269         [MACH] (STYP_INIT, _RDATA, STYP_RDATA, _SDATA, STYP_SDATA): Defined.
5270         [MACH] (_SBSS, STYP_SBSS, HDRR, pHDRR): New definitions.
5271         (unexec): Add MACH conditionals.
5273         * m/pmax.h [MACH]: Use built-in alloca, set START_FILES.
5275         * s/mach-bsd4-3.h: New file.
5277 1995-06-28  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5279         * term.c (term_init): Alternative error messages for TERMCAP/TERMINFO.
5281         * m/alpha.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN)
5282         (PTY_TTY_NAME_SPRINTF): New definitions.
5284         * dispnew.c (update_frame): Pretend cursor is in echo area
5285         rather than put it in a minuffer hidden by the echo area.
5287 1995-06-27  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5289         * s/hpux9.h (LIBXMU): New definition.
5291         * s/hpux9-x11r4.h, s/hpux9shxr4.h: New files.
5293         * xmenu.c (single_submenu): Handle commands appearing directly
5294         in the menu bar.
5296 1995-06-26  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5298         * xterm.c (x_display_bar_cursor, x_display_box_cursor):
5299         Don't alter curs_x or curs_y here.
5300         (x_display_cursor): Copy them from the frame cursor here.
5301         (x_update_cursor): New function.
5302         (frame_highlight, frame_unhighlight): Use x_update_cursor.
5304         * xdisp.c (echo_area_display): Don't set FRAME_CURSOR_... here.
5305         (redisplay): In the "point hasn't moved" shortcut,
5306         make sure that the cursor is in the right window already.
5308         * msdos.c (IT_cursor_to, IT_clear_end_of_line, IT_write_glyphs):
5309         (IT_set_face): Call internal_flush if short of room.
5311 1995-06-25  Morten Welinder  <terra+@cs.cmu.edu>
5313         * emacs.c (init_cmdargs): Make Vinvocation_directory
5314         absolute if it isn't already.
5316 1995-06-25  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5318         * frame.c (Fdelete_frame): It's ok to have no minibuffer left on
5319         a kboard if there are no frames on it either.
5321         * buffer.c (overlays_in): New function.
5322         (Foverlays_in): New function.
5323         (syms_of_buffer): defsubr it.
5325         * xfns.c (Fx_open_connection, x_display_info_for_name):
5326         Error if window-system is not x.
5328         * process.c (Fopen_network_stream): Sleep 1 sec before connect retry.
5330         * frame.c (next_frame, prev_frame): Consider only frames on same kbd.
5331         (Fdelete_frame): If next_frame finds nothing, try an alternative.
5333         * buffer.c (overlay_strings): Fix calls to xrealloc.
5335 1995-06-24  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5337         * s/aix4-1.h (LIB_MOTIF): Defined.
5339         * emacs.c (main): Fix --help message.
5341         * window.c (Fsplit_window): Nicer error if split size is too small.
5343         * Makefile.in.in (LIBXMU): New macro.
5344         (LIBXT): Use LIBXMU.
5346 1995-06-23  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5348         * fileio.c (directory_file_name): Don't get confused by // at end
5349         on Unix-like systems.
5351 1995-06-22  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5353         * xmenu.c (menu_item_enabled_p_1): Special handling for quit.
5354         (set_frame_menubar): Inhibit quitting.
5356 1995-06-21  Richard Stallman  <rms@mole.gnu.ai.mit.edu>
5358         * buffer.c (syms_of_buffer): Doc fix.
5360         * Makefile.in.in (SOME_MACHINE_OBJECTS): Add dosfns.o,
5361         intervals.o, textprop.o.
5363 See ChangeLog.5 for earlier changes.
5365     Copyright (C) 1995, 1996 Free Software Foundation, Inc.
5366   Copying and distribution of this file, with or without modification,
5367   are permitted provided the copyright notice and this notice are preserved.