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