summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDave Love <fx@gnu.org>1999-09-29 16:37:29 +0000
committerDave Love <fx@gnu.org>1999-09-29 16:37:29 +0000
commit615d01824a509f565a0ecf3075fc953b509c313d (patch)
tree6ab983e0335ef3d98db1e40b6d12044bd6268509 /src
parent6bf7aab68402fd010eae5d280350bd399014406a (diff)
downloademacs-615d01824a509f565a0ecf3075fc953b509c313d.tar.gz
#
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog.13524
-rw-r--r--src/ChangeLog.24780
-rw-r--r--src/ChangeLog.316533
-rw-r--r--src/ChangeLog.46903
-rw-r--r--src/ChangeLog.57145
-rw-r--r--src/ChangeLog.65363
-rw-r--r--src/bitmaps/README4
-rw-r--r--src/bitmaps/cntrpmsk.xbm6
-rw-r--r--src/bitmaps/cntrptr.xbm8
-rw-r--r--src/bitmaps/crosswv.xbm6
-rw-r--r--src/bitmaps/dimple1.xbm6
-rw-r--r--src/bitmaps/dimple3.xbm6
-rw-r--r--src/bitmaps/gray.xbm4
-rw-r--r--src/bitmaps/gray1.xbm4
-rw-r--r--src/bitmaps/gray3.xbm4
-rw-r--r--src/bitmaps/leftpmsk.xbm6
-rw-r--r--src/bitmaps/leftptr.xbm8
-rw-r--r--src/bitmaps/rtpmsk.xbm6
-rw-r--r--src/bitmaps/rtptr.xbm8
-rw-r--r--src/bitmaps/stipple.xbm4
20 files changed, 44328 insertions, 0 deletions
diff --git a/src/ChangeLog.1 b/src/ChangeLog.1
new file mode 100644
index 00000000000..bdcd5c6f06b
--- /dev/null
+++ b/src/ChangeLog.1
@@ -0,0 +1,3524 @@
+
+1986-05-18 Richard M. Stallman (rms at prep)
+
+ * alloc.c (malloc_warning_1): Add some advice on
+ the significance of the warning.
+
+1986-05-09 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (get_screen_size):
+ Reject values of TIOCGSIZE if they are ridiculous.
+
+1986-05-05 Richard M. Stallman (rms at prep)
+
+ * process.c (send_process_1):
+ If pipe buffer is full, wait a second and try again.
+
+1986-05-02 Richard M. Stallman (rms at prep)
+
+ * termcap.c (tputs): round rather than truncating
+ when dividing padcount.
+
+1986-04-24 Richard M. Stallman (rms at prep)
+
+ * insdel.c (del_range): args passed to adjust_markers
+ are now properly adjusted for the gap.
+
+1986-04-20 Richard M. Stallman (rms at prep)
+
+ * alloca.c: Declare xmalloc.
+
+1986-04-17 Richard M. Stallman (rms at prep)
+
+ * filelock.c (unlock_buffer): New function to unlock
+ a specified buffer. Use in Fdelete_buffer_internal
+ to avoid lossage if buffer being killed is not current.
+
+1986-04-14 Richard M. Stallman (rms at prep)
+
+ * alloc.c (malloc_warning, Fgarbage_collect):
+ If malloc_warning is called during GC, just save warning
+ in malloc_warn_string. Try again to warn when GC ends.
+
+1986-04-12 Richard M. Stallman (rms at prep)
+
+ * m-celerity.h: Remove spurious effectless #define BSTRINGS
+
+1986-04-10 Richard M. Stallman (rms at prep)
+
+ * xfns.c (Fx_get_default):
+ Avoid doing strlen(value) if value is 0.
+
+1986-04-08 Richard M. Stallman (rms at prep)
+
+ * indent.c (compute_motion):
+ Change unsigned short back to short. unsigned short is plain
+ wrong and causes infinite loops when horizontal scrolling is used.
+ Introduced macros HPOS and VPOS for extracting components of cpos.
+ Alternate HPOS definition for Celerity since casting to (short)
+ loses there.
+
+1986-04-07 Richard M. Stallman (rms at prep)
+
+ * dispnew.c (update_screen):
+ Don't zero OPhysScreen and DesiredScreen until after
+ final error check. Omit the error check unless debug_end_pos.
+
+1986-04-06 Richard M. Stallman (rms at prep)
+
+ * cm.c (calccost):
+ Was returning garbage if arrived at fail: by goto fail;.
+
+1986-03-27 Richard Mlynarik (mly at prep)
+
+ * dispnew.c:
+ Typo: `#ifdef defined...' => `#if defined...'
+
+1986-03-26 Richard M. Stallman (rms at prep)
+
+ * doc.c (FSnarf_documentation):
+ Appending the arg to the file name must be done
+ whether or not CANNOT_DUMP.
+
+1986-03-25 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fsubstitute_in_file_name):
+ // at beginning of filename is meaningful on Apollo.
+
+ * keyboard.c (command_loop_1):
+ If C_ALLOCA, cause it to garbage collect each time around this loop.
+
+ * crt0.c: If NEED_ERRNO defined, declare errno.
+ * m-7300.h: New file.
+
+1986-03-25 Richard Mlynarik (mly at prep)
+
+ * alloc.c (Fmake_symbol):
+ CHECK_STRING the argument.
+
+1986-03-24 Richard M. Stallman (rms at prep)
+
+ * xfns.c (Fx_proc_mouse_event):
+ Use shifts rather than byte addressing to extract from .detail.
+
+1986-03-24 Richard Mlynarik (mly at prep)
+
+ * minibuf.c (do_completion):
+ Only funcall predicate if it is non-nil
+ Make completion of "nil" in obarrays work.
+
+1986-03-21 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fsubstitute_in_file_name):
+ #if 0 last change (LOGNAME); it makes vax running 5.0 crash.
+
+1986-03-20 Richard M. Stallman (rms at prep)
+
+ * unexec.c (make_hdr): avoid comparing a_bss field with 0.
+ It is unsigned on some machines. Save sbrk (0) in tem.
+
+1986-03-19 Richard M. Stallman (rms at prep)
+
+ * minibuf.c (do_completion):
+ Don't say string is exact match if it fails the predicate.
+
+ * process.c (create_process):
+ For STRIDE: use FIONBIO to make pipe/pty non-blocking.
+ The fcntl alone failed to do it.
+
+ * fileio.c (Ffile_directory_p, Ffile_modes):
+ Don't remove trailing slash for stat if path is "/".
+
+ * process.c (kill_buffer_processes):
+ Pass nil, not 0, to sig_process for current_group arg.
+
+1986-03-18 Richard M. Stallman (rms at prep)
+
+ * process.c (handle_process_output):
+ Avoid error if process's buffer is dead.
+
+ * eval.c (un_autoload,do_autoload):
+ The Vautoload_queue mechanism was all broken.
+
+ * fileio.c (Fsubstitute_in_file_name):
+ On USG, if looking for env var USER and not found, use LOGNAME.
+
+1986-03-16 Richard M. Stallman (rms at prep)
+
+ * s-usg*.h, s-unipl*.h:
+ Replace default ADDR_CORRECT with a no-op.
+ Default triggers compiler bug on some systems.
+ Remove same thing from m-stride.h since now redundant there.
+
+ * keyboard.c (init_keyboard, interrupt_signal):
+ For USG, handle SIGQUIT just like SIGINT.
+
+ * sysdep.c (init_sys_modes):
+ For HPUX, use C-g for the SIGQUIT char as well as the SIGINT char
+ as using CDEL causes Meta-DEL to send a SIGQUIT!
+
+ * process.c: On Uniplus, time.h is under sys/, as in bsd.
+
+ * sysdep.c (reset_sys_modes):
+ Don't use FASYNC if it is not defined.
+
+1986-03-15 Richard M. Stallman (rms at prep)
+
+ * window.c (save_window_restore):
+ Fix logic for handling dead buffers.
+ Don't try to store nil for the mark into the buffer
+ if the buffer is nil.
+
+ * alloca.s: put #ifndef HAVE_ALLOCA AFTER including config.
+
+ * ymakefile: always assemble alloca.s if C_ALLOCA isn't set.
+
+1986-03-14 Richard M. Stallman (rms at prep)
+
+ * s-usg5.0.h: Remove LOADER_N_SWITCH.
+
+1986-03-14 Richard Mlynarik (mly at prep)
+
+ * editfns.c
+ Improve doc for bolp, bobp, eolp
+
+1986-03-14 Richard M. Stallman (rms at prep)
+
+ * cm.c (calccost): Refuse to use incremental cursor motion
+ after wrapping on terminals with MagicWrap (xn flag).
+
+1986-03-13 Richard M. Stallman (rms at prep)
+
+ * emacs.c (main): For APOLLO: reserve 4meg with set_sbrk_size.
+
+ * alloc.c (Fpurecopy): fix typo unsignedint.
+
+1986-03-12 Richard M. Stallman (rms at prep)
+
+ * dired.c (file_name_completion):
+ Allow exact match against an ignored extension.
+ Can thus delete foo.o even if foo.out exists.
+
+ * s-hpux.h: Turn off HAVE_PTYS since their csh has "sanity
+ checking" and other programs seem to lose with ptys.
+
+1986-03-11 Richard M. Stallman (rms at prep)
+
+ * sysdep.c ({un,}request_sigio and callers):
+ Make alternate names init_sigio and reset_sigio;
+ callers in sysdep.c use those names.
+ In 4.1, change {un,}request_sigio to do sighold/sigrelse;
+ don't change init_sigio and reset_sigio.
+
+ * m-vax.h: If USG5_2, use -lPW and HAVE_ALLOCA.
+
+ * alloc.c (Fpurecopy, mark_object): In tests for pureness,
+ always use XUINT and unsigned comparison.
+ * lisp.h (CHECK_IMPURE): Likewise.
+
+ * doc.c (FSnarf_documentation):
+ If CANNOT_DUMP, find DOC in directory PATH_EXEC.
+
+ * ymakefile (APOLLO only): set LTERMCAP.
+ * m-apollo.h: Alter VALBITS and GCTYPEBITS.
+
+ * term.c (delete_chars): Pass num chars to the hook.
+ * term.c (raw_topos), termhooks.h: Add raw_topos_hook.
+
+ * unexec.c (make_hdr):
+ New compiler switch NO_REMAP means don't change text/data boundary.
+
+1986-03-10 Richard M. Stallman (rms at prep)
+
+ * indent.c, window.c, xdisp.c:
+ Make compute_motion, vmotion and display_text_line
+ all return a pointer to a global structure, not a struct itself.
+ Add * to all calls.
+
+ * syntax.c (scan_sexps_forward):
+ Make it return a pointer to a global structure,
+ not a struct itself. Change caller (Fparse_partial_sexp).
+
+ * s-usg*: #define static as nothing.
+ * m-hp200.h: No longer needs to #define static.
+
+ * unexec.c (adjust_lnnoptrs):
+ Replace dummy defn with one that does the job. Also
+ involves including syms.h and making global vars
+ bias and lnnoptr that are set in make_hdr.
+
+1986-03-08 Richard M. Stallman (rms at prep)
+
+ * editfns.c (init_editfns):
+ Make AMPERSAND_FULL_NAME case start with USER_FULL_NAME.
+
+ * crt0.c (BOGUS case):
+ Move "start:" from non-tower32 case to unconditional.
+
+ * unexec.c for COFF:
+ Put the rounding-to-page-boundaries of section positions
+ within the file into a UMAX conditional. (See Feb 19).
+
+1986-03-06 Richard M. Stallman (rms at prep)
+
+ * ymakefile: Add -k100000 switch to ld, for celerity.
+
+ * eval.c (funcall_lambda):
+ Change a comma-sequence to a compound statement.
+
+1986-03-03 Richard M. Stallman (rms at prep)
+
+ * xfns.c, xterm.c:
+ Install much-changed versions already tested at Athena.
+
+ * ymakefile: Replace -lc with $(LIBSTD) and define LIBSTD
+ according to a config macro LIB_STANDARD.
+ m-tower32.h must define LIB_STANDARD.
+
+ * process.c (read_process_output):
+ New subroutine that does the reading and handling of process output.
+ Do so until none is left.
+ (wait_reading_process_input): call new subroutine.
+ (sig_process): If we get a pgrp number, make it negative.
+ Always send signal to pggrp; use killpg if BSD, kill otherwise.
+ (child_signal): Don't deactivate dead processes here.
+ (change_msgs): Deactivate them here, when notification is done.
+ But first, call read_process_output to get any output that's left.
+
+ * keyboard.c (read_avail_input):
+ (for sysV) Use fcntl, not ioctl, to make read not wait.
+
+ * alloca.s: put entire file inside #ifndef HAVE_ALLOCA.
+
+ * sysdep.c (child_setup_tty, init_sys_modes):
+ (for sysV) Set VTIME to zero; with VMIN=1 this means
+ no time limit.
+
+1986-03-02 Richard M. Stallman (rms at prep)
+
+ * keyboard.c (quit_throw_to_get_char):
+ Before really throwing, clear waiting_for_input
+ so another interrupt won't also try to throw.
+ (get_char): Add error check for getcjmp being zero
+ where it should not be. Put this under DEBUG switch.
+
+1986-03-01 Richard M. Stallman (rms at prep)
+
+ * crt0.c: Defining BOGUS forces use of the vax-tahoe-sequent case.
+ Add a small conditional within it for tower32.
+ Don't allow use of the m68000/m68k code if BOGUS is defined.
+
+ * sysdep.c (init_sys_modes):
+ For sysV: If want flow control, actively set IXON,
+ and also clear IXANY if that is defined.
+
+ * sysdep.c (rename):
+ It was doing completely wrong things to various files.
+
+ * tparam.c (tgoto): Move buf outside the function
+ and rename as tgoto_buf. In case #define static as nothing.
+
+ * unexec.c (make_hdr):
+ If macro EXEC_MAGIC is defined, let it specify the magic
+ number for the output file.
+
+ * xdisp.c (message): Change name `buf' to `message_buf'
+ to avoid name clash when #define static as nothing.
+
+ * ymakefile: Change DOCSTR to DOC.
+
+1986-02-28 Richard M. Stallman (rms at prep)
+
+ * buffer.c (Fdelete_buffer_internal):
+ Unchain all markers from a buffer being killed.
+
+1986-02-27 Richard M. Stallman (rms at prep)
+
+ * unexec.c, malloc.c:
+ If NBPG is used for getpagesize, multiply it by CLSIZE
+ and define that as 1 if not otherwise defined.
+
+1986-02-26 Richard M. Stallman (rms at prep)
+
+ * lread.c (Fload):
+ Detect when fdopen returns 0 given a valid descriptor.
+
+ * sysdep.c (stuff_char):
+ Declare arg as char, so TIOCSTI does not give wrong address.
+
+1986-02-25 Richard M. Stallman (rms at prep)
+
+ * dispnew.c (update_screen):
+ * xdisp.c (DoDsp, Fredraw_display):
+ Insert checks to abort if screen_height is zero,
+ to detect the memory clobbering bug.
+
+ * process.c:
+ For 4.1, include wait.h, not sys/wait.h
+ Use O_NDELAY only if it is defined.
+
+ * s-bsd4.1.h:
+ Don't HAVE_TIMEVAL. Define open as sys_open and lstat as stat.
+ Define the O_ symbols for open args.
+ Turn off CLASH_DETECTION, for now. Turn off HAVE_TIMEVAL.
+
+ * sysdep.c (bcopy, bzero, bcmp):
+ Make them really do the work, not try to use memset, memcopy, etc.
+
+ * sysdep.c (get_system_name):
+ 4.1 needs its own definition of this.
+
+ * sysdep.c (for BSD 4.1):
+ Define sys_open, since 4.1 open takes only two args.
+ Redefine LLITOUT as 0; it loses in 4.1.
+ Define LNOFLSH. Include wait.h, not sys/wait.h.
+
+1986-02-24 Richard M. Stallman (rms at prep)
+
+ * malloc.c: Define getpagesize as macro when not avail as syscall.
+
+1986-02-23 Richard M. Stallman (rms at prep)
+
+ * terminfo.c: Provide a definition of ospeed.
+
+1986-02-22 Richard M. Stallman (rms at prep)
+
+ * alloca.s (hack_sky):
+ Move label hack3; bug was making some floating ops dump core.
+
+ * dispnew.c (update_screen):
+ Don't free a line twice if it is in both DesiredScreen
+ and OPhysScreen. Can happen if line is copied into
+ DesiredScreen by `scrolling', then lost from PhysScreen
+ by the scrolling that is done.
+ Also remove a debugging check that did not go off
+ when this bug hit.
+
+1986-02-18 Richard M. Stallman (rms at prep)
+
+ * indent.c (compute_motion):
+ Change all short to unsigned short. Needed for celerity.
+
+ * keyboard.c (init_keyboard):
+ Initialize kbd_ptr. Needed for celerity.
+
+ * unexec.c (make_hdr for celerity):
+ Copy their own header field a_scovfrl from ohdr.
+
+ * unexec.c for COFF:
+ Round positions of text and and data sections in output file
+ to page boundaries.
+
+ * crt0.c: Install version for Encore machines.
+ Also for celerity (same as pyramid and orion).
+
+ * ymakefile:
+ Don't use -X for BSD systems that use COFF.
+ On UMAX, give ld the file align.umax (a new file)
+ via the make-macro ALIGNMENT.
+
+ * align.umax, s-umax.h:
+ Two new files for Encore computers.
+
+ * lread.c (Vload_path): Make it not static.
+ In sysV, static vars go in a place in memory below my_edata
+
+ * dispnew.c (make_display_lines):
+ Store all the lines in an array for debugging, to help
+ debug the problem where lines get lost.
+
+1986-02-14 Richard M. Stallman (rms at prep)
+
+ * alloca.s (ns16000):
+ Change non-sequent defn of REGISTER: add a displacement of zero.
+
+1986-02-13 Richard M. Stallman (rms at prep)
+
+ * alloc.c (purecopy, mark_object), lisp.h:
+ Use XUINT, not XINT, in VIRT_ADDR_VARIES checks for pure object.
+
+1986-02-11 Richard M. Stallman (rms at prep)
+
+ * fns.c (Fload_average):
+ Don't use struct nlist if no LOAD_AVE_TYPE.
+
+ * crt0.c: Add missing semicolon in vax/tahoe/sequent code.
+
+1986-02-10 Richard M. Stallman (rms at prep)
+
+ * crt0.c: Remove duplicate _start for pyramid.
+
+1986-02-07 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (gettimeofday): Define this only if HAVE_TIMEVAL.
+
+ * m-vax.h:
+ If USG, don't define LOAD_AVE_... and do define C_ALLOCA.
+
+ * filelock.c: On USG, include fcntl.h.
+ (lock_file): declare getpwuid external.
+
+ * window.c (Fmove_to_window_line):
+ If window start is out of restriction,
+ choose a new start here.
+
+ * alloca.s:
+ Modify ns16000 assembler syntax for the sequent machine.
+
+ * crt0.c: Sequent uses same code as vax except start1
+ takes one extra first arg that it ignores.
+ A new macro BOGUS is defined to allow machines to use the
+ same code and control how many args to ignore.
+
+ * unexec.c: For sequent machine, handle its incompatible
+ meaning of N_TXTOFF, and use N_ADDRADJ where necessary.
+
+1986-02-06 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (init_sys_modes):
+ Set tty flags ISTRIP, CS8 and PARENB right for Meta key.
+
+ * ymakefile:
+ Define CPP macro as name of cpp to use. Use it for alloca.s.
+ Make LOADER_N_SWITCH control solely the -N.
+
+1986-02-06 Richard Mlynarik (mly at prep)
+
+ * fns.c (Frequire):
+ Fix documentation
+
+1986-02-06 Richard M. Stallman (rms at prep)
+
+ * indent.c (compute_motion):
+ For tabs, make sure to take remainder of positive #
+ since % can round upward with negative numbers.
+
+ * bytecode.c (syms_of_bytecode):
+ Fix typo in symbol name "byte-code".
+
+ * xdisp.c (try_window_id):
+ Use adjusted hpos of bp in computation of ep.
+ Adjustde hpos can be negative after a continuation.
+
+ * fileio.c (Finsert_file_contents):
+ Was failing to update n as chars were read.
+ Rearrange order of actions to make it more like InsCStr.
+ Call prepare_to_modify_buffer even if no CLASH_DETECTION.
+ Don't make gap if gap is big enough.
+
+1986-02-05 Richard M. Stallman (rms at prep)
+
+ * termcap.c (tgetent):
+ Only use TERMCAP var as termcap entry value
+ if it has a name that matches the specified one.
+ New function name_match to match an entry against a name.
+ Do allow matching the first name in an entry.
+
+ * indent.c (pos_tab_offset):
+ Take remainder by window-width - 1 (# of effective columns)
+ to fix bug where alternating TAB 1 TAB 1... causes a 1
+ to shift sideways in incremental redisplay in DoDsp.
+
+1986-02-04 Richard M. Stallman (rms at prep)
+
+ * keyboard.c (command_loop_1):
+ Don't do direct output if input is pending.
+
+ * xterm.h: Find the file Xlib.h in /usr/include/X.
+
+1986-02-03 Richard M. Stallman (rms at prep)
+
+ * process.c (pty): HPUX has different dir for pty-tty devices.
+
+ * termcap.c: Don't include types.h or file.h.
+
+1986-02-02 Richard M. Stallman (rms at prep)
+
+ * print.c (print):
+ Print a marker's corrected position, not its bufpos.
+
+ * window.c (Fselect_window):
+ If old and new windows show same buffer,
+ make sure new point is inside the clipping region.
+
+1986-01-31 Richard M. Stallman (rms at prep)
+
+ * fns.c (Fload_average):
+ In NLIST_STRUCT case, set nl[1] to 0, not "".
+ Fix KERNEL_FILE and LDAV_SYMBOL for HPUX.
+
+1986-01-30 Richard M. Stallman (rms at prep)
+
+ * m-pyramid.h: Turn on NO_UNION_TYPE.
+
+ * fns.c: For BSD, include sys/param.h
+
+1986-01-29 Richard M. Stallman (rms at prep)
+
+ * fns.c (Fload_average):
+ Define a few symbols LDAV_SYMBOL and KERNEL_FILE_NAME
+ and NLIST_STRUCT to use later to simplify the code.
+
+ * s-usg5.2.h: Turn on `subprocesses'.
+
+ * sysdep.c:
+ #undef open, read and write at the start.
+ Make sys_read, etc. always available for uses that need
+ a nonaborting read.
+ (select): several bug fixes for system V.
+ (init_sys_modes, child_setup_tty): Init VTIME to a large #, not 0.
+ Use TCSETA, not TCSETAW (why wait?).
+
+ * process.c:
+ (wait_reading_process_output): if don't HAVE_TIMEVAL
+ and no timeout desired, use 100000 seconds, which
+ the select emulator recognizes.
+ When reading data, if a char is buffered in proc_buffered_char,
+ put it at the front of the data read.
+ (kill_buffer_process): ignore processes really already dead.
+ (init_process): initialize proc_buffered_char to -1 (empty).
+
+ * keyboard.c (fake_suspend):
+ Don't mess with the SIGCLD handler.
+ Use wait_for_termination to detect subshell termination.
+ (read_avail_input, for USG):
+ Use TCSETA, not TCSETAW; no waiting.
+
+ * term.c (set_terminal_modes): Don't clear screen here.
+ * xdisp.c (Fredraw_display): Clear screen here instead.
+
+1986-01-28 Richard M. Stallman (rms at prep)
+
+ * s-hpux.h: Do #undef SIGIO.
+
+ * callproc.c, data.c, dispnew.c, emacs.c, keyboard.c,
+ process.c, sysdep.c:
+ Include signal.h before config so can #undef SIGIO in config.
+
+ * lread.c (read_escape):
+ Make ?\^? produce 0177.
+
+ * sysdep.c:
+ Define SIGCHLD as SIGCLD only if SIGCHLD not already defined.
+ (select): Don't give select_alarmed an initialization.
+
+ * unexec.c:
+ For HPUX, copy the peculiar header fields for debugger info.
+
+ * keyboard.c (kbd_buffer_get_char): Don't call read_avail_input
+ if kbd_count is nonzero. (Don't know how it can be, but
+ it is observed to happen.)
+
+ * process.c:
+ Define SIGCHLD as SIGCLD only if SIGCHLD not already defined.
+ (wait_handling_process_output):Fill in one non-HAVE_TIMEVAL case.
+
+1986-01-27 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (reset_sys_modes):
+ Call unrequest_sigio twice.
+ Make sure FASYNC is clear in old_fcntl_flags.
+
+1986-01-26 Richard M. Stallman (rms at prep)
+
+ * fns.c (Frandom):
+ Removed case for number as arg, since it has problems
+ in union-type case and it is not documented or used.
+
+ * lisp.h (XSET):
+ Fix bugs in the union-type definition.
+
+1986-01-24 Richard M. Stallman (rms at prep)
+
+ * process.c:
+ Define macros for accessing the `union wait' structure.
+
+ * keyboard.c (fake_suspend):
+ Set subshell current dir to current buffer's default dir.
+
+1986-01-23 Richard M. Stallman (rms at prep)
+
+ * dispnew.c (Fsit_for):
+ Call gobble_input only if SIGIO exists.
+
+ * keyboard.c (fake_suspend):
+ Save and restore the SIGCLD handler, if that exists.
+
+ * process.c (create_process):
+ SKTPAIR-or-not now controls only what to do if cannot use a pty.
+ For USG other than UNIPLUS, instead of sigsetmask (nonexistent),
+ save away and temporarily turn off the SIGCHLD handler.
+ (child_sig): Various USG changes.
+
+ * sysdep.c (wait_for_termination):
+ Provide case for sysV not UNIPLUS (right for STRIDE at least).
+ * sysdep.c (child_setup_tty):
+ Set the VMIN and VTIME fields.
+
+ * callint.c (Fcall_interactively):
+ Globalize the variable argfuns, for HPUX's sake.
+
+ * keyboard.c (fake_suspend):
+ Use execlp, not execl.
+
+ * sysdep.c (random, srqndom):
+ Add dummy for srandom => srand. Enable both for 4.1 and USG.
+ * fns.c (Frandom):
+ Remove conditional; let those dummies serve.
+
+ * Makefile:
+ Use sed to remove blank lines and from xmakefile.
+
+ * ymakefile:
+ Pass alloca.s thru more seds to remove #... lines, etc.
+ Move tparam.o into otherobjs; for HPUX, use terminfo.o instead.
+ No need to conditionalize recipes for xfns.o and xterm.o.
+ No longer need to duplicate the xemacs: line.
+ For HPUX, define LIBBSD. Use that in LIBES.
+
+ * editfns.c (init_editfns):
+ Handle case of pw == 0 (USER is not a known user).
+
+ * cm.c:
+ Include config. Make cost and evalcost global.
+ (cmcostinit): Don't pass 0 as string to tgoto (new macro CMCOST).
+
+ * terminfo.c (new file):
+ Defines a version of tparam for use with terminfo.
+
+1986-01-22 Richard M. Stallman (rms at prep)
+
+ * dispnew.c:
+ If HPUX, insert time.h instead of sys/time.h.
+
+ * sysdep.c:
+ If HPUX, insert time.h instead of sys/time.h.
+ In get_system_name, globalize a static variable `name'.
+ In readdir, globalize `dir' as `dir_static'.
+ Make some system-call imitations "not HPUX".
+
+ * process.c:
+ If HPUX, insert time.h instead of sys/time.h.
+ Do them only if HAVE_TIMEVAL.
+ If HAVE_PTYS and HPUX, insert sys/ptyio.h.
+ In function `pty', globalize static var `name' as `ptyname'.
+
+ * term.c:
+ (term_init): If TERMINFO, where tbuf is not used,
+ allocate combuf with size 2044.
+ (evalcost): Flush it. Make it extern and use the one in cm.c.
+
+ * dired.c:
+ Include stat.h before config.h so config can override S_IFLNK on
+ HPUX (where that symbol exists but there are no symbolic links).
+ Do not include time.h; not needed.
+
+ * xdisp.c (fmodetrunc, decode_mode_spec):
+ Rename local static buffers buf, tbuf and make them global.
+ Static variables go into initialized data space in HPUX.
+ * fns.c (Fload_average):
+ Similar hack for internal static vars initialized, channel, nl.
+
+ * lread.c:
+ Change condition for defining X_OK to be that X_OK is not defined.
+
+ * alloc.c (init_alloc_once):
+ Fix erroneous names data_bytes_{un,}used
+ inside the VIRT_ADDR_VARIES conditions.
+
+ * emacs.c:
+ Don't include time.h or resource.h; just #define PRIO_PROCESS.
+
+ * xdisp.c (redisplay_window):
+ Don't shift window-start to avoid end of buffer
+ unless window contents have changed too.
+
+ * xdisp.c (DoDsp):
+ If nothing has changed except minibuffer message,
+ no need to call redisplay_window.
+
+
+ * Problem: standard sysV has no file ioctl.h.
+
+ * process.c, keyboard.c, dispnew.c, sysdep.c:
+ Include ioctl.h in BSD, termio.h and/or fcntl.h in sysV.
+
+ * callproc.c: No longer needs ioctl.h; don't include.
+ * xdisp.c: No longer needs ioctl.h or signal.h; don't include.
+
+ * emacs.c:
+ Include sys/ioctl.h only for BSD. ioctl used only in BSD.
+
+1986-01-21 Richard Mlynarik (mly at prep)
+
+ * keyboard.c (EchoThem):
+ Always display an explicit prompt, even if echo_keystrokes == 0
+
+1986-01-21 Richard M. Stallman (rms at prep)
+
+ * keyboard.c (kbd_buffer_store_char, fake_suspend):
+ Take the STRIDE code for subshell out of kbd_buffer_store_char
+ and call it fake_suspend. Call it from previous place and
+ also from Fsuspend_buffer, on all systems that lack SIGTSTP.
+ Clean the code up a little bit.
+
+ * process.c:
+ Don't include sgtty.h; no longer needed.
+ Make use of wait3 depend on existence of WNOHANG.
+
+ * unexec.c:
+ Allow the m- file to override defn of ADDR_CORRECT (m-stride.h does).
+ Have and use pagemask to round data_start in COFF case too.
+ Always define getpagesize as macro, for 4.1 and USG where
+ it is not provided as a system call.
+ This takes care of the STRIDE changes for unexec.
+
+ * ymakefile:
+ Give ld the arg $(STARTFLAGS), and define that based on cpp macro
+ TEXT_START_ADDR when that is defined. This is for systems where
+ the -T switch is necessary.
+
+ * unexec.c (make_hdr):
+ Make one sun3 fix machine-independent.
+ (Prevent a_bss from being negative).
+
+ * casefiddle (casify_region):
+ New flag value CAPITALIZE_UP which is like CAPITALIZE
+ but changes only the initials. Function upcase_initials_region
+ is an interface to this mode.
+
+ * abbrev.c (Fexpand_abbrev): Use upcase_initials_region.
+
+ * process.c (create_process):
+ Install Fish's other new UNIPLUS conditionalization
+ on the hackery for xforkin, etc.
+
+1986-01-20 Richard M. Stallman (rms at prep)
+
+ * fns.c (Frandom):
+ Optional arg of t means randomize the seed.
+ This change was really made at some previously time;
+ just changed the doc string now.
+
+ * eval.c (do_autoload):
+ Bind autoload-queue to avoid loss on recursive autoloads.
+
+ * xdisp.c (try_window_id):
+ If everything on screen below change is whitespace,
+ don't scroll, and return -2.
+
+ * dispnew.c (update_screen):
+ Rewrite to avoid dependence on distance between
+ the two arrays PhysScreen and DesiredScreen.
+
+1986-01-19 Richard M. Stallman (rms at prep)
+
+ * fns.c (mapcar1):
+ Preinitialize contents of vals, so it won't contain junk
+ to be seen by a GC inside this function.
+
+ * eval.c (various):
+ Use error, not Fsignal, to report eval-depth-overflow.
+ Previous calls to Fsignal were buggy.
+
+1986-01-17 Richard Mlynarik (mly at prep)
+
+ * lread.c (init_obarray):
+ Kludge around losing pyramid compiler.
+
+1986-01-14 Richard Mlynarik (mly at prep)
+
+ * window.c (Fdelete_window):
+ When deleting a dummy parent window, don't try to GC buffer stuff.
+
+ * process.c (list_processes_1):
+ Don't blow out if buffer associated with process is,
+ through some bug I don't understand, killed.
+
+ * keymap.c (get_keyelt), keyboard.c (Fcommand_execute):
+ Allow (lambda ...) to appear as a key's definition.
+
+ * m-sun3.h, unexec.c:
+ Sun3 changes from Barry Shein.
+
+1986-01-10 Richard Mlynarik (mly at prep)
+
+ * m-stride.h, s-stride.h, crt0.c, fns.c, keyboard.c, process.c,
+ sysdep.c.
+ Changes for STRIDE micro
+ Changes still pending for etc/loadst.c
+
+ Fsuspend_emacs in keyboard.c is defined to run a subshell under
+ emacs -- perhaps this is a reasonable thing in all wimpy unix
+ versions.
+
+1986-01-10 Richard M. Stallman (rms at prep)
+
+ * dispnew.c (update_line):
+ Don't consider spaces at beginning as special if line is
+ highlighted.
+ Avoids losing the inverse-video on leading spaces in mode lines
+ on terminals where erasing does not turn on highlightig (vt100?).
+
+ * process.c (pty):
+ On UNIPLUS, don't try opening other side.
+
+ * filelock.l (lock_file_1):
+ If lock file is invalid, delete it and continue.
+ If delete fails, ignore the lock.
+
+1986-01-09 Richard Mlynarik (mly at prep)
+
+ * syntax.c:
+ New function check_syntax_table
+
+ Make Fmodify_syntax_entry take third arg SYNTAX-TABLE,
+ which defaults to current buffer's syntax table.
+ -- doc change in auxdoc.c
+
+ Rename Fmake_syntax_table FCopy_syntax_table
+ after making it take an arg (default Vstandard_syntax_table)
+ -- retain alias in subr.el
+
+1986-01-08 Richard M. Stallman (rms at prep)
+
+ * sysdep.c, term.c (get_screen_size):
+ New function to get screen size from kernel when possible.
+ In sysdep; called from term_init in term.c.
+ Must test this on Sun and on 4.3.
+
+ * dispnew.c (Fding):
+ Make doc say it terminates kbd macros.
+
+1986-01-07 Richard Mlynarik (mly at prep)
+
+ * doc.c (Fsubstitute_command_keys):
+ Insert an explanatory message for "\\{unbound-variable}"
+
+1986-01-06 Richard Mlynarik (mly at prep)
+
+ * termcap.c (tputs):
+ Punt if passed (char) 0.
+
+1985-12-31 Richard M. Stallman (rms at prep)
+
+ * dispnew.c (Ding):
+ Expand error message for keyboard macro case.
+
+ * dired.c (Ffile_attributes):
+ Fix documentation error about meaning of ctime.
+
+1985-12-28 Richard M. Stallman (rms at prep)
+
+ * callproc.c (Fcall_process):
+ Fix typo in name synch_process_pid.
+
+1985-12-27 Richard M. Stallman (rms at prep)
+
+ * s-unipl5.2.h:
+ Define HAVE_SELECT.
+
+ * ymakefile (xemacs):
+ If the commands are conditional, the target/dependencies line must
+ be conditional also.
+
+1985-12-20 Richard M. Stallman (rms at prep)
+
+ * print.c (printchar, strout):
+ If output stream is Qt and noninteractive,
+ don't do the usual interactive output stuff.
+ In strout, avoid changing i so do not truncate the output.
+
+1985-12-19 Richard M. Stallman (rms at prep)
+
+ * fns.c (merge):
+ Don't assume args are consecutive; GCPRO each one separately.
+
+ * insdel.c (make_gap):
+ Was adding k bytes of gap; k is supposed to be
+ new desired amount of gap. Wasted a lot of memory!
+
+ * alloc.c (malloc_warning):
+ Passing Fprinc to internal_with_output_to_temp_buffer
+ loses since Fprinc needs 2 args. Use intermediate
+ function malloc_warning_1.
+
+1985-12-18 Richard M. Stallman (rms at prep)
+
+ * filelock.c (lock_if_free):
+ kill failing means lock is free only if errno is ESRCH.
+
+ * fns.c (Fy_or_n_p, Fyes_or_no_p):
+ Call Fdiscard_input if user gives invalid answer.
+
+1985-12-17 Richard M. Stallman (rms at prep)
+
+ * eval.c (apply_lambda):
+ Do debug-on-exit here, because if we return to Feval
+ the stack vector of evaluated args will be deallocated by then.
+
+ * sysdep.c (wait_for_termination):
+ Add new variable wait_debugging. Set it nonzero to make
+ this function work in a way that works under dbx.
+
+ * process.c (send_process_1):
+ If not all the data is written, try again to write the rest.
+ Eliminate the alarm stuff, including send_process_alarm.
+ Call report_file_error if write returns negative.
+
+1985-12-15 Richard M. Stallman (rms at prep)
+
+ * alloc.c (init_alloc_once):
+ Stop looping if shift produces 1, as well as if produces 0.
+
+1985-12-14 Richard M. Stallman (rms at prep)
+
+ * editfns.c (Fregion_{beginning,end}):
+ New Lisp primitives, needed for the things that
+ are put on the command history for "r" arguments.
+
+ * callint.c (Fcall_interactively):
+ If an argument was point or mark, represent it with
+ a suitable expression (point) or (mark) in the
+ command history element. Also adjust for changed
+ calling conventions of quotify_args.
+
+ * callint.c (quotify_arg):
+ Take one arg; return it if constant, else return
+ a quote-expression for it.
+
+ * callint.c (quotify_args):
+ Don't exempt the first arg. Use quotify_arg to do the work.
+
+1985-12-13 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fdo_auto_save):
+ Use message1 to output "Auto-saving..."
+ so do not clobber the old message to be restored at end.
+
+1985-12-12 Richard M. Stallman (rms at prep)
+
+ * syntax.c:
+ After turning on immediate_quit, must do QUIT;
+
+ * callproc.c (Fcall_process):
+ Quitting out of running subproc did not happen immediately.
+ Added QUIT;s after setting immediate_quit on,
+ removed those after turning it off (not needed there).
+
+ * lread.c (init_read):
+ Don't put ../lisp on Vload_path if CANNOT_DUMP.
+
+ * emacs.c (main):
+ If CANNOT_DUMP, load "loadup.el" as soon as enter editor loop
+ unless -nl switch is given.
+
+ * lread.c (read_list):
+ Don't use Fsetcdr, since might be changing a cell
+ in pure space during initial loadup.
+ Do explicit assign instead.
+
+ * lisp.h:
+ Define CHECK_IMPURE, to get error if object is pure.
+
+ * data.c (Fsetcar, Fsetcdr, Faset):
+ Use CHECK_IMPURE instead of old error checking code.
+
+ * data.c (pure_write_error):
+ New subroutine, called by CHECK_IMPURE.
+
+ * m-apollo.h:
+ Define VIRT_ADDR_VARIES.
+
+ * alloc.c:
+ We now load things into pure space even if cannot dump,
+ to speed garbage collection.
+ Turn on Vpurify_flag unconditionally.
+ Give pure its full size unconditionally.
+ Change remaining CANNOT_DUMP and APOLLO conditionals
+ into VIRT_ADDR_VARIES conditionals.
+
+1985-12-10 Richard M. Stallman (rms at prep)
+
+ * fns.c:
+ Don't include files for load-average if load-average not supported.
+
+ * alloc.c:
+ If CANNOT_DUMP, allocate `pure' very small.
+ [This has been undone.]
+
+ * buffer.c (list_buffers_1):
+ Use 2 spaces minimum only after buffer name;
+ go back to 1 space minimum after size and major mode.
+
+ * termcap.c:
+ Avoid use of O_RDONLY and index, so no need for explicit
+ dependence on system type.
+
+ * sysdep.c:
+ Delete definition of `index'. Now it's a macro when nec.
+
+ * s-usg5.2.h, s-unipl5.2.h:
+ Define index and rindex as macros.
+
+ * dispnew.c (Fsit_for):
+ Assume select is always available for use.
+
+ * buffer.c (Fpop_to_buffer):
+ Take second arg and pass as second arg to Fdisplay_buffer.
+
+ * insdel.c (GapTo):
+ Dump core if bf_p1, bf_p2 don't differ by gap size.
+
+ * keyboard.c (Fsuspend_emacs):
+ * emacs.c (Fkill_emacs):
+ Both call new subroutine stuff_buffered_input (in keyboard.c)
+ which stuffs a string's contents plus any unused input Emacs has
+ already read.
+
+1985-12-09 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fdo_auto_save):
+ Don't auto save a buffer that is not modified
+ since last real save.
+
+ * minibuf.c (minibuffer_completion_help_1):
+ Use make_number for args to Findent_to.
+ Omitting make_number always loses on Pyramid, it seems.
+
+1985-12-08 Richard M. Stallman (rms at prep)
+
+ * minibuf.c (Fminibuffer_complete_word):
+ If next char not unique, try adding an actual space.
+ If do achieve some completion, replace old buffer text
+ with the completion (in case of different case).
+ Also a little cleanup.
+
+ * minibuf.c (Ftry_completion):
+ Fix lossage when second completion found is an initial segment of
+ the first one.
+
+1985-12-07 Richard M. Stallman (rms at prep)
+
+ * xdisp.c (redisplay_window):
+ Don't use the clause for only-point-has-changed
+ for the minibuffer; loses when redisplaying to bring
+ back minibuffer after an echo area message.
+
+ * crt0.c:
+ Vax code is now used for tahoe machine also.
+
+ * alloc.c (init_alloc_once):
+ For APOLLO, set data_bytes_{free,used} to plausible constant
+ values.
+
+ * eval.c (unautoload):
+ Declare return type Lisp_Object.
+
+ * filelock.c (lock_file):
+ Check attack with !NULL, not ==.
+
+ * keymap.c (describe_command):
+ Don't apply NULL directly to result of Fkeymapp.
+
+ * lisp.h (XSET):
+ Fix type field assignment in union-type case.
+
+ * process.c (Faccept_process_output):
+ Use XFASTINT around infd field of process.
+
+ * search.c (signal_failure):
+ Returns type Lisp_Object.
+
+ * dired.c (Ffile_name_completion):
+ If arg is null string, return null string immediately.
+ Idea is don't want to complete "/foo/" into "/foo/bar"
+ if "bar" is the only file in "/foo/".
+
+ * minibuf.c (Ftry_completion):
+ Handle correctly scmp returning -1.
+
+ * alloc.c:
+ Make malloc_sbrk_used and malloc_sbrk_unused
+ not be external if APOLLO.
+
+1985-12-06 Richard M. Stallman (rms at prep)
+
+ * emacs.c, keyboard.c, sysdep.c:
+ Rename InitDsp -> init_sys_modes and RstDsp -> reset_sys_modes.
+
+ * emacs.c (main):
+ Call init_keyboard before init_sys_modes
+ so correct value of interrupt_input is set up.
+ Fixes the mysterious first C-z bug.
+
+ * minibuf.c:
+ New Lisp variable completion-ignore-case.
+ Affects Ftry_completion and Fall_completions.
+
+ * emacs.c (main):
+ Don't change C variable `noninteractive' if user
+ sets the Lisp variable `noninteractive'.
+
+1985-12-05 Richard M. Stallman (rms at prep)
+
+ * callproc.c (Fcall_process):
+ Close filefd if about to get error.
+
+ * fileio.c (Finsert_file_contents, Fwrite_region):
+ Set up unwind protect to close file if error happens.
+
+ * fileio.c (Fcopy_file):
+ Close input file if fail to open output file.
+
+ * dispnew.c (change_screen_size):
+ Change name from ChangeScreenSize.
+ Do set_terminal_window (0); after changing height.
+
+ * indent.c (vmotion & callers):
+ Take window as fifth arg. All callers pass window
+ being displayed or selected window.
+ If window is minibuffer, knows that first line starts at
+ hps = minibuf_prompt_width.
+
+ * minibuf.c (read_minibuf{,_string_unwind}):
+ Save and restore minibuf_prompt_width.
+
+ * xdisp.c:
+ (display_text_line): set minibuf_prompt_width if display the
+ prompt.
+ (various): Pass window being displayed as arg to vmotion.
+ (various): Compute starting-hpos arg to compute_motion
+ using minibuf_prompt_width if in minibuf starting at top.
+
+ * window.c (Fdisplay_buffer & callers):
+ Take second arg, non-nil means do not use selected window
+ even if that already contains specified buffer.
+
+ * buffer.c (Fpop_to_buffer):
+ Pass t as second arg to Fdisplay_buffer.
+
+ * buffer.c (list_buffers_1):
+ Make at least two spaces between all fields on a line.
+
+1985-12-04 Richard M. Stallman (rms at prep)
+
+ * xfns.c:
+ Define Fx_pop_up_window.
+ Use make_string, not Fmake_string, in x-get-cut-buffer.
+ Mysterious change from Martillo in Fx_change_display.
+ Rename variable mouse-pos to x-mouse-pos.
+
+ * xterm.c:
+ Changes from Martillo.
+ Change mouse command to C-c C-m.
+
+ * term.c (calculate_costs):
+ Return immediately if dont_calculate_costs is set.
+
+ * lread.c (Fintern, Fintern_soft):
+ Don't allow a symbol as argument to intern or intern-soft.
+
+1985-12-04 Richard Mlynarik (mly at prep)
+
+ * editfns.c (Fsubst_char_in_region):
+ Typo.
+
+1985-12-03 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fdo_auto_save):
+ Always restore old minibuf message if any.
+
+ * alloc.c (Fgarbage_collect):
+ Always restore old minibuf message if any.
+ Truncate command-history to 30 elements.
+ Add some register decls.
+
+1985-12-03 Richard Mlynarik (mly at prep)
+
+ * lread.c (Fload):
+ Suppress "Loading %s... done" if noninteractive
+
+ * alloc.c (Fgarbage_collect):
+ Suppress "garbage collecing..." message if noninteractive.
+
+ * regex.c (re_compile_pattern):
+ Fix error message (double "\"'s for c compiler)
+
+1985-12-03 Richard M. Stallman (rms at prep)
+
+ * editfns.c (Fsubst_char_in_region):
+ If 5th arg is non-nil, don't record for undo.
+
+1985-12-02 Richard M. Stallman (rms at prep)
+
+ * unexec.c (copy_sym, make_hdr):
+ Pass file names to these functions.
+ Use PERROR properly, with filename as arg.
+
+ * window.c (Fdelete_window):
+ Don't let stretching the siblings delete them.
+
+ * window.c (set_window_{height,width}):
+ Make `nodelete' apply to children as well.
+
+1985-11-28 Richard M. Stallman (rms at prep)
+
+ * indent.c (compute_motion):
+ Omit one register decl if TAHOE_REGISTER_BUG.
+
+ * m-tahoe.h:
+ New file.
+
+1985-11-27 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (RstDsp):
+ Do TIOCSETC before doing fcntl F_SETOWN.
+
+ Note: bizarre bug exists: Fsuspend_emacs
+ in impure temacs under vax 4.2 gets stopped
+ in that TIOCSETC; but in dumped Emacs, that
+ does not happen. No idea why. This change
+ did not fix it.
+
+ * keymap.c (describe_buffer_bindings):
+ Avoid passing a null pointer to InsStr.
+
+ * xterm.c:
+ Many random bug fixes from Martillo.
+
+ * xfns.c:
+ Bug fixes in Fx_change_display.
+ New function Fx_set_icon.
+ Fx_set_bell must take 1 arg, not 0.
+ Fx_set_window_edges: don't set window size if new size same as old.
+
+ * term.c, termchar.h:
+ Define variable `dont_calculate_cost's:
+ If set nonzero, `calculate_costs' is not called.
+
+1985-11-25 Richard M. Stallman (rms at prep)
+
+ * sysdep.c, keyboard.c:
+ Clean up USG simulation of FIONREAD.
+ In keyboard.c, new function read_avail_input reads all
+ input now in system buffer into kbd_buffer.
+ get_pending_input is moved to keyboard.c, and works
+ using read_avail_input when FIONREAD is not defined.
+ select emulator in sysdep also uses read_avail_input.
+
+ * unexec.c:
+ Make PERROR do a return, in non-emacs version.
+ Remove explicit returns following PERRORs.
+ Replace ERROR with ERROR0, ERROR1 and ERROR2
+ which pass along message and args to report_error_1.
+ Make those macros do a return, in non-emacs version.
+
+ * process.c (wait_reading_process_output):
+ If read_kbd is 10 + I, don't read kbd, but don't
+ return until input has arrived from channel I.
+
+ * process.c (Faccept_process_input):
+ New Lisp function.
+
+1985-11-24 Richard M. Stallman (rms at prep)
+
+ * unexec.c:
+ Close output descriptor if get an error.
+
+1985-11-23 Richard M. Stallman (rms at prep)
+
+ * termcap.c (tgetstr):
+ Supply second arg in call to tgetstr1.
+
+1985-11-22 Richard M. Stallman (rms at prep)
+
+ * s-bsd4.3.h:
+ Undefine INTERUPT_INPUT. Noninterrupt input should work
+ properly given LPASS8 and LNOFLUSH.
+
+ * dispnew.c, keyboard.c (Fset_input_mode):
+ Move it from dispnew.c to keyboard.c.
+
+ * sysdep.c (InitDsp):
+ Use LNOFLUSH in BSD.
+
+ * term.c (topos):
+ Call hook before checking curY and curX.
+
+1985-11-22 Richard Mlynarik (mly at prep)
+
+ * fileio.c (Frename_file):
+ Supply third arg to Fcopy_file
+
+1985-11-22 Richard M. Stallman (rms at prep)
+
+ * keymap.c (push_text_char_description):
+ Represent ESC by ^[, not $.
+
+1985-11-20 Richard M. Stallman (rms at prep)
+
+ * minibuf.c (read_minibuf):
+ Make Vminibuffer_help_form do its intended job.
+ Use alloca to get the space for the prompt.
+
+1985-11-20 Richard Mlynarik (mly at prep)
+
+ * callproc.c (Fcall_process_region):
+ Documentation fix (why isn't this function written in lisp?)
+
+ * minibuf.c (read_minibuf)
+ Use MScreenWidth
+
+1985-11-20 Richard M. Stallman (rms at prep)
+
+ * tparam.c (tparam):
+ Don't pass `left' or `up' to strcat if it is null.
+
+ * cmds.c (SelfInsert):
+ Split register arg c into arg c1 and register local c.
+ Using & on a register argument happens to work on vax.
+
+1985-11-19 Richard M. Stallman (rms at prep)
+
+ * xdisp.c (try_window_id):
+ If change is on top line and display is not starting
+ at a real line-beginning, give up so real scrolling is done.
+ Return -1, which now tells redisplay_window not to try
+ slow redisplay with the same window start.
+
+1985-11-18 Richard M. Stallman (rms at prep)
+
+ * m-apollo.h:
+ New file. Use with s-bsd4.2.h?
+
+ * data.c (Fsetcar, Fsetcdr, Faset):
+ Conditionalize checks for existing objects being pure
+ on CANNOT_DUMP.
+
+ * alloc.c (mark_object, Fpurecopy):
+ Conditionalize checks for existing objects being pure
+ on not CANNOT_DUMP. Don't turn on Vpurify_flag if CANNOT_DUMP.
+
+ * emacs.c (Fdump_emacs):
+ Conditionalize existence of function on not CANNOT_DUMP.
+
+ * lread.c (read_list, intern):
+ Avoid using a conditional expression to compute function to call.
+ Conditionalize the entire call (pure_cons vs Fcons or
+ make_pure_string vs make_string).
+
+ * syntax.c (scan_sexps_forward (case Sopen)):
+ Changed around curlevel++->last since Apollo C compiler loses.
+
+ * lisp.h:
+ Define VALBITS and GCTYPEBITS inside #ifndefs
+ so config.h can override them.
+
+ * fileio.c (Fexpand_file_name, Fsubstitute_in_file_name):
+ APOLLO conditionals to consider // at start of file name
+ legitimate.
+
+ * ymakefile:
+ Make mention of alloca.o be conditional on not APOLLO.
+ Make -lg conditional likewise.
+
+1985-11-15 Richard M. Stallman (rms at prep)
+
+ * ymakefile, read.c:
+ Rename read.* to lread.* to avoid trouble with
+ #define read sys_read.
+
+1985-11-14 Richard M. Stallman (rms at prep)
+
+ * New files xfns.c, xterm.c for X window system.
+ xfns contains Lisp subrs for interacting with X.
+ TrmTERM.c is eliminated.
+
+ * ymakefile:
+ Make compilation and loading of xterm.o and xfns.o
+ conditional on HAVE_X_WINDOWS.
+
+ * term.c, termhooks.h:
+ Define fix_screen_hook.
+
+ * process.c (wait_handing_process_output):
+ Call the terminal's fix_screen_hook, if one is set up.
+
+ * keymap.c:
+ Define and initialize MouseMap, a keymap for mouse commands.
+
+ * emacs.c (main):
+ Call syms_of_xfns.
+
+ * dispnew.c (init_display):
+ For X window system terminals, call x_term_init.
+
+ * buffer.c:
+ Flush Lisp variable buffer-number.
+
+1985-11-13 Richard M. Stallman (rms at prep)
+
+ * term.c (term_init):
+ For c100, do not set TS_set_window if termcap entry gives one
+ or if the :ti string fails to fix the screen at the top
+ of the display memory.
+
+ * nearly every file changed.
+
+ * New macro XSET to set both fields of a Lisp_Object.
+ Most places where XSETTYPE was used, followed by setting
+ the pointer field, now use XSET.
+
+ * Many uses of wrong_type_argument replaced with use
+ of CHECK_*, including new CHECK_MARKER.
+
+ * Other uses of wrong_type_argument fixed so value
+ returned gets used in place of the invalid object.
+ Also, the third argument was deleted.
+
+ * New functions xmalloc and xrealloc signal an error
+ if memory is not available. Many calls to malloc and
+ realloc are replaced with them.
+
+ * Some unused variables' declarations have been flushed.
+ * Some register declarations have been added.
+
+ * alloc.c:
+ New functions xmalloc and xrealloc.
+
+ * process.c:
+ (pty): Flush unused variable. Return 0 at end.
+ (list_processes):New buffer tembuf for sprintf to use.
+ (send_process_trap): Flush unused arg.
+ (sig_process): Rename arg `signal' to `signo'.
+
+ * read.c:
+ Avoid `file' as variable name for lint's sake.
+
+ * sysdep.c:
+ Compile stuff_char only if SIGTSTP exists.
+ Changed conditionals within stuff_char.
+ Compile wait_without_blocking only if no subprocesses.
+ Pass one arg (zero) to `wait'.
+ Include old_fcntl_flags in #ifdef FASYNC condition.
+ Put old_fcntl_owner inside #ifdef F_SETOWN condition.
+ Don't compile end_of_text and end_of_data.
+ Delete definitions of readlink and symlink;
+ their callers should not exist when system doesn't have symlinks.
+
+ * term.c:
+ Don't give the impression that hooks' values are supposed
+ to be returned.
+
+ * userid.c:
+ Entire file commented out; supposedly not used.
+
+ * dispnew.c:
+ Comment out preserve_my_columns, not used.
+ Clean up conditionals in Fsleep_for and Fsit_for.
+
+ * doc.c:
+ Fix incorrect args to describe_map_tree.
+
+ * eval.c:
+ Flush Ffunction_type.
+ Make Fautoload override an existing autoload definition.
+ wrong_type_argument: check the user's new value
+ and get error again unless it fits the predicate.
+
+ * minibuf.c:
+ Comment out Fread_function, not used.
+
+1985-11-12 Richard M. Stallman (rms at prep)
+
+ * keymap.c:
+ Comment out synkey, which nobody calls.
+
+ * lisp.h:
+ Define XSET (var, type, ptr) to set both fields of a var.
+ Use it in DEFSIMPLE.
+ Remove extern decls of non-ex functions; fix dot -> point.
+ Remove incorrect decl of staticprolist.
+
+ * fns.c (Flength):
+ (concat2, nconc2): Add /* ARGSUSED */ for lint.
+
+ * fileio.c:
+ A few declarations for lint's sake.
+ Make alias file-readable-p for file-exists-p.
+
+1985-11-11 Richard M. Stallman (rms at prep)
+
+ * emacs.c (Fkill_emacs):
+ Return arg as exit code if arg is numeric even if interactive.
+ Rearrange code to make it smaller.
+
+ * callint.c (Fcall_interactively, case 'v'):
+ Use Fread_variable.
+
+ * tparam.c (tparam):
+ Rename %s as %f.
+
+1985-11-10 Richard M. Stallman (rms at prep)
+
+ * read.c (Fload):
+ Rename closefile to load_unwind.
+ New boolvar load-in-progress, set to t while loading, nil otherwise.
+
+ * term.c (clear_end_of_line):
+ Correct first_unused_hpos by chars_wasted, since curX is corrected.
+ Set chars_wasted to zero if about to erase a standout marker.
+
+ * term.c (write_standout_marker):
+ Do write the end-standout marker even when sg#0.
+
+1985-11-09 Richard M. Stallman (rms at prep)
+
+ * term.c (set_scroll_region):
+ Change parameters given to the `cs' string
+ to adjust for changed effect of %i.
+
+ * tparam.c (tparam):
+ %i now increments two args, not just one.
+ Redefine %a somewhat, as will be described in termcap.texinfo.
+
+1985-11-08 Richard Mlynarik (mly at prep)
+
+ * emacs.c (Fkill_emacs):
+ arg default is 0 if noninteractive, nil if interactive
+
+ * minibuf.c (Fread_variable):
+ Only recognize symbols that are user-variable-p.
+
+1985-11-08 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (init_display):
+ Turn on LPASS8 if it is defined.
+ Gives 8-bit input in CBREAK mode.
+
+1985-11-06 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (get_input_pending, select):
+ Provide alternate code for USG without FIONREAD.
+ I suspect it does not really work, though.
+
+ * fns.c (Fload_average):
+ If LOAD_AVE_TYPE is not defined, just get an error,
+ and allow LOAD_AVE_CVT to be undefined as well.
+
+ * m-dual.h:
+ Don't define LOAD_AVE_TYPE or LOAD_AVE_CVT.
+
+1985-11-05 Richard Mlynarik (mly at prep)
+
+ * print.c (print):
+ Hack deleted buffers.
+
+1985-11-04 Richard M. Stallman (rms at prep)
+
+ * syntax.c (describe_syntax_1):
+ Return type Lisp_Object and value Qnil.
+
+1985-11-04 Richard Mlynarik (mly at prep)
+
+ * minibuf.c (Fread_variable):
+ Choose amongst user-variable-p frobs rather than boundp ones
+
+1985-11-02 Richard M. Stallman (rms at prep)
+
+ * window.c (window_scroll):
+ Get error if try to scroll back when at top.
+
+ * window.c (Fscroll_down, Fscroll_up):
+ Share new subroutine scroll_command to compute amount to scroll by.
+
+1985-11-01 Richard M. Stallman (rms at prep)
+
+ * dispnew.c (Fset_input_mode):
+ Always set interrupt_input to 0 when SIGIO is undefined.
+
+ * keyboard.c (gobble_input, input_available_signal, kbd_buffer_store_char):
+ Make these functions exist only if SIGIO is defined.
+
+1985-10-30 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (select):
+ Use signal, not sigset, since we simulate signal on
+ all system versions when nec.
+
+ * buffer.c (syms_of_buffer, init_buffer_once,
+ reset_buffer_local_variables):
+ Define default-abbrev-mode, and init new buffers' abbrev-mode
+ from it. Move definition of abbrev-mode here from abbrev.c.
+
+ * print.c (Fmessage):
+ Simplify it by using `message' to do the output.
+
+ * alloca.s:
+ Provide alloca for 3b5.
+
+1985-10-30 Richard Mlynarik (mly at prep)
+
+ * editfns.c, print.c (Fmessage):
+ Move Fmessage from editfns to print
+ If noninteractive, do not truncate message at all.
+ If interactive truncate at MScreenWidth (not at 100)
+
+ * alloc.c (mark_buffer):
+ Catch a few places which should have been marked but weren't
+
+ * buffer.h, abbrev.c, cmds.c, xdisp.c
+ abbrev_mode is buffer-local (like all other minor modes)
+
+1985-10-29 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (wait_for_termination):
+ Install case for 4.1 with subprocesses.
+ Realize that what was thought to be that
+ was really for no subprocesses; fix it up
+ to avoid using synch_process_pid since child_sig won't maintain that.
+
+ * read.c (Fload):
+ If arg is empty string, just get error;
+ don't try to open any file.
+
+ * eval.c (internal_condition_case):
+ Before unwinding after throw, remove any backtrace frames,
+ catches or handlers that are in stack frames that have been exited,
+
+ * window.c (save_window_restore):
+ If saved state uses a dead buffer, don't use Fother_buffer
+ to find a buffer to use instead, since that can call Fnext_window
+ and the window hierarchy might be malformed at that time.
+
+ * fns.c (Fequal):
+ Markers are equal if they point at the same place.
+
+1985-10-29 Richard Mlynarik (mly at prep)
+
+ * fns.c (Frequire):
+ Don't print message whilst loading required file.
+
+1985-10-29 Richard M. Stallman (rms at prep)
+
+ * syntax.c (scan_lists):
+ Initialize mathexit.
+
+1985-10-28 Richard M. Stallman (rms at prep)
+
+ * process.c (child_sig):
+ Rename `dead_pid' to `synch_process_pid'.
+ Remove conditionals around calls to deactivate_process.
+
+ * callproc.c (Fcall_process):
+ In 4.1, store the pid in synch_process_pid.
+
+ * sysdep.c (wait_for_termination):
+ Add case for 4.1 (only with subprocesses)
+ waiting for synch_process_pid to be zeroed by child_sig.
+
+ * crt0.c:
+ Add version for the orion machine.
+
+ * data.c (arith_error):
+ In 4.1, do sigrelse to reallow arith error signals.
+
+ * read.c (read_escape):
+ After C-, don't clear meta bit of what follows.
+
+1985-10-27 Richard M. Stallman (rms at prep)
+
+ * m-*.h:
+ Define SIGN_EXTEND_CHAR for all machines.
+
+1985-10-26 Richard M. Stallman (rms at prep)
+
+ * xdisp.c (display_mode_line):
+ If window is not full width but its parent is,
+ display the mode line in inverse video.
+
+ * cmds.c (SelfInsert):
+ Call the blink paren hook for syntax class $ also.
+
+ * eval.c (Fautoload):
+ Accept fifth arg, non-nil meaning function will be a macro
+ once it is loaded.
+
+ * eval.c (Fmacroexpand):
+ Autoload anything that will be a macro once loaded.
+ If a symbol's definition is a symbol that is a macro,
+ expand either one seen.
+
+1985-10-23 Richard M. Stallman (rms at prep)
+
+ * eval.c (Fthrow):
+ If TAG is nil, always say it is not found, to avoid
+ interference with condition-case, which uses nil as catch tag.
+
+ * print.c (PRINTPREPARE & uses):
+ Don't change print_depth in PRINTPREPARE;
+ those callers for which it matters now do it themselves.
+
+ *print.c (print):
+ Do QUIT; at the beginning. Also in string and symbol loops.
+
+ * window.c (set_window_{height,width}):
+ In args to recursive calls, use XINT, not XFASTINT.
+ Perhaps a "too small" window could have negative size.
+
+ * window.c (change_window_height):
+ Fix calls to sizefun and setsizefun to dereference first.
+
+ * window.c (save_window_restore):
+ Make it return a Lisp_Object.
+
+ * fns.c (concat & callers):
+ New arg last_special which if non-0 says don't copy last arg.
+ Only Fappend supplies it as nonzero.
+
+ * keyboard.c (Fsuspend_emacs):
+ Take already-read input and stuff it.
+
+ * fileio.c (Ffile_directory_p, Ffile_modes):
+ Remove final slash from file name before doing stat.
+ In 4.2, final slash can cause wrong result
+ if file is read-protected.
+
+1985-10-22 Richard Mlynarik (mly at prep)
+
+ * eval.c (Fcondition_case):
+ Add some error-checks to condition-case;
+ prevent core-dump when handler list is illegal.
+
+ * keyboard.c (cmd_error):
+ Do the file-error hack for conditions including file-error,
+ not just file-error itself.
+
+ * callint.c (Fcall_interactively):
+ Quotify car of command-history in (interactive <list>) case
+ New function quotify_args to do the work.
+
+ * fns.c (Fnconc):
+ typo: wrong_type_arg called with Flistp, not Qlistp
+
+1985-10-22 Richard M. Stallman (rms at mit-prep)
+
+ * process.c (Fset_process_buffer, Fstart_process):
+ Allow a process's buffer to be nil.
+
+1985-10-21 Richard M. Stallman (rms at mit-prep)
+
+ * window.c (Fscroll_{left,right}):
+ Default arg is now window width minus 2.
+
+ * search.c (Freplace_match):
+ If not literal, make \ always an escape.
+ Thus two \'s are needed for one literal one.
+
+ * data.c (wrong_type_argument):
+ Eliminate third arg from function and its explicit callers.
+
+ * window.c (Fpos_visible_in_window_p):
+ Provide missing tab_offset arg to compute_motion.
+
+ * xdisp.c (init_xdisp):
+ Provide missing 3rd arg to set_window_height.
+
+ * fileio.c (e_write):
+ Make it really return -1 if write doesn't write everything.
+
+ * data.c (Fsymbol_{function,value}):
+ Replace Qvoid_symbol condition with two conditions
+ Qvoid_{variable,function}. No longer pass boundp or fboundp
+ as part of the extra info, since would be redundant.
+
+1985-10-18 Richard M. Stallman (rms at mit-prep)
+
+ * editfns.c (Fformat):
+ Remove limit on length of output.
+
+ * doprnt.c (doprnt):
+ Rearrange so can handle %2s, etc.
+
+1985-10-17 Richard M. Stallman (rms at mit-prep)
+
+ * process.c:
+ Define sys_siglist for 4.1, which doesn't provide one.
+ Use new flag HAVE_PTYS to enable compilation of `pty'
+ and of some code in `create_process'.
+ Flist_processes: omit unused third arg to Findent_to.
+ create_process: Omit some code for ptys unless HAVE_PTYS.
+ Provide 4.1 alternatives for sigsetmask.
+ wait_reading_process_input:
+ If not HAVE_TIMEVAL, provide alternative code using ints.
+ Handle failure of FIONREAD.
+ send_process_trap:
+ In 4.1, release SIGPIPE and SIGALRM.
+ sig_process: check current_group for nil or not,
+ rather than 0 or not.
+ count_active_processes: get rid of arg `buffer' which was unused.
+ child_sig: strange hacks with dead_pid for 4.1.
+ Hold and release SIGCHLD in 4.1.
+ Do not call deactivate_process in 4.1 (puzzles me).
+
+ * sysdep.c:
+ Omit fcntl.h under 4.1.
+ get_input_pending: return 0 if input not a tty.
+ discard_terminal_input: do nothing if batch mode.
+ stuff_char: err instead of aborting on system V.
+ init_baud_rate: always set ospeed = 0 if batch mode.
+ InitDsp: turn ANYP on rather than off. Make lmode global.
+ In 4.1, turn on LINTRUP if interrupt_input.
+ child_setup_tty: in 4.1, clear LINTRUP in the child.
+ tabs_safe_p: always say tabs are safe if batch mode.
+ RstDsp: In 4.1, turn off LINTRUP if interrupt_input.
+ setpriority: define as noop for 4.1.
+ request_sigio: for 4.1, turn on LINTRUP.
+ unrequest_sigio: for 4.1, turn off LINTRUP.
+
+ * read.c (readevalloop, read_list, read_vector, intern):
+ Dereference expressions of type pointer-to-function before calling.
+
+ * read.c (hash_string):
+ Use unsigned char, not char, for strings.
+
+ * read.c (map_obarray):
+ Expect function to be mapped to return int, not Lisp_Object.
+
+ * undo.c:
+ Include lisp.h before undo.h.
+
+ * unexec.c:
+ Introduce ADDR_CORRECT. Apply it to supplied values
+ for bss_start and data_start, and to values returned by sbrk.
+ Use NBPG instead of getpagesize () in BSD4.1.
+ Use char *'s for ptr and end in copy_text_and_data.
+
+ * print.c (print):
+ Remove unused fourth arg from recursive calls.
+
+ * minibuf.c (Fminibuffer_complete{,_and_exit}):
+ Copy function value into variable before switching on it.
+ (Direct way loses on orion).
+
+ * s-*.h:
+ Define HAVE_SELECT and NONSYSTEM_DIR_LIBRARY where appropriate.
+ Reorder the flags, and make all the s- files look parallel.
+
+ * keyboard.c:
+ Define new constructs sigfree, sigholdx, sigblockx,
+ sigunblockx, sigpausex which do one thing in 4.1 and another in
+ 4.2. In 4.1, use SIGTINT as if it were SIGIO.
+
+ * keyboard.c (getchar, interrupt_signal):
+ Don't omit the arg DoDsp or Fdo_auto_save wants.
+
+ * keyboard.c: (echo_them, input_available_signal):
+ Put in hair for 4.1 for interfacing with select emulation.
+
+ * keyboard.c (top_level_1):
+ * macro.c (pop_kbd_macro):
+ Must have type Lisp_Object, and return a valid one.
+
+ * keymap.c (describe_{vector,alist}):
+ Expect elt_describer to return int, not Lisp_Object.
+ Dereference that variable before calling it.
+
+ * keymap.c (apropos1):
+ Must have type Lisp_Object, and return a valid one.
+
+ * syntax.c (describe_syntax):
+ Make it return type int, and don't bother about what int.
+
+ * search.c (search_buffer):
+ If fwd, require match to end not beyond search limit.
+
+1985-10-16 Richard M. Stallman (rms at mit-prep)
+
+ * alloc.c:
+ New vars data-bytes-{used,free} that ref malloc_sbrk{,un}used.
+
+ * editfns.c (save_{excursion,restriction}_restore):
+ Must have type Lisp_Object, and return a valid one.
+
+ * editfns.c (format1):
+ Handle NO_ARG_ARRAY case.
+
+ * eval.c (internal_catch, internal_condition_case, unbind_to):
+ Dereference variables of type pointer-to-function before calling.
+
+ * eval.c (Fautoload, call1, call2, call3):
+ If NO_ARG_ARRAY, don't assume that consecutive args can be
+ treated as an array. Copy them into another array.
+
+ * fileio.c (barf_or_query_if_file_exists):
+ Fix paren error.
+
+ * fileio.c (Fcopy_file):
+ Use chmod instead of fchmod on 4.1bsd as well as usg.
+
+ * fileio.c (Frename_file, Fmake_symbolic_link, Fadd_name_to_file):
+ If NO_ARG_ARRAY, don't assume that consecutive args can be
+ treated as an array. Copy them into another array.
+
+ * fileio.c (Frename_file):
+ In 4.1bsd, use link and unlink, since don't have rename.
+
+ * fileio.c (Fmake_symbolic_link):
+ Eliminate this if S_IFLNK not defined.
+
+ * fileio.c (Ffile_symlink_p):
+ Always return nil if S_IFLNK not defined.
+
+ * fileio.c (auto_save_error, auto_save_1):
+ Must have type Lisp_Object, must really return something.
+
+ * fns.c (concat2, nconc2):
+ If NO_ARG_ARRAY, don't assume that consecutive args can be
+ treated as an array. Copy them into another array.
+
+ * fns.c (Frequire):
+ Was calling Fload with only 1 arg. Pass 2 extra nil's.
+
+ * fns.c (Fload_average):
+ If FIXUP_KERNEL_SYMBOL_ADDR is defined, must detect
+ if address of _avenrun is not abs, and fix it up if so.
+
+ * indent.c (position_indentation):
+ Add parens in nested ?...: for clarity.
+
+ * sysdep.c:
+ Add opendir, closedir and readdir, if NONSYSTEM_DIR_LIBRARY.
+
+ * unexec.c:
+ Add some definitions for case of USG and not COFF.
+ These define the BSD names for hdr components in terms of pre-BSD names.
+
+ * sysdep.c, editfns.c, s-*.c:
+ Use (new) get_system_name (defined in sysdep) to get system name
+ in init_editfns. No more need for SYSTEM_NAME and
+ SYSTEM_NAME_DECL.
+
+ * sysdep.c (select):
+ Use not HAVE_SELECT as condition to define this.
+
+ * keyboard.c:
+ Get error instead of croaking if want to send SIGTSTP.
+ Get compile time error in gobble_input if SIGIO is not defined.
+
+ * emacs.c:
+ Always include types.h. Omit time.h and resource.h in 4.1.
+
+ * dispnew.c (Fsit_for, Fsleep_for):
+ Rearrange conditionals to use only HAVE_TIMEVAL and (new) HAVE_SELECT.
+
+ * dired.c:
+ Flush NO_DIR_LIBRARY case. If NONSYSTEM_DIR_LIBRARY,
+ use "ndir.h" which will come with Emacs.
+
+ * alloca.s, crt0.c:
+ Check m68000 flag only if m68k flag is not defined.
+
+ * fileio.c (Finsert_file_contents):
+ Set up for this to be undone.
+
+1985-10-15 Richard M. Stallman (rms at mit-prep)
+
+ * syntax.c (Fmodify_syntax_entry):
+ Use %s rather than %c in interactive string.
+
+ * callint.c (Fcall_interactively):
+ For arg read with code `c', convert as char to a string
+ for use in prompting for future args.
+
+ * keymap.c (describe_{map,map_tree,vector,alist}):
+ All take additional arg PARTIAL which, if nonzero,
+ means check each definition for a `suppress-keymap'
+ property and ignore it if property non-nil.
+
+ * keymap.c (describe_bindings):
+ * doc.c (Fsubstitute_command_keys):
+ * syntax.c (describe_syntax):
+ Pass zero or 1 as PARTIAL arg to those functions.
+
+ * filelock.c:
+ Use PATH_SUPERLOCK as name of superlock file,
+ and PATH_LOCK as name of lock directory.
+ * paths.h, paths.h.dist:
+ Define those two.
+
+ * callproc.c (Fcall_process):
+ Always try opening program before forking.
+
+1985-10-14 Richard M. Stallman (rms at mit-prep)
+
+ * Makefile:
+ Now it takes ymakefile, passes it thru cpp to get xmakefile,
+ then runs `make' on that. ymakefile is the old Makefile.
+ All comments now are within /*...*/, and #ifdef's are used
+ to select the flags and libraries to be used.
+
+ * s-*.h:
+ Define new macro SYSTEM_NAME_DECL which does any global
+ declarations needed to prepare for using SYSTEM_NAME.
+ The flag ASSEMBLY is no longer needed to prevent s-*.h
+ from doing anything besides defining macros.
+
+ * editfns.c:
+ Use SYSTEM_NAME_DECL.
+
+ * alloca.s:
+ No longer need to define ASSEMBLY.
+
+ * eval.c (apply_lambda, funcall_lambda):
+ Flush &quote support.
+
+1985-10-11 Richard M. Stallman (rms at mit-prep)
+
+ * fileio.c (Frename_file):
+ If fails due to moving across devices, copy and delete old file.
+
+ * keymap.c (insert_first_line):
+ If the first line contains `\[', pass the string thru
+ substitute-command-keys and try again.
+
+1985-10-10 Richard M. Stallman (rms at mit-prep)
+
+ * Makefile:
+ Define new parameter LDFLAGS, and make more use of LIBES.
+ Have new code to define their values for various systems.
+
+ * sysdep.c, s-unipl5.2.h:
+ Define MAXPATHLEN here if not def by system.
+ Do not define it in s- files.
+
+ * keyboard.c (interrupt_signal):
+ In system V, cannot actually stop, but do offer to auto-save
+ or abort.
+
+ * dired.c:
+ Do not include dir.h if including ndir.h.
+
+1985-10-09 Richard M. Stallman (rms at mit-prep)
+
+ * fileio.c (Fsubstitute_in_command_name):
+ Simplify /~ and // if produced as result of variable substitution.
+
+1985-10-08 Richard M. Stallman (rms at mit-prep)
+
+ * fns.c (concat):
+ Failed to initialize data type of `len'.
+
+ * editfns.c (Fregion_to_string):
+ Delete it. Put it in mlsupport.el.
+
+ * search.c (Fregion_around_match):
+ Delete it. Put it in mlsupport.el.
+
+ * syntax.c (scan_lists):
+ Fix bug of ignoring the character before a comment-start pair
+ when parsing backward. Also don't consider /*/ a complete comment.
+
+ * dispnew.c (Fsit_for):
+ Use simulator for select, if not HAVE_TIMEVAL.
+ * dispnew.c (ChangeScreenSize):
+ Pass zero as third arg to set_window_{height,width}.
+ * dispnew.c (update_screen):
+ Detect failure of ioctl TIOCOUTQ.
+ * dispnew.c:
+ Don't use fcntl.h; appears not to be needed.
+
+ * dired.c:
+ Handle fact that 4.1 has no symbolic links, just like sysV:
+ Make conditionals check S_IFLNK rather than USG.
+ Also, check new flag NONSYSTEM_DIR_LIBRARY which 4.1 will set.
+
+ * cm.c (cmcostinit, cmgoto, cmputc):
+ Make these the names of the functions that do the work
+ instead of macros going through variables that
+ might fail to be set up.
+
+1985-10-07 Richard Mlynarik (mly at mit-prep)
+
+ * print.c (print)
+ No need to escape symbols + and - if not followed by digits
+
+1985-10-07 Richard M. Stallman (rms at mit-prep)
+
+ * filelock.c:
+ New file containing stuff to handle locking files while
+ they are being edited.
+
+ * buffer.c (Fset_buffer_modified_p):
+ Lock or unlock the visited file accordingly.
+
+ * buffer.c (Fdelete_buffer_internal)
+ Unlock the visited file.
+
+ * fileio.c (Fread_file_contents):
+ Mark buffer as modified using modify_buffer.
+ If visiting, unlock old and new visited files.
+
+ * fileio.c (Fwrite_region):
+ Lock file to begin with; unlock on error or when done.
+
+ * undo.c (Fundo_more):
+ Unlock file if undoing makes buffer unmodified.
+
+1985-10-06 Richard M. Stallman (rms at mit-prep)
+
+ * dired.c (file_name_completions):
+ If looking for list of all completions, don't ignore any.
+ Do this by starting with passcount = 1.
+
+1985-10-05 Richard M. Stallman (rms at mit-prep)
+
+ * xdisp.c (message):
+ Use doprnt instead of sprintf: prevent overflowing buf.
+
+ * xdisp.c (decode_mode_spec):
+ Protect against overflowing tbuf even if strings are clobbered
+ and have negative length.
+
+1985-10-02 Richard M. Stallman (rms at mit-prep)
+
+ * insdel.c (delete_range):
+ Must immediately relocate markers into deleted text.
+ Otherwise if an insertion follows they may end up pointing
+ into the middle of it.
+
+1985-10-01 Richard M. Stallman (rms at mit-prep)
+
+ * dispnew.c, xdisp.c, minibuf.c:
+ cursX and cursY are now origin zero.
+ last_point_x and last_point_y of a window, likewise.
+
+ * term.c (set_scroll_region, term_init, calculate_costs):
+ New "cS" string, in TS_set_scroll_region_1,
+ accepts four params suitable for handling aaa's \E[...p cmd.
+
+1985-09-30 Richard M. Stallman (rms at mit-prep)
+
+ * xdisp.c (redisplay_window):
+ Don't clobber the point value of the buffer
+ being redisplayed.
+ Make sure the displayed point value is inside
+ the buffer bounds; correct it if not.
+
+ * term.c (reassert_line_highlight):
+ Define reassert_line_highlight_hook, and call it.
+
+ * dispnew.c (direct_output_for_self_insert):
+ Call reassert_line_highlight.
+
+1985-09-29 Richard M. Stallman (rms at mit-prep)
+
+ * print.c (print):
+ Fix one-off bug in Vprint_length; one element too few
+ used to be printed.
+
+ * fileio.c (Fread_file_name_internal):
+ Avoid error when spec'd name has no slashes.
+
+1985-09-28 Richard M. Stallman (rms at mit-prep)
+
+ * term.c (clear_to_end, clear_screen):
+ Set cleared lines to the background highlighting state.
+
+ * read.c (read1):
+ Don't ignore pure doc strings once DOCSTR already parsed.
+
+ * read.c (readevalloop & callers):
+ Eliminate delayflag feature.
+
+ * eval.c (do_autoload):
+ Set up unwind-protect un_autoload and bind
+ Vautoload_queue non-nil. This will undo all defuns and
+ provides if the file does not finish loading.
+
+ * data.c (Fset):
+ If Vautoload_queue non-nil, record function and old definition
+ by consing onto Vautoload_qeueue.
+
+ * fns.c (Fprovide):
+ If Vautoload_queue is non-nil, record old value of Vfeatures.
+
+1985-09-27 Richard M. Stallman (rms at mit-prep)
+
+ * abbrev.c (Fdefine_global_abbrev, Fdefine_mode_abbrev):
+ Convert name to lower case before defining.
+ (Since expansion always does that too.)
+
+ * buffer.c (init_buffer):
+ Don't add / to end of wd if it ends in / already.
+ * buffer.c (init_buffer_once):
+ Add variable `tem'. Don't call Fcurrent_buffer.
+
+1985-09-26 Richard M. Stallman (rms at mit-prep)
+
+ * fileio.c (Fexpand_file_name):
+ Discard through any slash that precedes a tilde.
+
+1985-09-20 Richard M. Stallman (rms at mit-prep)
+
+ * fns.c (concat):
+ In the case of append, don't copy or test the last arg.
+
+1985-09-19 Richard M. Stallman (rms at mit-prep)
+
+ * keyboard.c (command_loop_1):
+ If minibuffer and echo area both in use,
+ wait 2 sec and redraw minibuffer.
+
+ * keyboard.c (cmd_error):
+ Remove similar feature for errors only.
+
+ * read.c (readevalloop and callers):
+ Don't eval any forms until all forms read.
+
+ * dispnew.c (scrolling):
+ Postpone fixup of free_at_end_vpos
+ until unchanged_at_bottom is set up.
+
+ * everywhere:
+ Remove many variables not really used.
+
+ * process.c (count_active_processes):
+ Fix garbage code to ignore, correctly,
+ stopped or dead processes.
+
+1985-09-17 Richard M. Stallman (rms at mit-prep)
+
+ * Don't use strings.h (not all Unix versions have it).
+ Declare index explicitly where needed.
+
+ * sysdep.c:
+ Define select, for 4.1.
+
+ * s-*.h, sysdep.c:
+ New flag BSTRING says system has bcopy, etc., functions.
+ If not, define them in sysdep.c.
+
+ * buffer.c:
+ Define MAXPATHLEN if system does not.
+ Pass two args to Fnext_window, as it expects.
+
+ * abbrev.c (Fdefine_global_abbrev, Fdefine_local_abbrev):
+ Always pass Fdefine_abbrev five args.
+
+ * term.c (write_chars):
+ Clear error flag of stdout to recover from 4.2 kernel bug.
+
+ * unexec.c (make_hdr):
+ Remove sun data_start rounding change: round down again.
+
+1985-09-13 Richard M. Stallman (rms at mit-prep)
+
+ * minibuf.c (minibuf_completion_help_1):
+ Always indent at least one space between the two function names on
+ a line.
+
+1985-09-12 Richard M. Stallman (rms at mit-prep)
+
+ * syntax.h, syntax.c:
+ Define new syntax class Spunct, for punctuation.
+ Acts like whitespace in word and list parsing.
+ Define all non-whitespace that used to be Swhitespace as
+ being punctuation.
+
+1985-09-11 Richard M. Stallman (rms at mit-prep)
+
+ * dired.c (file_name_completions):
+ Fix bug matching implicit slash after name of dir
+ against an implicit slash in bestmatch.
+
+1985-09-10 Richard M. Stallman (rms at mit-prep)
+
+ * cmds.c (Fnewline):
+ Barf immediately if buffer read only.
+
+ * doc.c (Fsubstitute_command_keys):
+ If string contains \{VAR}, get value of VAR and describe as
+ keymap.
+
+ * keymap.c (describe_map_tree):
+ New function to describe a map and all maps reachable from it.
+
+ * keymap.c (describe_bindings):
+ Describe local bindings first.
+
+ * abbrev.c (describe_abbrev):
+ Direct final newline to same stream as everything else.
+
+1985-09-08 Richard M. Stallman (rms at mit-prep)
+
+ * editfns.c, dispnew.c:
+ Definition of baud-rate moved to dispnew.c.
+
+ * editfns.c:
+ Functions point{-marker}, point-max{-marker} and
+ point-min{-marker} defined. Old dot- names still exist
+ as aliases.
+
+ * Pervasive:
+ "dot" changed to "point" in just about everything,
+ including names that contain it, such as SetDot.
+
+ * callint.c (Fcall_interactively):
+ Make elements of command-history be expressions
+ by quoting each arg that is not self-evaluating.
+
+ * eval.c (Fsignal, find_handler_clause):
+ If debugger returns, return its value from Fsignal.
+
+ * All calls to Fsignal:
+ Do something reasonable if Fsignal returns.
+ Often, just return what it returned.
+ `error' still never returns to its caller.
+
+ * Signalling Qargs_out_of_range:
+ Use new functions args_out_of_range and args_out_of_range_3
+ (in data.c) to do this.
+
+1985-09-07 Richard M. Stallman (rms at mit-prep)
+
+ * search.c (compile_pattern & callers):
+ Must recompile even the same string if translate table is
+ different. Pass translate table as arg to compile_pattern.
+
+ * buffer.c (switch-to-buffer-other-window):
+ Eliminate this name; it's now defined in files.el.
+
+ * window.c (Fget_lru_window):
+ Give preference to full-width windows.
+ * window.c (display_buffer):
+ only split full-width windows.
+
+ * search.c (Fstring_match):
+ Set the search_regs, like buffer searching commands.
+
+1985-09-06 Richard M. Stallman (rms at mit-prep)
+
+ * editfns.c (Finsert_before_markers):
+ User interface to insert_before_markers.
+
+ * insdel.c (insert_before_markers):
+ New function that inserts and moves all markers pointing at
+ insertion point to point after the inserted text.
+
+ * sysdep.c (wait_for_termination):
+ Cause a SIGCHLD just in case, when termination is detected.
+
+ * unexec.c:
+ Round data-end-address on Sun up, not down, to segment bdry.
+
+ * crt0.c, alloca.s, m-sun2.h:
+ For sun 2, call hack_sky from _start. hack_sky is new, in alloca.s.
+ m-sun2.h is a new file, which defines the symbol sun2.
+
+ * buffer.c (Fswitch_to_buffer):
+ Second arg non-nil means don't record buffer on selection history.
+
+ * syntax.c (scan_sexps_forward):
+ Stop properly if end of range comes after a char quote within a string.
+
+1985-09-05 Richard M. Stallman (rms at mit-prep)
+
+ * fileio.c (Fread_file_name):
+ Abbreviate the default dir using ~ if possible.
+
+ * search.c (search_buffer):
+ Notice when re_search_2 returns "failure", in backward search.
+
+ * term.c (write_chars):
+ When using TS_repeat, the count was wrong, and len was not updated.
+
+1985-09-05 Richard M. Stallman (rms at mit-prep)
+
+ * process.c (handle_process_output):
+ Preserve logical ordering of input and output when there is type ahead.
+
+1985-09-05 Richard M. Stallman (rms at mit-prep)
+
+ * macros.c:
+ Define executing-kbd-macro as alias for executing-macro.
+ Eventually old name will be flushed.
+
+1985-09-04 Richard M. Stallman (rms at mit-prep)
+
+ * keyboard.c (Fsuspend_emacs):
+ Put back `kill', accidentally deleted.
+
+ * buffer.c: define switch-to-buffer-other-window = pop-to-buffer.
+
+ * dispnew.c (update_line):
+ Simplify handling of nlen == screen_width case
+ to avoid calling write_chars on -1 chars.
+
+1985-09-02 Richard M. Stallman (rms at mit-prep)
+
+ * term.c ((re)set_terminal_modes):
+ Use the correct hook in each case.
+ (topos): define topos_hook.
+
+ * search.c (search_buffer):
+ In backwards regexp search, use new `mstop' to re_search_2
+ to avoid matches that extend forward past starting point.
+
+ * editfns.c (init_editfns):
+ Change #endif to #else; make AMPERSAND_FULL_NAME conditionals right.
+
+ * print.c (print):
+ Define variable print-length, and refer to it as nec.
+
+1985-08-31 Richard Mlynarik (mly at mit-prep)
+
+ * editfns.c (init_editfns)
+ Try to improve AMPERSAND_FULL_NAME frobbing a little.
+
+ * eval.c, callint.c
+ Define function user-variable-p, which returns t if first char of
+ var doc string is "*". Make (interactive "v") use it.
+
+1985-08-31 Richard M. Stallman (rms at mit-prep)
+
+ * syntax.c (scan_words):
+ Always clear immediate_quit on exit.
+
+1985-08-30 Richard M. Stallman (rms at mit-prep)
+
+ * process.c (handle_process_output):
+ Don't use the name `howmany' to avoid possible conflict
+ with system header files.
+
+ * xdisp.c (decode_mode_spec):
+ Never try to output 100% -- output 99% instead.
+
+1985-08-11 Richard Mlynarik (mly at mit-prep)
+
+ * m-sun.h
+ Don't define SUN -- "sun" already exists.
+ Define COMPILER_REGISTER_BUG and use it in a few places in the
+ source which used to be conditionalized on SUN
+
+ * config.h, config.h.dist
+ Increase pure size (sigh)
+
+ * search.c (compile_pattern):
+ Signal an invalid-regexp error if lose.
+
+1985-08-09 Richard Mlynarik (mly at mit-prep)
+
+ * term.c (clear_end_of_line)
+ Calling cmplus before chars output when terminals lacks clreol
+ (crl@newton.purdue.edu)
+
+1985-08-06 Richard Mlynarik (mly at mit-prep)
+
+ * macros.c (end-kdb-macro):
+ Barf if not defining a macro.
+
+ * doc.c, keymap.c
+ Interactive for Fdocumentation declaration was wrong, and has been
+ deleted. (describe-function is what people should be using)
+
+ Make where_is_in_buffer take a firstonly arg to speed up
+ substitute-command-keys. Make it really use its buf argument.
+ (crl@newton.purdue.edu)
+
+ * emacs.c (kill-emacs):
+ If noninteractive and arg is fixnum, return arg as program return
+ code by exit(arg)
+
+ * search.c (Fsearch_string):
+ Wasn't initializing translate table based on case-fold-search
+
+ * process.c (deactivate_process):
+ Fix timing screw if SIGCHLD received in middle of deactivation
+ (by silogic!eggert@ucla-cs.arpa)
+
+1985-08-05 Richard Mlynarik (mly at mit-prep)
+
+ * callint.c
+ Improve doc of {current-}prefix-arg
+
+ * minibuf.c (Fread_from_minibuffer):
+ Thought it accepted maximum of 3 args, not 4.
+
+ * sysdep.c (InitDsp):
+ When you are (sigh) using CBREAK and flow control, C-@
+ is botched. Some tables are being initialized to zero (i.e. C-@)
+ when they should be initialized to -1. More debatably, LDECCTQ is
+ needed for real, bad flow control.
+ -- silogic!eggert@ucla-cs.arpa
+
+1985-07-21 Richard Mlynarik (mly at mit-prep)
+
+ * sysdep.c (tabs_safe_p):
+ gtty call was missing fd arg.
+
+1985-07-15 Richard M. Stallman (rms at mit-prep)
+
+ * xdisp.c, minibuf.c, fileio.c:
+ Add * to some variables' doc, remove from others.
+
+ * term.c (ins_del_lines):
+ Always go to real hpos 0 before insert or delete.
+
+ * buffer.c (init_buffer_once):
+ Pass correct data type to Fbuffer_flush_undo.
+
+ * term.c (write_standout_marker):
+ Don't output `se' if it's the same as `so'.
+
+ * window.c (set_window_height):
+ Pass correct data type (int) when call self at end.
+ Similar in set_window_width.
+
+1985-07-14 Richard M. Stallman (rms at mit-prep)
+
+ * editfns.c (subst-char-in-region):
+ * casefiddle.c (operate_on_region):
+ Don't call modify_region before recording the changes.
+
+ * editfns.c (Fgoto_char):
+ interactively read arg using n, not p.
+
+ * undo.c (RecordChange1):
+ A local and an arg were both named p. Change arg to bufp.
+ Fixed bug in undoing the undoing of RecordChange (such as Meta-l).
+
+ * minibuf.c (read_minibuf):
+ Postpone incrementing MinibufDepth until point where
+ can no longer quit before setting up to decrement it on quits.
+
+ * fns.c (Fyes_or_no_p):
+ Use Fsleep_for rather than sleep, to allow immediate quit.
+
+ * abbrev.c (expand_abbrev):
+ Handle case of scan_words returning 0.
+
+ * casefiddle.c (operate_on_word):
+ Handle case of scan_words returning 0.
+
+1985-07-12 Richard M. Stallman (rms at mit-prep)
+
+ * xdisp.c (display_string):
+ Regard display chars as unsigned chars.
+
+1985-07-12 Richard Mlynarik (mly at mit-prep)
+
+ * callint.c
+ Stuff was being added to command-history even if aborted out
+
+1985-07-11 Richard M. Stallman (rms at mit-prep)
+
+ * process.c: delete-exited-processes is boolean.
+
+ * term.c:
+ chars_wasted is 0 if no `so' or `se' string;
+ 0100 | nchars if there is a `so' or `se' string.
+ Should fix lossage with :sg#0:
+
+1985-07-10 Richard M. Stallman (rms at mit-prep)
+
+ * keyboard.c:
+ Rename waiting to waiting_for_input, no longer static.
+ In get_char, be sure to clear alarm and zero input_available_clear_word
+ when thrown to from quit_throw_to_get_char.
+
+ * eval.c (Fsignal):
+ Crash if waiting_for_input.
+
+ * process.c (create_process):
+ Set up alarm signal handler before requesting alarm.
+
+1985-07-09 Richard M. Stallman (rms at mit-prep)
+
+ * process.c (create_process):
+ Don't let child change Emacs's values of forkin and forkout.
+ Use a timer interrupt to unhang `close (forkin)'
+ since it gets wedged if the child exited already.
+
+1985-07-08 Richard M. Stallman (rms at mit-prep)
+
+ * xdisp.c (redisplay_window):
+ It was returning garbage.
+
+ * keyboard.c, sysdep.c:
+ Make stuff_char work correctly assuming its arg
+ is the character to stuff, and always pass it the character.
+
+1985-07-07 Richard M. Stallman (rms at mit-prep)
+
+ * dispnew.c, cm.h, sysdep.c:
+ ospeed must be short, not int.
+
+ * dispnew.c (update_line):
+ Protect against old being null in call to change_line_highlight.
+
+ * dispnew.c (make_display_lines):
+ Take account of fact that `free' clobbers the area freed.
+
+ * buffer.c (SefBfp):
+ Don't check c->major_mode if c is zero.
+
+ * lisp.h, m-*.h:
+ EXPLICIT_SIGN_EXTEND controls whether to define XINT using shifts.
+
+1985-07-05 Richard M. Stallman (rms at mit-prep)
+
+ * cmds.c (newline):
+ Make it REALLY do auto-filling.
+
+ * term.c (term_init):
+ Turn on must_write_spaces for Concepts.
+ Append \E^G! (i/d char within line) to `ti' string for Concepts.
+
+ * dispnew.c (update_line):
+ If need to do clear-eol but text reaches to right margin,
+ clear before outputting the last character of text.
+
+ * cm.h, term.c:
+ Define Wcm.cm_losewrap, which says that reaching right margin
+ has undefined results. Turn this on for supdup terminals.
+
+1985-07-04 Richard M. Stallman (rms at mit-prep)
+
+ * dispnew.c (update_line):
+ If want to insert chars early in line and delete chars late in line,
+ do the deletion first.
+
+ * dispnew.c (update_screen):
+ Round outq down, not to nearest second, to get sleep time.
+
+1985-07-03 Richard M. Stallman (rms at mit-prep)
+
+ * term.c (term_init):
+ Was storing "dc" string in wrong place.
+
+ * term.c (ins_del_lines):
+ On telerays, indicate that cursor is left in column 0.
+
+ * dispnew.c (line_hash_code):
+ Make line be null-terminated.
+
+ * dispnew.c (direct_output_for_insert):
+ Make line remain null-terminated.
+
+1985-07-02 Richard M. Stallman,,, (rms at mit-prep)
+
+ * window.c (window_loop, case 5):
+ Change < to > so get-largest-window gets largest, not smallest.
+
+ * term.c (ins_del_line):
+ Don't pass negative length arg to bzero, for chars_wasted.
+
+ * editfns.c (init_editfns):
+ In user full name, discard stuff starting with first comma if any.
+ Change names of static structure: now user_real_name and
+ user_full_name.
+ Clean up AMPERSAND_FULL_NAME code a little.
+
+1985-07-01 Richard M. Stallman (rms at mit-prep)
+
+ * minibuf.c: (minibuffer-complete-word):
+ Fix case of Space in filename, where front of minibuffer
+ gets deleted by completion.
+
+ * Gross rewrite of display code. No Gosling code left.
+ Files fixedpoint.* and display.* and Trm*.* flushed.
+ New files term.c, scroll.c, termhooks.h, termopts.h,
+ and termchar.h. Many changes in dispnew.c.
+
+ * keyboard.c: make stop_character not static.
+
+1985-06-26 Richard M. Stallman (rms at mit-prep)
+
+ * xdisp.c (try_window_id):
+ If C-k is done at end of next-to-last line,
+ this fn updates window_end_vpos and cannot leave
+ window_end_pos nonnegative (it is zero, in fact).
+ If display is preempted before lines are output,
+ this is inconsistent. Fix by setting
+ blank_end_of_window to nonzero.
+
+1985-06-25 Richard M. Stallman (rms at mit-prep)
+
+ * cmds.c (Fnewline):
+ Call the auto fill hook if appropriate.
+
+ * xdisp.c (try_window_id):
+ If dot is found by compute_motion after xp, record that
+ permanently. If display_text_line sets dot position wrong
+ (case where like is killed, dot is at eob and that line
+ is not displayed), detect and set it again in final compute_motion.
+
+ * display.c, dispnew.c, sysdep.c, xdisp.c:
+ Rewrite UpdateScreen (now update_screen),
+ PrintM (now print_scrolling) and init_display;
+ all vestiges of Gosling code gone. They are now in dispnew.c.
+ Some changes in how screen_garbaged is handled;
+ work now done in Fredraw_display.
+ Minor changes in InitDsp and in minibuf.
+
+ * TrmAmb.c flushed.
+ * Trm*.c: tt.t_init routine now passed no arguments.
+
+1985-06-23 Richard M. Stallman (rms at mit-prep)
+
+ * display.c: include sys/ioctl.h so conditionals work right.
+
+1985-06-22 Richard M. Stallman (rms at mit-prep)
+
+ * doprnt.c: Flush extra increment of fmt for %%.
+
+ * search.c (replace-match):
+ Test of prevc was backwards in determining value for case_action.
+
+ * TrmTERM.h (wipeline):
+ Update curY and curX when ESC S is sent to Teleray.
+ * TrmTERM.h (TrmTERM):
+ Turn off use of LF on Teleray.
+
+ * process.c (pty): Don't turn on FIONBIO.
+
+1985-06-18 Richard M. Stallman (rms at mit-prep)
+
+ * process.c (create_process):
+ Make pty terminal the controlling terminal of the child.
+
+ * fileio.c: Replace %1 with %s in various interactive strings.
+ I wonder why they said "%1", and whether that ever worked.
+
+ * process.c (change_msgs):
+ Advance dot if at dot is at end; otherwise don't change dot.
+
+ * search.c (replace-match):
+ Fix bug in case preservation by initializing `last' for final loop.
+
+1985-06-17 Richard M. Stallman (rms at mit-prep)
+
+ * sysdep.c: New file containing interfaces to system-dependent
+ kernel entries and libraries.
+
+ * aux.c, dsp.c: Files eliminated.
+
+ * m-dual68.h: m- file for Duals running unisoft port.
+
+ * s-uniplus5.0.h: s- file for unisoft port of sys V rel 0.
+ * s-uniplus5.2.h: s- file for unisoft port of sys V rel 2.
+
+ * syntax.c: Eliminate find-line-comment and find-line-comment-body.
+ Lisp code should use comment-start-skip to find comments.
+
+1985-06-15 Richard M. Stallman (rms at mit-prep)
+
+ * TrmTERM.c:
+ Suppress use of ^M on telerays. Know that ins line
+ leaves cursor in column 0 on telerays.
+ Don't decrement width for :am: terminals; this is an experiment.
+
+1985-06-14 Richard M. Stallman (rms at mit-prep)
+
+ * TrmTERM.c (TrmTERM):
+ Override termcap's so and sg for telerays (xt is set).
+
+ * display.c (hashline):
+ Don't ignore trailing spaces if tt.t_needspaces is set.
+ May fix C100 lossage.
+
+ * Various files: minor changes for system V.
+
+ * disp_extern.h: rename as dispextern.h.
+
+ * commands.h (INTERACTIVE):
+ Be false in batch mode.
+
+ * aux.c:
+ New file, containing system-dependent subroutines.
+
+ * keyboard.c:
+ Use new subroutines get_input_pending, stuff_char,
+ discard_tty_input, in aux.c for now.
+
+ * display.c (term_init):
+ Use new subroutine init_baud_rate; avoid direct use of gtty.
+
+ * callproc.c:
+ Use new subroutines wait_without_blocking, setpgrp_of_tty,
+ child_setup_tty, set_exclusive_use.
+
+ * keyboard.c (EchoThem):
+ Process quits only if `waiting' is set.
+
+1985-06-12 Richard Mlynarik (mly at mit-prep)
+
+ * minibuf.c, callint.c, read.c, mocklisp.c
+ New function read-from-minibuffer does all you could ever want.
+ read-minibuffer, eval-minibuffer, read-string take second optional
+ initial-contents arg. read-input now a synonym for read-string.
+
+ * keymap.c, callint.c, minibuf.c, fns.c, commands.h
+ Rename MinbufLocalMap to Vminibuffer_local_map, etc
+ Rename minibuf-local-{,-ns,-completion,must-match}map,
+ and DefLispVar them (document even!)
+ => New lisp variables minibuffer-local-map, minibuffer-local-ns-map,
+ minibuffer-local-completion-map, minibuffer-local-must-match-map.
+
+1985-06-12 Richard M. Stallman (rms at mit-prep)
+
+ * keymap.c:
+ Supply missing defsubr of keymapp.
+
+1985-06-11 Richard M. Stallman (rms at mit-prep)
+
+ * callint.c, editfns.c, doprnt.c:
+ Use new function doprnt instead of _doprnt.
+
+1985-06-10 Richard M. Stallman (rms at mit-prep)
+
+ * TrmC100.c: Do termscript output.
+
+1985-06-10 Richard Mlynarik (mly at mit-prep)
+
+ * print.c, lisp.h, buffer.c
+ New function prin1-to-string.
+ (Needs an initialization done in buffer.c)
+
+1985-06-10 Richard M. Stallman (rms at mit-prep)
+
+ * TrmTERM.c:
+ Fix interaction of XTflag with SGnum (telerays):
+ Don't put SEstr on most lines; special hair
+ to erase SOstr when necessary.
+
+ * keyboard.c:
+ Clear Vquit_flag in read_key_sequence, not in get_char.
+ This makes it possible to quit out of y-or-n-p again.
+
+1985-06-10 Richard Mlynarik (mly at mit-prep)
+
+ * dired.c (file_name_completion)
+ Check Vquit_flag each time around and quit if requested.
+
+1985-06-10 Richard M. Stallman (rms at mit-prep)
+
+ * minibuf.c: Use Tab for completion, not ESC.
+
+ * unexec.c: round bss_start up to page bndry.
+
+1985-06-09 Richard M. Stallman (rms at mit-prep)
+
+ * keyboard.c (kbd_buffer_store_char):
+ Call interrupt_signal for every C-g, even while waiting.
+
+ * keyboard.c (input_available_signal):
+ If C-g seen, ignore rest of chars already available.
+
+ * keyboard.c (quit_throw_to_get_char):
+ Don't clear Vquit_flag. Let Lisp program see quit-flag set.
+
+1985-06-08 Richard M. Stallman (rms at mit-prep)
+
+ * various files:
+ Make functions called by internal_with_output_to_temp_window
+ all return Lisp_Object.
+
+ * bytecode.c (case Bdup):
+ PUSH (TOP) loses due to invalid assumption about where
+ autoincrement gets done.
+
+ * read.c (read_vector):
+ Pass make_pure_vector an int, as it expects, not a Lisp_Object.
+
+1985-06-07 Richard Mlynarik (mly at mit-prep)
+
+ * buffer.c
+ documentation fixes
+
+1985-06-07 Richard M. Stallman (rms at mit-prep)
+
+ * TrmTERM.c:
+ HLflags is now a three-way flag: 1 => line has SOstr,
+ 2 => line has SEstr, 0 => line has neither.
+ State 0 results from clearing screen, ins/del line.
+
+ * dispnew.c (preserve_other_columns):
+ If copying beginning of line from other window,
+ don't increase length of line beyond last column copied.
+
+ * keyboard.c:
+ Eliminate `executing' flag.
+ Quit now always sets Vquit_flag; input code tests it.
+
+1985-06-06 Richard Mlynarik (mly at mit-prep)
+
+ * doc.c (Fdocumentation):
+ Handle sparse keymaps (lists whose car is `keymap')
+ by way of canned string.
+
+1985-06-06 Richard M. Stallman (rms at mit-prep)
+
+ * keyboard.c (kbd_buffer_get_char):
+ Keep doing gobble_input and waiting, until kbd_count becomes nonzero.
+
+1985-06-05 Richard M. Stallman (rms at mit-prep)
+
+ * dired.c (file-name-completion, file-name-all-completions):
+ Make these functions share most of their code.
+ Use two passes: first try all filenames that don't end in an
+ "ignored extension" and, if that yields nothing, try all filenames.
+
+ * doc.c (Fdocumentation):
+ Handle keyboard macros (symbols with strings as definitions)
+ with a canned string.
+
+1985-06-05 Richard Mlynarik (mly at mit-prep)
+
+ * dired.c (file-name-completion)
+ Spazz comparing against completion-ignored-extensions (boole!eggert)
+ That was no spazz, that was a feature - rms.
+
+1985-06-05 K. Shane Hartman (shane at mit-prep)
+
+ * cmds.c (end-of-line): Fix documentation. Claimed it moved to
+ beginning of line.
+
+ * buffer.c (fill-column): Fix typo in documentation.
+
+1985-06-04 Richard M. Stallman (rms at mit-prep)
+
+ * bytecode.c:
+ Make Bread_char check for quit before finishing.
+ A quit is likely to requested during the read_char.
+
+1985-06-04 Richard Mlynarik (mly at mit-prep)
+
+ * dired.c (file-name-completion, file-name-all-completions)
+ Append "/" to names of directories.
+
+1985-06-04 K. Shane Hartman (shane at mit-prep)
+
+ * minibuf.c (Vminibuffer_help_form):
+ Change the lisp name to be minibuffer-help-form rather than
+ Vminibuffer-help-form.
+
+1985-06-02 Richard M. Stallman (rms at mit-prep)
+
+ * config.h, s-*.h:
+ Eliminate CBREAK_INPUT and FRONT_END_PROCESS;
+ INTERRUPT_INPUT just controls default for interrupt_input.
+
+ * dsp.c, keyboard.c, xdisp.c:
+ Use variable interrupt_input rather than switch INTERRUPT_INPUT.
+ Don't change stopc/startc if flow_control is nonzero.
+
+ * dsp.c, display.c:
+ Change OldTchars => old_tchars, etc.
+ Initialize new tchars from old tchars.
+ Move setting window to 0 from InitDsp to term_init.
+
+ * dispnew.c (set-input-mode):
+ New function to set interrupt_input and flow_control.
+
+ * read.c (read_escape):
+ \ followed by one or two digits unreads following char.
+
+ * TrmTERM.c (flash):
+ If no bell defined, output C-g.
+
+ * minibuf.c (read_minibuf, read_minibuf_unwind):
+ Define Vminibuffer_help_form.
+ Bind help_form to that inside minibuf.
+
+ * callproc.c, doc.c:
+ Make Vexec_directory end in a slash.
+
+ * process.c (wait_reading_process_input):
+ Remove debugging trap. It showed that the select had
+ returned, there was input available, it had not
+ been read by interrupt level but FASYNC was set.
+ (Kernel bug).
+
+ * keyboard.c (kbd_buffer_get_char):
+ If wait_reading_process_input returns and kbd_count stil 0,
+ gobble the buffered input.
+
+1985-06-01 Richard M. Stallman (rms at mit-prep)
+
+ * dispnew.c (sit-for):
+ Gobble any pending input before calling wait_reading_process_input.
+
+ * process.c (wait_reading_process_input):
+ Dump core if `select' says input available and did not
+ already get a SIGIO interrupt for it.
+
+ * emacs.c (main):
+ Detect -batch even when it's the only arg.
+
+ * minibuf.c (read_minibuf):
+ Don't call UpdateScreen if in batch mode.
+
+ * keyboard.c:
+ Use sigsetmask to prevent recursive SIGIO handling
+ rather than kill, as previous change caused
+ kbd_buffer_get_char to return -1 mysteriously.
+ Change kbd_buffer_get_char never to return -1;
+ kill emacs on eof in batch mode, abort on eof non-batch.
+
+ * keyboard.c:
+ Eliminate dribble_count. fflush (dribble) after each char.
+
+ * undo.c, undo.h:
+ Define Uunmod; record when buffer becomes "modified"
+ and clear out "modified" if undo past there.
+
+ * undo.c (RecordDelete):
+ Correct the condition for combining with previous delete.
+
+ * keyboard.c (kbd_buffer_get_char):
+ Actually cause SIGIO if have unread input.
+
+ * display.c, TrmTERM.c:
+ Do fflush(termscript) in UpdateScreen, not in TrmTERM.
+
+1985-05-31 Richard M. Stallman (rms at mit-prep)
+
+ * TrmVT100.c: Generate termscript output.
+
+ * dsp.c: define request_sigio, unrequest_sigio.
+
+ * xdisp.c (DoDsp):
+ Unrequest sigio on entry, rerequest on exit.
+ Thus, no interrupts during redisplay.
+
+ * keyboard.c (detect_input_pending):
+ Check FIONREAD even if INTERRUPT_INPUT.
+
+ * m-*.h:
+ Add macros LOAD_AVE_TYPE and LOAD_AVE_CVT
+
+ * fns.c (load-average): Use those two.
+ Makes it work on suns.
+
+ * keyboard.c (kbd_buffer_get_char):
+ #ifndef INTERRUPT_INPUT, always read at least 1 character.
+
+1985-05-30 Richard M. Stallman (rms at mit-prep)
+
+ * display.c (UpdateScreen):
+ Allow preemption at beginning if already input avail.
+
+ * keyboard.c (EchoKeys):
+ If 1st char is help-char, echo it specially verbosely.
+
+ * keymap.c (access_keymap):
+ If nothing in keymap under specified character code,
+ try converting to lower case and look again.
+
+ * data.c (listp, nlistp, eq, null):
+ Use EQ or NULL rather than old slow comparisons.
+
+ * data.c (symbol-function, symbol-value):
+ Pass Qboundp or Qfboundp as extra info when signal void-symbol.
+
+1985-05-29 Richard M. Stallman (rms at mit-prep)
+
+ * fileio.c (add-name-to-file):
+ If no query or error about new name existing, delete it
+ to avoid system error later.
+
+ * buffer.c (generate-new-buffer):
+ Remove duplicate declaration of local var `name'.
+
+ * Makefile:
+ Assume distribution contains paths.h.dist and config.h.dist.
+ Copy them into paths.h and config.h if those don't exist;
+ warn user if those exist but are older.
+
+ * dispnew.c (Ding):
+ If -batch mode, just output ^G.
+
+ * cm.c (mytgoto):
+ Eliminate "magic" treatment of \0 and \004.
+ Flush cmevalcost, cmput; use evalcost, put.
+
+ * TrmTERM.c: Always set DontSend to zero.
+
+ * alloca.s:
+ Add pyramid version of alloca, and _longjmp and _setjmp.
+
+ * data.c, eval.c, fns.c, read.c, window.c:
+ To get around Pyramid C compiler bugs:
+ Eliminate many constructs return FOO = BAR;
+ Eliminate some cases of calling function computed
+ by conditional expression.
+
+ * dired.c (directory-files):
+ Avoid making double slash if spec'd directory ends in slash.
+
+ * callint.c (case 'b'):
+ Don't allow a minibuffer to be the default buffer.
+
+1985-05-28 Richard Mlynarik (mly at mit-prep)
+
+ * minibuffer.c (read_minibuf)
+ Added variable enable-recursive-minibuffers
+ (enable_recursive_minibuffers) so that Real Men may confuse
+ themselves. (Some commands such as c-h f can also use it) (This
+ is not quite the right thing for commands to bind to read their
+ arguments since it enables arbitrary recursiveness, not just one
+ level to read args)
+
+ * buffer.c
+ Wrote generate-new-buffer --- like gentemp for buffer names.
+ Rewrote create-file-buffer into lisp code in lisp/files.el
+
+1985-05-27 Richard M. Stallman (rms at mit-prep)
+
+ * crt0.c:
+ Make each machine type use completely separate code.
+ Put in code for pyramid.
+
+ * display.h, Trm.h, disp_extern.h:
+ Move InverseVideo to Trm.h, rename to inverse_video.
+ Rename VisibleBell to visible_bell.
+ Move ScreenLength and ScreenWidth to Trm.h.
+ Rename ScreenGarbaged to screen_garbaged.
+
+ * TrmVT100.c:
+ Eliminate VT100_INVERSE. People can do this with setq.
+
+ * fixedpoint.c:
+ Use new variable FPdebug instead of RDdebug.
+ Include only Trm.h and fixedpoint.h, not display.h.
+
+ * display.c:
+ IDdebug and RDdebug are mentioned in this file only.
+
+ * xdisp.c (decode_mode_spec):
+ Display "Narrow" after minor modes if buffer has any clipping.
+
+ * keyboard.c (command_loop_1):
+ Kill Emacs on end of file only if not executing a macro.
+
+1985-05-26 Richard M. Stallman (rms at mit-prep)
+
+ * display.h, Trm.h:
+ Move VisibleBell and baud_rate to Trm.h.
+ Define tt.t_padspeed, minimum speed at which padding needed (pb#).
+
+ * Trm*.c, dispnew.c (Ding):
+ tt.t_flash is always set; it flashes the screen or beeps using `bl='.
+
+ * TrmTERM.c:
+ Use `IC', `DC', `rp' and `bl' termcap strings when appropriate.
+ No longer look for nonstandard `nn' or `rn' flags or `ds' string.
+ Do not assume ^M and ^J can be used unless `cr' or 'do' or `nl'
+ says so.
+ ?? Make second arg to tputs always number of LINES below cursor
+ because the termcap documentation says so. Is this right ??
+
+1985-05-24 Richard M. Stallman (rms at mit-prep)
+
+ * keymap.c (push_key_description):
+ Use DEL for 0177, RET for 015, LFD for 012, TAB for 011, SPC for 040.
+
+ * search.c (search_buffer):
+ For n < 0 re-search, test search_regs.end[0] vs startpos, not pos.
+
+ * callint.c (call-interactively):
+ If interactive spec is a list, use num_input_chars
+ to tell whether it read args from the command input.
+
+ * keyboard.c (get_char):
+ Increment new variable num_input_chars on each call.
+
+ * All .h files: make all variable definitions `extern'.
+
+ * buffer.c, window.c, xdisp.c, display.c, dispnew.c,
+ syntax.c, fixedpoint.c: Put in one non-extern definition
+ for each variable that used to have them only in the .h files.
+
+ * keyboard.c:
+ Refs to Cant1WinOpt should say windows_or_buffers_changed.
+
+ * buffer.c (kill-all-local-variables):
+ Don't clobber a variable currently set up for some other buffer.
+ Was losing the other buffer's recent setq's if the other
+ buffer had the same variable local.
+
+1985-05-23 Richard M. Stallman (rms at mit-prep)
+
+ * buffer.c (list_buffers_1):
+ Put back the lost column in the entries
+ rather than removing it from the header.
+
+1985-05-23 Richard M. Stallman (rms at mit-prep)
+
+ * xdisp.c (decode_mode_spec):
+ Display "Abbrev" if abbrev_mode is set.
+ Don't clobber past end of tbuf.
+
+ * keyboard.c:
+ kbd_buffer_get_char: If noninteractive, read from stdin.
+ open-dribble-file: take filename as argument.
+ command_loop_1: on end of file, call kill-emacs.
+
+1985-05-22 Richard M. Stallman (rms at mit-prep)
+
+ * window.c (save_window_restore):
+ Set windows_or_buffers_changed.
+
+ * buffer.c (list_buffers_1):
+ Print % not R for read-only buffers.
+
+ * cmds.c (SelfInsert):
+ !NULL => NULL testing buffer read onliness for abbrev expansion.
+
+ * eval.c (interactive-p):
+ Return nil if called within expression being evalled
+ by a built-in C function such as eval-region.
+
+1985-05-22 K. Shane Hartman (shane at mit-prep)
+
+ * config.h, TrmXTERM.c, display.c
+ Change define for XWINDOW to XVSWINDOW because XWINDOW
+ is defined as a macro in lisp.h.
+
+1985-05-22 Richard M. Stallman (rms at mit-prep)
+
+ * print.c (printchar, strout):
+ Output minibuffer chars to stdout if noninteractive.
+
+ * xdisp.c (message, message1):
+ Noninteractively, output newline if previous output was from print.
+
+ * keyboard.c (cmd_error):
+ If noninteractive, force out error message at end.
+
+ * keyboard.c (get_char):
+ Fix bugs in handling help_char:
+ do a redisplay after restoring window configuration;
+ clear NextK after reading a space.
+
+ * buffer.c (other-buffer):
+ Init notsogood to nil so don't return garbage value.
+
+ * buffer.c (list_buffers_1):
+ Put back missing space before each buffer name.
+
+ * buffer.c (SetBfp):
+ New code to dump core when paragraph-start gets its global value
+ in a buffer in Lisp mode.
+
+ * TrmXTERM.c: new file. Used for interface to
+ MIT's `X' window system.
+
+1985-05-22 Richard Mlynarik (mly at mit-prep)
+
+ * buffer.c (list_buffers_1):
+ made list-buffers print "R" if buffer read-only.
+ (No change is needed to lisp/buff-menu.el)
+
+1985-05-22 Richard M. Stallman (rms at mit-prep)
+
+ * keyboard.c (get_char):
+ Use (in effect) save-window-excursion to flush the window
+ made by or for the help-form.
+ * minibuf.c:
+ Flush remove_help_window and its DefBoolVar.
+ * lisp.h:
+ Flush obsolete externs for remove_help_window and flushhelp.
+
+ * config.h: increase maximum screen dimensions to 300x300.
+ Define XWINDOW flag (off by default).
+
+ * Trm.h: add tt.t_socketinput slot, and t_ReadSocket slot.
+ * dsp.c, keyboard.c: code for using those slots.
+ * display.c: install code for XVSWINDOW.
+
+ * dispnew.c (sleep-for): flush spurious reference to
+ nonexistent variable time_limit.
+
+1985-05-21 Richard Mlynarik (mly at mit-prep)
+
+ * The documentation for substitute-command-keys was fazed out by
+ its own hairy heuristics! Moby quoting (past the c compiler, and
+ then past substitute-command-keys) added.
+ People should be careful of this. Also, hacks which make
+ printed documentation out of doc strings need to know about this
+ cruft.
+
+1985-05-21 Richard M. Stallman (rms at mit-prep)
+
+ * TrmTERM.c, dispnew.c, cm.c:
+ open-termscript opens a termscript file,
+ into which are written a copy of all characters (except padding)
+ sent to the terminal.
+
+ * Makefile:
+ Recompute DOCSTR file only if other things have changed.
+
+1985-05-20 Richard M. Stallman (rms at mit-prep)
+
+ * keyboard.c (command-execute):
+ Use do_autoload.
+
+ * data.c (car, cdr, car-safe, cdr-safe):
+ Open code them. Flush carcdr and car_1.
+
+ * eval.c:
+ Define do_autoload to autoload a function and barf if that
+ did not define it. Use this in eval, apply, funcall.
+ Make Fautoload do nothing if function is already defined.
+ Open code the loops that trace function definitions of symbols.
+
+1985-05-19 Richard M. Stallman (rms at mit-prep)
+
+ * buffer.c, window.c:
+ Change algorithm for reordering Vbuffer_alist:
+ select-window now calls record_buffer.
+ other-buffer now prefers buffers not visible in any window.
+ bury-buffer, which puts a buffer at the end of the list,
+ is now defined.
+
+ * keyboard.c (get_char):
+ Make first char of a command go into keybuf
+ even if it is being reread.
+ Make all chars go into keybuf if coming from a macro.
+
+ * process.c (make_process):
+ Fix bug where incremented-for-uniqueness name wasn't really used.
+
+1985-05-17 Richard M. Stallman (rms at mit-prep)
+
+ * undo.c:
+ Fix bug of reinserting/replacing undone chars
+ wrapping around wrong at end of undo buffer.
+ Use tembuf to handle properly a Uchange
+ of length > half the undo buffer.
+
+1985-05-16 Richard M. Stallman (rms at mit-prep)
+
+ * window.c (set-window-start):
+ accept third arg NOFORCE meaning don't set w->force_start.
+
+ * indent.c (compute_motion):
+ Clear tab_offset when scanning past a newline.
+
+ * lisp.h, bytecode.c: define Qbytecode.
+ * eval.c: fix interactive-p to look past a call to `bytecode'.
+ Makes interactive-p work in compiled code.
+
+ * xdisp.c:
+ Supply missing taboffset arg to display_text_line from DoDsp.
+ Fixes bug that inserting a character could shift line sideways.
+
+ * display.c:
+ Remove spurious * in setting terminal_driver.
+
+ * lisp.h:
+ Remove some obsolete externs for symbols that no longer exist.
+
+ * dispnew.c:
+ Define send-string-to-terminal.
+
+ * TrmTERM.c, TrmVT100.c:
+ Turn on alternate keypad on entry, turn off on exit.
+
+1985-05-16 Richard Mlynarik (mly at mit-prep)
+
+ * fileio.c: added optional third arg ok-if-exists to
+ rename-file, make-symbolic-link, add-name-to-file and copy-file.
+ If the destrination filename exists, then if ok-if-exists
+ is non-nil it is silently bashed; else if the function was
+ called interactively the user is queried as to whether s/he
+ wants to bash the file; otherwise (ok-if-exists nil, non-interactive)
+ a file-already-exists error is signalled.
+
+ * window.c: made get-window-buffer return nil if get-buffer of
+ its arg returns nil, rather than erring.
+
+1985-05-14 Richard M. Stallman (rms at mit-prep)
+
+ * dispnew.c, display.c:
+ Function scroll_max_lines_saved returns # lines in common
+ between PhysScreen and DesiredScreen.
+ UpdateScreen skips i/d calc on big window, fast screen
+ when there are too few lines in common.
+
+1985-05-13 Richard M. Stallman (rms at mit-prep)
+
+ * indent.c:
+ Fix cursor position calculation for continued tabs.
+ New tab_offset argument to compute_motion.
+
+ * xdisp.c:
+ Make display of continued tabs work.
+
+ * Makefile:
+ Do inc-version in a separate invocation of temacs
+ to make the dumped xemacs smaller.
+
+ * eval.c:
+ Put star in front of XSUBR (fun)->function where it is being called.
+
+ * alloc.c:
+ Mark buffers when pointers to them are found,
+ like all other Lisp object types.
+
+ * buffer.h, buffer.c:
+ Created chain `all_buffers' containing all existing buffers
+ not yet reclaimed by gc, including dead buffers.
+
+ * read.c:
+ Fix up register declarations.
+
+ * emacs.c, dsp.c, xdisp.c:
+ Define -batch switch: do no redisplay, don't change terminal modes.
+ Lisp variable `noninteractive' is non-nil in this mode.
+
+ * syntax.c:
+ Made most scanning loops turn on immediate_quit.
+
+ * eval.c:
+ Fsignal clears immediate_quit.
+
+1985-05-12 Richard M. Stallman (rms at mit-prep)
+ cmds.c: modified `newline' to insert before an existing
+ newline before dot. This produces better redisplay.
+ xdisp.c: fixed bug that modifying buffer displayed in two windows
+ failed to redisplay both mode lines with stars.
+ xdisp.c: try_window_id: if scrolling upward and changed text is empty
+ scroll up all the lines that fit below bp.
+ xdisp.c: introduce num_contin, to display tabs right in contin. lines
+ doc.c: define substitute-command-keys, using crl@purdue's code.
+ Make `documentation' call it.
+ eval.c, fns.c, bytecode.c: put in register decls for Lisp_Objects.
+ saved 2500 bytes of object code.
+
+1985-05-11 Richard M. Stallman (rms at mit-prep)
+ editfns.c: Put in code for & in fullname,
+ under AMPERSAND_FULL_NAME flag.
+ lisp.h: Install NO_UNION_TYPE flag in lisp.h.
+ This means XMARKBIT can no longer be on left side of =.
+ New macros XMARK and XUNMARK and XSETMARKBIT are used
+ instead.
+ alloc.c, marker.c: use XMARK, XUNMARK, XSETMARKBIT where needed.
+ TrmTERM.c: Ignore `xs' termcap flag.
+ Always use the SEstr on sg >= 0 terminals.
+ minibuf.c: Don't allow entry to minibuffer
+ while minibuffer is selected.
+
+
+
+Local Variables:
+mode: indented-text
+eval: (auto-fill-mode 1)
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/src/ChangeLog.2 b/src/ChangeLog.2
new file mode 100644
index 00000000000..a1b6b33dbc4
--- /dev/null
+++ b/src/ChangeLog.2
@@ -0,0 +1,4780 @@
+1988-08-31 Richard Stallman (rms at corn-chex.ai.mit.edu)
+
+ * Version 18.52 released.
+
+ * x11term.c (XT_GetDefaults): Replaced entire function.
+
+ * unexhp9k800.c: #endif was missing.
+
+ * crt0.c [hp9000s300]: New variable flag_68010.
+
+1988-08-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-isi-ov.h (LOAD_AVE_{CVT,TYPE}): On 4.3, different definitions.
+
+ * m-iris4d.h: Define XSETMARKBIT.
+
+1988-08-29 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-ibmrt.h (CANNOT_DUMP): Was defined by mistake in last change.
+
+ * m-amdahl.h (NSIG): If it's 19, make it 20.
+ Overrides Amdahl's mistake.
+
+1988-08-27 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * x11fns.c, x11term.c (XXscreen): New variable, default screen number.
+ All calls to BlackPixel, WhitePixel, DisplayCells, DefaultColormap
+ pass this.
+
+1988-08-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * data.c (init_data) [uts]: Handle SIGEMT.
+
+ * m-apollo.h (APOLLO_SR10): Define this if BSD4_3.
+ (BSTRING): If APOLLO_SR10, don't alter this.
+
+ * emacs.c [APOLLO]: If APOLLO_SR10, omit the acl code.
+
+ * filemode.c (ftypelet): If S_IFIFO==S_IFSOCK, avoid duplicate cases.
+
+ * m-alliant4.h: Add missing `*/'.
+
+1988-08-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * x11term.c (writechars): Don't call updateline;
+ output just the chars that are specified; don't clear to end.
+
+ * m-ibmrt-aix.h: Define getwd. Define bcopy, etc. as macros.
+ Define LIBX10_MACHINE and change LIBS_MACHINE.
+
+1988-08-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xterm.c (XTread_socket): If HAVE_SELECT, call xfixscreen
+ before waiting.
+
+ * dispnew.c (update_line): comments added.
+
+ * xterm.c (writechars): Output only the chars specified
+ even if in update; don't clear to end.
+ (XTread_socket): Check O_NDELAY only if it and F_GETFL are defined.
+ (x_term_init) [IBMRTAIX]: do call gethostname.
+ () [IBMRTAIX]: Include sys/time, not time.
+
+1988-08-23 Chris Hanson (cph at kleph)
+
+ * xterm.c (XTread_socket): Do not call `xfixscreen' if O_NDELAY is
+ set. On hpux, this causes an I/O error.
+
+1988-08-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-news800.h: define HAVE_ALLOCA.
+
+1988-08-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c (read_avail_input) [no FIONREAD]: Always set O_NDELAY.
+
+1988-08-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xterm.c, x11term.c (XTclear_end_of_line):
+ Arg was misinterpreted as place to *start* clearing.
+ (x_clear_end_of_line): New fn does what XTclear_end_of_line did.
+ All callers in this file changed.
+
+ * sysdep.c [USG] (getwd): Free the entire string retd by getcwd.
+
+1988-08-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-ibmrt.h: Delete the USG conditionals.
+
+ * m-ibmrt-aix.h: New file.
+
+ * process.c (wait_reading_process_input) [IBMRTAIX]: Do `select'
+ as on HPUX.
+ * process.c [IBMRTAIX]: Use sys/time.h.
+
+ * dispnew.c (update_line): Handle case of !char_ins_del_ok.
+
+ * xterm.c (x_term_init): Use X keymap spec'd in user's xdefaults.
+ Also use macro X_DEFAULT_FONT to determine ultimate default font.
+
+ * sysdep.c (child_setup_tty) [IBMRTAIX]: Turn off extra tty features.
+ (init_sys_modes) [IBMRTAIX]: Turn off enhanced line editor.
+ Also, call hft_init.
+ (init_sys_modes) [TCXONC]: Make sure output isn't stopped.
+ (reset_sys_modes) [IBMRTAIX]: Call hft_reset.
+ (hft_init, hft_reset): New function.
+ (sys_siglist) [IBMRTAIX]: Alternate signal defs.
+
+ * unexec.c: Treat IBMRTAIX like IRIS.
+
+ * fileio.c (Fcopy_file): If USE_UTIME, use `utime' instead of `utimes'.
+
+ * emacs.c (main) [IBMRTAIX]: Handle additional fatal signals.
+
+1988-08-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * search.c (Fstore_match_data): Failed to skip the 2nd nil in a pair.
+
+ * search.c (search_buffer) [C_ALLOCA]: Use auto space for BM_tab.
+
+1988-08-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c: Declare errno.
+
+1988-08-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-news800.h: Define COMPILER_REGISTER_BUG and LIBS_TERMCAP.
+
+1988-08-12 Mike Haertel (mike at spiff.ai.mit.edu)
+
+ * m-7300.h: Made it understand how do undump a demand-paged
+ executable.
+
+1988-08-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * unexec.c (adjust_lnnoptrs): auxent is a union, not a struct.
+
+1988-08-10 Chris Hanson (cph at kleph)
+
+ * keyboard.c (read_avail_input): Do not set O_NDELAY if
+ `read_socket_hook' is in use. This causes Xlib to get an IO error
+ under X10, and could potentially do the same for X11.
+
+ * s-hpux.h (ADJUST_EXEC_HEADER): Undefine this. Demand loaded
+ exec format doesn't work correctly in hpux.
+ (HAVE_SOCKETS): hpux has BSD-style sockets.
+
+ * xfns.c, xterm.c, x11term.c, x11fns.c: Conditionalize "time.h"
+ inclusion on USG instead of HPUX.
+
+ * xterm.c, x11term.c (XTread_socket): Conditionalize call to
+ `XPeekEvent' on `HAVE_SELECT'.
+
+ * xterm.c: Supply missing definition of `handler'.
+
+1988-08-09 Chris Hanson (cph at kleph)
+
+ * indent.c (current-column): fix typo.
+
+ * keyboard.c, undo.c: add explicit storage class to several
+ variable declarations so that GCC does not generate warning
+ message.
+
+1988-08-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * eval.c: doc fix.
+
+1988-08-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c: Doc fix.
+
+ * keymap.c (Fwhere_is_internal): Call get_keyelt.
+
+1988-08-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * unexec.c [sun386]: control header files, like STRIDE, etc.
+
+ * s-sunos4.h: Define LD_SWITCH_SYSTEM, not LD_SWITCH_MACHINE.
+ * m-sun386.h: Vice versa.
+ (O_NDELAY): Delete definition; duplicates s-sunos4.h.
+ (LD_SWITCH_SYSTEM): Undefine this, since the s-sunos4.h defn
+ is wrong for the 386.
+
+1988-07-31 Richard Stallman (rms at juicy-juice.lcs.mit.edu)
+
+ * sysdep.c (select_alarm): If read_alarm_should_throw, throw back
+ to read_input_waiting.
+ (read_input_waiting): Call setjmp, so that can be done.
+ * xterm.c (XTread_socket) [no SIGIO]:
+ If O_NDELAY not set, wait for an event.
+ Set read_alarm_should_throw while waiting.
+ * x11term.c (internal_socket_read): Similar change.
+
+ * x11fns.c (Fx_set_mouse_color): Don't free save_color; can be literal.
+ * x11term.c (x_term_init): Clear reversevideo if fg or bg color specd.
+
+1988-07-28 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * print.c (Fwith_output_to_temp_buffer): Detect error for non-strings.
+
+1988-07-22 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * s-usg5-3.h: Define LIBX{10,11}_SYSTEM.
+
+ * ymakefile: New variables LIBX{10,11}_SYSTEM to be set in s- file.
+
+ * xterm.c (XExitGracefully): Declare the args, for debugging.
+ (x_io_error): New function now used as handler for X I/O errors.
+
+ * xfns.c [not HAVE_TIMEVAL]: Don't include any time.h.
+
+ * sysdep.c (sys_suspend) [VMS]: Ignore SIGINT while suspended.
+
+ * undo.c (Fundo_more): Better err msg.
+
+1988-07-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * indent.c (current_column, Fmove_to_column): ignore invisible lines.
+
+ * keyboard.c (command_loop_1): No direct output if selective display.
+
+1988-07-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile (LD_TEXT_START_FLAGS): -e should be __start, not address.
+
+ * m-orion105.h: New file.
+
+1988-07-15 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * alloca.s (pyramid): Define _setjmp, _longjmp only if PYRAMID_OLD.
+
+1988-07-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s-rtu.h (fsync): Define this as no-op.
+
+ * process.c, sysdep.c: Rename MASSCOMP flag to RTU.
+
+1988-07-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * term.c (write_chars): Compensate for wasted_chars when comparing curX
+
+1988-07-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lread.c (openp): Don't call strncat if lsuffix is 0.
+
+1988-06-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * callint.c (Fcall_interactively): On VMS, treat 'f' like 'F'.
+
+1988-06-27 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * emacs.c (Fkill_emacs): Run kill-emacs-hook.
+
+1988-06-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile: Add missing dependencies.
+
+ * cmds.c (Fself_insert_command): Pass correct 2nd arg to SelfInsert.
+
+ * ymakefile: Avoid newline after cpp in commands for alloca.s.
+
+1988-06-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile: #undef register, in case m- or s- defines it.
+
+1988-06-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * unexhp9k800.c: Complete replacement.
+
+ * x11fns.c (x_set_cursor_colors): Send current colors to X server.
+ (Fx_set_mouse_color): Use that function.
+ * x11term.c (XFlipColor, XInitWindow): Use that function.
+ Variable `mous' deleted; handle reverse video for `mous_color'
+ by checking it with `strcmp'.
+
+ * x11term.c (x_term_init): `sizeof' was used for strings, in mallocing.
+ Delete unused vars `cursor_fore' and `cursor_back'.
+
+ * x11term.c (CursorToggle): Make solid cursor proper color
+ when no text char is there.
+
+ * x11term.c (XT_Set_Size_Hints): New arg PR.
+ At startup, it's the value from XGeometry, else 0.
+ Use it when setting the flags (which dims are user-specified).
+
+ * x11term.c (XT_Set_Size_Hints): Conditional for XICCC.
+
+ * x11term.c (internal_socket_read): Don't call change_window_size
+ with arguments too small for it to handle.
+
+ * dispnew.c (window_change_signal, {un,}hold_window_change):
+ If a signal happens during update_screen, just set flag;
+ resignal when update_screen finishes.
+ * xdisp.c (DoDsp, message, message1): Call {un,}hold_window_change.
+
+ * dispnew.c (Vwindow_system_version): New variable.
+ (syms_of_dispnew, init_display): Set this variable.
+
+ * callint.c (Fcall_interactively): For `N', convert prefix to number.
+
+1988-06-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * termcap.c (tgetst1): Tolerate missing colon at end of entry.
+
+1988-06-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * data.c (Fkill_local_variable): Used to clobber other buffer's value.
+
+1988-06-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * x11fns.c, x11term.c: "Mouse queue" was a stack; make it a queue.
+ New vars XXm_queue_in, XXm_queue_out.
+ (Fx_{proc,get}_mouse_event): Use XXm_queue_out as fetch index.
+ (internal_socket_read): Use XXm_queue_in as store index.
+ (x_term_init): Init the new vars.
+
+1988-06-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fset_window_configuration): Handle change in screen size.
+
+ * s-hpux.h: Delete -lBSD from LIBS_SYSTEM.
+ * m-hp9000s300.h: Define string fns as macros even in version 6.
+
+1988-06-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * buffer.c (SetBfp): Initialize `swb'. This matters when SetBfp
+ is called during initialization, on Masscomp.
+
+1988-06-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c (kbd_input_ast, end_kbd_input): Eliminate `ast_active'.
+ (end_kbd_input): Use LIB$AST_IN_PROG.
+
+ * lread.c (init_read): Don't be confused by Qnil in normal_path.
+
+ * data.c (Fsymbol_value): Check nullness of per-buffer sym's buffer.
+
+ * callint.c (Fcall_interactively): Don't put non-strings into visargs.
+
+1988-06-02 Richard Stallman (rms at rice-krispies.ai.mit.edu)
+
+ * keyboard.c (read_avail_input, input_available_signal):
+ Make `buf' as long as kbd_buffer.
+
+1988-06-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xdisp.c (decode_mode_spec): Output `%%' as a `%'.
+
+ * sysdep.c (kbd_input_ast): Save and restore errno.
+ * keyboard.c (input_available_signal, interrupt_signal): Likewise.
+ * dispnew.c (window_change_signal): Likewise.
+ * process.c (child_sig): Likewise.
+
+1988-05-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * x11fns.c (Fx_proc_mouse_event): When looking up a meta-click,
+ look for the meta-prefix-char first.
+
+ * xmenu.c (Fx_popup_menu): Typo calling BLOCK_INPUT_DECLARE.
+
+1988-05-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s-iris3-{5,6}.h: Undo Jan 11 change.
+
+1988-05-23 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * minibuf.c (read_minibuf): If PROMPT's not a string, make it one.
+
+1988-05-22 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * m-alliant.h: Typo made m-alliant1.h lose.
+ * m-alliant4.h: New file.
+
+ * fns.c (Freverse): Rename `vector' to `vec'.
+ On alliant, `vector' is a typedef in param.h.
+
+1988-05-20 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * process.c (kill_buffer_processes): Send SIGHUP, not SIGKILL.
+
+1988-05-19 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * m-mips.h, m-iris4d.h (XUNMARK): Cast unsigned before shifting.
+
+ * m-sequent.h: No need for DKSTAT_HEADER_FILE.
+
+1988-05-16 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * x11term.c: First include system headers, then config.h, then maybe
+ undef FIONREAD and SIGIO, then read x11term.h which depends on them.
+
+1988-05-15 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * keyboard.c (get_input_pending): Hold SIGIO around read_avail_input.
+
+1988-05-14 Richard Stallman (rms at lucky-charms.ai.mit.edu)
+
+ * keyboard.c (init_keyboard): Call keyboard_init_hook if nonzero.
+ * x11term.c (x_init_1): Move all keyboard-related inits here.
+ (x_term_init): Don't call x_init_1; put it in keyboard_init_hook.
+
+ * m-sun3.h, s-sunos4.h, s-bsd4-3.h: Delete DK_HEADER_FILE.
+ * m-sequent.h: Change it to DKSTAT_HEADER_FILE.
+
+1988-05-13 Richard Stallman (rms at lucky-charms.ai.mit.edu)
+
+ * xdisp.c (DoDsp): if pause, and window is partial-width,
+ next redisplay must do all windows since preserve_other_columns
+ may lack the data to work right if we just did scrolling.
+
+1988-05-13 Chris Hanson (cph at kleph)
+
+ * m-hp9000s300.h: Conditionalize a couple of things on `__GNUC__'.
+
+1988-05-12 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * xdisp.c (mark_window_display_accurate): Don't use XBUFFER on nil.
+
+ * keyboard.c (keys_of_keyboard): Change ndefkey to defkey.
+ * keymap.c (keys_of_keymap): Change ndefkey to defkey.
+
+1988-05-10 Richard Stallman (rms at corn-chex.ai.mit.edu)
+
+ * sysdep.c: Define sigmask.
+
+1988-05-06 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * Version 18.51 released.
+
+ * process.c (Fdelete_process): Change status of proc to `signaled'.
+ Then call change_msgs to run the sentinel.
+
+ * m-sequent.h, m-sun3.h, s-sunos4.h, s-bsd4-3.h: Define DK_HEADER_FILE.
+
+ * m-7300.h: Take out the Feb 11 change; umix!sendai!rich@rutgers.edu
+ says it doesn't work.
+
+1988-04-29 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * xdisp.c (DoDsp): Set clip_changed if Voverlay_... has changed.
+
+1988-04-28 Chris Hanson (cph at kleph)
+
+ * s-hpux.h: Define HAVE_PTYS. HP-UX has them and they work fine
+ almost all of the time. The one case where they would fail
+ regularly (inferior Scheme) has been bypassed by using pipes.
+
+1988-04-28 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * keyboard.c (Fsuspend_emacs): Do init_sys_modes via unwind protect.
+
+ * fileio.c [VMS] (Fdefine_logical_name): Empty string value
+ means delete the name.
+
+1988-04-27 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * sysdep.c [VMS]: RAB's never a macro; let RAB$C_BID control rab.h.
+
+ * sysdep.c [VMS] (sys_getenv): only if value of lib$sys_trnlog
+ is exactly 1 does it mean it found something.
+
+ * sysdep.c (creat_copy_attrs): Downcase remaining SYS$OPEN, SSY$CLOSE.
+
+1988-04-25 Richard Stallman (rms at lucky-charms.ai.mit.edu)
+
+ * fileio.c (Fdo_auto_save): Ignore shrinkage if not visiting file.
+ Wait only 1 second after shrinkage message.
+ (Fset_buffer_auto_saved): Update the buffer's save_length.
+ (auto_save_error): Mention buffer name in message.
+
+ * buffer.c (Fswitch_buffer): Error if in minibuffer window.
+
+1988-04-24 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * sysdep.c (sys_close): Define this only if INTERRUPTABLE_CLOSE.
+ * s-usg5-3.h: Define INTERRUPTABLE_CLOSE.
+
+1988-04-22 Richard Stallman (rms at rice-krispies.ai.mit.edu)
+
+ * sysdep.c (init_sys_modes) [VMS]: Undef _IOFBF so don't use setvbuf.
+
+1988-04-20 Richard Stallman (rms at rice-krispies.ai.mit.edu)
+
+ * m-sun386.h: New file, for Roadrunner.
+
+1988-04-19 Chris Hanson (cph at kleph)
+
+ * x11term.h, x11term.c, x11fns.c: Again (for the third time)
+ abstract input blocking so these files compile on systems without
+ SIGIO.
+
+ * x11term.c (x_term_init): Comment out fatal error which prevents
+ X11 interface from being used if interrupt_input is false. This
+ is unnecessary and untrue -- the interface works, but
+ suboptimally.
+
+1988-04-19 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * sysdep.c (sys_access) [VMS]: If arg is dirname, cvt to name as file.
+ (sys_getenv): If arg is TERM, also look for TERM as logical name.
+
+ * unexconvex.c: New file.
+
+1988-04-18 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * emacs.c (main) [APOLLO]: Eliminate call to set_sbrk_size.
+
+ * search.c (match_limit): Return nil for a paren-pair with no match.
+
+1988-04-17 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * vmsfns.c (Fvms_system_info, Fshrink_to_icon): New functions.
+ Former comes with many subroutines.
+
+1988-04-16 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * x11term.c (updateline, write_chars): Restore sigmask at every return.
+ (stufflines): Restore signal mask only once, at the end.
+
+ * sysdep.c ({un,}request_sigio): SIGWINCH mask actions were backwards.
+ Never change any other mask bit.
+
+ * x11term.c (internal_socket_read): Initialize COUNT.
+
+ * ymakefile (LIBX): /usr/X11/lib/oldX/liboldX.a becomes -loldX.
+
+1988-04-14 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * fileio.c (auto_save_error): Print msg that there was an error.
+ (Fdo_auto_save): If don't save a bfr because it has shrunk, print msg.
+
+1988-04-13 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * s-umax.h: Define MAIL_USE_FLOCK (LaLiberte says so).
+
+1988-04-10 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * fileio.c (Fdefine_dcl_symbol): Deleted.
+ (Fdefine_logical_name): New function created.
+ * sysdep.c (define_dcl_symbol): Deleted.
+ (define_logical_name, delete_logical_name): New fns to make
+ job-wide logical names. "This is more useful for communicating with
+ other processes, since when Emacs is run in a subprocess (as it
+ usually is), the others see job-wide logical names, not DCL symbols)."
+
+1988-04-09 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * ymakefile: If UNEXEC is defined, it specifies object file for unexec.
+ * unexmips.c: New file contains MIPS unexec code, moved from unexec.c.
+ * m-mips.h, m-iris4d.h: Define UNEXEC as unexmips.o.
+ No longer need to define COFF.
+ * unexenix.c, s-xenix.h: Likewise.
+ * unexhp9ks800.h: New file; m-hp9000s800.h says to use.
+ * unexec.c: Delete MIPS and Xenix code.
+
+ * dired.c (file_name_completion) [VMS]: specbind completion-ignore-case
+ to non-nil.
+
+ * m-sequent.h: Define PTY_ITERATION, etc., for Dynix 3.0 pty names.
+
+1988-04-08 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * unexec.c (EXEC_HDR_TYPE): New macro overrides `struct exec' if def.
+
+ * unexec.c (DEFAULT_ENTRY_ADDRESS): Allow config to define this.
+ * m-iris4d.h: Define it here, instead of IRIS4D conditional in unexec.
+
+ * m-tek4300.h: New file.
+
+ * fileio.c: doc fix.
+
+1988-03-29 Richard M. Stallman (rms at wilson)
+
+ * ymakefile: Default LIBX10_MACHINE and LIBX11_MACHINE to null.
+ Use them when defining LIBX.
+
+ * xterm.c: On all USG, include sys/time.h.
+ * xterm.c (XtFlash, flashback): Bodies conditional on ITIMER_REAL.
+ * xterm.c (x_term_init): Call gethostname only if BSD or HPUX.
+ * xterm.c (x_init_1): Don't mess with SIGIO if USG.
+
+ * sysdep.c: Fix typo, USG_SYSTEM_DIR => SYSV_SYSTEM_DIR.
+ Externally define sys_errlist, except on VMS.
+ Don't include rab.h if RAB is already defined.
+
+ * sysdep.c ({request,unrequest}_sigio) BSD4.2 version:
+ Also block and unblock SIGWINCH if that's defined.
+
+ * m-mips.h (XSETMARKBIT): New, test 2nd arg for only zero or nonzero.
+
+ * s-usg5-3.h: #define close sys_close (like open, read, write).
+ * sysdep.c: Undef `close', like `open'.
+ * sysdep.c (sys_close): New function.
+ All refs to close in sysdep.c renamed to sys_close.
+
+ * sysdep.c (read_input_waiting): Call `read_socket_hook'.
+ Define BUFFER_SIZE_FACTOR as in keyboard.c.
+
+ * sysdep.c (dup2): Alternate defn #ifdef F_DUPFD.
+
+1988-03-27 Richard M. Stallman (rms at wilson)
+
+ * process.c [CYDRIX]: Include sys/tiuser.h; don't include pty.h.
+
+ * process.c (pty): Don't do ioctl FIONBIO if not defined.
+ New macros PTY_ITERATION, PTY_NAME_SPRINTF and
+ PTY_TTY_NAME_SPRINTF customize how to test all pty names.
+
+ * unexec.c (make_hdr): DATA_SECTION_ALIGNMENT, new, acts like
+ SECTION_ALIGMENT, but for data section only.
+
+ * callproc.c (init_callproc): Cvt dirname to filename for `access'.
+ * lread.c (init_read): Likewise. These used to lose on VMS.
+
+ * dired.c (file_name_completion) [VMS]: READFUNC is a ptr, not a fcn.
+
+1988-03-24 Richard M. Stallman (rms at wilson)
+
+ * sink.h, sinkmask.h: Don't declare the array static.
+ * xfns.c: Make sink_bits and sink_mask_bits extern;
+ don't include sink.h and sinkmask.h here.
+ Define macros sign_width, etc.
+
+ * xterm.c (writechars, dumprectangle): Flush `if (PhysScreen)', etc.,
+ since an array is always nonzero as a pointer.
+
+ * filelock.c: Include config.h after sys/stat.h so can undef S_IFLNK.
+
+ * sysdep.c (sys_suspend): Use BSD, not SIGTSTP, as cond. for killpg.
+
+ * dispnew.c (init_display): Set Vwindow_system to `x' for X11.
+ * xterm.c, x11term.c (x_term_init): Set `window-system-version'
+ to 10 or 11.
+
+ * dispnew.c (update_screen): If cursor_in_echo_area is negative,
+ put cursor at left margin in echo area.
+
+ * fns.c (Fy_or_n_p): Make cursor_in_echo_area -1 when echoing response.
+ Don't alter cursX.
+
+1988-03-23 Richard M. Stallman (rms at wilson)
+
+ * x11term.h: Use X11/ not X/ for dir of include files.
+ * xmenu.c: Likewise, in the X11 case.
+
+ * m-7300.h: Fix unterminated comment near end.
+
+ * s-xenix.h: Define n_zeroes so usage of struct nlist in fns.c works.
+
+ * term.c (fatal): Do fflush(stderr).
+
+ * sink11.h, sink11msk.h: New files.
+
+ * x11term.h: Define CLASS here.
+ Don't define X11 since this is included only if X11.
+
+ * x11term.c: Use sink11.h and sink11msk.h, not sink.h and sinkmask.h.
+ Don't define CLASS. Delete everything about BIGDEBUG.
+ Delete everything pertaining to read_events_block.
+ (XXidentity): now global.
+ (CursorOutline): New var; nonzero means cursor is hollow.
+ (XXicon_usebitmap): New var; nonzero means use bitmap icon.
+ (XTset_terminal_modes, ClearCursor): Set CursorOutline.
+ (XTflash, flashback): Combine into one function; use `select' to wait.
+ (CursorToggle): Handle CursorOutline.
+ (internal_socket_read): Delete 3rd arg, and code that handles it.
+ Handle MappingNotify events.
+ Handle EnterNotify and LeaveNotify (change solid to outline cursor).
+ (XT_GetDefaults): If asked for .BodyFont, look for .Font also.
+ (x_term_init): Init XXicon_usebitmap; strip dirs from `progname'.
+ Handle -i switch. Handle -geometry like -w.
+ (XT_Set_WM_Hints): Obey XXicon_usebitmap.
+ (XInitWindow): Use `fatal' for fatal error messages.
+ Init CursorOutline. Ask for EnterNotify and LeaveNotify events.
+
+ * x11fns.c (Fx_get_default): Use XXidentity. Clean up docstring.
+
+ * sysdep.c [VMS] (input_wait_timeout, wait_for_kbd_input):
+ Use detect_input_pending, not get_input_pending.
+
+ * process.c (wait_reading_process_input):
+ Use only detect_input_pending to check for pending kbd input.
+ (That `select' saw something on channel 0 doesn't mean it is
+ kbd input; it could be an expose event.)
+
+ * keyboard.c (read_avail_input) [FIONREAD]: Now static.
+ New arg specifies value of NREAD;
+ if it is nonzero, don't call get_input_pending to get it.
+ Use kbd_buffer_store_char to put chars into kbd_buffer.
+ Always abort if kbd_count is nonzero at start.
+ Don't call {set,clear}_waiting_for_input.
+
+ (get_input_pending): Now static.
+ Return immediately if kbd_count > 0 or if Vquit_flag is non-nil.
+ If FIONREAD and not interrupt_input and read_socket_hook,
+ call read_avail_input to see how much pending input is really
+ kbd characters; don't say we have some if an expose event is pending.
+
+ * dispnew.c (init_display): Check result of egetenv for emptiness
+ as well as nullness.
+
+1988-03-21 Richard M. Stallman (rms at wilson)
+
+ * alloca.s [WICAT]: Don't clobber a2. Return value in a0 and in d0.
+
+1988-03-20 Richard M. Stallman (rms at wilson)
+
+ * crt0.c (errno): Don't initialize it -- put it in bss space.
+ [M68K]: Define splevel% with `comm' -- put it in bss space.
+
+ * sysdep.c [MISSING_UTIMES]: Define `utimes' as a no-op.
+ * s-hpux.h: Define MISSING_UTIMES.
+
+ * buffer.c (Fbuffer_local_variables): The buffer's alist can be out
+ of date for a non-current buffer, so call Fsymbol_value to make
+ the alist up to date.
+
+ * sysdep.c [VMS] (end_kbd_input): If ast_active, don't clobber
+ any global variables.
+
+ * ymakefile (alloca.o): Copy sed output to a .s file and use cc
+ to run the assembler. I hear Xenix can't run it directly.
+
+ * sysdep.c [XENIX]: Undefine TIOCGETC.
+
+ * s-xenix.h: Undefine NLIST_STRUCT. Put `_' in defn of LDAV_SYMBOL.
+ Define HAVE_SYSVIPC.
+
+ * m-intel386.h [XENIX] (LIB_STANDARD): Add /lib/386/Slibcfp.a.
+ [XENIX] (FSCALE): Define it.
+ [XENIX] (C_ALLOCA): Undefine it.
+
+ * alloca.s: Define alloca for Xenix.
+
+1988-03-19 Richard M. Stallman (rms at wilson)
+
+ * keyboard.c (read_avail_input): If `read' gives EAGAIN,
+ kbd_count should be 0. Can happen on V.3.
+
+ * x11fns.c (Vxterm1): Delete this variable, and lisp var `xterm'.
+ (syms_of_xfns): If CANNOT_DUMP and not `noninteractive',
+ init_display has already set up Vxterm, so don't init it here.
+ * display.c (syms_of_display): Likewise for Vwindow_system.
+ (init_display): Always set Vwindow_system.
+
+1988-03-18 Chris Hanson (cph at kleph)
+
+ * m-hp9000s300.h: Add a definition for C_SWITCH_MACHINE which is
+ needed to compile the X11 interface files.
+
+ * s-hpux.h, m-hp9000s300.h, m-hp9000s800.h: Version 6.01 of HP-UX
+ (on 300 machines only) implements symbolic links and supplies BSD
+ procedures like `bcopy' and `index' as part of the BSD library.
+ Move definitions which depend on these features from the s- file
+ to the m- files, and conditionalize the features based on a flag.
+
+1988-03-18 Richard M. Stallman (rms at wilson)
+
+ * scroll.c (calculate_scrolling): Abort if ->insertcount
+ is out of range.
+
+ * sysdep.c (getwd for USG): Don't define it if HAVE_GETWD.
+ * m-stride.h: Define HAVE_GETWD.
+
+ * buffer.c (init_buffer): If `getwd' fails, it's a fatal error.
+
+ * ymakefile (MAKE_PARALLEL): New name for PARALLEL, and now
+ a cpp macro, not a Make variable. Defaults to empty.
+ * m-sequent.h: Define MAKE_PARALLEL.
+
+ * xdisp.c (display_text_line): Handle the overlay arrow last of all,
+ and update line->length for the space it uses.
+
+ * xmenu.c: Conditionals for X11, using new macro X11ONLY.
+ Currently named x11menu.c until someone tests it.
+ * ymakefile: Handle HAVE_X_MENU and use xmenu.o, even if X11.
+ * x11term.h: Define BLOCK_INPUT, UNBLOCK_INPUT, BLOCK_INPUT_DECLARE.
+
+ * Makefile: Set $(MAKE), since some Make versions don't have it.
+ (xmakefile): Delete lines that are just one OR MORE whitespace
+ chars. Use \t to represent the tab in the `sed' command.
+
+ * fileio.c (Finsert_file_contents) [APOLLO]: Do another `stat'
+ after closing the file. Gets around kernel bug (in `fstat'?).
+
+ * fileio.c (Fwrite_region) [ALLIANT]: Don't do `fsync'; kernel bug.
+
+ * sysdep.c (sys_suspend): If forking shell, call close_process_descs.
+
+1988-02-13 Richard Stallman (rms at sugar-smacks.ai.mit.edu)
+
+ * Version 18.50 released.
+
+ * sysdep.c [VMS]: Remove VMS4_6 conditional on execvp & rename
+ since s-vms.h is set to make us use our own definitions of these.
+ Make execvp call `error' instead of `croak'.
+
+ * s-vms.h: PURESIZE 132000.
+ * m-sun2.h: Likewise (for HAVE_SUN_WINDOWS).
+
+1988-02-11 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * callproc.c (child_setup): Call close_process_descs
+ if can have subprocesses. Close the argument-descriptors
+ after copying them to 0, 1 and 2.
+
+ * callproc.c (Fcall_process): After fork, in subprocess,
+ explicitly close Emacs's end of the pipe. Don't bother calling
+ set_exclusive_use.
+
+ * process.c (close_process_descs): Close all descriptors
+ that are talking to subprocesses. Called from a new subprocess.
+
+ * process.c (create_process): Don't bother calling set_exclusive_use
+ since close_process_descs now closes Emacs's side of a pipe or pty.
+
+ * x11term.c, x11fns.c, x11term.h: New files from rfrench@athena.mit.edu
+ In x11term.c, the function `read_events_block' has been `if 0'd
+ and so have all calls to it. A call in wait_reading_process_output
+ was not added, and a call to internal_read_socket in
+ get_input_pending was not added.
+
+ * emacs.c (main) [HAVE_X_WINDOWS]: Set xargv, xargc for xterm.c.
+
+ * dispnew.c (init_display) [X11]: Set Vwindow_system to `x11'.
+
+ * s-hupx.h: Define HAVE_SYSVIPC.
+ Should s-usg*.h define this too?
+
+ * dir.h: Some union types were missing levels of struct inside them.
+
+ * alloc.c (Fpurecopy): If not purifying, do nothing.
+
+ * editfns.c (init_editfns): Record system name even if dumping.
+
+ * eval.c (Fcondition_case): Inverted endtest in handler validate loop.
+
+ * m-7300.h: Define SEGMENT_MASK, SECTION_ALIGNMENT
+ and pass the -z switch to ld. kenobi!ford@bass.nosc.mil says so.
+
+1988-02-09 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * unexec.c: Merge gb's code for Xenix.
+
+ * m-intel386.h: Add conditionals for Xenix.
+ * s-xenix.h: New file.
+
+ * cm.h: Make the bit-fields unsigned.
+
+1988-02-08 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * sysdep.c (init_sys_modes) [USG]: Set C-g for VQUIT as well as VINTR.
+ This was formerly done only on HPUX, and worked there.
+ It appears that all sysV is like HPUX in that CDEL does not
+ really turn off the signal--it makes Meta-DEL cause the signal!
+
+ * process.c (wait_reading_process_output): Change the test on
+ read_kbd to avoid losing on 80386 Xenix.
+
+1988-02-06 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * xdisp.c (Voverlay_arrow_string, Voverlay_arrow_position):
+ New variables specifying a string to overlay on the buffer text
+ and a place to put it.
+ * xdisp.c (display_text_line, redisplay_window, DoDsp):
+ Handle these variables.
+
+1988-02-04 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * insdel.c (prepare_to_modify_buffer):
+ If CLASH_DETECTION is disabled, verify the modtime here
+ since it won't be done via lock_file.
+
+1988-01-31 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * fileio.c (Fcopy_file): Report error in `write'.
+
+1988-01-29 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * eval.c (unbind_to): Recompute loop end-test from `count' each time
+ since an unwind-protect function can use realloc to grow the specpdl.
+
+1988-01-26 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+
+ * sysdep.c (vms_truncate) [VMS]: New fn to truncate a file.
+
+ * fileio.c (Fwrite_region) [VMS]: If writing auto-save file,
+ truncate any existing file.
+
+ * s-vms.h: Rename `rename', `execvp' and `system' so we don't
+ use the VMS-library versions of it.
+
+1988-01-22 Richard Stallman (rms at frosted-flakes)
+
+ * m-ibmrt.h: Add some AIX conditionals; output on BSD should
+ be unchnged. Perhaps will now run on AIX.
+
+1988-01-21 Richard Stallman (rms at frosted-flakes)
+
+ * keyboard.c (command_loop): Exit here for noninteractive eof.
+ * keyboard.c (kbd_buffer_get_char): Don't exit here.
+
+1988-01-20 Richard Stallman (rms at frosted-flakes)
+
+ * lread.c (openp): Reject directories even if !exec_only.
+
+ * window.c (Fset_window_configuration): When keeping window's
+ old buffer, make sure its start and pointm are valid.
+
+1988-01-19 Richard Stallman (rms at frosted-flakes)
+
+ * sysdep.c (sys_suspend) [SIGTSTP]: Use killpg and getpgrp to stop
+ all processes in same pgrp with Emacs.
+
+ * syntax.c (Fparse_partial_sexp): Add 7th elt to STATE arg and value,
+ describing minimum depth encountered during the scan.
+
+1988-01-18 Richard Stallman (rms at frosted-flakes)
+
+ * alloca.s: Change some as-style comments to C-style comments
+ so cccp won't be confused by stray singlequotes.
+
+ * s-iris3-{5,6}.h: Move the #defines of long-named functions
+ into m-irist.h.
+
+ * lread.c (init_read): Warn if dirs in PATH_LOADSEARCH don't exist.
+ * callproc.c (init_callproc): Warn if Vexec_directory doesn't exist.
+ * emacs.c (main): Call init_callproc before changing terminal modes.
+
+ * xdisp.c (try_window_id): When computing ep, watch out for
+ invisible lines that follow the newline after the last change.
+
+ * window.c (Fset_window_point): Now works ok on selected window.
+
+1988-01-17 Richard Stallman (rms at frosted-flakes)
+
+ * eval.c (Fdefconst, Fdefvar) doc fix.
+
+ * keymap.c (Fcopy_keymap): Several stupid errors.
+
+ * dired.c (file_name_completion): Wasn't calling readdir
+ for Unix; was doing so (instead of readfunc) on VMS.
+ * dired.c (Fdirectory_files): Don't call NAMLEN if dp is 0.
+
+1988-01-16 Richard Stallman (rms at frosted-flakes)
+
+ * alloc.c (syms_of_alloc): Eliminate vars data-bytes-{free,used}.
+ They lose because values are over 24 bits.
+
+ * lread.c (read_list): delete `register' for val and tail.
+ * buffer.c (Fkill_buffer): delete `register' for buf and bufname.
+ * fns.c (Fy_or_n_p): delete `register' for xprompt.
+ * keymap.c (Fcopy_keymap): missing paren.
+
+1988-01-15 Richard Stallman (rms at frosted-flakes)
+
+ * m-iris4d.h: Changes to support dumping.
+ * m-*.h: Doc fix for VIRT_ADDR_VARIES.
+
+ * unexec.c: Minor changes to mips code for IRIS_4D.
+
+1988-01-11 Richard Stallman (rms at frosted-flakes)
+
+ * s-iris3-{5,6}.h: Don't #undef SIGIO. BROKEN_FIONREAD makes it unnec.
+ * process.c [IRIS]: Find sysmacros.h in sys/.
+
+1988-01-09 Richard Stallman (rms at frosted-flakes)
+
+ * doprnt.c: New arg NARGS says how many args there are in ARGS.
+ Give an error if the string tries to use more than that many.
+
+ * callint.c (Fcall_interactively): Pass new arg to `doprnt'
+ * editfns.c (Fformat, format1):
+ * xdisp.c (message):
+
+1988-01-07 Richard Stallman (rms at frosted-flakes)
+
+ * lreadc (init_obarray): Split the stmt `hash =' to avoid
+ a VACX bug.
+
+ * alloca.s [pyramid]: Keep sp a multiple of 32.
+ This preserves cache-block alignment.
+
+1988-01-06 Richard Stallman (rms at frosted-flakes)
+
+ * s-hpux.h: Don't define nomultiplejobs, LDAV_SYMBOL, LIBS_DEBUG
+ or BROKEN_FIONREAD.
+ * m-hp9000s300.h: Define those four.
+ * s-hpux.h: Define BSTRING, and define bcopy, etc., as macros.
+
+ * sysdep.c [NEED_BSDTTY]: Include bsdtty.h.
+ (Flag is defined in m-hp9000s800.h)
+
+ * m-hp9000s800.h: New file.
+ * m-hp9000s300.h: New name for m-hp9000.h.
+
+ * sysdep.c: Split TIOCGLTC conditional into two, one on TIOCGETC.
+
+ * search.c (search_buffer): Avoid & of array static_BM_tab.
+
+ * alloca.s, crt0.c: Change hp9000 conditionals to hp9000s300.
+
+1987-12-22 Richard Stallman (rms at frosted-flakes)
+
+ * alloca.s [WICAT]: Keep sp pointing at lowest word in use.
+
+1987-12-17 Richard Stallman (rms at lucky-charms)
+
+ * unexec.c (make_hdr): Don't add A_TEXT_OFFSET to a_text
+ in the NO_REMAP case (when a_text comes from the old header).
+
+ * filelock.c: If no symlinks, use `stat' instead of `lstat'.
+
+1987-12-14 Richard Stallman (rms at frosted-flakes)
+
+ * fileio.c (Fsubstitute_in_file_name): Allow underscore
+ in an env var name.
+
+1987-12-09 Richard Stallman (rms at frosted-flakes)
+
+ * indent.c (Findent-to): Interactive code `N' instead of `n'.
+
+ * sysdep.c (execvp, rename): Omit these fns if VMS4_6.
+
+ * lread.c (oblookup): Split a statement to avoid VMS compiler bug.
+
+1987-12-04 Richard Stallman (rms at frosted-flakes)
+
+ * data.c (sign_extend_temp): Moved from sysdep.c.
+ * data.c (sign_extend_lisp_int): Function to do sign-extend;
+ needed on some machines.
+
+ * keymap.c (Fcopy_keymap): Copy subkeymaps recursively.
+
+ * fileio.c (Fread_file_name): Don't crash if no env var HOME.
+
+1987-12-03 Richard Stallman (rms at frosted-flakes)
+
+ * m-convex.h: New file.
+
+1987-12-02 Richard Stallman (rms at frosted-flakes)
+
+ * process.c (wait_reading_process_input):
+ Don't set time_limit to -2; leave it as -1.
+
+ * s-usg5-3.h, m-intel386.h: New files.
+
+1987-12-01 Richard Stallman (rms at frosted-flakes)
+
+ * process.c: Support for SYSV_PTYS.
+
+ * dired.c: New macros DIRENTRY and NAMLEN; support for sysV.3.
+ * sysdep.c: `closedir' function for sysV.3.
+
+ * crt0.c: Add code for Sun 4.
+ * m-sparc.h: New file.
+
+ * lread.c (read_list): Fix error message for ] in a list.
+
+ * fileio.c (Ffile_symlink_p): Call Fexpand_file_name.
+
+1987-11-21 Richard Stallman (rms at frosted-flakes)
+
+ * print.c: Clean up doc string syntax and fix doc error for `print'.
+
+1987-10-31 Richard Stallman (rms at sugar-smacks)
+
+ * editfns.c (Fformat): Realize doprint %-specs can contain - and space.
+
+1987-10-30 Richard Stallman (rms at sugar-smacks)
+
+ * fns.c (Fy_or_n_p): Don't try to DOWNCASE -1.
+
+1987-10-29 Richard Stallman (rms at frosted-flakes)
+
+ * fns.c (Fy_or_n_p): Protect `prompt' and `xprompt' from gc.
+ * fns.c (Fyes_or_no_p): Protect `prompt' from gc.
+ * lread.c (read_list): Protect `val' and `tail' from gc.
+ * buffer.c (Fkill_buffer): Protect `buf' and `bufname' from gc.
+ * fileio.c (barf_or_query_if_file_exists): Protect `absname'.
+
+1987-09-17 Richard M. Stallman (rms at prep)
+
+ * Version 18.49 released.
+
+ * window.c (set_window_width):
+ Set windows_or_buffers_changed.
+
+ * scroll.c (calculate_scrolling): Initialize insertcount
+ of top edge cells to zero.
+
+ * dired.c (file_name_completion): Rearrange VMS conditionals
+ so that `readfunc' exists only on VMS. Apollo compiler
+ couldn't deal with it.
+
+1987-09-16 Richard M. Stallman (rms at prep)
+
+ * m-sun[23].h: Doc fix.
+
+ * sysdep.c (reset_sys_modes): Don't output anything
+ if have a read_socket_hook (i.e. under X).
+
+1987-09-10 Richard M. Stallman (rms at prep)
+
+ * buffer.c (Fget_buffer_create): Test of mode-class property
+ of buffer's major mode was backwards.
+
+1987-09-07 Richard Mlynarik (mly at prep)
+
+ * dired.c (file_name_completion):
+ Only filter `leaves' of filesystem structure with
+ completion_ignored_extensions -- don't eliminate directories.
+ If Vcompletion_ignored_extensions isn't a proper list, don't
+ eliminate all filenames.
+
+ * xterm.h (UNBLOCK_INPUT_RESIGNAL):
+ RESIGNAL_INPUT, not INPUT_RESIGNAL
+
+1987-08-30 Richard M. Stallman (rms at prep)
+
+ * Version 18.48 released.
+
+ * xmenu.c (XEmacsMenu): Rename `sel' to `selidx'.
+
+ * unexec.c: Remove the CANNOT_UNEXEC code.
+ * m-apollo.h: Switch back to CANNOT_DUMP.
+
+ * emacs.c (Fdump_emacs): Don't call malloc_init if SYSTEM_MALLOC.
+ * emacs.c (main): ditto.
+
+1987-08-20 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fwrite_region) [VMS]: Move gap to the closest place
+ (first newline after old gap).
+
+1987-08-15 Richard M. Stallman (rms at prep)
+
+ * editfns.c (init_editfns): Handle getpwuid returning 0.
+
+1987-08-14 Richard M. Stallman (rms at prep)
+
+ * casefiddle.c (casify_region): Use prepare_to_modify_buffer.
+ Don't call modify_region until the end.
+
+ * sysdep.c (reset_sys_modes): Output a bare CR
+ so kernel can track the cursor hpos.
+
+1987-07-30 Richard M. Stallman (rms at prep)
+
+ * vmsfns.c (Fsetprv): Correct spelling SS$NORMAL => SS$_NORMAL.
+ Include <ssdef.h>.
+
+1987-07-29 Richard Mlynarik (mly at prep)
+
+ * lread.c (init_read): Initialise load_in_progress.
+
+1987-07-28 Richard M. Stallman (rms at prep)
+
+ * vmsfns.c (Fsetprv): Detect error from sys$setprv properly.
+ Add some privileges missing from the table.
+
+1987-07-27 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (creat_copy_attrs): Flush duplicate `else'.
+
+1987-07-25 Richard M. Stallman (rms at prep)
+
+ * dispnew.c (update_screen): Use PENDING_OUTPUT_COUNT
+ in all appropriate places.
+ Fix a comment delimiter typo.
+
+1987-07-24 Richard M. Stallman (rms at prep)
+
+ * keyboard.c (command_loop_1): Don't do direct output
+ if DoDsp is needed to erase a minibuffer message.
+
+ * keymap.c (describe_alist, describe_vector):
+ 1. Output only one blank line in a row if multiple empty keymaps.
+ 2. Chase through indirect keymap elements.
+
+ * keymap.c (describe_map_tree): Handle Flookup_key returning int
+ so C-x 4 bindings appear in the output.
+
+ * sysdep.c (sys_creat for VMS): Get all args via varargs,
+ no named args, to avoid incompatible change in VMS C.
+
+1987-07-18 Richard M. Stallman (rms at prep)
+
+ * unexec.c (make-hdr): Split the stmts that use ADDR_CORRECT
+ into two stmts. Some compilers mysteriously barf on them.
+
+ * m-7300.h: Remove ADD_CORRECT (s-usg5-2.h does it).
+ Add LD_SWITCH_MACHINE and SWITCH_ENUM_BUG.
+
+ * m-amdahl.h: define STACK_DIRECTION.
+
+ * sysdep.c (random for VMS): subtract 1<<30, not 1<<14.
+
+ * fns.c (Fvconcat): Doc fix.
+
+ * window.c (Fcurrent_window_configuration): Doc fix.
+
+ * sysdep.c [VMS]: include file.h.
+ * sysdep.c (creat_copy_attrs) [VMS]: Minor fixes to prevent
+ invalid acL if there was no old version.
+
+ * dispnew.c (PENDING_OUTPUT_COUNT): New macro to get # chars
+ buffered in a stdio output stream.
+ * dispnew.c (update_screen): Use that macro.
+ Remove #ifndef VMS around the sleep when buffer is full.
+ * s-vms.h: Define nonstandard PENDING_OUTPUT_COUNT for VMS use.
+
+ * fileio.c (file_name_as_directory) [VMS]: Fix 3rd arg to strncmp.
+
+1987-07-17 Paul Rubin (phr at prep)
+
+ * m-sun2.h: Add comment explaining that filename refers to
+ the OS version, not the CPU model number. People running
+ SunOS 3.2 on Sun 2 computers have been erroneously trying to
+ use this file, and losing.
+
+1987-07-10 Chris Hanson (cph at prep)
+
+ * xterm.h: Define macros to abstract control of input signals.
+ Alternate set of macros for hp-ux does no signalling.
+
+ * xterm.c:
+ * xfns.c:
+ * xmenu.c:
+ Rewrite to use new input signal macros. Add conditionalizations
+ for hp-ux, mostly to eliminate references to `ButtonReleased' (I
+ don't know why, this is from wizards at HP Labs). Change
+ "xmenu.c" to eliminate unused include files, and reorder the
+ include files so that it compiles under hp-ux.
+
+1987-06-29 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fwrite_region) [VMS]: Use creat_copy_attrs.
+
+ * sysdep.c (creat_copy_attrs) [VMS]: New function: open a file
+ for writing, copying attributes from another file.
+
+ * fileio.c (Ffile_writable_p): Exchange with Ffile_symlink_p.
+ Avoids mysterious cpp lossage on RT/PC.
+
+ * syntax.c: Disguise doc string of non-existent Lisp variable
+ `standard-syntax-table'.
+
+1987-06-25 Richard M. Stallman (rms at prep)
+
+ * callproc.c (Fcall_process): On VMS, use NLA0: instead of /dev/null.
+
+ * term.c (term-init):
+ Don't use "nl" cap on VMS if it's a linefeed.
+
+1987-06-23 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (sys_creat) [VMS]: Use va_start, not va_start_1.
+
+ * sysdep.c (rename) [VMS]: Use SYS$RENAME not LIB$RENAME_FILE.
+
+1987-06-18 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (readdirver) [VMS]: Don't return bogus version number.
+ Don't lose stepping off end of directory entry.
+ Eliminate superfluous loop.
+
+ * fileio.c (file-name-as-directory) [VMS]:
+ Never append a slash. Fix erroneous return-with-no-value.
+
+ * dired.c (file_name_completion): For VMS, upcase the input.
+
+ * fns.c (Frandom): Doc fix.
+
+ * sysdep.c (random) [USG]: Subtract 1<<14 from value of rand()
+ so value range is centered on zero.
+ * sysdep.c (random) [VMS]: Likewise, and remove the code to
+ initialize the seed. Higher levels call srandom if seed should be set.
+
+1987-06-15 Richard M. Stallman (rms at prep)
+
+
+ * fileio.c (Fwrite_region) [VMS]: Use `creat' to create
+ an auto-save file.
+ * Version 18.47 released.
+
+ * fileio.c (Fwrite_region): Check result from fsync.
+
+1987-06-12 Chris Hanson (cph at prep)
+
+ * terminfo.c (tparam): Handle the outstring == 0 case by
+ allocating a result of the correct size.
+
+1987-06-12 Richard M. Stallman (rms at prep)
+
+ * terminfo.c (tparam): Kludge the outstring == 0 case.
+ Accept (and ignore) the buffer-length argument.
+
+ * s-iris3-5.h: Remove defines of IRIS35 and PURESIZE.
+
+ * fileio.c (Fwrite_region) [VMS]:
+ Write under temp name and rename, to avoid auto-deletion
+ if writing fails. When moving gap to avoid extra newline,
+ move it only to the next newline.
+
+1987-06-10 Richard M. Stallman (rms at prep)
+
+ * minibuf.c (Ftry_completion, Fall_completions):
+ GCPRO some strings when calling predicate.
+
+ * fileio.c (file_name_as_directory) [VMS]:
+ Recognize .dir in uc or lc and followed by either .1 or ;1.
+ * fileio.c (directory_file_name) [VMS]:
+ Append .DIR.1 in upper case.
+ * fileio.c: Delete calls to lower_case.
+ * fileio.c: #ifndef VMS around decls or errno, sys_errlist, etc.
+
+ * sysdep.c (getwd for VMS): Upcase the filename.
+ * sysdep.c (lower_case): Delete this function and all calls.
+
+ * dired.c (file_name_completion): Obey completion-ignore-case
+ by using scmp instead of bcmp.
+
+1987-06-09 Richard M. Stallman (rms at prep)
+
+ * syntax.c: (scan_lists): Clear mathexit on 2nd math-char in a pair.
+
+1987-06-08 Richard M. Stallman (rms at prep)
+
+ * Version 18.46 released.
+
+ * m-apollo.h: Define CANNOT_UNEXEC instead of CANNOT_DUMP.
+
+ * keyboard.c (get_char): Delete DEBUG-conditional code.
+ * process.c: Delete the IRIS ignore-SIGIOT kludge.
+
+ * sysdep.c: Declare sign_extend_temp regardless of machine type.
+
+ * sysdep.c (sys_access) [VMS pre 4.4]: Don't zero uic.
+ * sysdep.c (sys_access_reinit): New fn, called from
+ init_sys_modes, to clear uic.
+
+ * eval.c (grow_specpdl): Don't subtract old specpdl address
+ from new one; they are in different arrays.
+ Use correct args to Fsignal when reporting overflow.
+
+ * process.c (Fopen_network_stream): Don't create process object
+ until opens, etc. have succeeded.
+
+1987-06-08 Chris Hanson (cph at prep)
+
+ * keyboard.c (read_avail_input): use `read_socket_hook' if it has
+ a value. This is required in hp-ux if `HAVE_X_WINDOWS' is
+ defined.
+
+ * process.c (wait_reading_process_input): conditionalize `select'
+ call for hp-ux.
+
+1987-06-08 Richard M. Stallman (rms at prep)
+
+ * m-isi-ov.h: Cut SEGMENT_MAST in half. crl@purdue says so.
+
+1987-06-06 Richard M. Stallman (rms at prep)
+
+ * tparam.c: Ifdef emacs, include config.h.
+
+1987-06-05 Richard M. Stallman (rms at prep)
+
+ * m-apollo.h: Add #undef BSTRING.
+
+ * dispnew.c, keyboard.c: On VMS, don't include sys/ioctl.h.
+
+ * process.c (create_process): On IRIS, set forkin, forkout to -1
+ instead of opening them. Then don't use them later if they are -1.
+
+ * process.c (Fopen_network_stream): Allow integer as 4th arg
+ to specify foreign port number.
+
+1987-06-03 Richard M. Stallman (rms at prep)
+
+ * m-amdahl.h: Add definitions of LD_SWITCH_MACHINE, EXEC_MAGIC,
+ SEGSIZ and SEGMENT_MASK. Turn on C_ALLOCA. From Jishnu Mukeji.
+
+ * eval.c (Fapply): Add missing parens in args to alloca;
+ args were too small. From Jishnu Mukeji.
+
+1987-06-01 Richard M. Stallman (rms at prep)
+
+ * version 18.45.
+
+ * fileio.c (Finsert_file_contents): Always initialize fd.
+
+1987-05-31 Richard M. Stallman (rms at prep)
+
+ * fileio.c: Move declarations of errno and friends to top of file.
+ * filelock.c: Likewise.
+
+1987-05-29 Richard M. Stallman (rms at prep)
+
+ * process.c: #end => #endif.
+
+1987-05-27 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fexpand_file_name) [VMS]:
+ Upcase all file names, not just absolute ones. Use Fupcase.
+
+1987-05-26 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fdirectory_file_name) [VMS]:
+ Fix to expansion of VMS logical names.
+
+ * crt0.c [ISI68K]: Define asm sym isi68020.
+
+ * xdisp.c (display_string): Use current buffer's tab_width.
+ (display_text_line): Simplify XBUFFER (w->buffer) to bf_cur.
+
+1987-05-23 Richard M. Stallman (rms at prep)
+
+ * alloc.c (init_alloc-once): Don't set Vpurify_flag.
+ * lread.c (init_obarray): Do it here, now that Qt is valid.
+
+1987-05-22 Richard M. Stallman (rms at prep)
+
+ * m-targon31.h: Undefine VIRT_ADDR_VARIES.
+
+ * vmspaths.h: Convert to VMS syntax and upper case.
+
+ * lread.c (absolute_filename_p) [VMS]: '[' and '<' don't
+ make a pathname absolute.
+
+1987-05-21 Richard M. Stallman (rms at prep)
+
+ * xterm.c (x_term_init): Don't set Vxterm and Vxterm1.
+ * xfns.c (syms_of_xfns): Don't set Vxterm and Vxterm1.
+ Delete Lisp variable `xterm'.
+ * dispnew.c (init_display): Initialize Vxterm to t or nil.
+
+ * keyboard.c (interrupt_signal): Check Vwindow_system
+ instead of Vxterm.
+
+ * sysdep.c (sys_access for VMS pre 4.4):
+ Turn on call to vmserrstr.
+ * sysdep.c (vmserrstr) [VMS]: Define this function.
+
+ * process.c (create_process) [IRIS]: Don't open the pty's tty
+ in the parent process. Open only once, in the child.
+
+ * xdisp.c (redisplay_window): If window-start points nowhere,
+ recenter the window to avoid a crash.
+
+ * fileio.c (Fwrite_region): Check for error from the close.
+ NFS reportedly can report out-of-space there.
+
+1987-05-18 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fwrite_region): Always stat after the close.
+
+ * term.c (term_init): Spurious ' in error msg.
+ * cmds.c (SelfInsert): For newline, must auto-fill
+ before inserting it.
+
+ * keyboard.c (BROKEN_FIONREAD): config.h can #define this
+ to cause FIONREAD to be #undef'd.
+ * s-iris3-5.h, s-hpux.h: Define BROKEN_FIONREAD.
+
+ * indent.c (compute_motion): Typo in defn of HPOS.
+
+1987-05-17 Richard M. Stallman (rms at prep)
+
+ * term.c: Pass 0 for buffer and length to tparam,
+ record the value returned as buffer to use, and free it later.
+ Each caller was changed.
+
+ * tparam.c (tparam): Take buffer length additional arg.
+ Malloc a buffer if that buffer is too small.
+ Return address of buffer actually used.
+ Add * and / as arithmetic operators.
+
+ * xdisp.c (message): Handle NO_ARG_ARRAY for call to doprnt.
+
+1987-05-16 Richard M. Stallman (rms at prep)
+
+ * m-isi-ov.h: Define LIB_STANDARD to avoid bad interaction with
+ crt0 in ISI system 3.07.
+
+ * fileio.c (Ffile_name_as_directory) [VMS]: Special handling
+ for foo:[000000] where foo is a logical name.
+
+1987-05-13 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fread_file_name) [VMS]: Bind completion-ignore-case to t.
+ * fileio.c (Fexpand_file_name) [VMS]: Upcase letters in filenames.
+
+ * sysdep.c (sys_access for VMS < 4.4):
+ Always get `uic' from the system.
+
+ * sysdep.c: New macro SETOSPEED to set the ospeed value
+ in a terminal-info structure. Definitions for USG and BSD.
+ Used in init_baud_rate.
+
+1987-05-12 Richard M. Stallman (rms at prep)
+
+ * search.c (skip_chars, Fstring_match, scan_buffer):
+ Set immediate_quit over the scanning loops.
+
+ * vmspaths.h: Remove the comma from the load path.
+ Search only the standard directory.
+
+ * sysdep.c (sys_suspend): Delete spurious `*' from
+ declaration of `sigio'.
+
+1987-05-12 Chris Hanson (cph at prep)
+
+ * regex.c (re_compile_fastmap):
+ Fix typo where `notsyntaxspec' neglected to look at its argument
+ byte, comparing with randomness.
+
+1987-05-12 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (sys_access for VMS pre 4.4):
+ Fix typo of `file' where `filename' was meant.
+ Avoid using `vmserrstr' since it's not defined.
+
+ * fileio.c (Finsert_file_contents):
+ On VMS, st.st_size > num_chars_read.
+ Use num_chars_read for the return value.
+
+ * cmds.c (SelfInsert): New 2nd arg, nonzero says don't
+ do auto fill.
+ * cmds.c (Fself_insert_command, Fnewline):
+ Pass nonzero to SelfInsert if have prefix arg.
+
+ * minibuf.c (Fself_insert_and_exit): 0 as 2nd arg to SelfInsert.
+ * keyboard.c (command_loop_1): likewise.
+
+1987-05-11 Richard M. Stallman (rms at prep)
+
+ * keyboard.c, s-hpux.h, s-iris3-5.h:
+ Eliminate the hpux/iris conditional from keyboard.c.
+ Now the s- files do #undef FIONREAD.
+
+ * buffer.c (Fkill_buffer): Do nothing rather than kill
+ the sole remaining buffer. Prevent quits during actual killing.
+
+1987-05-05 Richard Mlynarik (mly at prep)
+
+ * m-irist.h: New version from raible@orville.arpa
+ * s-iris3-5.h: New file. (s-usg5-2 with additions)
+
+ * keyboard.c:
+ IRIS, like HPUX, #defines but does not implement FIONREAD.
+
+ * window.c, keyboard.c, sysdep.c:
+ Remove some unused local variables.
+
+1987-05-04 Richard M. Stallman (rms at prep)
+
+ * dired.c (Ffile_attributes): Doc fix.
+
+ * term.c (term_init): Mention `unsetenv TERMCAP' in
+ error message for invalid TERM variable.
+
+1987-04-27 Richard Mlynarik (mly at prep)
+
+ * fileio.c (APOLLO from lnz):
+ Fcopy_file, Fset_file_modes: Don't use un*x modes if
+ env var USE_DOMAIN_ACLS is set.
+ Fset_file_modes: utimes fix.
+ Finsert_file_contents: Must do fstat after open for Apollo.
+
+ * emacs.c (main): (APOLLO from lnz):
+ Don't use un*x modes if env var USE_DOMAIN_ACLS set.
+
+1987-04-25 Richard Mlynarik (mly at prep)
+
+ * unexec.c:
+ CANNOT_UNEXEC Code from lnz (from rps@apollo).
+ Similar to vmsmap.c.
+
+ * sysdep.c: (APOLLO from lnz)
+ init_baud_rate: Make sure ospeed is initialized even if ioctl fails.
+ wait_for_termination: can sigpause.
+ init_sys_modes: moved static structures out.
+
+1987-04-23 Richard Mlynarik (mly at prep)
+
+ * malloc.c, vmsmap.c: (VMS)
+ Define and use our own `sbrk' since malloc and the RTL sbrk don't
+ interact very well.
+ (sasaki@harvard.harvard.edu <8704220244.AA02324@prep>)
+
+1987-04-15 Richard Mlynarik (mly at prep)
+
+ * dispnew.c: (VMS) Flush TIOCOUTQ stuff (meaningless on VMS)
+
+ * fileio.c, sysdep.c: (VMS)
+ Rename "define-logical-name" => "define-dcl-symbol"
+
+ * m-irist.h:
+ New file from raible@orville.arpa for iris machine
+ (`3.5 turbo'). (<8704150216.AA21012@orville.arpa>)
+
+ * unexec.c: iris code (is USG, but has struct exec)
+ * sysdep.c: iris utimes emulatation. (HAVE_TIMEVAL)
+
+ * process.c: (IRIS)
+ #include <sysmacros.h>
+ pty: Unusual iris pty-finding code.
+ IRIS_ignore_SIGIOT_kludge, init_process:
+ Iris pty's have some unknown bug which seems to cause spurious
+ SIGIOTs. Can somebody please delve into the reasons behind
+ this lossage?
+
+1987-04-15 Paul Rubin (phr at prep)
+
+ * version 18.44 released.
+
+1987-04-14 Paul Rubin (phr at prep)
+
+ * config.h:
+ Increase PURESIZE to 115800 from 115600.
+
+1987-04-14 Richard Mlynarik (mly at prep)
+
+ * termcap.c (tgetent) (VMS):
+ File is in emacs_library:[etc]termcap.dat
+ (TUNG@WAIF.MIT.EDU <8704130324.AA10879@prep.ai.mit.edu>)
+
+1987-04-10 Richard Mlynarik (mly at prep)
+
+ * window.c (Fset_window_configuration):
+ Don't unchain markers -- this window configuation may be used
+ again. Let normal GC unchain them.
+
+1987-04-08 Richard Mlynarik (mly at prep)
+
+ * m-vax.h: (USG 5.2)
+ define NO_REMAP to kludgily bypass unexec bug.
+ (We don't have such a machine here, so -we- can't find the bug!)
+ (Karl.Kleinpaste <205@cbstr1.att.com>)
+
+1987-04-07 Richard Mlynarik (mly at prep)
+
+ * indent.c (compute_motion):
+ Use special code for HPOS if SHORT_CAST_BUG.
+
+ * m-celerity.h, m-att3b.h, m-ibmrt.h, m-sequent.h:
+ Define SHORT_CAST_BUG.
+
+1987-04-06 Richard Mlynarik (mly at prep)
+
+ * malloc.c (morecore):
+ Don't assume sbrk clears memory to 0's.
+
+ * indent.c (compute_motion): Special-case HPOS for sequent.
+ (iglesias@ICS.UCI.EDU <8704061703.AA26816@prep.ai.mit.edu>)
+
+ * regex.c:
+ Fix bug in which "t\(.*\) .*\1" didn't match
+ "tom hates tomatoes" from Tom May @ Washington.
+ (<8703241000.AA21146@beaver.cs.washington.edu>)
+
+ * sysdep.c (getwd): (USG)
+ Change first arg (0) to getcwd to (char *) 0
+ Also, call `free' on value returned (after we save it)
+
+1987-03-22 Richard M. Stallman (rms at prep)
+
+ * Version 18.41 released.
+
+ * emacs.c (main): Call syms_of_xmenu only if HAVE_X_MENU.
+ * ymakefile: Use new switch HAVE_X_MENU to decide whether
+ to includ xmenu.c
+ * config.h-dist: Tell people about this flag.
+
+1987-03-20 Richard Mlynarik (mly at prep)
+
+ * filemode.c: Hacks for set-uid/gid but not executable.
+
+1987-03-20 Richard M. Stallman (rms at prep)
+
+ * sysdep.c [VMS]: include window.h.
+ * sysdep.c (wait_for_kbd_input) [VMS]:
+ Also detect and handle input from subprocesses.
+
+ * fileio.c (Fread_file_name_internal) [VMS]: At end, check
+ length of NAME, not STRING.
+
+ * emacs.c (main) [VMS]: If SHAREABLE_LIB_BUG, declare `environ'
+ noshare and initialize it from `envp'.
+
+1987-03-20 Chris Hanson (cph at prep)
+
+ * process.c (pty): On hp-ux, do not enable TIOCREMOTE. See the
+ code for a comment explaining why.
+
+1987-03-19 Richard M. Stallman (rms at prep)
+
+ * sysdep.c: Omit start_of_{data,text} if CANNOT_DUMP and SYSTEM_MALLOC.
+
+ * m-apollo.h: Define START_FILES.
+
+ * sunfns.c (syms_of_sunfns): Syntax error in comment.
+
+ * sysdep.c (getwd) [USG]:
+ Copy the value of getcwd into pathname.
+ Supposedly needed on Altos 3068.
+
+1987-03-18 Richard M. Stallman (rms at prep)
+
+ * Version 18.40 released.
+
+ * fileio.c (Finsert_file_contents): On VMS, # bytes read
+ may be less than st.st_size. Use actual # read for recording undo.
+
+ * fileio.c, termcap.c: Change funny VMS-format #includes
+ to standard Unix format.
+
+1987-03-17 Richard M. Stallman (rms at prep)
+
+ * unexec.c (copy_text_and_data): A_TEXT_SEEK if defined controls
+ where in the file to start writing the text segment.
+ * m-isi-ov.h: Define A_TEXT_SEEK and A_TEXT_OFFSET.
+
+ * s-umax.h: Define C_SWITCH_ASM so as to make `asm' work.
+ * ymakefile: Provide C_SWITCH_ASM when compiling crt0.c.
+
+ * unexec.c [UMAX]: Don't include filehdr.h, etc.
+
+ * bytecode.c (Fbytecode):
+ Another SWITCH_ENUM_BUG problem.
+
+ * sysdep.c: If not HAVE_TERMIO, override any definition of TCSETAW.
+ Ultrix 2.0 has a TCSETAW but it requires a struct termio.
+ Since HAVE_TERMIO is not set, sysdep uses struct sgttyb,
+ and the real TCSETAW does not work with this.
+
+ * sysdep.c (getwd): Discard everything before first slash.
+
+ * termcap.c (tgetent): Delete VMS code to delete / from filename.
+ * termcap.c (legal_filename_p): Use symbolic constant.
+
+ * sysdep.c (sys_abort) [VMS]: New function; calls debugger.
+ * sysdep.c (sys_access) [VMS]: Completely rewritten.
+ Now two versions, one for VMS 4.4 and one for older VMS.
+ * sysdep.c (sys_errlist) [VMS]: Insert missing elt for error code 0.
+ * sysdep.c (get_system_name) [VMS]: Remove :: from end of node name.
+ * sysdep.c (end_kbd_input) [VMS]: Don't wait if within ast rtn.
+ * sysdep.c (kbd_input_ast) [VMS]: Set ast_active to 1 while in
+ this fn.
+
+ * sysdep.c: Add missing ; after use of BAUD_CONVERT.
+
+ * term.c (term_init): Don't use Down on VMS if it's a ^J.
+ Fix C syntax errors in fatal error message.
+ Distinguish failure to open termcap fle from undefined term type.
+
+ * s-vms.h: Increase DATA_START by 512. #define abort sys_abort.
+ Flush LIBS_DEBUG defn since ymakefile not used.
+ Delete mention of GET_RIGHTS.
+
+ * m-vax.h [VMS]: Define LOAD_AVE_TYPE and C_ALLOCA.
+
+ * keyboard.c: Undefine SIGIO only if it's defined.
+ * keyboard.c (interrupt_signal) [VMS]:
+ Try suspending in case it works.
+
+ * fns.c (Fload_average): Make eunice code work on native VMS also.
+ Put the no-load-average case first for simplicity.
+
+ * fileio.c (directory_file_name [VMS]: Use SYS$PARSE
+ for [--] and other such constructs.
+
+ * fileio.c (Fexpand_file_name) [VMS]: Handle negative version #s.
+
+ * doc.c: Don't include paths.h
+
+ * callproc.c (init_callproc): Make Vexec_directory
+ using Ffile_name_as_directory.
+
+ * alloc.c: Remove defns of `sdata' and `edata'.
+
+1987-03-16 Richard M. Stallman (rms at prep)
+
+ * fns.c (Fy_or_n_p): Restore cursor_in_echo_area to previous value.
+
+ * m-ibmrt.h: Define SKTPAIR only if BSD.
+
+ * Makefile: Default is now `all', which tells
+ xmakefile to make `all'.
+
+ * ymakefile: Make emacstool by way of etc/Makefile.
+
+ * emacs.c (main): Don't mention SIGEMT if it's not defined.
+
+1987-03-14 Richard M. Stallman (rms at prep)
+
+ * Version 18.39 released.
+
+ * s-umax.h: Add definition of SEGMENT_MASK.
+ * Delete definition of LIBS_SYSTEM.
+ * align.umax: File deleted.
+
+ * emacs.c (main): Don't mention syms_of_vmsfns explicitly.
+ * s-vms.h: Use SYMS_SYSTEM to call syms_of_vmsfns.
+
+ * config.h-dist: Remove VMS conditional for PURESIZE.
+ * s-vms.h: Define PURESIZE.
+ * m-sun2.h: Define PURESIZE, if HAVE_SUN_WINDOWS.
+
+1987-03-13 Richard M. Stallman (rms at prep)
+
+ * sysdep.c: Don't redefine TCSETAW if already defined.
+ (Cancelled by change on March 17).
+
+ * sunfns.c: New file containing interface to Sun windows.
+ This is enabled by the switch HAVE_SUN_WINDOWS.
+
+ * m-sun2.h: If HAVE_SUN_WINDOWS, include sunfns.c
+ via OBJECTS_MACHINE and SYMS_MACHINE.
+
+ * emacs.c (main): Allow SYMS_SYSTEM and SYMS_MACHINE
+ to control calling of extra syms_of_... functions.
+
+ * ymakefile (OBJECTS_MACHINE, OBJECTS_SYSTEM):
+ Provide for m- and s- files to specify additional object
+ files to link into temacs.
+
+1987-03-12 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fsysnetunam): Make this function conditional on
+ HPUX_NET, not on HPUX.
+ * s-hpux.h: Make use of -ln switch depend on HPUX_NET.
+ Define HPUX_NET in config.h if you have that version of HPUX.
+
+ * unexec.c (adjust_lnnoptrs) [amdahl_uts]:
+ Alternative names for struct symentry and struct auxentry.
+
+ * sysdep.c [amdahl_uts]: Define sign_extend_temp as on ATT3B.
+
+ * m-amdahl.h: New file.
+
+1987-03-12 Richard Mlynarik (mly at prep)
+
+ * sysdep.c (child_setup_tty):
+ HPUX: Set baud-rate to 9600 (not 38400)
+ For some reason the former is reported to work faster(!?)
+
+1987-03-10 Richard M. Stallman (rms at prep)
+
+ * dispnew.c (init_display): Declare alternate_display only if X.
+
+1987-03-09 Richard M. Stallman (rms at prep)
+
+ * m-alliant.h, crt0.c for alliant:
+ Must save _curbrk when dumping (from ADJUST_EXEC_HEADER)
+ and restore it in crt0, because _curbrk itself isn't dumped.
+
+ * unexec.c: Add a separate unexec routine for mips machines.
+ No code is shared with normal unexec.
+
+1987-03-08 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (baud_convert): Use new macro BAUD_CONVERT
+ to override the standard conversion table.
+ Use standard table if macro's not defined.
+ * s-vms.h, s-hpux.h: Definitions of BAUD_CONVERT.
+
+ * editfns.c (Fsubst_char_in_region):
+ Call modify_buffer before changing it, and pass entire region.
+ If NOUNDO is set, un-increment bf_modified after that.
+
+1987-03-07 Richard M. Stallman (rms at prep)
+
+ * lisp.h: #ifndef the definitions of XUINT, XSET, XMARKBIT, etc.
+ Make them all use XUINT when they want to extract the unsigned value.
+
+1987-03-05 Richard M. Stallman (rms at prep)
+
+ * term.c (write_standout_marker): If "xs" present and sg#0,
+ don't write standout-off markers.
+
+ * xmenu.c: Include signal.h before xterm.h.
+
+ * sysdep.c (reset_sys_modes): Do fsync (on bsd4.2 or 4.3)
+ before changing the terminal modes.
+
+ * ymakefile (emacstool): Remove spurious `/' after `${etcdir}'.
+ * m-sun2.h: Likewise.
+
+ * process.c: Replace BSD conditionals with HAVE_SOCKETS for tcp stuff.
+ Give NETCONN_P a default definition if not HAVE_SOCKETS.
+ Don't defsubr open_network_stream if not HAVE_SOCKETS.
+
+ * s-*.h: Define HAVE_SOCKETS, or add place holder.
+ * m-stride.h: Define HAVE_SOCKETS.
+
+1987-03-04 Richard M. Stallman (rms at prep)
+
+ * ymakefile (LIBX): add -lXMenu.
+
+1987-03-03 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fwrite_region): Really put the `fstat' after
+ the `fsync', trying to solve spurious "file has changed" warnings.
+ This reverses a change made on Jan 28 which was described then
+ as putting the `fstat' after the `fsync' but which in fact
+ was exactly the opposite. The truth is that anciently the
+ `fstat' was after, and on Jan 28 it was moved before.
+ The change on Jan 28 was to fix some sort of RFS problem.
+ I don't know whether the change itself or just its description
+ was incorrect.
+
+ * Version 18.38 released.
+
+1987-02-28 Chris Hanson (cph at prep)
+
+ * fileio.c: Added `sysnetunam' function for controlling remote
+ file access connections under hp-ux.
+
+ * s-hpux (LIBS_SYSTEM): Added `-ln' which is used by `sysnetunam'.
+
+1987-02-28 Richard M. Stallman (rms at prep)
+
+ * xdisp.c (display_text_line): Typo in line that fixes tab_width.
+
+1987-02-27 Richard M. Stallman (rms at prep)
+
+ * dispnew.c (Fopen_termscript): `report_file_error'
+ requires list as 2nd arg.
+
+1987-02-26 Richard M. Stallman (rms at prep)
+
+ * xmenu.c: New file defining Fx_popup_menu.
+ * emacs.c (main): Call syms_of_xmenu.
+
+ * buffer.c (Fother_buffer): Condition for assigning to
+ `notsogood' was backwards (should be if null).
+
+1987-02-23 Richard M. Stallman (rms at prep)
+
+ * keymap.c (access_keymap): No longer check lower case
+ equivalent of an upper case letter that is undefined.
+
+ * keyboard.c (read_key_sequence): If an upper case letter
+ is undefined, and corresponding lower case letter is defined,
+ use the lower case letter instead.
+
+ * emacs.c: Delete all ALLIANT conditionals that used to
+ save and restore _curbrk. Special code in crt0.c now
+ handles this.
+
+ * crt0.c [ISI68K]: Assembler code to put a .word 0 after _start.
+ Include the dummy arg `ignore' in start1.
+
+ * crt0.c [orion/pyramid/celerity]: ALLIANT now uses this case,
+ but with some special code to hack _curbrk on first startup.
+
+ * m-alliant2.h: File deleted. Use m-alliant.h for version 2.
+ * m-alliant1.h: Don't look for ALLIANT2 to be defined.
+ Now ALLIANT1 is defined for version 1 and not for version 2.
+ Define NO_ARG_ARRAY only for version 1.
+ Define START_FILES so GNU crt0.c gets used.
+ Remove definition of TEXT_START (safe since GNU crt0.c is used).
+ Add to ADJUST_EXEC_HEADER something to set unexec_text_start.
+
+1987-02-22 Richard M. Stallman (rms at prep)
+
+ * dispnew.c (Fopen_termscript): Close existing termscript
+ file before trying to open a new one. Report open failure
+ with report_file_error.
+
+1987-02-21 Paul Rubin (phr at prep)
+
+ * window.c (set-window-buffer): typo "set-widow-buffer".
+
+1987-02-19 Richard Mlynarik (mly at prep)
+
+ * lisp.h:
+ Add type Lisp_Window_Configuration, delete Lisp_Temp_Vector.
+ A window configuration is a Lisp_Vector-like object.
+ Add decls for F{set,current}_window_configuration.
+
+ * window.c (F{set,current}_window_configuration):
+ New lisp-callable functions which do the guts of
+ Fsave_window_excursion.
+
+ Also fixed a bug in which point was not being restored in
+ buffer currrent at end of save-window-excursion and that buffer
+ was not current when the config was recorded (It is supposed
+ to not be restored if it was current at the start)
+
+ * alloc.c (mark_object):
+ Add case for Lisp_Window_Configuration; remove code for
+ Lisp_Temp_vector.
+
+ * window.c, window.h:
+ Rename Fshow_buffer Fset_window_buffer (which was previously the
+ synonym in subr.el)
+
+ * keyboard.c, minibuf.c: Window configuration caller changes.
+
+ * print.c (print):
+ Understand Lisp_Window_Configuration's.
+ Print a disturbing message if encounter an illegal dtp --
+ perhaps this should core-dump?
+
+1987-02-17 Richard Mlynarik (mly at prep)
+
+ * dired.c (Ffile_attributes):
+ Use make_number. (XINT doesn't work on LHS of assignment)
+
+1987-02-17 Richard M. Stallman (rms at prep)
+
+ * doc.c (get_doc_string, Fsnarf_documentation):
+ In vms4.4, avoid system bug by using sys_translate_unix
+ to translate filename to VMS format before opening.
+
+1987-02-16 Richard M. Stallman (rms at prep)
+
+ * crt0.c: Don't define `environ' if DONT_NEED_ENVIRON is defined.
+
+ * m-elxsi.h: Define DONT_NEED_ENVIRON
+ Define C_DEBUG_SWITCH as -O since there is no debugger.
+ Don't define VIRT_ADDR_VARIES.
+
+ * xdisp.c (display_mode_element): Handle SWITCH_ENUM_BUG.
+
+ * sysdep.c (reset_sys_modes): Loop on TCSETAW
+ until it does not get EINTR.
+
+1987-02-15 Richard M. Stallman (rms at prep)
+
+ * s-bsd4-2.h: Make defns of BSD and BSD4_2 conditional.
+
+1987-02-13 Richard M. Stallman (rms at prep)
+
+ * process.c: TCP connection feature from markl@jhereg.lcs.mit.edu.
+ Uses a process-object to represent a connection.
+ childp field is now Qt for a real subprocess,
+ or a hostname string for a tcp connection.
+ NETCONN_P checks this.
+ Status strings "open" and "closed" replace "run" and "exit"
+ for tcp connections only. New function Fopen_network_stream.
+
+ * dired.c (Ffile_attributes): Use XINT to store the inode #.
+ It can be out of range for integers.
+
+1987-02-12 Richard M. Stallman (rms at prep)
+
+ * xdisp.c (try_window): Fix paren errer in checking hpos
+ against hscroll. This caused window_end_pos to be wrong
+ when there was hscroll.
+
+ * xdisp.c (display_text_line): Move code that inserts `$'
+ at bol for hscroll, so that its alteration of p1 does not
+ interfere with setting point_hpos.
+ Use lastpos instead of pos in that code.
+ Make lastpos be accurate in all cases including when there
+ is truncation.
+
+ * xdisp.c (display_string): mincol==-1 means no minimum.
+ * xdisp.c (display_text_line): Use -1 for mincol of minibuf promp.
+
+1987-02-11 Richard M. Stallman (rms at prep)
+
+ * Version 18.37 released.
+
+ * data.c (Fmake_local_variable, Fmake_variable_buffer_local):
+ Get error if arg is t or nil. Doc improvements.
+
+1987-02-10 Richard Mlynarik (mly at prep)
+
+ * xfns.c (Fx_get_default): Add (unsigned char *) cast.
+
+ * window.c: typo.
+
+1987-02-09 Richard M. Stallman (rms at prep)
+
+ * process.c (change_msgs): Save/restore selected buffer
+ only over simple insertions, and over one such at a time.
+ Don't save it across sentinel invocations.
+
+1987-02-08 Richard M. Stallman (rms at prep)
+
+ * tparam.c (tparam): Supply code for NO_ARG_ARRAY case.
+
+ * window.c, minibuf.c, window.h: Rename minibuf_scroll_window to
+ Vminibuf_scroll_window. Make it a Lisp variable.
+ * window.c (Fscroll_other_window): Validate
+ Vminibuf_scroll_window since user could store a non-window there.
+
+ * window.c (temp_output_buffer_show):
+ Call Vtemp_output_buffer_show_hook to do the work, if not nil.
+
+ * window.c (Fminibuffer_window): New function.
+
+ * print.c (print, syms_of_print): If print_escape_newlines
+ is nonzero, print newlines in strings as \n.
+
+ * minibuf.c (read_minibuf): Reduce arg to get_minibuf by 1.
+ Thus, use *Minibuf-0* for outer-level minibuffers.
+
+ * keyboard.c (command_loop_1): Pass 2nd arg to Fsit_for.
+ * minibuf.c (temp_minibuf_message): Likewise.
+
+ * dispnew.c (Fsit_for): 2nd arg non-nil means don't redisplay.
+
+ * s-vms.h: Don't define VMS4_0, VMS4_2 or VMS4_4.
+ * s-vms4-[024].h: New files that include s-vms.h and also
+ define VMS4_0 or VMS4_2 or VMS4_4.
+
+ * vmspaths.h: Remove `/emacs' from all paths, to go with a change
+ in emacs.com that includes that path segment in emacs_library.
+
+ * term.c (term_init): Different message on VMS for invalid termtype.
+
+ * alloc.c (Fgarbage_collect): After GC, clear marks
+ in the dummy buffers buffer_defaults and buffer_local_symbols.
+
+1987-02-07 Richard M. Stallman (rms at prep)
+
+ * window.c (Fnext_window): Restore old meaning of t as 2nd arg:
+ count minibuffer window even if not active.
+ Non-t-non-nil as 2nd arg means never count minibuffer window.
+
+ * window.c (window_loop): Rewrite to work the old way.
+ The new way did not work when deleting windows.
+
+1987-02-05 Richard M. Stallman (rms at prep)
+
+ * m-sequent.h: Undef old definition of KERNEL_FILE so no warning.
+
+ * process.c (read_process_output): Don't restore selected buffer
+ after filter; sometimes setting buffer is useful in filter functions.
+
+
+1987-02-02 Richard M. Stallman (rms at prep)
+
+ * keyboard.c (kbd-buffer_store_char): Fix paren error.
+
+1987-01-31 Richard M. Stallman (rms at prep)
+
+ * window.c (window_loop): Rewrite not to pass t as 2nd arg
+ to Fnext_window by starting loop from the window after
+ the minibuffer. This was sole use of the feature.
+
+ * window.c (Fnext_window): Change meaning of t as 2nd arg.
+ It now means to ignore the minibuffer even if it's active.
+
+1987-01-29 Richard M. Stallman (rms at prep)
+
+ * cmds.c (Fforward_line): Correct the returned value.
+
+1987-01-28 Richard M. Stallman (rms at prep)
+
+ * keyboard.c (kbd_buffer_store_char):
+ Ignore meta bit while checking for C-g, if meta-flag is clear.
+
+ * unexec.c (make_hdr): typo `bas_start'.
+
+ * sysdep.c: Declare errno explicitly since errno.h may fail to.
+
+ * fileio.c (Fwrite_region): Move the fstat after the fsync.
+ [Note: the above sentence was incorrect; actually the fstat
+ had been after and was moved *before* the fsync. -- RMS, Mar 3.]
+ Avoids RFS lossage with fsync (maybe).
+
+ * s-rtu.h: Define NLIST_STRUCT and LDAV_SYMBOL.
+ * m-masscomp.h: Check machine type to choose between C_ALLOCA
+ and HAVE_ALLOCA.
+
+1987-01-27 Richard Mlynarik (mly at prep)
+
+ * window.c (change_window_height):
+ Validate window_min_height.
+
+1987-01-26 Richard M. Stallman (rms at prep)
+
+ * m-ibmrt.h: LOAD_AVE_TYPE now double.
+ Now both operating systems for RT now supported.
+
+ * fileio.c (Fsubstitute_in_file_name):
+ Delete everything thru last /~ or // in file name.
+
+ * sysdep.c (select): If no subprocesses, make `child_changed'
+ local and initialized to 0.
+
+ * xdisp.c (display_string): If TRUNCATE is 0, display all the
+ way to window edge; don't stop one column short.
+
+1987-01-24 Richard M. Stallman (rms at prep)
+
+ * unexec.c (make_hdr): New var `bss_end' holds end-of-bss address.
+ This simplifies computation of bss size while keeping it from
+ being negative.
+
+1987-01-23 Richard Mlynarik (mly at prep)
+
+ * fileio.c (Fexpand_file_name):
+ Have to do checks for "//" "/~" etc even if filename is
+ non-absolute, otherwise things like "~user1/~user2" aren't
+ expanded correctly (was getting "/u/user1/~user2" instead of
+ "/u/user2")
+
+ * doc.c (Fsubstitute_command_keys): Doc fix.
+
+ * m-stride.h: Fixes from bruce@stride.com
+
+1987-01-22 Richard M. Stallman (rms at prep)
+
+ * eval.c (Feval, apply_lambda): When protecting a vector
+ of evaluated arguments, across the loop that evals them,
+ always set gcproN.nvars to the number of args
+ evalled so far, since the rest of the vector elements
+ are still garbage.
+
+1987-01-21 Richard M. Stallman (rms at prep)
+
+ * Version 18.36 released.
+
+1987-01-21 Richard M. Stallman (rms at prep)
+
+ * term.c (write_chars): If we find N identical chars
+ and that is too few for a Repeat operation,
+ don't consider the last N-1, last N-2, ... of those chars.
+
+ * dispnew.c (update_line): Fill old line with spaces to
+ screen_width - 1 if it is highlighted (just like new line).
+
+ * bytecode.c (Fbytecode):
+ Include bytecode pc value in stack over/underflow errors
+
+1987-01-20 Richard M. Stallman (rms at prep)
+
+ * lread.c (defvar_lisp_nopro): New fn like defvar_lisp
+ but doesn't call staticpro.
+ * lisp.h (DEFVAR_LISP_NOPRO): New macro to call that function.
+ * buffer.c (syms_of_buffer): Use DEFVAR_LISP_NOPRO
+ to define variables that live in buffer_defaults.
+ * buffer.c (init_buffer_once): tab_width was being assigned
+ two different flag bits.
+
+ * keyboard.c: #undef SIGIO if there's no FIONREAD.
+
+1987-01-19 Richard M. Stallman (rms at prep)
+
+ * indent.c (compute_motion): IBMRT needs HPOS defined
+ like celerity.
+
+1987-01-16 Richard Mlynarik (mly at prep)
+
+ * xfns.c (Fx_set_{background,cursor,mouse}_color):
+ Initialise save_color.
+
+ * fileio.c, search.c, sysdep.c, filelock.c, editfns.c, process.c:
+ Delete/replace unused/conditionalised variables
+
+1987-01-15 Richard M. Stallman (rms at prep)
+
+ * fns.c (Fcopy_alist): Pass missing arg to concat.
+
+ * termcap.c (tgetent): Remove extra arg given to find_capability.
+
+ * alloc.c (make_uninit_string, init_alloc_once):
+ * indent.c (compute_motion): Delete unused vars.
+
+ * fileio.c (Frename_file): Add missing arg to Fcopy_file.
+
+ * alloc.c (mark_object): Add cast for cleanliness.
+ Remove unnecessary break stmt.
+
+ * keyboard.c (kbd_buffer_get_char): Flush unused local var.
+
+1987-01-15 Richard Mlynarik (mly at prep)
+
+ * dispnew.c (init_display):
+ Hack X if "-d display-name" specified, even if env var DISPLAY
+ not set.
+
+1987-01-15 Richard M. Stallman (rms at prep)
+
+ * fns.c (Fconcat): doc fix.
+
+1987-01-15 Richard Mlynarik (mly at prep)
+
+ * keyboard.c (last_command): doc fix
+
+1987-01-13 Richard M. Stallman (rms at prep)
+
+ * process.c (create_process): Cast value of `signal' to insulate from
+ * sysdep.c (sys_suspend, select): changed value type in sysV.3.
+
+1987-01-12 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (reset_sys_modes): Use TCSETAW to restore tty state.
+ On BSD, define TCSETAW to be TIOCSETN (so no change here on BSD).
+
+ * callproc.c (init_callproc): Don't get environment as
+ strings when dumping Emacs.
+
+1987-01-12 Richard Mlynarik (mly at prep)
+
+ * lread.c (Fload, load_unwind):
+ load_in_progress must be a counter, not a flag since `load' may be
+ called recursively.
+
+ * lread.c (openp):
+ If PATH contains non-absolute element (such as ".") expand against
+ bf_cur->directory.
+
+ * filemode.c (ftypelet):
+ Understand (and return) more different file-types (stat->st_mode's)
+ This makes Ffile_attributes more winning.
+
+ * filelock.c (current_lock_file_owner_1):
+ Always close the fd even if get an error reading!!!
+
+1987-01-11 Richard Mlynarik (mly at prep)
+
+ * fileio.c (Fsubstitute_in_file_name, Fread_file_name_internal):
+ `Quote' "$" as "$$" This doesn't break any existing code,
+ since "$$" used to get an error, and wins by providing the user a
+ way to specify filenames containing the character "$"
+
+ * fileio.c (Fsubstitute_in_file_name):
+ Allow substituting zero-length env vars.
+
+1987-01-10 Richard M. Stallman (rms at prep)
+
+ * termcap.c (tgetent): Fix syntax errors in VMS-only code.
+
+1987-01-09 Richard Mlynarik (mly at prep)
+
+ * xterm.c (x_term_init):
+ Give correct error message when DISPLAY not set.
+
+1987-01-08 Richard Mlynarik (mly at prep)
+
+ * xfns.c (Fx_get_default):
+ Return nil, not "" on non-existent option, as documented.
+ Don't randomly and unnecessarily malloc (and then not free)
+
+ * process.c (init_process):
+ Look at extern var initialized rather than having arg passed.
+
+ * emacs.c (main):
+ Dike out the code which hacked the "-nx" option as synonymous with
+ "-nw" if HAVE_X_WINDOWS -- this code was never distributed
+ earlier, so there was no need to retain a compatibility kludge.
+
+1987-01-08 Richard M. Stallman (rms at prep)
+
+ * search.c (Freplace_match): Change declaration `char' to `int'.
+ Declaring a scalar variable `char' is nearly always wrong
+ and breaks most compilers.
+
+1987-01-07 Richard M. Stallman (rms at prep)
+
+ * xterm.c (flashback): Change || to | in signal mask calculation.
+
+1987-01-06 Richard M. Stallman (rms at prep)
+
+ * print.c (print): RTPC_REGISTER_BUG conditional.
+ * data.c (Fset): likewise.
+ * m-ibmrt.h (SIGN_EXTEND_CHAR): Flush the definition that used
+ a subroutine and really install the one that uses arithmetic.
+
+1987-01-06 Richard Mlynarik (mly at prep)
+
+ * keyboard.c (kbd_buffer_{read,store}_char):
+ Look at MetaFlag when reading char out of buffer rather than
+ storing into it so that buffer-local meta-flag works correctly.
+
+1987-01-06 Richard M. Stallman (rms at prep)
+
+ * syntax.c (Fchar_syntax, Fmodify_syntax_entry):
+ Mask specified char to 8 bits before indexing syntax table.
+
+1987-01-05 Richard Mlynarik (mly at prep)
+
+ * callproc.c (init_callproc):
+ Make maintain_environment stuff work yet again.
+
+1987-01-05 Richard M. Stallman (rms at prep)
+
+ * fileio.c (report_file_error): Check for errno < 0.
+
+ * Version 18.35 released.
+
+1987-01-03 Richard M. Stallman (rms at prep)
+
+ * callproc.c: Rename Vprocess_extra_environment => Vprocess_environment.
+ * callproc.c (init_callproc): Copy Unix environment into
+ Vprocess_environment as list of strings.
+ * callproc.c (child_setup): Set `env' from Vprocess_environment
+ alone; don't keep `env' passed by caller.
+
+ * ymakefile: New cpp-macro OTHER_FILES specifies
+ how to make the file `other'.
+
+ * m-sun2.h: Define OTHER_FILES to compile etc/emacstool.
+
+ * xfns.c (Fx_mouse_events, Fx_proc_mouse_event):
+ Set 4 bit in button character for a button-up event.
+
+ * xfns.c (most calls to XSelectInput):
+ * xterm.c (XPopUpWindow):
+ Calls that specify ButtonPressed now also say ButtonReleased.
+
+ * xterm.c (XTread_socket): Handle ButtonReleased like
+ ButtonPressed.
+
+ * indent.c (Fmove_to_column): Declare `c' int;
+ type char caused lossage for chars >= 0200.
+
+ * search.c (search_buffer): Don't accept a match
+ starting right at the end of the buffer.
+
+ * xfns.c: Move extern declarations to top level.
+ Some functions were depending on the fact that all
+ extern declarations are effectively at top level in pcc.
+
+ * buffer.c (Fbuffer_start_undo): Get error right if non-ex buf spec'd.
+
+ * indent.c (several): Fix range checks on tab_width:
+ replace && with ||.
+
+1987-01-01 Richard Mlynarik (mly at prep)
+
+ * indent.c (Fcurrent_column, Fmove_to_column):
+ Doc.
+
+ * window.c (Fwindow_edges):
+ Doc.
+
+ * process.c, callproc.c:
+ Make MAINTAIN_ENVIRONMENT stuff work yet again.
+ Clean up calling sequence of child_setup.
+
+1986-12-31 Richard M. Stallman (rms at prep)
+
+ * search.c (search_command): abort before setting point
+ if new point value is out of range.
+
+ * buffer.c (Fbuffer_enable_undo): New function.
+
+1986-12-26 Richard M. Stallman (rms at prep)
+
+ * casefiddle.c (casify_region): Don't upcase within word
+ for CASE_CAPITALIZE_UP.
+
+1986-12-24 Richard M. Stallman (rms at prep)
+
+ * window.c (save_window_save_1):
+ Don't make windows for start, pointm and mark fields
+ of windows without buffers; just store nil there.
+ Also store nil in start_at_line_beg field (was uninitialized
+ and that caused crash in GC).
+
+ * window.c (all functions): Add register declarations.
+
+ * window.c (Fsave_window_excursion):
+ Don't gcpro the saved window status. The specpdl does it.
+
+1986-12-23 Richard M. Stallman (rms at prep)
+
+ * search.c: static_BM_tab should not be initialized.
+
+1986-12-22 Richard M. Stallman (rms at prep)
+
+ * term.c (term_init): Default Wcm.cm_tab to 0 if no `ta' string.
+
+ * fns.c: MASSCOMP_REGISTER_BUG => MASSC_REGISTER_BUG
+
+ * fns.c (Fnth): Moved from subr.el.
+ * keymap.c (Fcopy_keymap): Moved from subr.el.
+
+ * xdisp.c: Delete this_line_hpos; last dispnew change ends
+ need for it, and it was causing incorrect positioning
+ after direct_output_for_self_insert.
+
+ * fns.c: Avoid warning if param.h defines BSD4_3.
+
+ * dispnew.c (update_screen): Don't actually alter
+ cursX and cursY when putting cursor in echo area.
+
+1986-12-21 Richard M. Stallman (rms at prep)
+
+ * window.h: New window field window_end_valid.
+ window_end_pos is now always positive; validity info
+ is in window_end_valid, which is t for valid and nil for not.
+
+ * xdisp.c: Changed all uses of window_end_pos to use
+ window_end_valid appropriately as well.
+
+ * process.c (wait_reading_process_input):
+ read_kbd is now a process pointer to wait for input
+ from one process. Return immediately if that process
+ is not running.
+
+ * process.c (Faccept_process_output):
+ Pass process pointer to wait_reading_process_input.
+
+1986-12-20 Richard Mlynarik (mly at prep)
+
+ * keyboard.c (Fsuspend_emacs):
+ If `suspend-emacs-hook' returns t don't suspend
+ -- assume the hook did the equivalent of `suspending' for us
+ (including calling suspend-resume-hook if necessary.)
+ Otherwise, call sys_suspend and so forth normally.
+
+1986-12-20 Richard M. Stallman (rms at prep)
+
+ * buffer.c (Frename_buffer): If have auto save file but
+ no visited file, call rename-auto-save-file (a Lisp function).
+
+ * buffer.c: add lots of register declarations.
+ (list_buffers_1): combine local `mode' with `tail'.
+
+1986-12-20 Richard Mlynarik (mly at prep)
+
+ * xdisp.c (DoDsp and this_line_*):
+ Rename this_line_hpos -> this_line_start_hpos.
+ New variable this_line_hpos is cached horizontal position
+ on screen of point.
+
+ Make this_line_* static variables.
+
+ In DoDsp, rearrange the tests to see whether to use cached
+ line info to be a little faster.
+ Fix some bugs in which cursX and cursY might not be updated
+ correctly when using cached info (needed to add this_line_hpos
+ variable to do this correctly)
+ (Added unnecessary gotos and label `cancel' for added readability)
+
+ * fns.c (Fy_or_n_p):
+ Move cursor to start of line after reading answer so
+ user knows emacs is proceeding. (Like after minibuffer exits)
+
+ * dispnew.c (Fopen_termscript):
+ Arg of nil means to close current termscript file (if any)
+
+ * keymap.c (Fwhere_is_internal):
+ Doc fix.
+
+ * indent.c, search.c, xdisp.c:
+ All callers of ScanBf were searching for '\n'
+ Rename this function find_next_newline and drop first arg.
+
+ * indent.c (Fvertical_motion):
+ Doc string addition.
+
+ * keyboard.c (EchoThem):
+ Test for echo_keystrokes > 0, rather than echo_keystrokes != 0
+
+ * keyboard.c (get_char, read_key_sequence):
+ Echo immediately if cursor_in_echo_area, otherwise
+ can have the confusing situation of the cursor appearing at the
+ start of the echo area, but not have any echo appear until one
+ second later.
+
+1986-12-17 Richard M. Stallman (rms at prep)
+
+ * editfns.c: Add register declarations and a few vars for cses.
+ * editfns.c (Fchar_equal): Avoid indexing downcase_table
+ with numbers larger than 0xff.
+
+1986-12-16 Richard M. Stallman (rms at prep)
+
+ * alloc.c: New garbage collection technique for strings.
+
+ Strings that have string blocks individually allocated
+ are called "large strings". Other strings are called "small".
+
+ The string blocks for small strings are now chained both ways and
+ there is a pointer to the oldest one of them in `first_string_block'.
+ The string blocks for large strings are chained only from the
+ latest to the oldest, and the latest is in `large_string_blocks'.
+
+ Garbage collection starts by setting MARKBIT in the `size' of
+ each large string. This allows mark_object to distinguish them.
+ MARKBIT in string sizes is cleared by gc_sweep.
+
+ Large strings are freed individually by GC, like vectors.
+ Those in use are marked with ARRAY_MARK_FLAG in the `size' field.
+
+ Small strings are relocated, compressing them within their
+ string blocks.
+ mark_object puts all slots that point at a string onto a chain
+ which runs from the string's `size' field, through all the slots
+ that used to point at the string. The end of the chain is shown
+ by a number that is small enough to be a small string's length.
+
+ This new technique avoids calling malloc during GC. Thus, there
+ is no danger of fatal error on exhausting memory. Also, space
+ needed for strings is cut in half.
+
+ The new technique introduces a potential for bugs, however.
+ If any slot is marked twice--for example, if it is GCPRO'd
+ twice by different functions--and it contains a string,
+ the ref chain of the string may become garbled. Sometimes
+ it will still work! This is because a slot that's part of a
+ string's ref chain will look like a Lisp_Int if the next thing
+ in the chain is malloc'd memory. But this will not win if the
+ next thing in the chain is a stack slot, or if malloc'd data
+ lives high up in memory.
+
+ To avoid this problem, MARKBIT is used in stack slots
+ to prevent double marking.
+
+ * bytecode.c (Fbytecode): Adjustment of gcpro1.nvars before
+ call to Ffuncall was off by one.
+
+ * alloc.c (make_uninit_string): make_zero_string renamed as this
+ and no longer zeros the contents.
+ * alloc.c (Fmake_string): initialize string contents.
+
+ * alloc.c (struct string_block): Now chained both ways thru
+ `next' and `prev' fields. `first_string_block' exists.
+ Strings with individual string blocks are now called "large"
+ and these string blocks go in a separate chain which starts
+ from `large_string_blocks' and runs via `prev' fields only.
+
+ * alloc.c: Stop using clear_marks. Make gc_sweep clear
+ the marks on all live objects.
+
+ * alloc.c (malloc_warning, Fgarbage_collect): Eliminate mechanism
+ that defers malloc warnings during GC, since GC no longer calls
+ malloc.
+
+ * fns.c: Fding requires an arg; pass Qnil.
+
+ * m-alliant.h: define TEXT_START as 0x1000.
+ Don't define LIBS_STANDARD; the default (sharable) library
+ is said to work now.
+
+ * alloc.c (mark_object): Now pass address of slot being marked.
+ mark_object itself can alter the slot when necessary.
+ It now returns no value. All callers changed to pass the address.
+
+ mark_object can now ignore the mark bit if it's set in the slot.
+ Callers need no longer make a copy in which mark bit is clear.
+ mark_object can clear the mark bit so these callers must still
+ set the mark bit again after calling mark_object on such slots.
+
+1986-12-15 Richard M. Stallman (rms at prep)
+
+ * process.c (create_process): TIOCNOTTY needs no 3rd arg after all.
+ * sysdep.c (set_exclusive_use): ditto for FIOCLEX.
+
+ * emacs.c (Fdump_emacs): [ALLIANT]
+ Copy _curbrk into save_curbrk, not vice versa.
+
+1986-12-13 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (flush_pending_output): 3rd arg to TIOCFLUSH
+ now is address of word containing zero. It matters.
+
+ * editfns.c (Fformat): Fix another error in previous bug.
+
+1986-12-12 Richard M. Stallman (rms at prep)
+
+ * Version 18.33 released.
+
+ * data.c: Add many register declarations.
+
+ * editfns.c (Fformat): Last change left `n' one too small.
+
+1986-12-11 Richard M. Stallman (rms at prep)
+
+ * keyboard.c (Fsuspend_emacs): Pass no args to the
+ suspend-resume-hook. Also call a new hook, `suspend-hook',
+ before suspending.
+
+ * search.c (search_buffer): In inner loop of BM search,
+ decide dynamically whether signed or unsigned comparison
+ of p_limit vs cursor will give the right results
+ and use the kind that will work.
+
+1986-12-11 Richard Mlynarik (mly at prep)
+
+ * emacs.c, dispnew.c:
+ Rename inhibit_x_windows inhibit_window_system.
+ Understand "-nw" command-line option.
+ Reorganise init_display a little to make other window-system
+ code easier to accommodate.
+
+ * editfns.c (Fformat):
+ Move the increment of the number of args the format string wants.
+ Share code for various kinds of arguments converted to strings.
+
+1986-12-10 Richard M. Stallman (rms at prep)
+
+ * commands.h: Declare cursor_in_echo_area.
+ * dispnew.c (init_display): initialize it.
+ * dispnew.c (syms_of_display): make Lisp variable for it.
+ * dispnew.c (update_screen): If cursor_in_echo_area not 0,
+ set cursor position after last char on last screen line.
+ * fns.c (Fy_or_n_p): Set cursor_in_echo_area while read answer.
+
+ * data.c (Fset_default): if RTPC_REGISTER_BUG defined,
+ don't declare `b' register.
+ * m-ibmrt.h: Define RTPC_REGISTER_BUG.
+
+ * print.c (print, case Lisp_Window):
+ Add temp var `p' to help RT/PC compiler.
+ Declare printcharfun register.
+
+1986-12-09 Richard Mlynarik (mly at prep)
+
+ * editfns.c (Fformat):
+ `%%' doesn't take an `arg'
+
+ * doc.c (Fsubstitute_command_keys):
+ Fix stupid mistakes and errors. Rename many local variables
+ and rearrange some code.
+
+1986-12-07 Richard Mlynarik (mly at prep)
+
+ * xfns.c (Fx_flip_color):
+ Missing paren in DEFUN arglist.
+
+1986-12-06 Richard M. Stallman (rms at prep)
+
+ * Version 18.32 released.
+
+ * process.c ({read,handle}_process_output):
+ Combine handle_process_output into read_process_output.
+ Check for case where read returns -1.
+
+1986-12-05 Richard M. Stallman (rms at prep)
+
+ * process.c (read_process_output): Read only one buffer worth
+ and return without trying to read more. It used to loop
+ until all output was gobbled. Now some callers do this loop
+ but not all of them.
+
+ * process.c (change_msgs): Call read_process_output repeatedly
+ until it returns 0 (no chars were read).
+
+ * term.c (write_chars): loop counting repeated chars leaves
+ p at second nonrepeated char. Decrement p after the loop.
+
+ * process.c (create_process): Use set_exclusive_use;
+ don't use FIOCLEX directly.
+
+ * sysdep.c (flush_pending_output):
+ Pass a valid address as third arg to TIOCFLUSH, just in case.
+ * sysdep.c (set_exclusive_use): Likewise, with FIOCLEX.
+ * process.c (create_process): Likewise, with TIOCNOTTY.
+
+ * xfns.c (XCleanUp): Pass Qt to Fdo_auto_save.
+
+ * xfns.c (Fx_rubber_band): Set screen_garbaged.
+
+ * doc.c (Fsubstitute_command_keys):
+ Use Fwhere_is_internal instead of where_is_in_buffer.
+ New construct =<MAPVAR> means use value of MAPVAR
+ as local map when calling Fwhere_is_internal.
+
+ * keymap.c (Fwhere_is_internal, where_is_in_buffer):
+ Combine the two functions. This adds two arguments to
+ Fwhere_is_internal: KEYMAP and FIRSTONLY.
+ To get the old behavior, KEYMAP must be (current-local-map).
+ Therefore, KEYMAP is a mandatory operand for Lisp callers.
+
+ * keymap.c (Fwhere_is): Pass new args to Fwhere_is_internal.
+ * keymap.c (apropos1): Call Fwhere_is_internal instead of
+ where_is_in_buffer.
+
+ * search.c (Freplace_match): Check type of first arg.
+
+ * abbrev.c (Fexpand_abbrev): For abbrev with hook,
+ run the hook in addition to (and following) insertion
+ of the expansion in the usual way.
+
+ * editfns.c (Fformat): [MLY]
+ Compute number of args needed by format string; then
+ convert args from Lisp_Object to int or char *, defaulting
+ any not specified.
+
+ Don't GCPRO; should not be needed since eval is not called.
+
+ * editfns.c (format1): Args are ints or char *'s,
+ not Lisp_Objects. Call them ints.
+
+1986-12-04 Richard Mlynarik (mly at prep)
+
+ * xfns.c (Fx_debug):
+ Return Lisp_Object
+
+1986-12-01 Richard Mlynarik (mly at prep)
+
+ * xfns.c (Fx_set_font):
+ Don't die if font is "" (I believe this to be an X bug)
+ Also, add interactive specs for Fx_set_(internal_)border_width.
+
+ * lread.c (oblookup):
+ Don't core-dump if data in obarray is invalid
+
+1986-12-01 Richard M. Stallman (rms at prep)
+
+ * m-att3b.h: on 3b2, 3b5 and 3b15, #define C_OPTIMIZE_SWITCH null
+ since -O triggers compiler bug affecting push_key_description.
+
+1986-11-28 Richard Mlynarik (mly at prep)
+
+ * keyboard.c (read_key_sequence):
+ Delay setting up the local vars pointing to keymaps until a
+ character has been read. This is in order that a change of keymap
+ `behind our back' (eg due to a subprocesses action) will be seen.
+
+ * xterm.c:
+ Typo.
+
+1986-11-26 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (get_system_name):
+ Eliminate internal static var in USG case.
+
+ * lisp.h: New case testing and conversion macros
+ UPPERCASEP, LOWERCASEP, NOCASEP, UPCASE, DOWNCASE.
+ They all work from downcase_table.
+
+ * casefiddle.c (casify_object, casify_region):
+ Use those macros. Create an enum type for the flags
+ and change the flag names to avoid conflict with the macros.
+
+ * abbrev.c (Fexpand_abbrev): Use those macros.
+ * editfns.c (init_editfns):
+ * fns.c (y-or-n-p):
+ * keymap.c (access_keymap):
+ * fileio.c (report_file_error):
+ * process.c (change_msgs):
+
+ * search.c (Freplace_match): Use upcase_initials_region
+ insead of duplicating it.
+
+ * keyboard.c (Frecursive_edit): If not the top-level edit,
+ specbind standard-output and standard-input to t.
+ * keyboard.c (command_loop_1): Don't set those two vars.
+ This avoids clobbering them permanently when minibuffer is used.
+
+1986-11-25 Richard M. Stallman (rms at prep)
+
+ * callproc.c (child_setup): New arg `envlen' is length
+ of the list Vprocess_extra_environment.
+ This list's elements (strings) are put at the front of
+ the environment for the other program.
+
+ * callproc.c (Fcall_process): Some rearrangement of
+ local variables for more register decls. Compute
+ and pass `envlen' arg to child_setup.
+
+ * process.c (create_process): Compute and pass `envlen' arg
+ to child_setup.
+
+ * xterm.c (x_term_init): Don't call XPopUpWindow at all.
+ Leave it for the term-setup-hook (see lisp/term/x-win.el).
+
+ * keyboard.c (syms_of_keyboard):
+ Delete defsubr for usg-suspend-emacs.
+
+ * fns.c, m-masscomp.h: Rename MASSCOMP_REGISTER_BUG
+ to MASSC_REGISTER_BUG to avoid shortnames confusion on V.0.
+
+ * dispnew.c (direct_output_for_{self_insert,forward_char}):
+ These functions now return 0 if did nothing or 1 if did display.
+ * keyboard.c (command_loop_1): Notice the returned values.
+
+ * window.c (change_window_height):
+ Add new variable delta1 so no need to use delta
+ for two different things.
+ Making window bigger to equal its parent's size used to crash.
+ Fix it by different way of computing delta1 in that case.
+ Move some variable decls to inner blocks and add "register".
+
+1986-11-24 Richard M. Stallman (rms at prep)
+
+ * buffer.h: `modtime' field = 0 now means no info on visited file.
+ Nonexistent visited file now represented by -1.
+
+ * fileio.c (Fverify_visited_file_modtime):
+ Adjust for changed meaning of `modtime'.
+
+ * fileio.c (Finsert_file_contents):
+ If visiting and file doesn't exist, finish visiting (updating
+ various buffer slots) before getting error, and set modtime to -1.
+
+ * bytecode.c (Fbytecode): Rarrange all the Bvarref cases to
+ share most of the code. Likewise for Bvarset, Bvarbind
+ and Bunbind cases. Makes it smaller and makes all
+ Bvarrefs use the fast inline code.
+
+ * keymap.c (Fdefine_key, Flookup_key):
+ Regard chars 0200 and up as equivalent to 2 char sequences
+ starting with meta_prefix_char.
+
+ * search.c (search_buffer and callers):
+ Complete rewrite from king@kestrel using simplified Boyer-Moore
+ algorithm. Meaning of returned value changed.
+ * search.c (bcmp_buffer_translated): No longer used; deleted.
+
+ * search.c (ScanBf, scan_buffer): complete rewrite of ScanBf
+ and nearly all is now in scan_buffer, a new function.
+ * cmds.c (Fforward_line): Complete rewrite; now calls scan_buffer.
+
+ * search.c (Fscan_buffer): Delete this.
+ * bytecode.c (Fbytecode): Just get error if Bscan_buffer is used.
+
+ * ymakefile: Rename TEXT_START_ADDR to LD_TEXT_START_ADDR
+ to avoid shortname trouble (ymakefile is processed thru
+ the system's cpp).
+
+ * sysdep.c (init_sys_modes): Change #ifdef USG to #ifdef _IOFBF
+ around the call to setvbuf.
+
+ * sysdep.c (bcopy): declare it to return int
+ so that a forward declaration is not needed
+ so there is no problem defining it as a macro.
+
+ * fileio.c (Fwrite_region): Don't try fsync on 4.1bsd.
+
+1986-11-23 Richard M. Stallman (rms at prep)
+
+ * eval.c (record_unwind_protect, specbind, unbind_to, Funbind_protect):
+ struct specbind now has a new slot `func'. An internal
+ unwind-protect stores the C function address there; else it's 0.
+ Lisp_Internal_Function data type no longer used.
+ Result is no more dependency on where in the address space
+ function addresses are found.
+
+ * xterm.c (x_term_init): Better message if server does not
+ respond.
+
+ * version 18.31 released.
+
+ * xterm.c, xfns.c (Vxterm1): Lisp var `xterm' now points at
+ Vxterm1, which is initialized like Vxterm but never examined.
+
+ * xterm.c (XTread_socket): Use C-x C-@ to indicate mouse click.
+
+1986-11-22 Richard M. Stallman (rms at prep)
+
+ * bytecode.c (Fbytecode): Turn on immediate_quit for Bnth loop.
+
+ * keymap.c (Fcurrent_global_map): New function
+ that returns the current global map.
+
+1986-11-21 Richard M. Stallman (rms at prep)
+
+ * emacs.c (main, Fdump_emacs): [ALLIANT] save _curbrk
+ before dumping and restore when starting dumped Emacs.
+
+ * process.c (wait_reading_process_input):
+ [ALLIANT] if select returns with EFAULT, just set Available = 0.
+ [always] copy errno right after the select and check the copy
+ in case another system call could alter it in between.
+
+ * m-alliant.h, m-mg1.h: New machines supported.
+
+ * ymakefile: Make START_FILES a preprocesser variable
+ and don't change it if already defined.
+ * m-gould.h: Move special gould value of START_FILES here.
+
+ * fileio.c (syms_of_fileio): Define variable vms-stmlf-recfm.
+ * sysdep.c (sys_creat): If vms_stmlf_recfm is nonzero,
+ create new files with rfm=stmlf.
+
+1986-11-20 Richard M. Stallman (rms at prep)
+
+ * eval.c (unbind_catch): Don't ref thru handlerlist if null.
+
+ * keyboard.c (Fusg_suspend_emacs): Delete this.
+ * sysdep.c (sys_suspend): Put in USG_JOBCTRL
+ method of suspending with ptrace.
+
+1986-11-19 Richard M. Stallman (rms at prep)
+
+ * xterm.c (x_term_init): Delete attempt to set up
+ a handler for SIGIO. This was normally overridden in
+ init_keyboard so it didn't matter; but this handler
+ is invalid, so it crashed if it ever did get called.
+
+ * indent.c (compute_motion): Fix screwy #if celerity || ATT3B
+ which is invalid.
+
+1986-11-18 Richard M. Stallman (rms at prep)
+
+ * keyboard.c (command_loop_1):
+ Must check to reselect buffer and flush minibuf message
+ before trying fast_read_single_key. Else have lossage
+ typing printing chars when minibuf message is displayed.
+
+ * keyboard.c (Fsuspend_emacs):
+ Execute suspend-resume-hook value on resumption.
+
+ * lisp.h: Make initialized global.
+ * data.c (init_data): Undo last change; not needed now.
+
+1986-11-18 Richard Mlynarik (mly at prep)
+
+ * emacs.c (main):
+ Giving `inhibit_x_windows' an initialisation loses;
+ do it explicitly.
+
+ * xfns.c (Fx_rubber_band):
+ Make interactive.
+
+1986-11-18 Richard M. Stallman (rms at prep)
+
+ * dispnew.c (window_change_signal):
+ New function to handle SIGWINCH, defined only if SIGWINCH is.
+ Turned on in init_display if CANNOT_DUMP or if initialized.
+
+ * data.c (init_data), editfns.c (init_editfns):
+ Test initialized, not Vpurify_flag. Use explicit
+ conditionals to avoid the test when CANNOT_DUMP.
+
+1986-11-17 Richard M. Stallman (rms at prep)
+
+ * buffer.c (Ferase_buffer): Zero the buffer's save_length.
+ Future text after erase is unrelated to past text
+ so should not suspend auto saving if future text is smaller.
+
+ * buffer.c (init_buffer_once):
+ Was passing entire structure to bzero; now pass address.
+
+ * fns.c: Prevent warning in 4.3 where param.h does #define BSD
+
+1986-11-16 Richard M. Stallman (rms at prep)
+
+ * dispnew.c (init_display): Set window-system to symbol x, not "X".
+ * dispnew.c (syms_of_dispnew): Initialize window-system to nil.
+
+ * xfns.c (grey_p): Insert missing commas.
+ * emacs.c (main): Fix typo "ihhibit_x_windows".
+
+ * xterm.c (x_term_init): Delay calling XPopUpWindow
+ till after Vxterm is set. Also must include lisp.h.
+ Also always set Vxterm if CANNOT_DUMP.
+
+ * xfns.c, xterm.c: Include signal.h before xterm.h
+ because on 4.3 both of them define sigmask
+ and only xterm.h considers the case that it is already defined.
+
+ * buffer.h: Add BufferSafeCeiling and BufferSafeFloor.
+
+ * process.c (Fprocess_send_eof):
+ Now has conditional on DID_REMOTE, which is defined
+ if TIOCREMOTE is actually used.
+
+1986-11-15 Richard M. Stallman (rms at prep)
+
+ * Emacs version 18.30 *
+
+ * xdisp.c (display_string):
+ Change minwidth and maxwidth args to mincol and maxcol:
+ minimum and maximum absolute hpos to end at.
+ Change all callers (all in xdisp).
+
+ * xdisp.c (display_mode_element)
+ Similar change of minwidth and maxwidth args.
+ This permits considerable internal simplification
+ and deletion of the function display_mode_element_1.
+
+ * xdisp.c (decode_mode_spec): Flush unused arg minwidth.
+ Change call (in display_mode_element).
+
+1986-11-14 Richard M. Stallman (rms at prep)
+
+ * process.c (create_process): Don't get a pty
+ if the new variable Vprocess_connection_type is not t.
+ This is the Lisp variable process-connection-type.
+
+1986-11-13 Richard M. Stallman (rms at prep)
+
+ * crt0.c: Rename GLOBAL_START_{DOT,NO_DOT}
+ to {DOT,NODOT}_GLOBAL_START to avoid shortnames trouble.
+ * m-vax.h, m-tahoe.h, m-sequent.h: same change.
+
+ * m-att3b.h: Turn off #define VIRT_ADDR_VARIES
+ (kk says no need for it).
+
+ * keyboard.c (Fcommand_execute):
+ Zero debug_on_next_call before running the command.
+
+1986-11-12 Richard Mlynarik (mly at prep)
+
+ * data.c (Fsequencep):
+ (sequencep nil) => t
+
+ * xdisp.c (display_string):
+ Put a "|" at end of mode-lines of partial-width windows.
+
+ * xdisp.c (various):
+ mode-line-format %259 means to pad field to 259, but not to
+ truncate it.
+ (259 . <format>) also means to pad.
+ (-259 . <format>) means to truncate to 259, but not to pad.
+ [So (-259 . (259 . x)) means to format x -exactly- 259 chars wide.]
+
+ * dispnew.c (Fding):
+ Do not terminate macro-definition if given an argument
+ (This is so things like asynchronous process notifications
+ can beep but not screw)
+
+1986-11-10 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fset_file_modes): [APOLLO] must reset
+ modtime after changing the modes.
+
+1986-11-10 Richard Mlynarik (mly at prep)
+
+ * buffer.c (init_buffer_once):
+ There is no lisp variable corresponding to buffer-name
+
+1986-11-10 Richard M. Stallman (rms at prep)
+
+ * xdisp.c (display_string): Measure new line length
+ from start of line body.
+
+1986-11-09 Richard M. Stallman (rms at prep)
+
+ * lread.c (oblookup, map_obarray):
+ Do not use XFASTINT on `next' fields of symbols.
+ Fix incorrect sense of test for end of bucket.
+
+ * filelock.c (current_file_owner):
+ Fix incorrect sense of test with `kill'
+ for death of previous locker.
+
+ * keyboard.c (get_char):
+ Arg of -1 now means don't do redisplay.
+ Rearrange conditionals so detect_input_pending is not called
+ in certain cases.
+
+ * keyboard.c (read_key_sequence):
+ New arg nodisplay, nonzero means pass -1 to 1st call to get_char.
+
+ * keyboard.c (command_loop_1):
+ After a command that does direct screen updating,
+ if buffer_shared is not more than 1,
+ pass 1 for nodisplay to read_key_sequence.
+
+ * minibuf.c (Fminibuffer_depth): New function returns
+ value of MinibufDepth as a Lisp Int.
+
+ * dired.c (Ffile_attributes): Return inode # as element 10.
+
+ * dispnew.c (update_line):
+ Fix bug that noop'd the attempt to let new explicit spaces
+ match the implicit space past end of old line.
+ Also do not ignore trailing spaces in a highlighted line;
+ instead, give it more trailing spaces so it reaches the margin.
+
+1986-11-08 Richard M. Stallman (rms at prep)
+
+ * data.c (init_data): Don't call signal if purifying.
+ * ymakefile: Stop using gould-sigvec.s.
+ No longer needed now that signal really isn't called.
+ * unexec.c: Eliminate gould-specific code to
+ reinitialize gould-sigvec.s.
+
+1986-11-07 Richard M. Stallman (rms at prep)
+
+ * m-vax.h: Turn off NO_REMAP.
+
+ * sysdep.c (end_of_{data,text}): Omit them if CANNOT_DUMP.
+
+ * fileio.c (Fwrite_region): APOLLO is now like VMS
+ in doing the stat after the close.
+
+ * emacs.c (main): If APOLLO, don't call malloc_init.
+ We use the system's malloc on the Apollo.
+
+ * editfns.c (init_editfns):
+ If CANNOT_DUMP, do all the work, regardless of Vpurify_flag.
+
+ * alloc.c (mark_object): If not SWITCH_ENUM_BUG
+ don't cast the switch quantity to int.
+
+ * process.c (pty): [HPUX] Do TIOCREMOTE.
+
+ * unexec.c (makehdr): Code to adjust, default and validate
+ data_start and bss_start now common to COFF and non-COFF cases.
+
+ * unexec.c (makehdr): Param SEGMENT_MASK controls rounding of
+ memory-address of text-data boundary (default is pagemask).
+ [COFF only] SECTION_ALIGNMENT controls rounding of file addresses
+ of section beginnings; default is no rounding.
+ [non-COFF] ADJUST_EXEC_HEADER is hook to be executed
+ before filling in a_text, etc. of the header.
+
+ With these parameters, all known machines can be handled
+ with no special conditionals.
+
+ * m-sun1.h, m-sun2.h, m-isi-ov.h: Define SEGMENT_MASK.
+ * m-stride.h, m-nu.h, s-umax.h: Define SECTION_ALIGNMENT.
+ * m-masscomp.h, m-gould.h, s-hpux.h: Define ADJUST_EXEC_HEADER.
+ * m-gould.h: Define A_TEXT_OFFSET = sizeof (hdr)
+
+ * unexec.c (makehdr): Remove ibmrt conditionals
+ that adjusted a_text or equivalent, by just copying from
+ the old file when NO_REMAP.
+
+ * unexec.c (makehdr): Zero supplied as entry_address
+ means copy it from the old file.
+ * emacs.c (Fdump_emacs): Pass 0 as entry_address to unexec.
+
+ * unexec.c (copy_text_and_data):
+ Two fixes for A_TEXT_OFFSET case:
+ Don't decrement `end', and remove (unconditionally)
+ the lseek before writing the data segment.
+
+1986-11-06 Richard M. Stallman (rms at prep)
+
+ * keymap.c (apropos1): Use Fdocumentation_property, not Fget,
+ for doc strings of variables.
+
+1986-11-05 Richard Mlynarik (mly at prep)
+
+ * m-att3b.h:
+ #define TEXT_START 0
+
+1986-11-05 Richard M. Stallman (rms at prep)
+
+ * alloc.c (Fcons, Fmake_symbol, Fmake_marker, gc_sweep):
+ The free-list pointers in symbols, conses and markers
+ are now C pointers cast as ints and stored in the XFASTINT.
+ This may make faster code and in any case avoids problems
+ with machines where access with XPNTR relocates the pointer.
+
+ * lread.c (oblookup, map_obarray):
+ Use XFASTINT when comparing a Lisp_Object against zero.
+
+ * minibuf.c (read_minibuf):
+ If noninteractive, print the prompt, since
+ it won't be displayed in the normal way.
+ In any case, pass Fread the string rather than a buffer
+ when reading an s-expression.
+
+ * auxdoc.c, callint.c, syntax.c, ymakefile:
+ Copy fake-DEFUNs from auxdoc.c into comments
+ preceding the real DEFUNs for the same functions.
+ auxdoc.c is no longer in use.
+
+ * fileio.c (Fread_file_name_internal):
+ [VMS only] Return t if file name is null string.
+
+1986-11-04 Richard M. Stallman (rms at prep)
+
+ * buffer.c (Fget_buffer_create):
+ For default-major-mode = nil case, use fundamental-mode
+ if old buffer's mode name has a non-nil mode-class property.
+ Requires creating Qmode_class to hold the symbol mode-class.
+
+ * s-hpux.h: #undef HAVE_PTYS because of problems with
+ scheme running as an inferior on a pty.
+ jinx@prep requested this.
+
+ * lread.c (check_obarray & its callers): eliminate 2nd arg.
+ Also, don't confuse types int and Lisp_Object.
+ If invalid value matches Vobarray, store a valid Vobarray.
+
+ * editfns.c (Fformat): Don't use an initialization for tem
+ since it is a Lisp_Object and that can be a struct.
+
+ * minibuf.c (Ftry_completion, Fall_completions):
+ Use XFASTINT when testing `bucket' for nonzero or
+ setting it to zero.
+
+ * callint.c (Fcall_interactively): If visargs[i] is nil,
+ don't try to reference it as a string.
+
+ * doc.c (FSnarf_dcumentation):
+ Was assuming exec-path was a string. Fixed to use
+ exec-directory instead, and to validate its data type first.
+
+1986-11-04 Richard Mlynarik (mly at prep)
+
+ * m-isi.h => m-isi-ov.h
+
+1986-11-04 Richard M. Stallman (rms at prep)
+
+ * buffer.c (init_buffer_once):
+ Avoid casts from int to Lisp_Object (which would lose
+ if NO_UNION_TYPE is not defined); use XFASTINT.
+
+1986-11-03 Richard Mlynarik (mly at prep)
+
+ * xterm.c (stufflines):
+ Initialise signal mask.
+
+ * xterm.h:
+ Add definition of sigmask
+
+1986-11-01 Richard Mlynarik (mly at prep)
+
+ * m-sun3.h:
+ #undef sun2 ? #define sun3
+
+ * termcap.c:
+ Include Dave Genzel @ Unilogic's VMS termcap stuff.
+
+ * termcap.c:
+ #ifdef emacs ? #include config.h
+
+ * fileio.c, fns.c, m-vax.h:
+ Fixes for VMS cpp. (#undef foo -> #ifdef foo ? #undef foo)
+
+1986-10-31 Richard Mlynarik (mly at prep)
+
+ * vmsmakefile (new file)
+
+ * crt0.c, unexec.c, m-isi.h (new file):
+ Integrated Solutions 68k port.
+
+1986-10-30 Richard Mlynarik (mly at prep)
+
+ * m-vax.h (USG-only changes):
+ #define NO_REMAP (I don't understand exactly why one needs to do
+ this -- is there an unexec bug?)
+ #define TEXT_START = 0, since C code can't access `start' symbol.
+
+ * lisp.h, sysdep.c, indent.c, m-att3b.h:
+ USG and att3bxxx changes from karl@ohio-state.arpa
+ Define NO_REMAP, undefine LD_SWITCH_MACHINE
+
+ * buffer.c (Fbuffer_local_variables):
+ Return correct values when buffer is selected-buffer
+
+ * keyboard.c (cmd_error):
+ non-zero exit status on error.
+
+ * filelock.c:
+ Don't get MPV if buffer-file-name isn't a string or nil.
+
+1986-10-29 Richard Mlynarik (mly at prep)
+
+ * keymap.c (Flookup_key, Fdefine_key):
+ Don't bomb on zero-length strings.
+
+ * filelock.c (Ffile_locked_p):
+ New function.
+
+ * window.c (Fset_window_hscroll):
+ Don't inhibit redisplay optimisations if hscroll is same.
+
+ * ymakefile:
+ rm ../etc/DOC to avoid make-docfile overwriting any files which
+ were linked to it (unix sucks)
+
+1986-10-28 Richard Mlynarik (mly at prep)
+
+ * vmsmap.c, termcap.c, sysdep.c, config.h-dist:
+ VMS changes from Sasaki
+
+ * termcap.c (tgetent):
+ Make sure `indirect' initialised.
+
+ * xfns.c (grey_p and callers):
+ New function to compensate for ugly chauvinistic American
+ spelling.
+
+ * keymap.c (describe_*):
+ Don't mention keys in global map which are shadowed by
+ local bindings
+
+ * dispnew.c, sysdep.c, dired.c:
+ Eschew ^#if.*defined (for VMS' sake)
+
+ * keymap.c (Fkeymapp, Flookup_key):
+ Add QUIT test.
+
+1986-10-27 Richard Mlynarik (mly at prep)
+
+ * callproc.c, fileio.c:
+ VMS changes (make environ noshare, don't call fsync)
+
+1986-10-26 Richard Mlynarik (mly at prep)
+
+ * sysdep.c, unexec.c, ymakefile:
+ Gould changes. (marick%cthulhu@gswd-vms.ARPA)
+
+ * gould-sigvec.s:
+ New file.
+
+ * m-gould.h:
+ New file (for utx/32 2.0 and above)
+ Old file renamed m-ogould.h. See etc/MACHINES
+ for more information.
+
+ * unexec.c (make_hdr):
+ Typo "#ifdef A_TXT_OFFSET" should be "A_TEXT_OFFSET"
+
+1986-10-22 Richard Mlynarik (mly at prep)
+
+ * keyboard.c, keymap.c:
+ Move Fexecute_extended_command from keymap.c to keyboard.c rather
+ than make kludgy static vars global.
+
+ In Fexecute_extended_command record `(this-command-keys)' and
+ `last-command' accurately.
+
+ * emacs.c (main), dispnew.c (init_display):
+ Add -nx flag, meaning to inhibit X windows and just run in the
+ current virtual terminal. (Perhaps there should be a generic flag
+ to disable any special window-system code)
+ Add Vwindow_system variable.
+
+ * search.c (Fstring_match):
+ Do range-checking on `start' argument.
+
+1986-10-21 Richard Mlynarik (mly at prep)
+
+ * xterm.c, xfns.c (x_term_init, x_change_display):
+ Share command code, and make that code use
+ {request,unrequest,init}_sigio
+
+ * term.c (init_display):
+ Determine whether we are under X by whether DISPLAY env var is
+ set, not by whether TERM is "xterm"
+
+ * xterm.c (x_term_init):
+ Remove (if (!initialized) ...) test.
+ Set Vxterm directly, rather than calling setxterm (flush latter)
+
+ * lread.c (various):
+ Changes for when can't take XSYMBOL of 0 and to make check_obarray
+ code work correctly.
+
+1986-10-20 Richard Mlynarik (mly at prep)
+
+ * m-stride.h, process.c, sysdep.c, unexec.c:
+ Stride changes.
+
+1986-10-18 Richard Mlynarik (mly at prep)
+
+ * buffer.c:
+ Made default-major-mode same as (default-value 'major-mode) to
+ avoid user confusion.
+
+1986-10-17 Richard Mlynarik (mly at prep)
+
+ * cmd.c, process.c:
+ Doc fixes from sjk
+
+ * buffer.c (init_buffer_once):
+ Do x = (Lisp_Object) 1 instead of (int) x = 1 for benefit of vms
+ and pyramid compilers.
+
+ * minibuf.c (Ftry_completion):
+ Test (bucket), not (XSYMBOL (bucket)) since Lisp_Objects may not
+ be able to be 0 on some implementations.
+
+ * editfns.c (Fformat):
+ Have to duplicate doprnt's work of decoding the
+ format-string top ensure that don't die on (format "%s" 0)
+ Also, use prin1-to-string to get PR for random objects
+
+ * m-celerity.h:
+ HAVE_ALLOCA
+
+1986-10-16 Richard Mlynarik (mly at prep)
+
+ * m-att3b.h:
+ New file -- replaces m-3b20.h
+
+ * alloca.c, fileio.c, indent.c, unexec.c, ymakefile:
+ Bugs and fixes for att3b (and usg)
+ Use a global static var rather than a local one
+ to record the last block allocated by alloca.
+
+ * fileio.c (Fverify_visited_file_modtime):
+ If a formerly-nonexistent file has been created since we ``found''
+ it, say there is a discrepancy.
+
+1986-10-14 Richard Mlynarik (mly at prep)
+
+ * callint.c (Fprefix_numeric_value):
+ Doc typo.
+
+ * malloc.c, regex.c:
+ Nuke "#if defined..." for VMS
+
+1986-10-12 Richard Mlynarik (mly at prep)
+
+ * xdisp.c (many functions):
+ Rearrange the way in which the mode-line stuff is hacked:
+ in particular, display_string doesn't have a special-case
+ for %-escapes -- this is now all done in display_mode_element.
+ This was necessary to make %M work correctly.
+ Also, fix a few bugs (buffer-name truncation could cause
+ core-dump)
+
+ Dike out global-minor-modes. This wasn't actually being used by
+ anything (due to a bug) and wasn't even being initialised!
+ minor-mode-alist does what this thought it was doing.
+
+1986-10-11 Richard Mlynarik (mly at prep)
+
+ * doc.c (FSnarf_documentation):
+ In CANNOT_DUMP case wasn't treating PATH_EXEC as a path --
+ now uses exec-path instead.
+
+ * lisp.h:
+ Get rid of #if defined... for benefit of vms
+
+1986-10-09 Richard Mlynarik (mly at prep)
+
+ * abbrev.c (Funexpand_abbrev):
+ Preserve position of point.
+
+1986-10-07 Richard Mlynarik (mly at prep)
+
+ * s-hpux.h:
+ #define HAVE_PTYS
+
+ * alloca.c:
+ Make some attempt to work in the USG case where "#define static"
+ is done.
+
+ * keyboard.c:
+ #undef FIONREAD in HPUX (seems to be unimplemented or broken)
+ The only reason this ever seemed to work was because of a bug in
+ v17.
+
+ * sysdep.c (child_setup_tty):
+ HPUX was defaulting terminal speed to 300 baud.
+
+ * alloca.s:
+ New hp9000 C function calling sequence.
+
+ * fileio.c (Fexpand_file_name):
+ Fix bug in (expand-file-name ".." "/foo/")
+
+ * callint.c (Fcall_interactively):
+ Remove extreme weirdness of storing (int) "" where a Lisp_Object
+ was expected (in visargs)
+ Slighly more informative error message for bad interactive code
+ letter.
+
+ * abbrev.c (Funexpand_abbrev):
+ Was deleting length of original text rather than length of
+ expanded abbrev.
+
+ * abbrev.c (Fexpand_abbrev):
+ Add an Fundo_boundary so that undo works to unexpand
+ abbrevs.
+
+1986-10-03 Richard M. Stallman (rms at prep)
+
+ * ymakefile: Make LIBS_STANDARD the last libs loaded.
+
+ * xterm.c: Load sys/types.h explicitly if xterm.h doesn't do it.
+
+ * keyboard.c (interrupt_signal):
+ Delete suprious `)' in HAVE_X_WINDOWS case.
+
+1986-10-03 Richard Mlynarik (mly at prep)
+
+ * sysdep.c (sys_suspend -- fake suspend case)
+ Missing comment */ terminator
+
+1986-10-02 Richard Mlynarik (mly at prep)
+
+ * search.c:
+ There may be `holes' in regexp registers after a match: consider
+ matching "z" against "\\(\\(xyzzy\\)\\|\\)\\(z\\)" -- then
+ register 2 is unmatched, whilst registers 0, 1 and 3 have matches.
+ Fix register-hacking code in Flooking_at, search_buffer,
+ Fmatch_data, Fstore_match_data.
+
+ * crt0.c:
+ HP200 floating-point (sigh -- needed for load-average)
+
+ * sysdep.c (HPUX perror):
+ Should be "perror" not "_perror" -- communication foulup, sorry.
+
+1986-10-01 Richard M. Stallman (rms at prep)
+
+ * marker.c (Fcopy_marker): Was stupidly failing to put
+ the new marker on the buffer's chain. Fix to go thru Fset_marker.
+ This really does fix the crashes in GC.
+
+ * sysdep.c (for HPUX): Define utimes and _perror as no-ops.
+
+ * marker.c (Fset_marker): If attempt to set marker
+ to point to a dead buffer, set it to point nowhere.
+
+ * buffer.c (Fkill_buffer): Clear out the buffer's markers chain.
+
+ * keyboard.c (interrupt_signal):
+ Turn off the double-C-g feature when running under X windows.
+
+1986-09-29 Richard M. Stallman (rms at prep)
+
+ * search.c: search_regs elements are now the correct character
+ numbers or string indices. 1 is not added when they are used;
+ instead the values are corrected just after regex library returns.
+ The loops to do this exit at the first -1 (unused register).
+
+ * alloca.s: Convert HP9000 code to new assembler syntax.
+ Rename flag hp9000s200 to hp9000. [mly]
+
+ * crt0.c: Convert HP9000 code to new assembler syntax. [mly]
+
+ * buffer.c (Fdelete_buffer_internal): Unused; deleted.
+
+ * marker.c (unchain_marker):
+ Dump core if first marker on buffers marker list
+ does not have that buffer as its buffer.
+ May help find bug where after GC a buffer's first marker
+ was on the free list.
+
+ * keyboard.c (cmd_error): In -batch, die after error message.
+
+ * bytecode.c (Fbytecode):
+ Open-code Bvarref with one-byte arg.
+
+ * callproc.c (init_callproc): Use only first element of
+ Vexec_path to make Vexec_directory. [mly]
+
+1986-09-28 Richard M. Stallman (rms at prep)
+
+ * data.c (Fsymbol_value): use assq_no_quit instead of Fassq.
+ * fns.c (assq_no_quit): Like Fassq but never quits or gets errors.
+
+ * keyboard.c (quit_throw_to_get_char):
+ * eval.c (Fsignal):
+ Call quit_error_check.
+ * dispnew.c (quit_error_check):
+ Dump core if DesiredScreen is not full of zeros.
+ This is to catch the bug wherein DoDsp called from get_char
+ died because DesiredScreen was full of lines already.
+
+1986-09-26 Richard Mlynarik (mly at prep)
+
+ * regex.c (re_match_2), search.c (various):
+ The registers modified by re_{search,match}{,_2}
+ now have start and end of -1 if that register was
+ not used in the match found.
+ Fmatch_data now returns a list of twice the number of registers
+ -actually- used (including register 0, for the whole match)
+
+ * process.c (Fwaiting_for_user_input_p):
+ New function for use by process-filters and sentinels
+ so they can determine if it might be an appropriate time
+ to try to make some sort of asynchronous notification.
+
+1986-09-26 Richard M. Stallman (rms at prep)
+
+ * keymap.c (syms_of_keymap): Add missing defsubr
+ for Fdefine_prefix_command,
+
+ * abbrev.c (Fexpand_abbrev): Save original text of the abbrev
+ in Vlast_abbrev_text.
+ * abbrev.c (Funexpand_abbrev): Restore the original text.
+ Thus expand and unexpand preserves case.
+ Also, if there is no abbrev to unexpand, do nothing.
+ * abbrev.c (syms_of_abbrev):
+ Turn Lisp variables last-abbrev and last-abbrev-text back on.
+ * abbrev.c (Flast_abbrev_expansion): Delete this function.
+
+1986-09-25 Richard M. Stallman (rms at prep)
+
+ * window.c (Fwindow_width): return a value one smaller
+ for partial-width windows that contain a | border.
+
+ * macros.c: Remove Fname_last_kbd_macro (moved to macros.el).
+
+1986-09-25 Richard Mlynarik (mly at prep)
+
+ * unexec.c:
+ Include a.out.h before getpagesize.h, since EXEC_PAGESIZE
+ may be defined in a.out.h
+
+ * dispnew.c:
+ Only define TIOCOUTQ as TCOUTQ if the latter as defined,
+ so that ifdef conditionals on the former work as expected.
+
+ * sysdep.c (sys_suspend):
+ Needed to include buffer.h for getting cwd when doing a fake suspend.
+ (for system v and other complete losers)
+ Rather than doing that include (which tickled some cretin-compiler
+ bugs) look up bf_cur->default_directory by
+ Fsymbol_value (Qintern ("..."))
+
+1986-09-24 Richard Mlynarik (mly at prep)
+
+ * editfns.c (Fregion_beginning, Fregion_end):
+ Share common code (this doesn't have to be so fast that the
+ extra function-call could hurt)
+
+ * editfns.c, window.c, callint.c, buffer.c:
+ Don't allow bf_cur->mark to be nil.
+ Instead, to indicate that the mark is not set,
+ make the marker not point at anything.
+ This simplifies life quite a lot.
+
+ Add sanity checking in case user sets mark to point to different
+ buffer (he could do this by side-effecting (marker-mark) stupidly)
+
+ Change definition of marker-mark so that it returns a marker
+ object which doesn't point anywhere when there is no mark,
+ rather than nil. This is more useful.
+
+ * editfns.c, bytecode.c.
+ Move set-mark, mark to lisp code.
+
+ * editfns.c (Fset_mark)
+ Not interactive.
+
+1986-09-23 Richard M. Stallman (rms at prep)
+
+ * crt0.c, m-hp9000.h: rename hp9000s200 to hp9000.
+ * m-hp9000.h: New name for m-hp200.h.
+ * unexec.c (for hpux): define MY_ID from HP9000S200_ID
+ if that exists; else use model.h.
+
+
+1986-09-21 Richard M. Stallman (rms at prep)
+
+ * search.c (search_buffer): Fix backwards condition
+ in whether the translate table can be ignored.
+
+ * process.c (Fprocess_send_string): Name of function for Lisp
+ had a typo.
+
+ * eval.c: When looping getting the function definitions of
+ symbols, check for quit.
+
+ * lisp.h: Restore old declaration of `getenv'
+ since removing it causes warnings in many places.
+
+ * minibuf.c (scmp): Return correct value.
+
+1986-09-21 Richard Mlynarik (mly at prep)
+
+ * editfns.c (Finsert_char):
+ New function. There are a lot of places in lisp code
+ which want to insert multiple copies of a constant char.
+ This is a faster way of doing it, and doesn't cons
+ (unlike (insert (make-string n c)))
+
+1986-09-21 Richard M. Stallman (rms at prep)
+
+ * process.c (make_process): Code to compute # elts in
+ vector to make a Lisp_Process had several errors:
+ Took size of pointer rather than of struct Lisp_Vector
+ and had wrong sign compensating for first element.
+
+ * fileio.c (directory_file_name): If arg is "/", return "/".
+
+1986-09-20 Richard M. Stallman (rms at prep)
+
+ * minibuf.c (Fdisplay_completion_list):
+ New Lisp-callable function replaces minibuffer_completion_help_1,
+ with a little new feature: elements of the completion list
+ may be lists of two strings, and if so the two strings
+ are printed in immediate succession.
+
+1986-09-19 Richard Mlynarik (mly at prep)
+
+ * minibuf.c (scmp and callers)
+ Don't be fazed by '\0' in strings.
+
+ * lisp.h, search.c, minibuf.c
+ Use downcase_table
+
+1986-09-18 Richard Mlynarik (mly at prep)
+
+ * ymakefile, emacs.c, callproc.c, process.c, fns.c
+ Install MAINTAIN_ENVIRONMENT conditional to call environ.c.
+
+1986-09-16 Richard M. Stallman (rms at prep)
+
+ * keymap.c (where_is_in_buffer): Fix bug in checking for shadowed
+ keys: do Flookup_key only on local map, and ignore value if
+ it is a number (that means key is locally undefined).
+
+1986-09-15 Richard Mlynarik (mly at prep)
+
+ * buffer.c (Fbury_buffer)
+ Make this function interactive (bury current buffer)
+ Do error-checking on arg.
+
+1986-09-15 Richard M. Stallman (rms at prep)
+
+ * emacs.c (main): Eliminate VMS -nl switch.
+ Instead, `-map FILE' says to map data file FILE;
+ no switch means don't map any file.
+ Can call mapin_data directly since exact file name is given.
+
+ * emacs.c (undump_emacs): Delete this.
+
+ * emacs.c (main): Make it work to use more than one of the
+ special switches (-batch, -t, -map).
+
+1986-09-14 Richard M. Stallman (rms at prep)
+
+ * Renamings for VMS.
+ config.h.dist => config.h-dist
+ paths.h.dist => paths.h-dist
+ [ms]-*.*.h => [ms]-*-*.h
+ s-usg5.2.2.h => s-usg5-2-2.h
+
+ * Some new files for VMS.
+ compile.com, link.com, precomp.com, ccom.com,
+ testemacs.com, build.com are command files.
+ temacs.opt is a linker control file.
+ VMSBUILD gives info on how to use them.
+ README describes what this directory is for.
+
+1986-09-13 Richard M. Stallman (rms at prep)
+
+ * sysdep.c (reset_sys_modes):
+ Delete never-used VMS & SIGIO conditional.
+ Call reset_sigio just once. No need to clear FASYNC here
+ now that init_sigio makes sure it is clear in old_fcntl_modes.
+
+ * eval.c (top_level_value, top_level_set):
+ These are new names for Fglobal_value and Fglobal_set,
+ which are no longer callable from Lisp.
+ They are also commented out.
+
+1986-09-12 Richard Mlynarik (mly at prep)
+
+ * xfns.c (Fx_rebind_key)
+ Fix typo.
+
+ * mocklisp.c:
+ Delete ml-substr. Move to mlsupport.el
+
+ * buffer.c
+ The real work of setting up mode_line_default is done in
+ loaddefs.el.
+
+ * lread.c, data.c, marker.c, window.c
+ Flush the last callers of defalias. Flush defalias.
+ (Use fsets in subr.el instead)
+
+1986-09-11 Richard Mlynarik (mly at prep)
+
+ * emacs.c (main)
+ Under X, accept "-display" switch as synonym for "-d"
+
+ * eval.c (spedcbind)
+ Don't make Lisp_Buffer_Objfwd's buffer-local when just binding.
+ (so now (let ((case-fold-search t))) doesn't force buffer-localness)
+ However, setting a binding will still make it buffer-local.
+ (ie (let ((case-fold-search t)) (setq case-fold-search t))
+ will cause case-fold-search be buffer-local even outside the let)
+
+ * xfns.c
+ Preserve studlycaps: "Gnuemacs" => "GNU Emacs"
+
+ * Various
+ Flush last users of LISTP => CONSP
+
+ * buffer.h
+ Make backed_up a Lisp_Object, since it is one!
+ Make abbrev_table a magic-local-variable.
+
+ * alloc.c (mark_buffer)
+ Simplify, simplify.
+
+ * buffer.h:
+ Reorder elements of struct buffer so that Lisp_Object
+ slots are contiguous from buffer.name through to the
+ end of the buffer. All slots before buffer.name are
+ not Lisp_Objects (except buffer.markers, which is gc-magic)
+
+ Eliminate useless buffer.number slot.
+
+ * buffer.c (Fbuffer_number):
+ delete.
+
+1986-09-10 Richard M. Stallman (rms at prep)
+
+ * process.c (Fsend_{string,region}): rename as Fprocess_send...
+ and change names of Lisp function. Old names now aliases in subr.el.
+
+1986-09-10 Richard Mlynarik (mly at prep)
+
+ * buffer.c
+ New struct buffer_local_symbols.
+ staticpro buffer_defaults, buffer_local_symbols.
+
+ * lread.c (defvar_per_buffer)
+ Hack buffer_local_symbols
+
+ * buffer.c (Fbuffer_local_variables)
+ (a) Fcopy_alist so don't return any shared list structure
+ (b) Include names and values of Lisp_Buffer_Objfwd locals.
+
+ * alloc.c (FGarbage_collect):
+ Don't mark buffer_defaults specially, as it is now in staticvec
+
+ * dired.c (Fdirectory_files):
+ Optional third argument match is a regexp specifying
+ to only return files whose names contain a match for that regexp.
+ [eg ``(directory-files "/u2/emacs/" nil "\\`[^#]")'']
+
+1986-09-10 Richard M. Stallman (rms at prep)
+
+ * alloc.c (Fgarbage_collect): Use open code instead of Fnthcdr
+ to avoid possibility of error.
+
+ * lread.c (Fload, load_unwind): The Lisp_Internal_Stream
+ now points to a word got with xmalloc and that points to the FILE.
+ On Elxsi, the FILE address is not in the part of the address
+ space that Lisp_Object pointers can reach. New way can't lose.
+
+1986-09-09 Richard M. Stallman (rms at prep)
+
+ * crt0.c: Add _start for elxsi.
+
+1986-09-07 Richard Mlynarik (mly at prep)
+
+ * minibuf.c (read_minibuf)
+ gc-protect the saved data!
+ I'm don't know why this doesn't just bind help-form
+ (and current-prefix-arg) esp since there is already an
+ unbind_to which would help us do this.
+ Since I don't know why the `bindings' are done this way,
+ I'm leaving the unwind-protect hair, and adding GCPRO hair.
+
+ * minibuf.c (read_minibuf, read_minibuf_unwind)
+ preserve the value of current-prefix-arg.
+
+ * minibuf.c:
+ Eliminate read_minibuf_string.
+ Move defalias for read-input to subr.el
+
+ * callint.c, fns.c, lisp.h
+ Call read_minibuf instead of read_minibuf_string.
+
+1986-09-04 Richard Mlynarik (mly at prep)
+
+ * fns.c (Fy_or_n_p, Fyes_or_n_p)
+ Beep if the user types an invalid response.
+
+1986-09-03 Richard M. Stallman (rms at prep)
+
+ * dispnew.c (update_screen):
+ Take out previous change.
+
+ * xdisp.c (DoDsp): Move call to request_sigio
+ after update: so it cannot be bypassed.
+
+ * sysdep.c (init_sigio): set old_fcntl_flags here
+ only once; don't change it in request_sigio.
+ * sysdep.c ({un,}request_sigio):
+ Set interrupts_deferred while SIGIO is unrequested.
+ Abort if FASYNC is already set when request_sigio is called.
+ * keyboard.c (get_input_pending):
+ Always do FIONREAD if interrupts_deferred.
+
+1986-09-01 Richard M. Stallman (rms at prep)
+
+ * xterm.c/xfns.c: Many changes from rlk,
+ including using sigblock/sigsetmask to block signals
+ instead of turning handler off and on.
+
+ * dispnew.c (update_screen):
+ If interrupt input, wait while output gets written
+ before returning. If observed loss of output really is
+ a kernel bug, this may make it stop.
+
+1986-08-31 Richard M. Stallman (rms at prep)
+
+ * keymap.c (where_is_in_buffer):
+ Use Fequal rather than EQ to test for a match
+ if the object being searched for is a cons cell.
+
+1986-08-30 Richard M. Stallman (rms at prep)
+
+ * data.c (Fsetq_default): new function.
+
+1986-08-28 Richard M. Stallman (rms at prep)
+
+ * xdisp.c (display_mode_element):
+ Cons cell whose car is a symbol now means
+ (SYMBOL IF_TRUE_DISPLAY IF_FALSE_DISPLAY)
+ and is equivalent to IF_TRUE_DISPLAY if SYMBOL's value is non-nil
+ or to IF_FALSE_DISPLAY if SYMBOL is unbound or has value nil.
+ * buffer.c (syms_of_buffer): update documentation for that.
+
+1986-08-25 Richard M. Stallman (rms at prep)
+
+ * fns.c (merge): Swap the arguments to the sort predicate
+ so as to use it to compute <= rather than <.
+ Sort had been anti-stable; now it is stable.
+
+ * editfns.c (Fuser_uid, Fuser_real_uid):
+ New functions that return values of geteuid and getuid system calls.
+
+ * dired.c (Ffile_attributes): Value has additional element
+ t iff file gid would change if Emacs deletes it and recreates it.
+
+ * xdisp.c (display_mode_element):
+ If element is a list and its car is a list,
+ process all list elements recursively and concatenate them.
+ Makes alists work.
+
+ * xdisp.c (display_mode_string): New element type %n
+ prints ` Narrow' and ` Def' if appropriate.
+ * buffer.c (syms_of_buffer): Fix documentation of mode-line-format.
+
+ * undo.c (Fundo_more):
+ Fix bugs in checking len and pos for being in bounds.
+
+ * eval.c (Fuser_variable_p):
+ If documentation property is a number,
+ negative means it's a user variable.
+ * doc.c (Fdocumentation_property):
+ Use abs value of property as the file position.
+ * doc.c (FSnarf_documentation):
+ For variables, store negative property if string starts with `*'.
+
+ * editfns.c (Finsert_buffer_substring):
+ Implement inserting part of a buffer into itself.
+
+1986-08-24 Richard M. Stallman (rms at prep)
+
+ * xterm.c, xfns.c, sink.h: Installed latest changes from
+ Athena, and fixed up formatting conventions.
+
+1986-08-23 Richard M. Stallman (rms at prep)
+
+ * eval.c (unbind_catch): Restore gcprolist from the catchtag.
+
+1986-08-21 Richard M. Stallman (rms at prep)
+
+ * fileio.c (barf_or_query_if_file_exists):
+ New second arg non-0 says query; do not call Finteractive_p.
+
+ * fileio.c (Frename_file, Fcopy_to_file, Fadd_name_to_file,
+ Fmake_symbolic_link):
+ Interactive spec now says `p' for the third arg.
+ If third arg is number, do call barf_or_query_if_file_exists
+ but pass nonzero second arg in that case.
+
+ * eval.c (Finteractive_p): Skip the innermost frame
+ when examining the stack. This makes the right thing happen
+ if called from Fbyte_code.
+
+1986-08-21 Richard Mlynarik (mly at prep)
+
+ * process.c (handle_process_output):
+ do a set-buffer back to original buffer
+ after calling a process' filter function so that
+ all filter functions needn't save-excursion.
+
+ * keymap.c (where_is_in_buffer):
+ Don't blow out if buffer has no local map.
+
+1986-08-21 Richard M. Stallman (rms at prep)
+
+ * emacs.c (main): Eliminate references to environ.c.
+
+ * callproc.c (Fcall_process): Pass child_setup
+ the standard Unix environment.
+ * process.c (create_process): likewise.
+
+ * bytecode.c (Fbyte_code): At end, abort if specpdl
+ is not back to same level it had on entry.
+
+ * eval.c (unbind_catch):
+ New way to unbind for throw. Pops catches, handlers
+ and bindings, in one synchronized pass. Thus, when an
+ unwind-protect is executed, all catches and handlers
+ outside of it are still in effect.
+ Also restore various static variables from the catchtag
+ being unbound. struct catchtag has two new fields,
+ gcpro and pdlcount.
+
+ * eval.c (Fthrow, Fsignal): Use unbind_catch before longjmp.
+
+ * eval.c (internal_catch): No need to restore anything
+ from the catchtag after throw, because unbind_catch does it all.
+ Must set up pdlcount and gcpro fields.
+ * eval.c (internal_condition_case, Fcondition_case):
+ Changed like internal_catch.
+ * eval.c (Fcatch): use internal_catch to do the work.
+
+ * eval.c (Fsignal): If no handler applies, try calling
+ the Lisp debugger; if that fails, throw to top-level.
+ Don't call `debugger'.
+
+ * keyboard.c (debugger): Delete this function.
+
+1986-08-20 Richard M. Stallman (rms at prep)
+
+ * Gap motion can now quit!
+
+ * insdel.c (move_gap): new name for GapTo. Callers changed.
+
+ * insdel.c (InsCStr):
+ * fileio.c (Finsert_file_contents):
+ Call move_gap before calling record_insert.
+ * insdel.c (del_range):
+ Don't adjust point until after all possible errors detected,
+ which means after gap is moved.
+
+ * insdel.c (gap_right, gap_left):
+ Check every 32000 chars for pending quit.
+ Also speed up char-copy inner loop.
+
+ * lisp.h (QUITP): New macro, nonzero if ought to quit now if poss.
+
+1986-08-20 Richard M. Stallman (rms at prep)
+
+ * undo.c (Fundo_more):
+ Fix bug that was setting point to `len' field, not `pos' field.
+ Share the error-checking code between all three types of
+ undo record that actually make changes.
+
+ * xdisp.c (display_mode_element):
+ Fix a couple of silly bugs.
+
+ * lread.c: New variable-defining functions
+ defvar_int, defvar_lisp, defvar_bool and defvar_per_buffer
+ are called by the new DEFVAR... macros. They ignore the
+ doc-string argument.
+
+ * lisp.h: Define macros DEFVAR_LISP, DEFVAR_INT, DEFVAR_BOOL
+ and DEFVAR_PER_BUFFER. They expand into calls to
+ defvar_lisp, etc.
+
+ * all .c files:
+ All Def...Var renamed to DEFVAR... in syms_of_....
+
+ * doc.c (FSnarf_documentation): Understand new DOC format
+ where doc for function foo is named Ffoo and doc for variable foo
+ is named Vfoo. When doc for a variable is found, store the
+ file-position in DOC on the variable-documentation property.
+ * doc.c (Fdocumentation_property): New Lisp function,
+ like `get' except that if the value is a positive integer
+ it is taken as a position in the DOC file and a string is read
+ from that file.
+
+ * filelock.c: correct spelling "supercession" -> "supersession".
+
+ * undo.c: Rename RecordInsert as record_insert, and
+ likewise RecordDelete, RecordChange and RecordChange1.
+ * casefiddle.c, editfns.c, fileio.c, insdel.c: change callers.
+
+1986-08-19 Richard M. Stallman (rms at prep)
+
+ * xdisp.c (display_mode_element):
+ Change the interpretation of symbols and lists in elements:
+ if a symbol's value is a string, output that string literally;
+ a list is a concatenation of all elements if the car is a string
+ or a conditional of the cdr if the car is a symbol.
+
+ * undo.c (Record...):
+ Remember buffer->modtime as the "length" of the Uunmod.
+ If point is at the end of a range deleted or changed,
+ record that as the "position" of the range and make the length
+ negative.
+
+ * undo.c (Fundo_more):
+ Undoing Uunmod does not mark as unmodified unless its
+ remembered modtime matches the buffer's current modtime.
+ Also handle case where length is negative in Uinsert, Uchange.
+
+1986-08-18 Richard Mlynarik (mly at prep)
+
+ * xdisp.c (display_mode_line):
+ XSTRING->data, not XSTRING
+ Fix another typo.
+
+1986-08-17 Richard M. Stallman (rms at prep)
+
+ * buffer.c (syms_of_buffer):
+ Change doc for mode-line-format.
+
+ * xdisp.c (display_mode_line, display_mode_element):
+ Allow buf->mode_line_format to contain lists and symbols
+ allowing computation and concatenation to produce the mode line.
+ (Note that evaluation is not allowed; it would be unsafe.)
+ display_mode_element is the recursion point for this.
+
+1986-08-17 Richard Mlynarik (mly at prep)
+
+ * emacs.c (main)
+ Move init_environ up.
+
+ * window.c (Fwindow_point)
+ typo.
+
+ * environ.c
+ New function getenv replaces un*x getenv
+
+1986-08-17 Richard M. Stallman (rms at prep)
+
+ * window.c (Fwindow_point):
+ When WINDOW is the selected window and its buffer is selected too,
+ return current value of point. The pointm field of the window
+ is not meaningful in such cases.
+
+ * unexec.c (write_segment):
+ If hit nonexistent page, must write zeros, not return.
+
+1986-08-17 Richard Mlynarik (mly at prep)
+
+ * callproc.c, process.c (Fcall_process, create_process)
+ Use `alloca' versions of environment-hacking functions
+ (ie current_environ_size and get_current_environ rather than
+ current_environ and free_environ)
+
+ * emacs.c (main):
+ Call syms_of_environ, init_environ.
+
+ * config.h., config.h.dist
+ Increase PURESIZE again (sigh)
+
+ * unexec.c (write_segment):
+ Kludgey coercions ("(int)") to get this line to compile:
+ nwrite = (((int) ptr + 128) & ~127) - (int) ptr;
+ Also changed incorrect ~128 to ~127.
+
+ * process.c:
+ New function Fprocess_list.
+
+1986-08-17 Richard M. Stallman (rms at prep)
+
+ * crt0.c, alloca.s: Remove hack_sky (special for sun2)
+ and the call to it. No longer needed since floating point
+ is no longer used.
+
+ * unexec.c: New compiler flag A_TEXT_OFFSET is defined
+ for machines in which the a.out file header counts as the
+ first few bytes of the text segment. The definition of
+ A_TEXT_OFFSET would normally be sizeof (HDR). It has
+ other terms added in on some machines (sequent).
+
+1986-08-16 Richard Mlynarik (mly at prep)
+
+ * eval.c (Fmacroexpand)
+ Use car of nthcdr, not nth.
+
+ * fns.c
+ Define Fcopy_alist (used to be in subr.el)
+ Move Fnth to subr.el
+
+ * ymakefile
+ Include environ.c
+
+ * callproc.c, process.c (child_setup, Fcall_process, create_process):
+ Take/pass environment arg.
+
+ * environ.c:
+ New file
+
+ * sysdep.c:
+ Move VMS sys_getenv to environ.c
+
+ * editfns.c:
+ Move getenv to environ.c
+
+1986-08-16 Richard M. Stallman (rms at prep)
+
+ * xdisp.c (display_text_line):
+ * indent.c (current_column, ToCol, position_indentation):
+ * indent.c (Fmove_to_column, compute_motion):
+ Bring tab_width in range if it is very large.
+
+1986-08-15 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fwrite_region):
+ Do the fsync before the fstat; that may prevent what appear
+ to be spurious "file has changed on disk" warnings.
+ Update bf_cur->modtime before signaling "IO error writing"
+ to avoid more such warnings.
+
+ * Make ctl-arrow, case-fold-search, etc. behave exactly
+ as if they had been made local with make-variable-buffer-local.
+ The default values live in struct buffer buffer_defaults.
+ They also live in buffers that do not have local values.
+ Each buffer has a local_var_flags slot with a bit for each
+ variable, saying which variables are local in that buffer.
+
+ * buffer.h: New buffer slot local_var_flags.
+ * buffer.c: New structures buffer_defaults and buffer_local_flags.
+ (init_buffers_once): store default values for local slots
+ into buffer_defaults.
+ (reset_buffer_variables): Copy default values from buffer_defaults
+ into the buffer being reset.
+ (syms_of_buffer): Variables default-ctl-arrow, etc., now
+ forward to slots in buffer_defaults.
+
+ * data.c (Fset, Fset_default, Fdefault_value,
+ Fkill_local_variable):
+ Know that a Lisp_Buffer_Objfwd has default value
+ if the buffer_local_flags slot is nonzero,
+ and a buffer uses that default unless its local_var_flags
+ contains the bit of the buffer_local_flags for the slot.
+
+ * alloc.c (Fgarbage_collect): Call mark_buffer on buffer_defaults.
+
+1986-08-14 Richard M. Stallman (rms at prep)
+
+ * unexec.c (copy_text_and_data):
+ Write text and data separately if COFF (just as if not COFF).
+ (make-hdr): if COFF and NO_REMAP, don't alter some f_ohdr fields.
+
+1986-08-14 Richard Mlynarik (mly at prep)
+
+ * editfns.c (getenv)
+ Make getenv useful interactively.
+ Move defaliases to fsets in subr.el
+
+1986-08-14 Richard M. Stallman (rms at prep)
+
+ * unexec.c: unexec_data_start records the ultimate
+ corrected data_start from make_hdr; copy_text_and_data
+ starts writing data segment from that address.
+
+1986-08-13 Richard M. Stallman (rms at prep)
+
+ * buffer.c (Fkill_buffer): Combine Fdelete_buffer_internal
+ into this function. Simplify. Just return immediately
+ if attempted to kill the minibuffer.
+
+ * lisp.h: Define XSETPNTR and make XSETCONS (etc) use it.
+ By default XSETPNTR is the same as XSETUINT.
+
+ * lread.c (oblookup, map_obarray):
+ Use XUINT, not XSYMBOL, to check for zero to detect end of bucket.
+ On machines where all pointers have high bits set,
+ XSYMBOL would never return zero.
+
+ * alloc.c: change vars most_negative_fixnum and dont_copy_flag
+ to constant macros ARRAY_MARK_FLAG and DONT_COPY_FLAG,
+ defined normally based on INTBITS but overridable by m-*.h.
+
+ * process.c (handle_process_output):
+ Write in buffer even if buffer is read-only.
+
+ * fileio.c (barf_or_query_if_file_exists):
+ Rearrange: don't use comma around calls to NULL,
+ so can compile using union type.
+
+1986-08-12 Richard Mlynarik (mly at prep)
+
+ * buffer.c (SetBfp, syms_of_buffer)
+ Dike out debug-check-symbol code. I believe that this bug has
+ evaporated.
+
+ * fileio.c (barf_or_query_if_file_exists)
+ ! => !NULL. Also use local variable for Lisp_object for bd
+ compilers.
+
+1986-08-11 Richard Mlynarik (mly at prep)
+
+ * buffer.c (Fbarf_if_buffer_read_only)
+ Include buffer in call to Fsignal.
+
+ * print.c (Fwrite_char)
+ Really default stream to standard-output.
+
+1986-08-10 Richard Mlynarik (mly at prep)
+
+ * eval.c (and abbrev.c, buffer.c, callint.c, cmds.c, keyboard.c, lread.c, lisp.h)
+ Allow Fapply to take an &rest arg, the last of which is spread.
+ (So (apply '+ 1 '(2 3)) => 6)
+ Make Ffuncall do the work for Fapply, rather than duplicating all
+ that code. Define apply1 for c code which needs it. Define call0
+ for c code which thought it needed Fapply.
+
+1986-08-08 Richard Mlynarik (mly at prep)
+
+ * ymakefile
+ Don't assemble alloca.s if HAVE_ALLOCA.
+ Even though the whole of this file is contained in a
+ `#ifndef HAVE_ALLOCA ... #endif' a disgusting bug
+ in cc (at least here, vax 4.2bsd) meant that this
+ file was being assembled even though cc was passed
+ the -E flag! Gag me with a unix-pinhead.
+
+ * m-vax.h
+ Define HAVE_ALLOCA if BSD
+
+ * unexec.c (write_segment)
+ Rename variable `fd' to `new' for macro PERROR.
+
+1986-07-30 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fwrite_region): add call to fsync before close.
+
+ * xdisp.c (redisplay_window): Don't look at ->start
+ in windows that have subwindows, since it is nil there.
+
+ * window.c (save_window_restore):
+ Avoid doing Fset_buffer on a dead buffer.
+ Use the selected window's new current buffer in that case.
+
+1986-07-28 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Finsert_file_contents):
+ Don't mark buffer modified if inserted a null file.
+
+ * fileio.c (Fcopy_file, e_write): Use 16k buffer size.
+
+1986-07-17 Richard M. Stallman (rms at prep)
+
+ * unexec.c (copy_sym): Put in missing #endif.
+
+ * alloc.c (Fpurecopy, mark_object): Flush VIRT_ADDR_VARIES
+ conditional; always use range from pure to pure + PURESIZE.
+ Use type PNTR_COMPARISON_TYPE as the type to compare in.
+ This is normally unsigned int but m- file may override this.
+
+ * lisp.h (CHECK_IMPURE): Use PNTR_COMPARISON_TYPE, and always
+ use the range from pure to pure + PURESIZE unless
+ PNTR_COMPARISON_TYPE is defaulted.
+
+ * eval.c (unbind_to): New temporary var `tmp'
+ to avoid a Gould compiler bug.
+
+ * term.c (calculate_ins_del_char_costs):
+ * window.c (change_window_height):
+ Changed floating point arithmetic to fixed point.
+
+ * sysdep.c: Replace ad-hoc conditionals with new flags
+ HAVE_VFORK, HAVE_DUP2 and HAVE_GETTIMEOFDAY.
+ Change s-hpux.h and m-stride.h.
+
+ * sysdep.c (init_sys_modes for VMS): Set TT2$M_XON.
+
+ * process.c (create_process): On USG systems that have TIOCNOTTY,
+ do the setpgrp here before reopening the pty rather than
+ waiting for child_setup.
+
+ * window.c (make_window): size given to make_vector
+ was one too small.
+
+1986-07-10 Richard M. Stallman (rms at prep)
+
+ * keymap.c (Fdescribe_bindings): change XSETTYPE/XSETBUFFER to
+ XSET.
+ (describe_command): change XSETSTRING to XSET.
+ * window.c (Fmove_to_window_line): delete unused start =.
+ * xdisp.c (DoDsp) delete unused all_windows initializer.
+ * dispnew.c (update_line): delete unused osp =.
+ * minibuf.c (do_completion): delete unused completedp initializer.
+ * search.c (Freplace_match): delete unused some_multiletter_word init.
+ * alloc.c (gc_sweep): delete unused next initializers.
+ * fns.c (concat): after error on non-int elt for string,
+ do store the new value from the error handler.
+ * lread.c (read1): comment out unused end =.
+ * lread.c (read_list): delete unused tail =.
+ * data.c (Fmake_variable_buffer_local):
+ if value type is Lisp_Some_Buffer_Local_Value,
+ change it to Lisp_Buffer_Local_Value permanently.
+ * undo.c (record_block): delete unused cp =.
+ Don't bother reallocing if n = 0 after first batch.
+ * fileio.c (Fverify_visited_file_modtime):
+ If CHECK_BUFFER changes buf, use the changed value.
+
+1986-07-07 Richard M. Stallman (rms at prep)
+
+ * alloc.c (mark_buffer): mark the selective_display_ellipses slot.
+
+1986-06-25 Richard M. Stallman (rms at prep)
+
+ * window.c (Frecenter): Fix bug in last change:
+ change applied to M-- arg ratherthan C-u by mistake.
+
+1986-06-19 Richard M. Stallman (rms at prep)
+
+ * ymakefile (CPP): Now defined by default as `cc -E'.
+ * Makefile: likewise.
+
+ * More 3b changes:
+ * ymakefile: Allow config to specify LIBS_TERMCAP even if
+ TERMINFO.
+ * sysdep.c: Delete the sign-extension functions; just define
+ a variable sign_extend_temp.
+ * m-3b.h renamed to m-3b20.h. Now defines ATT3B20 as well as
+ ATT3B. New definitions for XINT and SIGN_EXTEND_CHAR.
+
+ * sysdep.c (readdirver): New VMS-only function:
+ like readdir but return each version as separate filename.
+
+ * dired.c (file_name_completions): New arg ver_flag.
+ All callers changed.
+ * dired.c (Ffile_name_all_versions): New function, VMS only.
+
+ * unexec.c (copy_sym): Remove spurious #else on
+ sun3 conditional. The old #else code is now unconditional.
+
+ * window.c (Fdisplay_window): Split largest window only if
+ full screen width. The conditional was backwards.
+
+1986-06-17 Richard M. Stallman (rms at prep)
+
+ * process.c (Fsend_region): Previous change forgot to assign
+ anything to start1.
+
+1986-06-13 Richard M. Stallman (rms at prep)
+
+ * emacs.c (Fdump_emacs): Use start_of_text, not &_start,
+ as entry address for unexec.
+
+ * alloc.c: Use XPNTR, not XUINT, when checking for pureness.
+
+ * data.c: When indirecting through Lisp_Buffer_Objfwd,
+ use XUINT to get the offset, not XOBJFWD.
+
+ * lisp.h: New macro XPNTR is used as subroutine by all of
+ XCONS, XSTRING, etc. Define it like XUINT normally.
+ If DATA_SEG_BITS is defined, XPNTR or's that into the result.
+ Use XPNTR in CHECK_IMPURE.
+
+ * sysdep.c (end_of_{text,data}): Do compile these.
+ rt-pc unexec needs them.
+ * sysdep.c (start_of_bss): New function.
+
+ * unexec.c (copy_text_and_data, write_segment):
+ Write text and data segments separately.
+ Use new subroutine write_segment to do each one.
+
+ * process.c (Fprocess_exit_status):
+ New name for Fprocess_reason.
+
+1986-06-11 Richard M. Stallman (rms at prep)
+
+ * abbrev.c (Fexpand_abbrev):
+ Delete the - inserted by abbrev-prefix-mark, if any.
+
+ * filelock.c (lock_file):
+ Check for modifying a buffer whose file has changed
+ and call ask-user-about-supercession-threat, which can
+ ask for confirmation and get an error.
+
+1986-06-10 Richard M. Stallman (rms at prep)
+
+ * crt0.c: Merge changes for Nu.
+
+ * unexec.c (make_hdr): Fix handling of blockcopy_start;
+ for the sake of Nu machine.
+
+ * fileio.c (Fcopy_file): optional 4th arg non-nil
+ means preserve the last-modified time.
+
+ * Make C-M-v in minibuffer scroll the minibuffer's help window if any.
+ * window.c (save_window_{save,restore}):
+ Save and restore minibuf_scroll_window.
+ * window.c (Fscroll_other_window):
+ If minibuffer is selected, scroll minibuf_scroll_window.
+ * minibuf.c (read_minibuf): set minibuf_scroll_window to nil.
+
+ * window.c (Frecenter): With just C-u as arg,
+ recenter point but don't erase the screen.
+
+1986-06-09 Richard M. Stallman (rms at prep)
+
+ * process.c (Fsend_region):
+ * fileio.c (Fwrite_region):
+ * editfns.c (Fchar_after, save_restriction_restore):
+ Avoid using XINT in args to other macros.
+
+ * sysdep.c: New function char_sign_xtnd for ATT3B.
+
+ * lisp.h: Don't redefine XINT if it's already defined.
+ So m-3b.h can override it.
+
+ * ymakefile: If NO_REMAP, use the standard crt0.o
+ but precede it with pre_crt0.o whose job is to define data_start.
+
+ * buffer.h. buffer.c: New per-buffer variable
+ selective-display-ellipses.
+
+ * xdisp.c (display_text_line), indent.c (compute_motion):
+ Let bf_cur->selective_display_ellipses control display of ...
+ before invisible lines.
+
+ * lread.c (openp, Fload): openp now takes a sequence
+ of suffixes with colons between. It loops over
+ suffixes faster than over directories.
+ load takes new fourth arg NOSUFFIXES.
+
+1986-06-08 Richard M. Stallman (rms at prep)
+
+ * paths.h: Remove . from load-path.
+
+ * lread.c: Make "load" no longer interactive.
+
+ * keyboard.c: Introduce BUFFER_SIZE_FACTOR to make
+ some keyboard buffers 16 times as big when X windows exist.
+
+1986-06-07 Richard M. Stallman (rms at prep)
+
+ * eval.c (call_debugger): Don't do a debug-on-call
+ for calling the debugger.
+
+ * keyboard.c (gobble_input): Must really use FIONREAD.
+
+ * keyboard.c (command_loop{,_1,_2}, top_level_{1,2}):
+ Now Frecursive_edit calls command_loop, which does the catches
+ and calls command_loop_2, which does the error handling,
+ which calls command_loop to do the real work.
+ Also, top_level_1 does a condition-case around top_level_2,
+ which does the work.
+
+ Previously, the error handling was outside the catch for
+ top-level. Then if handling an error ran an unwind protect form,
+ the catch was not in effect; so ^G, or the debugger Q command,
+ would not work inside of them.
+
+1986-06-06 Richard M. Stallman (rms at prep)
+
+ * keymap.c (get_keymap{,_1}):
+ Create get_keymap_1 that takes arg saying whether to get error.
+ get_keymap calls that, saying do get an error.
+
+ * keyboard.c (get_char):
+ If rereading a char, do put it in the echo buffer
+ if the echo buffer is empty. Fixes problem that
+ C-s C-h would never echo the C-h.
+
+ * window.h: New window slot start_at_line_beg,
+ holds t if window's start was the beginning of a line.
+ * window.c: update this wherever ->start is updated.
+ (But not always correctly).
+ * xdisp.c (redisplay_window): update start_at_line_beg,
+ and also find a new start if the old start used to be
+ a line beginning but no longer is (which implies text
+ changes just before it).
+
+ * keyboard.c (get_input_pending):
+ Don't bother with FIONREAD if interrupt_input;
+ just use kbd_count.
+
+ * fns.c: Assume KERNEL_FILE, LDAV_SYMBOL and NLIST_STRUCT
+ are fully set up by the s- and m- files.
+
+ * emacs.c (main): Don't call `signal' if in batch mode
+ and not initialized and dumping is possible.
+ * keyboard.c (init_keyboard): likewise for SIGIO.
+
+ * unexec.c (make_hdr): Copy entire header of old file
+ as base for header of new file. Eliminates most
+ machine-specific conditionals.
+
+ * terminfo.c: make tparam work by calling tparm.
+
+ * term.c, cm.h: Eliminate `Tab' macro.
+
+ * s-usg5.2.h, s-usg5.2.2.h: set the TERMINFO flag.
+
+ * fileio.c (Ffile_newer_than_file_p): New Lisp primitive.
+
+ * fileio.c (Ffile_exists_p): this is now distinct from
+ Ffile_readable_p; it checks only for existence, not for
+ readability.
+
+ * editfns.c (Fgoto_char): Use new interactive code N.
+
+ * callint.c (Fcall_interactively): New code N
+ means use prefix argif have one, else read number from minibuffer.
+
+ * buffer.c (record_buffer):
+ Don't use Frassq, Fmemq or Fdelq since their loops
+ allow quitting. Write a spacial loop by hand.
+
+1986-06-05 Richard M. Stallman (rms at prep)
+
+ * process.c: Add MASSCOMP conditionals for pty and tty names.
+ New way to check pty accessibility with `access'.
+
+ * unexec.c (make_hdr): MASSCOMP has its own special field.
+
+ * sysdep.c: Use HAVE_TERMIO conditionals instead of USG
+ conditionals in many places. Use INTERRUPTABLE_OPEN
+ and INTERRUPTABLE_IO conditionals to decide whether to
+ include the functions sys_read, sys_write, sys_open.
+ child_setup_tty must do FIOASYNC on masscomp.
+
+ * fns.c (concat): Add MASSCOMP_REGISTER_BUG conditional.
+
+ * editfns.c (init_editfns): Always check LOGNAME if no USER var.
+
+ * dispnew.c: Now depends on HAVE_TERMIO.
+
+ * crt0.c: BOGUS flag renamed CRT0_DUMMIES. Also now
+ this is never assumes; each m- file must set it to use that code.
+
+ * crt0.c: Two new flags: GLOBAL_START_DOT and
+ GLOBAL_START_NO_DOT, control .globl start, etc.
+ m- files must define these as needed.
+ To have no effect, must define one or the other whenever
+ CRT0_DUMMIES is set except for masscomp.
+ GLOBAL_START_NO_DOT for tower32, GLOBAL_START_DOT for all others.
+
+ * term.c, termchar.h: Define new flag var no_redraw_on_reenter;
+ nonzero means no need to set screen_garbaged on resuming
+ after a suspension.
+ * sysdep.c (init_sys_modes): don't set screen_garbaged
+ after resumption if that flag is set.
+ * dispnew.c (syms_of_dispnew): make Lisp var no-redraw-on-reenter,
+
+ * process.c (Fprocess_reason): New function.
+
+ * dispnew.c (change_screen_size): New arg PRETEND.
+ If it's zero, set ScreenRows or ScreenCols.
+ Fset_screen_{width,height} take new arg as well
+ to control value of PRETEND.
+
+ * sysdep.c (child_setup_tty for USG):
+ Turn ICANON on, and set VKILL and VERASE to 0377.
+ Don't frob VMIN and VTIME (said to be unnecessary here).
+
+ * keyboard.c (command_loop, Frecursive_edit):
+ Call top_level_1 only from command_loop.
+ Do it before command_loop_1. Put catch for top-level around it.
+
+ * xdisp.c (try_window_1): use scroll_cost to decide
+ whether scrolling, as determined from ins/del records,
+ is better than simple reprinting.
+
+ * scroll.c (scroll_cost): New function computes what cost
+ would be to do scroll_screen_lines.
+
+ * xdisp.c (display_text_string):
+ Display minibuf_prompt only if vpos is the top of the minibuffer.
+ Attempts to fix the bug where the prompt appears on all the
+ lines of an empty minibuffer.
+
+1986-06-04 Richard M. Stallman (rms at prep)
+
+ * fileio.c (Fdefine_logical_name):
+ For VMS: create a logical name translation.
+
+ * emacs.c (main):
+ (HAVE_X_WINDOWS) New variable alternate_display,
+ set with a -d switch.
+
+ * keyboard.c, sysdep.c:
+ Create new system-independent function sys_suspend.
+ All places that want to suspend now use sys_suspend.
+ Delete fake_suspend and make its definition one of the
+ cases for sys_suspend; but require the caller to change
+ the terminal modes, on all system versions.
+
+ * Merged in VMS conditionals in numerous files.
+
+1986-06-01 Richard M. Stallman (rms at prep)
+
+ * emacs.c (main, Fdump_emacs):
+ Use new arg to malloc_init to say what function to call for
+ warnings.
+
+ * unexec.c, malloc.c, getpagesize.h:
+ The code to define getpagesize () is now in getpagesize.h.
+
+ * process.c (reate_process), callproc.c (child_setup):
+ Move call to child_setup_tty from child_setup to create_process,
+ so it's not done for synchronous subprocesses.
+ * sysdep.c (child_setup_tty): omit it if not subprocesses.
+
+ * alloc.c (mark_object), lread.c (DefLispVar):
+ Protect the C variable with staticpro.
+ Therefore no more need to mark thru a Lisp_Objfwd.
+
+See ChangeLog.1 for earlier changes.
+
+Local Variables:
+mode: indented-text
+eval: (auto-fill-mode 1)
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
diff --git a/src/ChangeLog.3 b/src/ChangeLog.3
new file mode 100644
index 00000000000..3d112da7345
--- /dev/null
+++ b/src/ChangeLog.3
@@ -0,0 +1,16533 @@
+1993-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Version 19.10 released.
+
+1993-05-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): If we changed buffers during
+ read_char, go to replay_sequence.
+
+ * frame.c (Ficonify_frame, Fmake_frame_invisible):
+ Select some other frame. Move minibuffer off this frame.
+
+ * frame.c (Fhandle_switch_frame): Don't call Ffocus_frame.
+ (Fredirect_frame_focus): Call Ffocus_frame here.
+
+ * xterm.c (x_bitmap_icon): Don't free icon_bitmap;
+ create it if it hasn't been created before.
+
+ * xterm.c (XTread_socket): For UnmapNotify, if frame was visible,
+ mark it now as iconified.
+ (x_make_frame_invisible): If async_iconic, work does need to be done.
+ Don't let this frame stay highlighted.
+ (x_iconify_frame): Don't let this frame stay highlighted.
+
+ * s/usg5-4-2.h (sigsetmask): #undef this.
+
+ * sysdep.c (sys_signal): Use 0, not NULL, to set sa_flags.
+
+1993-05-29 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * linux.h (C_OPTIMIZE_SWITCH): Set this to the empty string;
+ configure guesses just fine.
+
+ * tekXD88.h: New file, from Kaveh Ghazi.
+
+ * systty.h (CDISABLE): #undef it before re-#defining it.
+
+ * sysdep.c (sys_siglist): Comment out #endif trailer.
+ * xmenu.c (TRUE, FALSE): Same.
+ * xterm.c (dumprectangle): Same.
+
+ * emacs.c: Don't include termios.h directly--let systty.h do it.
+
+1993-05-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfaces.c [HPUX]: Include time.h and define __TIMEVAL__.
+
+ * emacs.c (shut_down_emacs): Maybe close X connection. New arg NO_X.
+ (Fkill_emacs): Don't close it here. Pass new arg.
+ (fatal_error_signal): Pass new arg.
+ * xterm.c (x_connection_closed): Pass new arg.
+
+ * xdisp.c (syms_of_xdisp): Make highlight-nonselected-windows Lisp var.
+ (display_text_line): Obey it.
+ (display_text_line): Really check for just the selected window.
+
+ * s/usg5-4-2.h: New file.
+
+ * keyboard.c (menu_bar_items): Save Vinhibit_quit by hand
+ instead of using specbind.
+ (menu_bar_items): Call Fnreverse before restoring Vinhibit_quit.
+
+ * s/hpux8.h (OLDXMENU_OPTIONS): Add quotations.
+
+ * m/ibmrt.h (C_SWITCH_MACHINE): Define only if not __GNUC__.
+ (HAVE_FTIME): Defined.
+ (EMACS_BITMAP_FILES): Defined.
+
+ * xfns.c (Fx_close_current_connection): Clear x_current_display.
+ * xterm.c (XTring_bell): Do nothing if x_current_connection is 0.
+
+ * buffer.c (reset_buffer): Clear mark_active field here.
+ (reset_buffer_local_variables): Not here.
+ (Fswitch_to_buffer, Fpop_to_buffer): Return the buffer.
+ (Fmove_overlay): Fix data types in last change.
+
+ * sysdep.c (gettimeofday): Don't store in *tzp if tzp is 0.
+
+ * process.c (MAXDESC): Get it from FD_SETSIZE if that exists.
+
+ * s/sco4.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
+ Redefined.
+ (SIGNALS_VIA_CHARACTERS): Defined.
+ [HAVE_SOCKETS] (HAVE_GETTIMEOFDAY): Defined.
+ (MAIL_PROGRAM_NAME): Defined (two alternate definitions).
+
+ * xfns.c (Fx_list_fonts): Use CHECK_LIVE_FRAME on the frame arg.
+
+1993-05-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/hpux8.h (LIBX11_SYSTEM): Defined.
+
+ * ymakefile: Replace config.h as dep with $(config_h).
+ (really-oldXMenu): Use two make vars to pass values
+ of C_SWITCH_... within doublequotes.
+
+ * xfns.c (x_figure_window_size): Never set PPosition or PSize.
+
+ * keymap.c (syms_of_keymap): Create global_map 256 slots long.
+ * cmds.c (keys_of_cmds): Predefined 0240-0376 as self-insert.
+
+ * xterm.c (XTread_socket, case KeyPress) [HPUX]:
+ Recognize the extended function keys.
+
+ * buffer.c (Fgenerate_new_buffer_name): New arg IGNORE.
+ (Frename_buffer): Pass new arg.
+
+1993-05-28 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * keyboard.c (menu_bar_items): Bind Qinhibit_quit to Qt while we
+ call the keymap accessors; this gets called during redisplay.
+
+ * ymakefile (alloca.o): Call $(CC), not cc.
+
+ * s/linux.h (SIGNALS_VIA_CHARACTERS): Try this out for a bit.
+
+ * buffer.c (Fmove_overlay): If the overlay is changing buffers,
+ do a thorough redisplay.
+
+ * xfns.c (x_set_frame_parameters): Use the first
+ position/size parameter we find, not the last.
+
+ * s/hpux8.h: Don't define HAVE_RANDOM.
+
+ * config.h.in (UNEXEC_SRC): New macro, set by the configure
+ script.
+ * ymakefile (UNEXEC_SRC): Give it a default value here, and make
+ UNEXEC depend on it.
+
+ * ymakefile (lispdir): Set this in terms of ${srcdir}.
+
+1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (Fsleep_for): Don't return without waiting when SEC is 0.
+
+ * emacs.c (syms_of_emacs) [CANNOT_DUMP]: Don't defsubr Sdump_emacs*.
+
+ * alloc.c (mark_object): Add debugging code to check for ptr clobbered.
+
+1993-05-27 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * Version 19.9 released.
+
+1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_char): Correct previous change.
+
+1993-05-27 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * systty.h: Always terminate comments, to avoid confusion.
+
+ * xfns.c: Make resource manager work correctly even when
+ Vinvocation_name has periods and asterisks in it.
+ (Vxrdb_name): New variable.
+ (Fx_get_resource): Use it instead of Vinvocation_name.
+ (Fx_open_connection): Initialize it to a copy of Vinvocation_name,
+ with the dots and stars replaced by hyphens.
+ (syms_of_xfns): staticpro it here.
+
+ * xfns.c (Fx_get_resource): Use the proper format string when the
+ attribute has been specified.
+
+1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_get_resource_string): New function.
+
+ * ymakefile (ALL_CFLAGS): Put CFLAGS last.
+
+1993-05-26 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * s/sol2.h: (SOLARIS_BROKEN_ACCESS): Don't define this.
+
+ * s/aix3-2.h (C_SWITCH_SYSTEM): Don't define this to be "-ma" if
+ we're using GCC - that's an XLC switch.
+
+ * s/aix3-2.h (LIBS_SYSTEM): Put -LIM -Liconv here.
+
+ * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
+ we have those structures, but *don't* define them if we have
+ TERMIOS, whose functions take care of those parameters; that
+ screws up AIX.
+ (struct emacs_tty): Test those symbols, instead of the ioctl
+ commands.
+ * sysdep.c (emacs_get_tty, emacs_set_tty, new_ltchars, new_tchars,
+ init_sys_modes): Same.
+
+ * config.h.in (HAVE_RENAME): Include an #undef for this, so
+ configure will have something to edit.
+
+1993-05-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (window_loop, case GET_LRU_WINDOW):
+ Get frame's width properly.
+
+ * xselect.c (x_get_local_selection): If no conversion function
+ exists for the requested type, just return nil.
+
+ * s/linux.h (HAVE_TCATTR): Defined.
+
+ * sysdep.c [HAVE_SOCKETS]: Include socket.h, netdb.h.
+ (get_system_name) [HAVE_SOCKETS]: Use gethostbyname.
+
+1993-05-26 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * s/hpux8.h (LIB_X11_LIB, C_SWITCH_SYSTEM, LD_SWITCH_SYSTEM,
+ LD_SWITCH_SYSTEM, OLDXMENU_OPTIONS): Add X11R5 directories to the
+ search paths in these lists; they shouldn't do any harm if they
+ don't have X11R5.
+
+ * s/aix3-2.h (C_SWITCH_SYSTEM): Don't #define this if we're using
+ GCC.
+
+1993-05-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xrdb.c (magic_searchpath_decoder): Fix typos.
+
+ * xdisp.c (display_text_line): Don't call compute_char_face
+ for a non-X frame.
+
+ * xfns.c (Fx_rebind_key, Fx_rebind_keys): X10 definitions deleted.
+ (syms_of_xfns): Install them only if X11.
+
+ * ralloc.c (r_alloc_sbrk): Declare already_available as long, not SIZE.
+
+ * xfns.c (x_set_cursor_type): If arg not recognized, use box cursor.
+
+ * s/hpux8.h (LD_SWITCH_SYSTEM) [__GNUC__]: Pass -a archive to ld.
+ (HAVE_RANDOM): Defined.
+
+ * s/hpux.h (rand, srand): Definitions deleted.
+
+ * keyboard.c (Fcurrent_input_mode): Fix the call to Flist.
+ (make_lispy_event): Fix off-by-1 error with hpos in menu bar.
+
+ * s/sunos4-1-3.h: New file.
+
+ * ymakefile (XOBJ) [!HAVE_X_MENU]: Add xfaces.o.
+
+ * s/irix4-0.h (SIGNALS_VIA_CHARACTERS): Defined.
+
+ * xterm.c (x_wm_set_size_hint): Don't set hints for max size.
+
+1993-05-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m/ibmrs6000.h (LIBS_MACHINE): Add -lIM and -liconv.
+ (HAVE_GETTIMEOFDAY): Deleted.
+
+ * sysdep.c (wait_for_termination): Don't use the BSD alternative
+ for LINUX. Use the UNIPLUS alternative.
+
+ * keyboard.c (read_char): If kbd_buffer_get_event returns nil,
+ redisplay and retry.
+ (kbd_buffer_get_event): If event is handled here, return nil.
+ (swallow_events): New function.
+ * process.c (wait_reading_process_input): Call that.
+
+ * ralloc.c (POINTER): Always use char *.
+
+ * s/sol2.h (C_SWITCH_X_SYSTEM): Deleted.
+ (LD_SWITCH_SYSTEM): Delete the -L option, leave just -R.
+
+ * m/symmetry.h (PTY_TTY_NAME_SPRINTF, PTY_NAME_SPRINTF):
+ Use pty_name, not ptyname.
+
+ * syntax.c (Fforward_comment): Arg is a Lisp_Object.
+ Convert it to an int.
+
+ * ymakefile (alloca.o): Get alloca.c and alloca.s from ${srcdir}.
+
+ * floatfns.c (logb): Don't declare if hpux.
+
+ * syntax.c (Fforward_comment): Always set point.
+
+ * s/dgux.h, s/hpux.h, s/esix.h (HAVE_GETTIMEOFDAY): Deleted.
+
+ * s/irix4-0.h (C_ALLOCA, alloca): Definitions deleted.
+ [!NOT_C_CODE]: Include alloca.h.
+ (NEED_SIOCTL): #undef this.
+
+ * xterm.h (PIXEL_TO_CHAR_COL, PIXEL_TO_CHAR_ROW):
+ Fix mismatch in arg names.
+
+ * xfns.c (Fx_open_connection): Set xrm_option correctly.
+
+1993-05-25 David J. MacKenzie (djm@wiki.eng.umd.edu)
+
+ * xfns.c (x_figure_window_size): Make the default frame coords (0,0).
+
+1993-05-25 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * Version 19.8 released.
+
+1993-05-25 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xfns.c: Clear out the old face stuff.
+ (x_face_table, n_faces, x_set_face, x_set_glyph, Fx_set_face_font,
+ Fx_set_face, Fx_get_face): Removed.
+ (syms_of_xfns): Remove defsubr for Fx_set_face.
+
+ Arrange for font names to get fully resolved - no wildcards.
+ * xfns.c (x_set_frame_parameters): Store the value in the frame
+ parameter alist before we call the setter function, so the setter
+ function can touch up the value if it chooses.
+ (x_set_foreground_color, x_set_background_color): Call
+ recompute_basic_faces, so their GC's will reflect the changes.
+ (x_new_font): Add extern declaration - this returns a Lisp_Object
+ now, the fully resolved font name.
+ (x_set_font): Accept the fully resolved name from x_new_font, and
+ put it in the frame's parameter alist. Call recompute_basic_faces.
+ * xterm.c (x_new_font): Return the fully resolved font name, Qnil
+ (if no match), or Qt (match, but unacceptable metrics).
+ * xterm.c (x_new_font): Don't call init_frame_faces.
+
+ * xterm.h: New section for declarations for xfaces.c.
+ (init_frame_faces, free_frame_faces, intern_face,
+ face_name_id_number, same_size_fonts, recompute_basic_faces,
+ compute_char_face, compute_glyph_face): Declare these here.
+ * xfaces.c (same_size_fonts): We can now remove this extern
+ declaration.
+ * xfns.c (face_name_id_number): Likewise.
+ * xterm.c (intern_face): Likewise.
+
+ * xterm.c (dumpglyphs): Remember that the default faces can have
+ null fonts, too.
+
+ * xfns.c (Fx_list_fonts): Remember that FACE may not have a font
+ specified. Don't specify 30000 as the maximum limit on the number
+ of fontns returned - 2000 is more reasonable.
+
+ * xfaces.c (build_face, unload_font, free_frame_faces): Don't
+ forget to block input while making X calls.
+
+ Treat faces as structures specifying modifications to the frame's
+ parameters, rather than things which need to specify a complete
+ set of parameters by themselves.
+ * xfaces.c (init_frame_faces): Don't set up the two frame display
+ faces by querying the GC - just leave all their fields blank, and
+ call recompute_basic_faces, letting build_face do the work of
+ consulting the frame when necessary.
+ (recompute_basic_faces): New function.
+ (compute_base_faces): New function for obtaining the "identity"
+ for compute_char_face and compute_glyph_face.
+ (compute_char_face, compute_glyph_face): Call it, instead of copying
+ FRAME_DEFAULT_FACE.
+ * xfns.c (x_make_gc): No need to call init_frame_faces here.
+
+ * xfaces.c (intern_frame_face): This can be static.
+
+ * dispextern.h (struct face): New field - `copy', to help us with
+ resource allocation.
+ * xfaces.c (free_frame_faces): Do free the first two faces; don't
+ free anything from a face that's a copy.
+ (intern_frame_face): Mark every face we intern as a copy; its
+ resources are actually a combination of the real faces.
+ (Fset_face_attribute_internal): No need to check if we're trying
+ to free one of the frame's GC's; they never enter into the
+ picture.
+
+ * casetab.c: Fix formatting, so as not to confuse etags.
+
+ * xfns.c (Fx_list_fonts): New function.
+ (face_name_id_number): Add extern declaration for this.
+ * xfaces.c (face_name_id_number): Make this externally visible,
+ and make the FRAME argument a FRAME_PTR, not a Lisp_Object.
+ (compute_char_face): Call face_name_id_number properly.
+
+ * xfaces.c (unload_color): Don't free the pixel for now.
+
+ * xfaces.c (merge_faces): You can't tell if a font is a
+ character-cell font or not by testing whether or not it has a
+ per_char table. They all do.
+ * xterm.c (x_new_font): Same deal.
+ * xfns.c (Fx_list_fonts): Same deal.
+
+ * m/iris4d.h: Dyke out the section which specifies how to get the
+ load average.
+
+ * paths.h (PATH_INFO): New path, to edited by the configuration
+ process.
+ * callproc.c (Vconfigure_info_directory): New variable, used
+ internally by build process.
+ (syms_of_callproc): DEFVAR it and initialize it.
+
+ * keyboard.c (Fcurrent_input_mode): Use XFASTINT to build the last
+ element of the return value, not XSETINT.
+
+1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ Changes for OSF/1:
+ * mem-limits.h [__osf__ && (__mips || mips)]: #include
+ <sys/time.h> and <sys/resource.h>.
+ (get_lim_data): OSF wants a definition like BSD4_2's.
+ * s/osf1.h: #include "bsd4-3.h", not "s-bsd4-3.h".
+
+ * ymakefile (LIBX): Put LD_SWITCH_X_SITE before the libraries, so
+ it actually has an effect.
+
+ Some makes can't handle form feed characters in their makefiles.
+ * s/usg5-3.h: Remove form feed.
+ * s/template.h, m/template.h: Remove form feeds.
+
+ * xfns.c (select_visual): Include the screen number in the
+ template of things XGetVisualInfo must match.
+
+1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/dgux.h (NO_GET_LOAD_AVG): Test _M88KBCS_TARGET, not __GNUC__.
+
+ * xterm.c (XTread_socket, ConfigureNotify case):
+ Convert from parent window, not Emacs window.
+ (XTread_socket): Handle ReparentNotify events.
+
+ * m/i860.h: New file.
+
+ * keyboard.c (lispy_function_keys): Add kp-numlock. Fix kp-backspace.
+
+1993-05-24 Thorsten Ohl (ohl@chico.harvard.edu)
+
+ * m/next.h (C_SWITCH_MACHINE): Definition deleted.
+
+ * lread.c: Don't #undef NULL.
+
+1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * buffer.c (Fmake_overlay): Put beg and end in the
+ right order.
+ (Fmove_overlay): If beg and end are markers, make sure they're in
+ the right buffer.
+
+1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (modify_event_symbol): If a name_table elt is null,
+ generate a name to use. Don't crash.
+
+ * fileio.c (Fread_file_name): If input is empty, do return the default
+ even if !insert_default_directory.
+
+ * xterm.c (XTread_socket): For ConfigureNotify event,
+ translate coordinates if send_event field is false
+ provided the x-coord value is not large.
+
+1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/irix4-0.h (NO_MATHERR): Defined.
+ * floatfns.c [NO_MATHERR]: Undef HAVE_MATHERR.
+
+1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * fileio.c (Ffile_writable_p): Pass XSTRING (foo)->data to
+ ro_fsys, not XSTRING (foo).
+
+ * xterm.c (x_new_font): Reject fonts with varying spacing. We
+ don't support them yet.
+ * xfns.c (x_set_font): Report the error message properly.
+
+ * xfns.c (Fx_parse_geometry): No need to call check_x here; it
+ doesn't interact with the server at all, and we need it in order
+ to create our first frame.
+
+1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/linux.h (HAVE_SETSID): Defined.
+ (HAVE_SOCKETS): Defined.
+
+ * process.c (create_process): Ignore retval from TIOCSTTY.
+ (sys_siglist) [LINUX]: Don't even declare it.
+
+1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * syssignal.h (sys_signal): Declare the second argument to have
+ type signal_handler_t. We're told this is necessary for Linux.
+
+1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/dgux.h (NO_GET_LOAD_AVG): Define, if __GNUC__.
+
+1993-05-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * s/hpux8.h (NO_SIOCTL_H): Defined.
+
+1993-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/linux.h (HAVE_DUP2, HAVE_ALLOCA_H): Deleted.
+
+1993-05-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * syssignal.h: Don't #include <signal.h>
+ * alloc.c: #include <signal.h>, but before "config.h".
+
+1993-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfaces.c (Fset_face_attribute_internal): Don't call unload_font
+ for the frame's own font.
+
+ * xfns.c (check_x): New function.
+ Call it in almost every Lisp function in this file.
+ (x_set_menu_bar_lines_1): Pass both args in recursive call.
+
+1993-05-23 Paul Eggert (eggert@twinsun.com)
+
+ * editfns.c (Fcurrent_time_zone): Make `am' an int, not long.
+
+1993-05-23 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ Changes for SGI from Matthew J Brown <mjb@doc.ic.ac.uk>.
+ * m/iris4d.h, m/iris5d.h: Don't use the --cckr CC switch if we're
+ using GCC.
+ * m/iris4d.h (NEED_SIOCTL): Move this to...
+ * s/irix3-3.h (NEED_SIOCTL): ... here; apparently it's not
+ necessary in irix4-0.h.
+ * s/irix4-0.h: Remove declaration of getpty; apparently Irix 4.0
+ already declares this elsewhere.
+ (PTY_TTY_NAME_SPRINTF): #undef this before re-#defining it.
+ * m/ibmps2-aix.h, m/pfa50.h, s/hpux.h, s/isc2-2.h, s/linux.h,
+ s/sco4.h, s/usg5-4.h: Remove HAVE_RENAME; configure guesses that now.
+
+ * config.h.in (LD_SWITCH_X_SITE, C_SWITCH_X_SITE): Change the
+ #defines to #undef's, so ../configure knows it should tweak them.
+
+ * xterm.c (x_scroll_bar_report_motion): Set *TIME whether or not
+ the mouse is over a scroll bar.
+
+ * xfaces.c (Fset_face_attribute_internal): Don't free the frame's
+ normal_gc or reverse_gc.
+
+ * keyboard.c (make_lispy_movement): Deal properly with mouse
+ motion outside of all windows.
+
+ * lisp.h (GLYPH_FACE): Remember that the face portion of a glyph
+ can be 24 bits, not just eight.
+
+1993-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c: Move signal.h and stdio.h before config.h.
+
+ * editfns.c (Fcurrent_time_zone): Assign gmt, instead of init.
+
+1993-05-22 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * Version 19.7 released.
+
+ * Makefile.in (SUBMAKEFLAGS): Add CFLAGS to the list.
+
+ * puresize.h [not HAVE_X_WINDOWS] (PURESIZE): Make this 185k,
+ not 196k. We're actually using ~180k.
+
+ * editfns.c: #include <sys/types.h>, to get time_t for Eggert's
+ changes.
+
+1993-05-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (FRAME_SUPPORT): Add mouse.elc, select.elc, scroll-bar.elc.
+
+ * xdisp.c (display_text_line): Highlight in any frame's sel window.
+
+ * keyboard.c (modifier_names): Update to match *_modifier in termhooks.
+
+1993-05-22 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * xterm.c (x_scroll_bar_handle_click): Never grab the scroll bar;
+ that feature requires more support to work correctly.
+
+ * keyboard.c (make_ctrl_char): New function.
+ (read_char): Call it.
+ (kbd_buffer_store_event): Call it to see if the new character is
+ the quit or stop character.
+ (make_lispy_event): Call it.
+
+1993-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_window_to_frame): Use XGCTYPE.
+
+1993-05-21 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * process.c (Fopen_network_stream): Deal with older systems, which
+ only have the h_addr field in their struct hostent.
+
+ * systty.h [SYSV_PTYS]: #include <sys/types.h>. Francesco
+ Potorti` <pot@fly.CNUCE.CNR.IT> says it's necessary on his
+ machine, and it should be harmless.
+
+1993-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * sysdep.c (wait_for_termination): Copy code from 18.59
+ (but sans BSD4_1 alternatives).
+
+1993-05-21 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * ymakefile (alloca.o): #define malloc and free to be xmalloc and
+ xfree on the command line of this compilation.
+
+ * s/sco4.h: (TIME_WITH_SYS_TIME): This is no longer needed.
+
+ * s/linux.h: Remove copyright notices by Michael K. Johnson and
+ Rik Faith. They have both sent in papers now which make their
+ changes public domain.
+
+ * sysdep.c (sys_suspend): Set synch_process_alive, so that
+ wait_for_termination has something to wait for.
+
+1993-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (display_text_line): Highlight only in selected window.
+
+ * xfns.c (syms_of_xfns): Don't make Lisp vars
+ x-mode-pointer-shape and x-nontext-pointer-shape.
+
+1993-05-20 Ian Lance Taylor (ian@cygnus.com)
+
+ * s/sco4.h (SCO): Don't define (no longer needed).
+ (HAVE_SYS_TIME_H): Don't define (set by configure).
+ (TIME_WITH_SYS_TIME): Define.
+
+1993-05-20 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * dispnew.c (preserve_other_columns): Remember to multiply the
+ size argument to bcopy by the size of a glyph.
+
+1993-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Reexamine this_command
+ after pre-command-hook runs.
+
+ * xterm.c (x_find_modifier_meanings): If some keys are meta and alt,
+ make them just meta, not alt.
+
+1993-05-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ Some time-handling patches from Paul Eggert:
+ * editfns.c (Fcurrent_time_zone): Take an optional argument specifying
+ what (absolute) time should be used to determine the current time zone.
+ Yield just offset and name of time zone, including DST correction.
+ Yield time zone offset in seconds, not minutes.
+ (lisp_time_argument, difftm): New functions.
+ (Fcurrent_time_string): Use lisp_time_argument.
+ * systime.h (EMACS_CURRENT_TIME_ZONE, EMACS_GET_TZ_OFFSET,
+ EMACS_GET_TZ_NAMES): Remove.
+ * config.h.in: Add HAVE_TM_ZONE.
+
+ Some more changes from Michael K. Johnson for Linux.
+ * s/template.h: Mention that you should #define HAVE_TERMIO or
+ HAVE_TERMIOS, but not both, and that HAVE_TERMIOS is preferred.
+ * systty.h (EMACS_SET_TTY_PGRP): Don't assign the return value of
+ tcsetpgrp to *pgid; it's just a status value.
+ * config.h.in (HAVE_RANDOM): This shouldn't be defined on Linux
+ systems using XFree386, and perhaps is inappropriate in general.
+ * m/intel386.h: #undefine the integer size macros, since the Linux
+ <values.h> file #defines them itself.
+ * mem-limits.h (get_lim_data): Linux has the ulimit call; if it
+ fails, fall back on ULIMIT_BREAK_VALUE.
+ * process.c: Linux needs the WAITTYPE, etc. definitions.
+ * unexec.c (hdr, ohdr): Linux has the ordinary `struct exec' type;
+ no need to use SYSV names.
+ * s/linux.h: New file.
+
+ Some changes from Michael K. Johnson for Linux.
+ * sysdep.c (sys_siglist): Don't define this if HAVE_SYS_SIGLIST is
+ #defined. That lets the system provide it, if it has it.
+ * syssignal.h (sigmask): Only define this if <signal.h> hasn't
+ given us a definition already.
+ * syssignal.h (sys_sigpause): Fix argument in prototype.
+ * sysdep.c (init_signals): The masks are called empty_mask and
+ full_mask, not signal_empty_mask and signal_full_mask.
+ (signal_handler_t): Moved ....
+ * syssignal.h: ... to here.
+ * systty.h (EMACS_SET_TTY_PGRP): Call tcsetpgrp with the correct
+ arguments.
+ * emacs.c (main): Don't try to establish signal handlers for
+ SIGBUS and SIGSYS unless they're actually #defined.
+
+ * systty.h [HAVE_TERMIO, __DGUX]: #include <sys/ioctl.h>.
+
+ * xdisp.c (redisplay_window): Compute the scrollbar start and end
+ properly.
+
+1993-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fcurrent_input_mode): Return META as 3-way flag.
+
+1993-05-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * fileio.c (Ffind_file_name_handler): Check that FILENAME is a
+ string.
+
+ * process.c (wait_reading_process_input): Undo change of April
+ 29th, since that re-introduces the race condition the comments are
+ warning about. Call clear_waiting_for_input before calling
+ status_notify, though.
+
+ * process.c (wait_reading_process_input): Don't forget to call
+ clear_waiting_for_input when we exit the loop because process
+ input has arrived.
+
+ Changes for Silicon Graphics Iris 5D.
+ * unexelfsgi.c: New file; like unexelf.c, but tolerates program
+ segments above BSS.
+ * m/iris5d.h: New file.
+ * s/irix5-0.h: New file.
+ * process.c [__sgi] (allocate_pty): Give up immediately if pty is
+ inaccessible.
+
+1993-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (follow_key): Check char in range before UPPERCASEP.
+
+1993-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_set_menu_bar_lines): Fix typo in last change.
+
+ * keyboard.c (make_lispy_event): Controlify lower case letters too.
+
+1993-05-18 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xdisp.c (display_text_line): If the newline (or C-m, in
+ selective-display) has a non-default face, apply that face to the
+ remainder of the line, so that the fill occupies the entire line.
+
+ * xterm.c (x_new_font): Tell the frame display faces about the
+ newly chosen font.
+
+ Make sure that all the display faces use fonts of the
+ same dimensions as the default face, so as not to confuse the rest
+ of the redisplay code.
+ * xfaces.c (same_size_fonts): New function.
+ (merge_faces): Only merge in a new font from the FROM face if it
+ is the same size as the font in the TO face.
+
+ * xfns.c (x_set_menu_bar_lines): Minibuffer-only frames can't have
+ menu bars.
+
+ * keyboard.c (read_key_sequence): Don't lay down an unwind_protect
+ to restore the original buffer until we actually get a mouse click.
+
+ * window.c (window-dedicated-p): Doc fix.
+
+1993-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Turn off ControlMask for XLookupString.
+ * keyboard.c (make_lispy_event): Controlify here.
+
+1993-05-17 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xdisp.c (redisplay_window): Make the scrollbar reflect the
+ extent of the visible region, not the whole buffer.
+
+ * xfaces.c (free_frame_faces): Don't free the resources from the
+ first two faces.
+
+ * lisp.h (malloc, realloc): Declare these to return void *, to
+ avoid conflicts with ANSI header files.
+
+ * sysdep.c (reset_sys_modes): Test the return value of
+ EMACS_SET_TTY properly.
+ * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Document the return
+ values.
+
+1993-05-16 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * config.h.in (STDC_HEADERS, TIME_WITH_SYS_TIME,
+ CRAY_STACKSEG_END, STACK_DIRECTION): Add #undef clauses for these,
+ since otherwise the autoconf tests in configure.in won't do us
+ much good.
+
+1993-05-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (overlays_at): New arg EXTEND.
+ (Foverlays_at, Fnext_overlay_change): Pass 1.
+ * xfaces.c (compute_char_face): Pass 0.
+ Try first with small overlay_vec, then use a big enough one.
+
+ * lread.c (syms_of_lread): Make Vcurrent_load_list ordinary Lisp var.
+ Set up Qcurrent_load_list.
+ (readevalloop): Specbind Qcurrent_load_list instead of ad-hoc saving.
+ (build_load_history): Do nothing when loading pure files.
+
+ * xterm.c (dumpglyphs): Create a temporary merged gc
+ when cursor falls on char with non-default face.
+
+ * xterm.h (x_display): New field cursor_foreground_pixel.
+ * xfns.c (x_set_cursor_color): Set cursor_foreground_pixel.
+
+ * casefiddle.c (casify_region): Remove mistaken arg to record_change.
+
+1993-05-15 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * xfaces.c (Fset_face_attribute_internal): Jolt redisplay, so it
+ knows something has changed.
+
+ * xfaces.c (unload_color): Don't try to unload the standard black
+ or white pixel.
+
+ More changes from David Mackenzie.
+ * ymakefile (emacs): No need to edit srcdir into a lisp file and
+ then load it; we can just take advantage of the PATH_DUMPLOADSEARCH.
+ (crt0.o): Remember that crt0.c is in ${srcdir}.
+
+ Install David Mackenzie's patches to make ${srcdir} work.
+ * Makefile.in (srcdir, VPATH): Get this value from the top-level
+ Makefile.
+ (xmakefile): Use ${srcdir} to find the files from which we produce
+ xmakefile. Edit the values for srcdir and VPATH into xmakefile.
+ * ymakefile (srcdir, VPATH): New definitions for the Makefile
+ to edit.
+ (ALL_CFLAGS): Remove `-Is' and `-Im'; add `-I${srcdir}', and
+ `-I.'.
+ (emacs): Adjust dumping commands to deal with a separate source
+ directory.
+ (${etc}DOC): Pass `-d ${srcdir}' to make-docfile, to tell it where
+ to find the source files.
+ (prefix-args): Find the source code in ${srcdir}.
+
+ * process.c (wait_reading_process_input): If we're running
+ Solaris, it's not necessary to check if we should redeliver SIGIO,
+ according to David Mackenzie.
+ * s/sol2.h: #include "usg5-4.h", and #define const.
+
+ * systime.h: Borrow CPP sequence from getdate.y to include the
+ proper combination of <time.h> and <sys/time.h>.
+
+1993-05-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.h (struct window): New slot region_showing.
+ * xdisp.c (mark_window_display_accurate): Set region_showing fields.
+ (redisplay_window): Update region_showing field.
+ (display_text_line): Set region_showing to t if will show one.
+
+ * xselect.c (Fx_selection_exists_p): Handle nil, t as SELECTION arg.
+ Don't die if SELECTION is not recognized.
+
+ * dispnew.c (direct_output_forward_char): Just give up
+ if region is being highlighted.
+
+ * xdisp.c (redisplay, redisplay_window): Don't use the cursor-motion
+ special-case code if the region is or was highlighted.
+
+ * xfaces.c (compute_char_face): New args REGION_BEG, REGION_END.
+ Don't sort if noverlays is 0 or 1.
+
+ * dispnew.c (direct_output_for_insert): Pass those args.
+ * xdisp.c (display_text_line): Pass those args,
+ describing the region if the mark is transient and active.
+
+1993-05-14 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * buffer.c (Fmove_overlay): If the overlay is in no buffer and the
+ BUFFER argument has been omitted, put it in the current buffer,
+ for symmetry with move-marker.
+
+ * buffer.c (Fdelete_overlay): Make the overlay's markers point
+ nowhere, not at 1. Do this after calling redisplay_region, so
+ that code knows what section has changed.
+
+1993-05-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (display_menu_bar): Update FRAME_MENU_BAR_ITEMS here.
+ * keyboard.c (command_loop_1): Don't do it here.
+
+ * keymap.c (access_keymap): Handle any length vector.
+ (store_in_keymap): Likewise.
+ (Fcopy_keymap): Likewise.
+
+1993-05-14 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * buffer.c (Foverlay_start, Foverlay_end, Foverlay_buffer,
+ Foverlay_properties): Functions moved here from subr.el.
+
+1993-05-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xfaces.c (compute_char_face): When merging the overlays,
+ traverse sortvec, not overlay_vec; the latter isn't the one we
+ sorted.
+
+ * xterm.c (dumpglyphs): Give the cursor higher priority than the
+ face specified by the glyph under it.
+
+ * xterm.c (dumpglyphs): Move the underline up a row. I dislike
+ the way X addresses pixels. Quickdraw is much nicer.
+
+ * xfaces.c (intern_face): If the face has a GC, but it's not the
+ default or modeline face, abort. Nothing but those two faces
+ should have a GC *and* be passed to intern_face.
+ (compute_char_face, compute_glyph_face): After copying
+ the frame's default face into face, to use as a base case for
+ calculation, set the `gc' member to zero; that way we don't have
+ things lying around that look like display faces but aren't.
+
+ * xfaces.c (intern_frame_face): When copying the new face into the
+ frame's face array, remember that the number of bytes to copy is
+ sizeof (*new_face), not sizeof (new_face).
+
+ * xfaces.c (compute_char_face): Assume that W is displaying the
+ current buffer. Abort if it isn't.
+
+ * lisp.h (Lisp_Overlay): New tag.
+ (OVERLAYP): New predicate.
+ (CHECK_OVERLAY): New type-checker.
+ (Qoverlayp): New extern declaration.
+ * buffer.c (Foverlayp): New function.
+ (Qoverlayp): New atom.
+ (overlays_at, recenter_overlay_lists): Abort if we encounter an
+ invalid overlay.
+ (syms_of_buffer): defsubr Soverlayp; initialize Qoverlayp.
+ (Fdelete_overlay): Set the overlay's markers to point nowhere.
+ Use CHECK_OVERLAY instead of signalling a special error.
+ (Fmove_overlay, Foverlay_put): Use CHECK_OVERLAY instead of
+ signalling a special error.
+ (Foverlay_get): Use CHECK_OVERLAY.
+ * fns.c (internal_equal): Define this for overlays.
+ * buffer.h (OVERLAY_VALID): Define in terms of OVERLAYP.
+ * print.c (print): Give overlays their own print syntax.
+ * alloc.c (mark_object): Treat overlays like conses.
+
+ * lisp.h (FLOATP): Define this appropriately when LISP_FLOAT_TYPE
+ is not defined.
+
+ * buffer.c (Foverlay_get): Return Qnil if the requested property
+ is missing from the property list.
+
+ The text property routines can now modify buffers other
+ than the current one.
+ * insdel.c (modify_region): New argument BUFFER. Select that
+ buffer while we prepare for the modification, and switch back when
+ we're done.
+ * textprop.c (add_properties, remove_properties): Pass
+ the buffer being modified as the first argument to modify_region.
+ * editfns.c (Fsubst_char_in_region, Ftranslate_region): Pass the
+ current_buffer as the first argument to modify_region.
+ * casefiddle.c (casify_region): Same.
+
+ * dispnew.c (direct_output_for_insert): Compute the face of the
+ character we're inserting properly.
+
+ * xterm.c (dumpglyphs): Pass the proper arguments to intern_face.
+
+ * xterm.c (dumpglyphs): Don't increment left twice.
+
+ * intervals.c (set_point): Check for point out of bounds before
+ checking for an empty interval tree.
+
+ * cmds.c (Fforward_char): Check proposed new position, and then
+ set point, instead of setting point to a potentially invalid
+ position.
+
+ * lread.c, data.c: If STDC_HEADERS is #defined, include <stdlib.h>
+ to get the extern declarations for atof. That's where it is in
+ POSIX.
+
+1993-05-12 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * ymakefile (xfaces.o): Add window.h to the dependencies.
+
+ * xfaces.c (intern_frame_face): Exchange order of arguments, to
+ make callers correct.
+
+ * xfaces.c (compute_char_face): Notice the next property change
+ location correctly.
+
+ * xfaces.c (face_name_id_number): Return 0 (the default face) if
+ the name is undefined.
+
+ * xfaces.c (Fset_face_attribute_internal): Do nothing unless FRAME
+ is an X frame.
+
+ * xdisp.c (copy_rope, copy_part_of_rope): Add face argument.
+ (display_text_line): Initialize current_face to zero. Apply it
+ to characters as we write them to the display matrix.
+ (display_string): Pass the new argument to copy_rope.
+
+ * xdisp.c (display_text_line): Handle the locations of face
+ changes properly.
+
+ * textprop.c (Fnext_single_property_change,
+ Fprevious_single_property_change): Pass arguments to textget in
+ the right order.
+
+ * ymakefile (xfns.o): Remove duplication of buffer.h in dependencies.
+
+ * ymakefile ($(OLDXMENU)): Remove extraneous call to `rm'.
+
+1993-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (Faccessible_keymaps): Use whatever size the vector has.
+ (Fwhere_is_internal): Likewise.
+ (describe_vector): Likewise.
+ (current_minor_maps): Call Findirect_function, so symbols
+ can be used in place of actual maps.
+
+ * xdisp.c (display_text_line): Use break; to exit loop at eol.
+ Duplicate the short MAKE_GLYPH loop after the main loop.
+ If no display table, do obey selective_display_ellipses.
+ (copy_part_of_rope): Arg FROM is now Lisp_Object *.
+
+ * xfaces.c: Do include window.h.
+ (compute_char_face): Supply third arg of Fget_text_property.
+
+ * keyboard.c (make_lispy_event): Don't set shift modifier for C-^.
+
+ * callproc.c (child_setup): Omit duplicates from new env array.
+
+1993-05-10 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * fileio.c (ro_fsys) [SOLARIS_BROKEN_ACCESS]: Check for the
+ filesystem being ro, since Solaris 2.1 doesn't.
+ (file-writable-p): Call ro_fsys.
+ * s/sol2.h (SOLARIS_BROKEN_ACCESS): Define this.
+
+ * systime.h: Use the strategy from getdate.y to include the proper
+ combination of <time.h> and <sys/time.h>.
+
+ * xfns.c (Fx_create_frame): Use an XLFD name for the default font,
+ instead of "9x15" or whatever it was.
+
+ * xdisp.c (display_text_line): Make face-handling code conditional
+ on HAVE_X_WINDOWS macro. Perhaps this isn't the best approach,
+ but it'll do for now.
+
+ * xdisp.c (display_text_line): We can't use the FRAME_DEFAULT_FACE
+ macro here; that's x-specific. Just don't pass the second
+ argument.
+ * xfaces.c (compute_glyph_face): Remove the BASIC_FACE argument;
+ use F's default face.
+
+1993-05-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xfaces.c (Fmake_face_internal): Do nothing for non-X frames.
+
+ * dispextern.h (struct face): Add cached_index member.
+ * xfaces.c (get_cached_face): Use it to avoid unnecessary
+ searches of face_vector.
+
+ * xfaces.c (intern_face): Renamed from get_display_face.
+
+ * xfns.c (x_make_gc): After building the GC's for the frame, call
+ init_frame_faces to set up the first two faces.
+ * xfaces.c (init_frame_faces): Don't just try to copy the default
+ and mode line faces from some other random frame; instead, consult
+ the normal_gc and reverse_gc members of the frame, and build the
+ faces based on their parameters.
+
+ Adjust the face computation functions to return frame face ID's,
+ not pointers to display faces; since we call these functions
+ during display construction, we don't want the display faces yet.
+ * xfaces.c (intern_frame_face): New function.
+ (compute_char_face, compute_glyph_face): Apply intern_frame_face
+ to the computed face, and return the frame face's ID, instead of
+ calling intern_face and returning a pointer to a display frame.
+
+ * xfaces.c: Describe the facial data structures. It took me a
+ while to figure them out; perhaps this will save someone else the
+ trouble.
+
+ Arrange to tell redisplay about changes in overlays.
+ * xdisp.c (redisplay_region): New function.
+ * buffer.c (Fmove_overlay): Call redisplay_region on the areas the
+ overlay has enclosed or left.
+ (Fdelete_overlay): Call redisplay_region on the area the overlay
+ used to occupy.
+ (Foverlay_put): Call redisplay_region on the area the overlay now
+ occupies; we may have put a face property on it.
+
+ * buffer.c (Fmove_overlay): Doc fix.
+
+ * xdisp.c (redisplay): If we're doing a thorough redisplay (all
+ windows on all frames involved), go ahead and flush the GC cache -
+ call clear_face_vector.
+
+ * xdisp.c (display_text_line): Apply faces to characters
+ according to overlays and text properties; use
+ compute_char_face and compute_glyph_face to figure out what
+ face to use, and where a new face starts.
+ * xterm.c (dumpglyphs): Use the upper bits of the glyphs to decide
+ which frame face to use. Call GLYPH_FOLLOW_ALIASES to make sure
+ we're implementing the glyph table properly. If we're not using
+ the default or mode line face, call intern_face to find a display
+ face for the frame face selected by the glyph code. Implement
+ underlining. Remove the `font' argument; we have to derive this
+ from the frame and face anyway. Change all callers.
+ * disptab.h (GLYPH_FOLLOW_ALIASES): New macro.
+
+ * xterm.c (x_destroy_window): Call free_frame_faces.
+
+ The GNU coding standards specify that CFLAGS should be left for
+ users to set.
+ * ymakefile (ALL_CFLAGS): Set this to the long string of
+ compilation switches, not CFLAGS. Changed all uses.
+ (CFLAGS): Make this default to just -g.
+ (.c.o): Define new default rule, to make sure that the right flags
+ get to the compilations.
+
+1993-05-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_char): Exit kbd macro if Vexecuting_macro is t.
+
+ * pwd.h: File deleted.
+
+1993-05-08 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * s/sunos4shr.h: Apply changes from David J. Mackenzie; this isn't
+ used by any configuration right now, but he's trying to make it
+ work.
+ #include "sunos4-1.h" instead of "bsd4-2.h".
+ (O_NDELAY): Don't define this.
+ (SYSTEM_MALLOC): Don't define this, either.
+ (LD_SWITCH_SYSTEM): Remove the definition for this.
+
+ * Makefile.in (DEFS): Remove this; we have configure build a
+ config.h file directly, instead of having lots of -D flags.
+
+ * Makefile.in (CFLAGS): Don't make this carry DEFS from the
+ configure script; the coding standards say that CFLAGS should be
+ left for the user to tweak.
+
+1993-05-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (do_mouse_tracking): Now static.
+
+ * xmenu.c (Fx_popup_menu): Add a vector of prefix keys for the panes.
+ (keymap_panes): Allocate that vector.
+ (single_keymap_panes): Fill in that vector.
+ (xmenu_show): Return a list of events, not just one event.
+
+ * keyboard.c (read_char_menu_prompt): Expect Fx_popup_menu
+ to return a list of events. Don't lose any of them.
+
+ * xfns.c (Fx_get_mouse_event, Fx_mouse_events): Code deleted.
+ * window.c (Vmouse_event): Var deleted.
+ (syms_of_window): Don't make it a Lisp var.
+
+ * keyboard.c (read_avail_input, Fset_input_mode): Make
+ meta_key a three-value variable to support 8-bit input.
+
+1993-05-07 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * ymakefile [__GNUC__ && __GNUC__ > 1] (LIB_GCC): Set this even if
+ LINKER is #defined.
+
+ * ymakefile ($(OLDXMENU)): Remove the link before we re-create it;
+ not all versions of ln have the `-f' flag. Use the LN_S variable,
+ inherited from src/Makefile.
+
+ * Makefile.in (LN_S): New variable, edited by top Makefile.
+ (SUBMAKEFILE): New variable, containing all flags to pass to
+ recursive makes.
+
+ * config.h.in: Adjust this for use by autoconf's AC_CONFIG_HEADER,
+ instead of AC_OUTPUT.
+
+ * xfaces.c (get_display_face): Use face_eql instead of writing it out.
+
+1993-05-06 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keymap.c (Fwhere_is_internal): If FIRSTONLY is non-nil, avoid
+ returning a non-ascii key sequence unless FIRSTONLY is the symbol
+ `non-ascii'.
+
+ * config.h.in: Remove mention of GLYPH datatype; that shouldn't be
+ a user option.
+ * lisp.h (GLYPH, MAKE_GLYPH, GLYPH_CHAR, GLYPH_FACE): New macros.
+
+1993-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_get_arg): Call Fintern, not intern.
+
+ * systime.h [SCO]: Include time.h.
+ * s/sco4.h: New file.
+
+ * ymakefile (LIBXMENU): Delete -loldX.
+
+ * emacs.c (main): Handle -display like -d.
+
+1993-05-05 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * s/template.h: Explain the relative significance of the SIGIO and
+ INTERRUPT_INPUT macros.
+
+ * ymakefile (buffer.o, insdel.o): Note that these files also
+ depend on blockinput.h.
+
+ * blockinput.h (UNBLOCK_INPUT): We cannot assume that SIGIO is
+ defined everywhere this file is #included; merge the two
+ definitions for defined (SIGIO) and ! defined (SIGIO) into one,
+ which calls reinvoke_input_signal if interrupt_input_pending is
+ set.
+ * keyboard.c (reinvoke_input_signal): New function.
+
+1993-05-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fdisplay_buffer): Add space to prompt.
+
+1993-05-04 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Doc fix for
+ extra-keyboard-modifiers.
+
+ * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER, CHAR_SHIFT, CHAR_CTL,
+ CHAR_META): Shift these all up one bit, back to where they were.
+
+1993-05-02 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keymap.c (Fdefine_prefix_command): Doc fix.
+
+ * ymakefile (C_DEBUG_SWITCH): Undo April 10 change.
+
+1993-05-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fsuspend_emacs): Doc fix.
+
+1993-04-30 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * data.c (Ffset): Refuse to set the function value of t or nil.
+
+1993-04-29 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Implement extra_keyboard_modifiers properly.
+ * keyboard.c (syms_of_keyboard): Doc fix for
+ extra-keyboard-modifiers; use the same modifier bits as we do for
+ characters.
+ (read_char): Apply all the modifiers in extra_keyboard_modifiers
+ to the input characters, so you can get hyper, super, and the rest
+ of the gang.
+ * xterm.c (x_emacs_to_x_modifiers): New function.
+ (x_convert_modifiers): Renamed to x_x_to_emacs_modifiers, for
+ consistency. Callers changed.
+ (XTread_socket): Apply x_emacs_to_x_modifiers to
+ extra_keyboard_modifiers before setting the state member of the
+ event; this will get all the modifiers on ASCII characters.
+
+ * xterm.c (x_text_icon): Don't call XSetIconName; it should be
+ unnecessary, and perhaps it's killing the icon pixmap.
+
+ * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
+ case we need them.
+ * termhooks.h (alt_modifier, super_modifier, hyper_modifier,
+ shift_modifier, ctrl_modifier, meta_modifier): Define these in
+ terms of the CHAR_mumble macros, to avoid having the same thing
+ defined in two places.
+
+ * keyboard.c (kbd_buffer_get_event): Don't generate switch-frame
+ events if they'd only switch to the frame already selected. This
+ avoids lots of extra switch-frame events when using a separate
+ minibuffer.
+
+1993-04-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fthis_command_keys): Doc fix.
+
+ * process.c (wait_reading_process_input): Move the status_notify
+ call before the set_waiting_for_input call.
+
+ * fileio.c (Fexpand_file_name): Undo last change--too risky for now.
+
+ * data.c (Fdefine_function): New function (same code as Fdefalias).
+
+1993-04-28 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * eval.c (do_autoload): Fixed the bug in the autoload-saving code.
+
+1993-04-28 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (Fcurrent_input_mode): New function.
+
+1993-04-27 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * eval.c (un_autoload): Don't try to save old autoload forms when
+ we load something in. Something about the code now conditioned
+ out by UNLOAD was screwing up ordinary autoloads, notably of
+ picture.el. When I figure out what, I'll fix and re-enable this
+ code.
+
+1993-04-27 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * buffer.c (syms_of_buffer): Doc fix for buffer-display-table.
+
+ * systime.h: Doc fix.
+ (EMACS_SET_USECS): Remember that a `usec' is a microsecond, not a
+ millisecond. What's three orders of magnitude between friends?
+ * dispnew.c (Fsit_for, Fsleep_for): Remember to multiply the
+ `milliseconds' argument by 1000 to get microseconds.
+
+1993-04-26 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * fileio.c (Fexpand_file_name):
+ Don't remove trailing / from NEWDIR if just "/".
+
+1993-04-26 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/mips.h,
+ m/sps7.h, s/hpux.h, s/usg5-4.h (HAVE_DUP2): Removed; derived by
+ configure script.
+ * s/hpux.h, s/irix3-3.h, s/aix3-1.h (HAVE_GETHOSTNAME): Removed;
+ derived by configure script.
+
+ Arrange for Fy_or_n_p to put off switch-frame events.
+ * lread.c (read_filtered_char): New function, which contains the
+ code which used to be in Fread_char, Fread_event, and
+ Fread_char_exclusive; there was a lot of common code.
+ (Fread_char, Fread_event, Fread_char_exclusive): Rewrite in terms
+ of read_filtered_char.
+ * lisp.h (read_filtered_char): Declare this extern here.
+ * fns.c (Fy_or_n_p): Call read_filtered_char, arranging to delay
+ switch-frame events.
+
+ * keyboard.c (read_key_sequence): Let the `modifiers' variable in
+ the code which deals with KEY being unbound be an int, not a
+ Lisp_Object.
+
+ * config.h.in (getenv): Don't test THIS_IS_YMAKEFILE to see if we
+ should exclude the getenv declaration; instead, test NOT_C_CODE.
+ Per suggestion from Francesco Potorti`.
+ * ymakefile (NOT_C_CODE): Define this; it's true, and useful.
+
+ * dispnew.c (Fsleep_for, Fsit_for): Allow SECONDS to be a
+ floating point value.
+
+1993-04-26 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * sysdep.c (read_pending_input):
+ Fix the garbaged-modifiers bug under System Vs previous
+ to r4.
+
+1993-04-25 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Move these into
+ functions in sysdep.c.
+ * sysdep.c (emacs_get_tty, emacs_set_tty): Here they are.
+
+ * sysdep.c (emacs_set_tty): Call tcsetattr over and over again
+ until it does all of what we ask it to, or returns an error.
+
+ * search.c (Freplace_match): Arrange for markers sitting at the
+ beginning or end of the original text to float to the
+ corresponding position in the replacement text.
+
+1993-04-25 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * window.c (Fset-window-buffer):
+ Set horizontal-scrolling on a window to zero when
+ we connect it to a new buffer.
+
+ * buffer.c: Doc fix.
+
+1993-04-24 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Make the modifier manipulation functions more robust. The old way
+ caused a bug once, and probably would again.
+ * termhooks.h (alt_modifier, super_modifier, hyper_modifier,
+ shift_modifier, ctrl_modifier, meta_modifier): Shift these all
+ down one bit in value, to avoid sign extension problems.
+ * lisp.h (CHAR_META, CHAR_CTL, CHAR_SHIFT): Fix these definitions too.
+ * keyboard.c (lispy_modifier_list): Ignore modifier bits beyond
+ what our table of modifier names can handle.
+ (apply_modifiers): Don't abort if you see extra modifier bits,
+ just remove them.
+
+1993-04-23 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * data.c (Fdefine_function):
+ Changed name back to Fdefalias, so we get things
+ in a known-good state.
+
+ * buffer.h (BUF_NARROWED, NARROWED):
+ New macros to test whether a region
+ restriction has narrowed the buffer.
+
+1993-04-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * systime.h: Comment fixes.
+
+ * data.c (Fdefine_function): New function.
+
+ * lisp.h (LOADHIST_ATTACH): New macro.
+ (Vcurrent_load_list, Vload_history): Vars declared.
+
+ * eval.c: (defun, defmacro, defvar, defconst):
+ Attach symbol argument to the list of globals for the input source.
+ (do_autoload): Save the old autoloads, in case we ever unload.
+
+ * fns.c (provide, require): Put appropriately-marked
+ conses in the current-globals list.
+
+ * lread.c (readevalloop):
+ New argument is the source file name (or nil if none).
+ All calls changed. Do the two-step
+ necessary to call build_load_history with the correct current-globals
+ list for the current recursion.
+ (build_load_history): New function.
+ (eval_region, eval_buffer): Call readevalloop with new arg.
+ (load_history): New variable.
+
+1993-04-16 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * lread.c (readevalloop): New argument is the source file name (or
+ nil if none). All calls changed. Do the two-step
+ necessary to call build_load_history with the correct current-globals
+ list for the current recursion.
+ (build_load_history): New function.
+ (Feval_region, Feval_buffer): Call readevalloop with new arg.
+ (Vload_history): New variable.
+
+ * fns.c (Fprovide, Frequire): Put appropriately-marked
+ conses in the current-globals list.
+
+ * eval.c (Fdefun, Fdefmacro, Fdefvar, Fdefconst):
+ Attach symbol argument to the list of globals for the input source.
+ (do_autoload): Save the old autoloads, in case we ever unload.
+
+ * data.c (Fdefine_function): New function.
+
+1993-04-16 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * fileio.c (Fmake_symbolic_link): If a file already exists under
+ the link's filename, delete the file which the link
+ would replace, not the file the link would point at.
+
+ * config.h.in (volatile): Don't define this to be the empty string
+ if some file has #defined HAVE_VOLATILE.
+
+ * emacs.c (SEPCHAR): Instead of defining this to be ',' on VMS and
+ ':' elsewhere, just have it default to ':' if not #defined, and
+ #define it to be ',' in s/vms.h; OS/2 will need it to be ';'.
+ * s/vms.h (SEPCHAR): #define this to be ','.
+ * s/template.h (SEPCHAR): Mention this.
+
+1993-04-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * s/vms.h (xfree): #define this to emacs_xfree, to avoid case
+ conflict with XFree; on VMS, external symbols are case-insensitive.
+
+ * s/usg5-4.h (HAVE_GETTIMEOFDAY): Deleted; ../configure figures
+ that out now.
+
+ Changes for Emacs 19 from Thorsten Ohl <ohl@chico.harvard.edu>:
+ * s/mach2.h: copied from the Emacs 18.59 distribution.
+ Don't define NO_REMAP, define START_FILES as
+ `pre-crt0.o' instead. Define LIB_MATH as `-lm', to override the
+ default `-lm -lc' (there is no libc on the NeXT).
+ * ymakefile (STARTFILES): Allow config.h to set this value even if
+ ORDINARY_LINK is defined.
+ * unexnext.c: Fix subdirectories for the machine dependent include
+ files for NeXTStep 3.0; #include <mach/mach.h> and
+ <mach-o/loader.h> instead of <mach.h> and <sys/loader.h>.
+ (getsectbyname): Remove prototype for this; the system #include
+ files take care of that.
+ (malloc_cookie): New variable.
+ (unexec_doit): Set malloc_cookie to the result returned by
+ malloc_freezedry.
+ * emacs.c (main): Declare malloc_cookie to be extern, so that we can
+ get the value set when we dumped and pass it to malloc_jumpstart.
+ * systime.h: The NeXT has a timezone function.
+
+1993-04-12 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * ymakefile ($(OLDXMENU)): Remove $(OLDXMENU) before trying to
+ link in a new version.
+
+ * lisp.h (Qrange_error, Qdomain_error, Qsingularity_error,
+ Qoverflow_error, Qunderflow_error): Add extern to these declarations.
+
+1993-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfaces.c: Don't include Xmu/Drawing.h.
+
+1993-04-10 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * Makefile.in (xmakefile): Recognize the -O option with a numeric
+ optimization level.
+
+ * ymakefile (C_DEBUG_SWITCH): If we're using version 2 of GCC or
+ higher, use -O99 instead of plain -O.
+
+1993-04-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (command_loop_1): Rebuild menu bar if
+ update_mode_lines is set.
+
+ long_to_cons and cons_to_long are generally useful things; they're
+ needed whether or not X is defined.
+ * xselect.c (long_to_cons, cons_to_long): Moved from here...
+ * data.c (long_to_cons, cons_to_long): ... to here.
+ * lisp.h (long_to_cons, cons_to_long): Add extern declaration.
+
+ * xmenu.c (Qmenu_enable): Definition moved...
+ (syms_of_xmenu): ... along with initialization ...
+ * keyboard.c (Qmenu_enable): ... to here ...
+ (syms_of_keyboard): ... and here.
+
+ * keyboard.c (kbd_buffer_get_event): If we get a selection clear
+ or selection request event, but we were compiled without the
+ window-system-specific code to handle it, abort. Don't try to
+ call a function which doesn't exist.
+
+ * keyboard.c (make_lispy_event): In the code which processes mouse
+ clicks, declare f to be a FRAME_PTR, not a struct frame *; this
+ works when MULTI_FRAME is not #defined.
+
+ * xfaces.c (sort_overlays): Define this to be static, as declared.
+
+ * callproc.c (relocate_fd): Make messages string literals, not
+ initialized arrays.
+
+ * alloc.c (__malloc_hook, __realloc_hook, __free_hook): Declare
+ these extern, not static. (!)
+
+ * alloc.c (__malloc_hook, old_malloc_hook, __realloc_hook,
+ old_realloc_hook): Declare that the functions these point to return
+ void *, not void.
+
+ Adjust for autoconf merger.
+ * config.h.in: Add extra line to top, in case autoconf gets fixed
+ and decides not to add Makefile-style comments to the top of the
+ files it generates which we are forced to lop off.
+ Indicate that the boolean macros here get their definitions via
+ the DEFS Makefile variable.
+ Adjust the operating system and machine #includes to use
+ autoload's @cookies@.
+ (RETSIGTYPE): Give this a default value.
+ (SIGTYPE): Set this from RETSIGTYPE.
+ (LD_SWITCH_X_SITE, C_SWITCH_X_SITE): Get values via @cookies@.
+ * Makefile.in (DEFS): Renamed from CONFIG_CFLAGS.
+ (xmakefile): Pass CFLAGS to ${CPP}.
+
+ * buffer.c (Fmake_overlay, Fmove_overlay): New optional BUFFER
+ arguments.
+ (recenter_overlay_lists): New argument BUF, to use instead of the
+ current buffer.
+ (Foverlay_recenter): Pass the appropriate arguments to
+ recenter_overlay_lists.
+
+ * buffer.c (Fdelete_overlay): Don't assume that overlay is in the
+ current buffer. Don't forget to declare the argument a Lisp_Object.
+
+ * dispnew.c (getenv): Extern declaration deleted; this is done in
+ config.h.
+
+ * Makefile.in (tagsfiles): Remove external-lisp from this list of
+ files; we're not distributing it, so the normal build process
+ shouldn't depend on it.
+
+ * dispnew.c (init_display): Compare the return value of getenv to
+ zero before setting display_arg, instead of just using the pointer
+ as a truth value.
+
+1993-04-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (message, message1): If noninteractive and
+ cursor_in_echo_area, don't print a newline at end of message.
+
+ * fns.c (Fy_or_n_p): Echo the answer just once, at exit.
+
+ * keyboard.c (echo_dash): Do nothing if echoptr is 0.
+
+ * buffer.c (Fkill_all_local_variables): Store each var's current value
+ in the buffer's alist entry, before reverting to the default value.
+
+1993-04-07 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * keyboard.c (apply_modifiers): Fix typo in sanity check.
+
+ * keyboard.c (interrupt_input_blocked, interrupt_input_pending):
+ Remove `extern' keywords - these are the definitions.
+
+1993-04-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * blockinput.h (UNBLOCK_INPUT): Fix typo.
+ (interrupt_input_blocked): Make this signed int.
+
+ * search.c (search_buffer): Fix typo in previous change.
+
+ * insdel.c, buffer.c: Include blockinput.h.
+
+ * xterm.c: Fix typo in comment delimiter.
+
+1993-04-07 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * m/imbrs6000.h: If we're using GCC, define ORDINARY_LINK instead
+ of defining LINKER to use cc.
+ * s/aix3-1.h (LINKER): Don't use cc for linking command if we're
+ using GCC.
+ * s/aix3-2.h (SYSTEM_MALLOC): Undefine this.
+
+ * xterm.c (updating_frame): Declare this extern instead of static,
+ so it's the same variable as the updating_frame in term.c.
+ (XTupdate_begin, XTupdate_end): Don't bother to set
+ updating_frame; the term.c functions take care of that for us.
+
+1993-04-05 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * s/vms.h (EXEC_SUFFIXES): Add definition for this.
+
+1993-03-31 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * xfaces.c: Doc fixes.
+
+ Put interrupt input blocking in a separate file from xterm.h.
+ This isn't specific to X, and it allows us to avoid #including
+ xterm.h in files that don't really have anything to do with X.
+ * blockinput.h: New file.
+ * xterm.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT,
+ UNBLOCK_INPUT_RESIGNAL): These are now in blockinput.h.
+ (x_input_blocked, x_pending_input): Deleted; there are analogs
+ in blockinput.h called interrupt_input_blocked and
+ interrupt_input_pending.
+ * keyboard.c (interrupt_input_blocked, interrupt_input_pending):
+ New variables, used by the macros in blockinput.h.
+ * xterm.c: #include blockinput.h.
+ (x_input_blocked, x_pending_input): Deleted.
+ (XTread_socket): Test and set interrupt_input_blocked and
+ interrupt_input_pending instead of the old variables.
+ * alloc.c, xfaces.c, xfns.c, xmenu.c, xselect.c, keymap.c:
+ #include blockinput.h.
+ * eval.c: #include blockinput.h instead of xterm.h.
+ * keyboard.c: #include blockinput.h.
+ (input_poll_signal): Just test
+ interrupt_input_blocked, instead of testing HAVE_X_WINDOWS and
+ x_input_blocked.
+
+ Block the processing of interrupt input while we're manipulating the
+ malloc heap.
+ * alloc.c: (xfree): New function, to make it easy to free things
+ safely.
+ (xmalloc, xrealloc): Block X input while doing the deed.
+ (VALIDATE_LISP_STORAGE, gc_sweep, compact_strings): Use xfree
+ instead of free.
+ (uninterrupt_malloc): New function, to install input-blocking
+ hooks into the GNU malloc routines.
+ * emacs.c [not SYSTEM_MALLOC] (main): Call uninterrupt_malloc
+ on startup.
+ * alloc.c: (make_interval, make_float, Fcons, Fmake_vector,
+ Fmake_symbol, Fmake_marker, make_uninit_string, Fgarbage_collect):
+ Use xmalloc instead of malloc; don't bother to check if out of
+ memory here.
+ (Fgarbage_collect): Call xrealloc instead of realloc.
+ * buffer.c: Use xmalloc and xfree instead of malloc and free;
+ don't bother to check if out of memory here.
+ (Fget_buffer_create): Put BLOCK_INPUT/UNBLOCK_INPUT pair around
+ calls to ralloc routines.
+ * insdel.c: Same.
+ * lisp.h (xfree): New extern declaration.
+ * xfaces.c (xfree): Don't #define this to be free; use the
+ definition in alloc.c.
+ * dispnew.c, doc.c, doprnt.c, fileio.c, lread.c, term.c, xfns.c,
+ xmenu.c, xterm.c: Use xfree instead of free.
+ * hftctl.c: Use xfree and xmalloc instead of free and malloc.
+ * keymap.c (current_minor_maps): BLOCK_INPUT while calling realloc
+ and malloc.
+ * search.c: Since the regexp routines can malloc, BLOCK_INPUT
+ while runing them. #include blockinput.h.
+ * sysdep.c: #include blockinput.h. Call xfree and xmalloc instead
+ of free and malloc. BLOCK_INPUT around routines which we know
+ will call malloc.
+
+ ymakefile (keyboard.o, keymap.o, search.o, sysdep.o, xfaces.o,
+ xfns.o, xmenu.o, xterm.o, xselect.o, alloc.o, eval.o): Note that
+ these depend on blockinput.h.
+
+ * keyboard.c (parse_modifiers, apply_modifiers): Make sure we're
+ not trying to create modifier masks using integers which are
+ unrepresentable as lisp values.
+
+1993-03-30 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
+ equivalent of /dev/null, and the suffixes used by executable
+ files. This is simple, and helps people porting Emacs to other
+ operating systems.
+ * process.h (NULL_DEVICE): Give this a default value.
+ * process.c (Fstart_process): Pass EXEC_SUFFIXES to openp.
+ (Fprocess_send_eof): Use NULL_DEVICE instead of "/dev/null".
+ * callproc.c (Fcall_process): Pass EXEC_SUFFIXES to openp.
+ Use NULL_DEVICE instead of "/dev/null".
+ * s/vms.h (NULL_DEVICE): #define this.
+
+ Rename int-to-string to number-to-string, since it can handle
+ floating-point as well as integer arguments. subr.el defines the
+ former as an alias for the latter.
+ * data.c (Fnumber_to_string): Renamed from Fint_to_string.
+ (wrong_type_argument): Adjust caller.
+ (syms_of_data): Adjust defsubr.
+ * fns.c (concat): Adjust caller.
+ * lisp.h (Fnumber_to_string): Adjust extern declaration.
+ * mocklisp.c (Finsert_string): Adjust caller.
+ * process.c (status_message): Adjust caller.
+
+1993-03-28 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * systty.h [NO_PTY_H]: Don't include pty.h.
+
+ * m/delta88k.h [USG5_4]: Alternate defining of LIBS_SYSTEM,
+ LIBX11_SYSTEM, HAVE_RANDOM, BSTRING.
+ (NO_PTY_H): Defined.
+
+ * fileio.c (Fwrite_region): Don't fail to set visit_file.
+
+ * keyboard.c (command_loop_1): Clear force_start of selected_window
+ after reading each key sequence.
+ (read_char): Clear Vquit_flag when we return C-g for it.
+
+ * fileio.c (Fexpand_file_name): Default DEFALT at beginning,
+ before expanding it. But avoid unneeded or infinite recursive expand.
+
+1993-03-26 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * editfns.c (Fchar_equal): Don't ignore high bits of character.
+
+ * fileio.c (Fwrite_region): Set visit_file after expanding file arg.
+ Also expand VISIT arg if specified.
+
+ * frame.c (make_frame): Init face_alist field.
+
+1993-03-25 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * xselect.c (SELECTION_QUANTUM): Don't use XMaxRequestSize on R3;
+ access the display structure directly.
+
+1993-03-25 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * ymakefile (xfns.o): Depend on buffer.h.
+
+ * buffer.h (struct buffer): Field `fieldlist' deleted.
+
+ * search.c (Freplace_match): Clean up criterion about converting case.
+ If old text has any capitalized words, capitalize new text.
+
+ * xfaces.c: New file.
+
+ * ymakefile (XOBJ): Add xfaces.o.
+ (xfaces.o): New target.
+ * emacs.c (main): Call syms_of_xfaces.
+
+ * buffer.h (OVERLAY_START, OVERLAY_END, OVERLAY_VALID): New macros.
+ (OVERLAY_POSITION): Likewise.
+ (searchbuf): Decl deleted--doesn't belong here.
+ Delete include of regex.h for VMS.
+ * dired.c (searchbuf): Declare here.
+
+ * frame.h (struct frame): New field face_alist.
+ * alloc.c (mark_object): Mark face_alist of a frame.
+
+ * ymakefile (xselect.o): Depend on dispextern.h.
+
+ * xterm.h (FRAME_FACES, FRAME_N_FACES, FRAME_DEFAULT_FACE)
+ (FRAME_MODE_LINE_FACE): New macros.
+ (struct x_display): New fields faces, n_faces.
+
+ * dispextern.h (struct face): New fields pixmap_h, pixmap_w.
+ Field `font' is now a pointer.
+
+ * fns.c (Fy_or_n_p): Ensure cursor_in_echo_area = 0 when quit.
+
+1993-03-24 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * dispnew.c (getenv): Add extern declaration.
+
+ * ymakefile (really-oldXMenu): Pass C_SWITCH_SITE and
+ C_SWITCH_SYSTEM to the inferior make as separate flags, instead of
+ passing just C_SWITCH_SITE as CFLAGS.
+
+ * keymap.c (Fkeymapp): Doc fix.
+
+ * xterm.h (x_focus_frame): Add extern keyword to declaration.
+
+ * xterm.c [VMS]: Don't #include <sys/termio.h> and <string.h>.
+ * xfns.c [VMS]: Get the gray_bits from [.bitmaps]gray.xbm.
+ * process.c [VMS] (DCL_PROMPT): Remove hack.
+ (WIFSTOPPED, WIFSIGNALED, WIFEXITED, XRETCODE, WSTOPSIG,
+ WCOREDUMP, WTERMSIG): New dummy definitions.
+ (deactivate_process): Add missing semicolon.
+ * dispnew.c (init_display): Get display name from environment
+ properly on VMS as well as Unix.
+
+1993-03-24 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * buffer.c (init_buffer_once, reset_buffer):
+ Delete last vestige of fieldlist slot.
+ (Fregion_fields): Finally deleted.
+
+ * keymap.c (push_key_description): Ignore bits above meta_modifier.
+
+1993-03-23 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * buffer.c (overlays_at, recenter_overlay_lists): New functions.
+ (Fmake_overlay, Fdelete_overlay, Foverlay_get, Foverlay_put): Likewise.
+ (Fmove_overlay, Foverlays_at, Fnext_overlay_change): Likewise.
+ (Foverlay_lists, Foverlay_recenter): Likewise.
+
+ * buffer.h (struct buffer): New fields overlay_center,
+ overlays_before, overlays_after.
+
+1993-03-23 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * config.h.in (HAVE_XFREE386): New flag, set by configure script.
+ If it's set, #define LIBX11_SYSTEM and HAVE_RANDOM as appropriate
+ for XFree386.
+ * sysdep.c (random, srandom): Don't define these if HAVE_RANDOM is
+ #defined.
+
+ * config.h.in (C_SWITCH_X_SITE, LD_SWITCH_X_SITE): New flags.
+ * ymakefile (C_SWITCH_X_SITE, LD_SWITCH_X_SITE): Provide default
+ values. Include C_SWITCH_X_SITE in CFLAGS, include
+ LD_SWITCH_X_SITE in LIBX, and pass C_SWITCH_X_SITE to the make
+ which builds the X Menu library.
+
+1993-03-22 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_parse_geometry): Renamed from Fx_geometry.
+ (Fx_color_defined_p): Renamed from Fx_defined_color.
+ (syms_of_xfns): Adjusted.
+
+1993-03-22 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * indent.c (current_column, Findent_to, position_indentation):
+ (Fmove_to_column, compute_motion): Allow tab_width up to 1000.
+
+ * xdisp.c (display_string, display_text_line):
+ Allow tab_width up to 1000.
+
+ * keyboard.c (Fsuspend_emacs):
+ Change suspend-hooks back to suspend-hook and make it a normal hook.
+
+ * s/dgux.h: Decide automatically whether to use COFF or ELF.
+
+1993-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fns.c (Fy_or_n_p): Handle `recenter' response type.
+
+ * s/dgux.h (HAVE_TERMIO, SIGNALS_VIA_CHARACTERS): Defined.
+
+1993-03-21 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * frame.c (Fhandle_switch_frame): Renamed from Fselect_frame.
+ Doc changed in anticipation of new purpose.
+ (Fselect_frame): Just call Fhandle_switch_frame for now.
+
+1993-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (decode_mode_spec): Handle `%l'.
+ (display_count_lines): New function.
+ (redisplay_window): Update base_line_number and base_line_pos fields.
+ Always update mode line if it's an integer.
+ * window.h (struct window):
+ New fields base_line_number and base_line_pos.
+
+ * window.c (Fselect_window): Use Fhandle_switch_frame.
+ (Fset_window_configuration): Likewise.
+
+1993-03-20 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ Use the `visiblity' parameter to determine the initial state of
+ the frame, instead of the `iconic-startup' and
+ `suppress-initial-map' parameters.
+ * xfns.c (x_icon): Test the Qvisibility parameter against Qicon,
+ instead of the Qiconic_startup against Qt.
+ (x_create_frame): Test Qvisibility against Qnil and
+ Qicon, instead of testing Qsuppress_initial_map and Qvisibility.
+ (Qicon): New symbol.
+ (Qiconic_startup, Qsuppress_initial_map): Removed.
+ (syms_of_xfns): Adjusted appropriately.
+
+ * xfns.c (x_set_visibility): Instead of interpreting only Qt as
+ `make the frame visible' and everything else as `iconify the
+ frame', interpret Qicon as `iconify the frame' and everything else
+ as `make the frame visible.'
+
+ * xfns.c (x_get_arg): When the type of the resource is `symbol',
+ return `true' and `on' as Qt, and `false' and `off' as Qnil.
+
+1993-03-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (init_cmdargs): Fix simple bug in previous change.
+
+1993-03-20 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * dispnew.c (Fsleep_for): Make this take two arguments SECONDS and
+ MILLISECONDS, which add, rather than a second argument which says
+ "treat the first argument as milliseconds."
+ (Fsit_for): Same thing.
+ (Fsleep_for_milliseconds): Deleted; this can be done with Fsleep_for.
+
+ * process.c (wait_reading_process_input): Doc fix.
+
+ * systime.h (EMACS_HAS_USECS): #define this if HAVE_TIMEVAL is
+ #defined.
+
+ * dispnew.c (sit_for): Doc fix.
+
+ * sysdep.c (reset_sys_modes): Fix usage of EMACS_SET_TTY.
+
+ * callproc.c (child_setup): Make sure that in, out, and err are
+ not less than three.
+ (relocate_fd): New function.
+
+ * xterm.c (x_term_init): If the X connection is already in file
+ descriptor zero, don't dup it and close the old one.
+
+ * s/hpux8.h, s/sunos4-1.h (OLDXMENU_OPTIONS): Define this, as in
+ Emacs 18.
+
+ * xfns.c (Fx_open_connection): If we have X11R5, use
+ XrmSetDatabase to set the display's database. In older versions,
+ just store the value into x_current_display->db.
+ * xterm.h (HAVE_X11R5): Define this where appropriate.
+
+ * frame.c (Fraise_frame, Flower_frame): Renamed from
+ Fframe_to_front and Fframe_to_back.
+ (syms_of_frame): Adjusted appropriately.
+
+ * fileio.c (HAVE_FSYNC): Define, if appropriate.
+ (Fwrite_region): Use HAVE_FSYNC.
+ * s-aix3-2.h (HAVE_FSYNC): Define.
+
+ * emacs.c (Finvocation_name): New function.
+ (Vinvocation_name): New variable.
+ (init_cmdargs): Set it.
+ (syms_of_emacs): defsubr Finvocation_name, staticpro and
+ initialize Vinvocation_name.
+ * lisp.h (Vinvocation_name): New extern declaration.
+ * xterm.c (invocation_name): Variable deleted; use
+ Vinvocation_name now.
+ (x_text_icon, x_term_init): Use Vinvocation_name now instead of
+ invocation_name.
+ (x_term_init): Don't initialize invocation_name.
+ (syms_of_xterm): Don't initialize or staticpro invocation_name.
+ * xfns.c (invocation_name): Remove extern declaration for this.
+ [HAVE_X11] (Fx_get_resource): Use Vinvocation_name now instead of
+ invocation_name.
+ [not HAVE_X11] (Fx_get_default): Same.
+
+1993-03-20 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_display_color_p): Renamed from Fx_color_display_p.
+ (syms_of_xfns): Use new name in defsubr.
+
+1993-03-19 Eric S. Raymond (eric@geech.gnu.ai.mit.edu)
+
+ * Makefile.in (unlock, relock): New productions to assist with
+ version control.
+
+1993-03-19 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * fileio.c (Fvisited_file_modtime): New function.
+ (Fset_visited_file_modtime): Accept an argument specifying time value.
+ If arg is nil, really use the filename handler.
+
+ * xselect.c (cons_to_long, long_to_cons): No longer static.
+
+1993-03-18 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * frame.h (FOR_EACH_FRAME): Change the definition so that
+ FRAME_VAR is a lisp object.
+ * dispnew.c (WINDOW_CHANGE_SIGNAL, do_pending_window_change):
+ Adjusted appropriately.
+ * xdisp.c (redisplay): Adjusted appropriately.
+
+ * dispnew.c (Fredraw_frame): Give this appropriate definitions for
+ MULTI_FRAME and non-MULTI_FRAME configurations.
+ (Fredraw_display): Give this a non-MULTI_FRAME-dependent definition.
+
+1993-03-18 Richard Stallman (rms@geech.gnu.ai.mit.edu)
+
+ * lisp.h (CHECK_LIVE_WINDOW): Use Qlive_window_p.
+
+ * xfns.c (x_screen): Make this var file scope.
+ (Fx_server_version): Use Fcons, not list3.
+
+1993-03-17 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * xterm.c (term_get_fkeys): Less klugey version of the last fix.
+
+ * Makefile.in (versionclean): New production nukes binaries and
+ DOC files, forcing a re-load, re-dump and re-makedoc.
+
+1993-03-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c: Doc fix.
+
+1993-03-17 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xterm.c (x_display_box_cursor, x_display_bar_cursor): Don't
+ display the cursor on garbaged frames.
+
+1993-03-17 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * term.c (term_get_fkeys) Supply second args for all tgetstr calls.
+
+1993-03-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (Fprocess_send_eof): Make sure proc is running.
+
+ * s/irix4-0.h (_getpty): Declare this, not _get_pty.
+
+1993-03-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_server_vendor, Fx_server_version, Fx_display_pixel_width)
+ (Fx_display_pixel_height, Fx_display_mm_width, Fx_display_mm_height)
+ (Fx_display_screens, Fx_display_planes, Fx_display_color_cells)
+ (Fx_display_visual_class, Fx_display_backing_store)
+ (Fx_display_save_under): New functions.
+ (x_screen_count, Vx_vendor, x_release, x_screen_height_mm)
+ (x_screen_width_mm, Vx_backing_store, x_save_under, Vx_screen_visual)
+ (x_visual_strings): Vars deleted.
+ (Fx_open_connection): Don't init those vars.
+ (syms_of_xfns): Set up new functions.
+ Don't set up those vars as Lisp vars.
+ Nor x-screen-width and x-screen-height.
+
+1993-03-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * cmds.c (overwrite_binary_mode): Deleted; this implements the
+ wrong feature.
+ (Qoverwrite_mode_binary): New variable.
+ (internal_self_insert): If current_buffer->overwrite_mode is
+ `overwrite-mode-binary', do as overwrite_binary_mode used to.
+ (syms_of_cmds): Remove defvar of overwrite_binary_mode; initialize
+ Qoverwrite_mode_binary.
+ * buffer.c (syms_of_buffer): Doc fix for overwrite_mode.
+ * buffer.h (struct buffer): Doc fix.
+
+ Rename `live-window-p' to `window-live-p', for consistency with
+ `frame-live-p'.
+ * window.c (Fwindow_live_p): Renamed from Flive_window_p.
+ * lisp.h (CHECK_LIVE_WINDOW): Change to use Qwindow_live_p.
+ (Qwindow_live_p): Extern declaration renamed fom Qlive_window_p.
+
+1993-03-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xmenu_show): Do BLOCK_INPUT; unblock just before returning.
+
+ * xterm.h [SIGIO] (UNBLOCK_INPUT): Resignal if x_pending_input.
+
+1993-03-15 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * frame.c (Fframe_height, Fframe_width): Fix doc strings to match
+ those of the multi-frame versions in frame.el. Accept an optional
+ argument FRAME, also for consistency.
+
+ * floatfns.c (logb): Add extern declaration for this.
+
+ * floatfns.c (Flogb): Under SYSV, implement this using frexp.
+
+1993-03-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (dispnew.o): Depend on termhooks.h.
+
+ * xmenu.c (list_of_items): Allow strings among the alist items;
+ they make nonselectable lines.
+
+1993-03-14 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * dired.c (Fdirectory_files): Recompile MATCH (if specified) after
+ expanding the file name and all; those might compile regexp of
+ their own, and change searchbuf.
+
+ * keyboard.h (internal_last_event_frame): This should be extern,
+ dummy.
+
+ * fns.c (Fy_or_n_p): Display the answer.
+
+ Some VMS changes from Richard Levitte <levitte@e.kth.se>:
+ * [VMS] systime.h: Include vmstime.h. VMS has the timezone
+ variable and the tzname array.
+ * s/vms.h: VMS does have select.
+ mth$dmod is the same as Unix's drem.
+ Use the time functions in vmstime.c.
+ No need to rename the malloc routines if we're using GNU malloc.
+ PURESIZE needs to be 330000.
+ * vmstime.c, vmstime.h: New files.
+ * systty.h: Don't try to initialize extern declarations under VAX C.
+ * vmspaths.h (PATH_LOADSEARCH): Include EMACS_LIBRARY:[LOCAL-LISP]
+ in PATH_LOADSEARCH.
+ (PATH_EXEC): Use EMACS_LIBRARY:[LIB-SRC] instead of [ETC].
+ * sysdep.c [VMS] (init_sys_modes): Don't allocate process_ef.
+ [VMS] (queue_kbd_input): Build events structure correctly.
+ [VMS] (gethostname): New function.
+ [VMS] (getwd): Don't get the PATH environment variable; that's
+ dumb. Call getcwd.
+
+1993-03-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (display_menu_bar): Assume FRAME_MENU_BAR_ITEMS already set.
+ Fill out line with spaces.
+ Put explicit spaces between items.
+ * keyboard.c (command_loop_1): Set FRAME_MENU_BAR_ITEMS here.
+
+ * window.c (Fdelete_other_windows): Handle FRAME_MENU_BAR_LINES.
+
+ * keyboard.c (menu_bar_items): Reverse the list when done.
+
+ * xmenu.c (single_keymap_panes): When storing in ENABLES,
+ check def before enabled.
+
+ * ymakefile (really-oldXMenu): Renamed from ${oldXMenudir}$(OLDXMENU).
+ Add @true.
+ ($(OLDXMENU)): Depend on really-oldXMenu.
+ The idea is to make sure libXMenu11.a is always updated if nec.
+
+ * keyboard.c (command_loop_1): Typo calling Qrecompute_lucid_menubar.
+ (read_key_sequence): Likewise. Also fix call to Vrun_hooks.
+
+1993-03-13 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * ymakefile (YMF_PASS_LDFLAGS): Doc fix.
+
+1993-03-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * print.c (PRINTPREPARE): Handle marker that points nowhere.
+
+ * apollo.h (NO_X_DESTROY_DATABASE): Defined.
+
+ * undo.c (record_property_change, record_delete, record_insert):
+ Don't make boundary or touch last_undo_buffer if cur buf has no undo.
+
+ * ymakefile [__GNUC__ > 1]: Delete the conditional for GCC 2.4.
+ [__GNUC__ > 1] (LIB_GCC): Use -print-libgcc-file-name to find libgcc.a.
+ (YMF_FIND_LIBGCC_A): Definitions and uses deleted.
+
+1993-03-13 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * s/usg5-4.h: Remove extraneous text after #undef LIB_X11_LIB.
+
+1993-03-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (Xatom_wm_change_state): Define here.
+ * xfns.c (Xatom_wm_change_state): Just declare.
+ (Xatom_emacs_selection, Xatom_clipboard, Xatom_clipboard_selection):
+ (Xatom_wm_change_state, Xatom_incremental, Xatom_multiple):
+ (Xatom_targets, Xatom_timestamp, Xatom_delete, Xatom_insert_selection):
+ (Xatom_pair, Xatom_insert_property, Xatom_text): Decls deleted.
+ (x_begin_selection_own): Decls deleted.
+ (Fx_open_connection): Set up only the wm atoms here.
+ Call Xatoms_of_xselect.
+
+ * dispnew.c: Include termhooks.h.
+
+ * frame.h (FRAMEP): Macro deleted.
+
+ * xselect.c: Total rewrite, derived from Lucid's version.
+
+ * keyboard.c (kbd_buffer_get_event): Handle selection_clear_event
+ and selection_request_event events.
+
+ * xterm.c (XTread_socket): Handle NEW_SELECTIONS alternative:
+ queue events for SelectionRequest and SelectionClear;
+ call functions for SelectionNotify and PropertyNotify.
+
+ * termhooks.h (selection_request_event, selection_clear_event):
+ New event kinds.
+
+ * xterm.h (SELECTION_EVENT_DISPLAY): New macro.
+ (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
+ (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
+ (SELECTION_EVENT_TIME): New macros.
+ (struct selection_input_event): New structure.
+
+ * process.c (wait_reading_process_input): New option to wait
+ till a given cons cell has a non-nil car.
+ Delete vipc conditionals.
+
+1993-03-12 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * ymakefile (YMF_FIND_LIBGCC_A): New macro, to help GCC find
+ libgcc.a even when -nostdlib is in effect. Define it to be the
+ empty string if nobody else establishes a value for it.
+ (temacs): Include it in the list of flags passed to the linker.
+
+ * ymakefile (LINKER): If we have GCC 2.4 or later, use the
+ -nostartfiles option instead of -nostdlib.
+ (LIBGCC): Under GCC 2.4 or later, define this to be the empty string.
+
+1993-03-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xmenu_show): New arg enable_list.
+ (keymap_panes): New arg enables
+ (single_keymap_panes): New arg enables. Fill in its contents.
+ (list_of_panes, list_of_items): New arg enables. Fill in contents.
+ (Fx_popup_menu): Pass enable and enable_list args.
+ (single_keymap_panes): Set enable flag to -1 if cmd definition is nil.
+
+ * lisp.h (INTEGERP, SYMBOLP, MARKERP, STRINGP, VECTORP): New macros.
+ (COMPILEDP, BUFFERP, SUBRP, PROCESSP, FRAMEP, WINDOWP): New macros.
+ (WINDOW_CONFIGURATIONP, FLOATP): New macros.
+
+1993-03-12 Paul Eggert (eggert@twinsun.com)
+
+ * cmd.c (internal_self_insert): Check that tab_width does not
+ exceed 20, to be consistent with indent.c and xdisp.c.
+
+1993-03-12 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * term.c (CONDITIONAL_REASSIGN): fixed reference to tigetstr.
+ This should have been tgetstr, but I typoed and tigetstr happens
+ to link and even do the right thing if you're on a System V box.
+
+1993-03-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Support Vcurrent_menubar
+ and Qactivate_menubar_hook. Call Qrecompute_lucid_menubar.
+ (syms_of_keyboard): Set up Vcurrent_menubar, Vprevious_lucid_menubar,
+ Qactivate_menubar_hook, and Qrecompute_lucid_menubar.
+
+ * xmenu.c (Fx_popup_menu): Allow a frame instead of a window, in arg.
+ Use Fcar, Fcdr when extracting from event, to check data types.
+
+1993-03-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * frame.h (FRAME_MENU_BAR_ITEMS): New macro (two versions).
+ (struct frame): New field menu_bar_items.
+ * alloc.c (mark_object): Mark the menu_bar_items field.
+
+ * xdisp.c (display_menu_bar): New function.
+ (redisplay_window): Call display_menu_bar.
+
+ * term.c (tigetstr): Add dummy definition to make Emacs link again.
+
+ * keyboard.c (syms_of_keyboard): Set up Qmenu_bar.
+ (menu_bar_items): New function.
+ (menu_bar_one_keymap, menu_bar_item): New functions.
+ (make_lispy_event): Handle menu bar events.
+ (read_key_sequence): Make dummy prefix `menu-bar' for menu bar events.
+
+1993-03-11 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * term.c (fkey_table): Added many more keycap cookies to the
+ fkey_table; it now supports the full intersection of the set of X
+ keysyms and terminfo capabilities. See my lisp directory
+ ChangeLog entry for this date, and lisp/term/README, for details.
+
+1993-03-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * floatfns.c (Flogb): Fix use of IN_FLOAT.
+ Fix arg names. Don't confuse Lisp_Object with integer.
+
+1993-03-11 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * process.c (process_send_signal): In the TERMIOS code for sending
+ control characters to processes, don't try to return Qnil; just
+ return.
+
+1993-03-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (change_frame_size): Handle FRAME_MENU_BAR_LINES.
+
+ * frame.c (Fframe_parameters): Report menu-bar-lines parm.
+ (syms_of_frame): Set up Qmenu_bar_lines.
+
+ * frame.h (FRAME_MENU_BAR_LINES): New macro.
+ (struct frame): New field menu_bar_lines.
+
+ * xfns.c (x_frame_parms): Add elts for visibility and menu-bar-lines.
+ (enum x_frame_parm): Likewise.
+ (x_set_menu_bar_lines, x_set_menu_bar_lines_1): New functions.
+ (x_set_visibility): New function.
+ (Fx_create_frame): Handle menu-bar-lines parm.
+ (x_report_frame_params): Report Qvisibility.
+ (syms_of_xfns): Set up Qvisibility.
+
+ * keyboard.c (command_loop_1): Typo in last change.
+
+ * xmenu.c (syms_of_xmenu): Set up Qmenu_enable.
+ (single_keymap_panes): Test menu-enable property of symbol
+ to decide whether to include it in the menu.
+
+1993-03-10 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Adjust to the fact that display
+ tables are now vectors of vectors, not vectors of strings.
+
+1993-03-10 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * floatfns.c (Flogb): Undo the change of Feb 22.
+
+ * ymakefile (OLDXMENU): Don't assume that we have symbolic links
+ available; use `ln -f' instead of `ln -s'.
+
+ * xterm.c (x_find_modifier_meanings): XDisplayKeycodes only
+ appeared in X11R4; for earlier versions, just access the members
+ of the Display directly.
+
+ * xrdb.c (get_user_db): Since xrdb.c doesn't #include xterm.h,
+ we can't test HAVE_X11R4 to see how we should get the resource
+ manager string; cheat.
+
+ * unexec.c (copy_text_and_data): Error message tweaked.
+
+ * systime.h (timezone): Add an explicit declaration for this
+ variable under USG 5-4.
+
+ * sysdep.c (read_input_waiting): Set e.frame_or_window, not
+ e.frame; the latter doesn't exist anymore.
+
+ * sysdep.c (start_of_data): If ORDINARY_LINK is #defined, we don't
+ have the data_start symbol defined, so we'll just use the address
+ of environ.
+
+ * s/usg5-4.h: Changes from Eric Raymond:
+ If we're doing ordinary linking, define LIB_STANDARD appropriately.
+ Give LIBS_DEBUG a null definition; usg5-4 has no -lg.
+ #define LIBS_STANDARD as "-lc"; usg5-4 has no -lPW.
+ #define NSIG, if it's not already defined.
+ #define HAVE_TERMIOS instead of HAVE_TCATTR.
+ Provide our own definition of LIB_X11_LIB.
+
+ * s/usg5-3.h (LIBX11_SYSTEM): Eric Raymond says the libraries here
+ were slightly wrong.
+
+ * m/intel386.h (LIB_STANDARD): If USG5_4 is #defined, there's no
+ need to include `-lPW'; that has been merged with `-lc'.
+
+ * emacs.c (__do_global_ctors, __do_global_ctors_aux,
+ __do_global_dtors, __CTOR_LIST__, __DTOR_LIST__, __main): Don't
+ define these if ORDINARY_LINK is #defined; in that case, the
+ standard linking procedure will find definitions for these.
+
+ * syssignal.h (sigunblock): Add definition which works under SYSVr4.
+ * emacs.c (fatal_error_signal): Unblock the signal which we're
+ handling using sigunblock.
+
+1993-03-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xfns.c (x_make_gc): Don't forget to block X input around the
+ X calls in this function.
+
+ * xfns.c [not HAVE_X11R4] (select_visual): It's v->visualid, not
+ x->visualid. x isn't defined.
+
+ * m/template.h, s/template.h: Mention that `etc/MACHINES' and
+ `configure' should be updated whenever support for a configuration
+ is added or improved.
+
+ * process.c [! subprocesses] (wait_reading_process_input):
+ Remember to re-enable polling for input.
+
+ * keyboard.c [POLL_FOR_INPUT] (quit_throw_to_read_char): If
+ we're polling for input, abort; input polling should always be
+ suppressed while we're waiting for input.
+
+ * keyboard.c (interrupt_signal): Remove extern declaration of
+ Vwindow_system; this is no longer used.
+
+1993-03-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * editfns.c (Fcurrent_time_string): Optional arg specifies time.
+
+ * keymap.c (Fdefine_key): Use proper meta-bit to clear.
+
+ * intervals.c (set_point): Check invisibility of following character,
+ not previous character.
+
+ * floatfns.c (FLOAT_CHECK_ERRNO): Define unless NO_FLOAT_CHECK_ERRNO.
+
+ * floatfns.c: Changes from Lucid.
+ (HAVE_MATHERR, FLOAT_CHECK_ERRNO, FLOAT_CATCH_SIGILL): New parm macros.
+ (FLOAT_CHECK_DOMAIN, HAVE_RINT): New parm macros.
+ (HAVE_INVERSE_HYPERBOLIC, HAVE_CBRT): New parm macros.
+ [!HAVE_RINT]: Define rint as macro.
+ (IN_FLOAT): Major rewrite; several alternate versions.
+ (IN_FLOAT2): New macro.
+ (arith_error, range_error, domain_error, domain_error2): New macros.
+ (Facos, Fasin, Fatan, Fcos, Fsin, Ftan, Fexp, Fexpt, Flog): Changed.
+ (Flog10, Fsqrt, Fabs, Ffloat, Flogb): Changed.
+ (Ffloor, Fceiling, Fround, Ftruncate): Changed.
+ (Fcube_root): Renamed from Fcbrt.
+ (matherr): New function.
+ (float_error): Only if FLOAT_CATCH_SIGILL.
+
+ * fns.c (Fy_or_n_p): Use query-replace-map.
+
+ * keymap.c (access_keymap): Handle ints beyond the ASCII range.
+ (store_in_keymap): Likewise.
+ (Faccessible_keymaps): Use meta_modifier.
+ Use vectors for the key sequences.
+ (Fwhere_is_internal): Use meta_modifier.
+ (append_key): Always return a vector.
+
+ * lisp.h (Qrange_error, Qdomain_error, Qsingularity_error):
+ (Qoverflow_error, Qunderflow_error): New vars.
+
+ * data.c (syms_of_data) [LISP_FLOAT_TYPE]: Define new error conditions:
+ Qarith_error, Qrange_error, Qdomain_error,
+ Qsingularity_error, Qoverflow_error, Qunderflow_error.
+
+1993-03-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * systty.h: Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
+ (struct emacs_tty): Separate the struct decl
+ from the EMACS_..._TTY... macro definitions.
+ Use HAVE_TCATTR to decide whether to use `struct termios'.
+
+ * xfns.c (Fx_pixel_width, Fx_pixel_height): Fns deleted.
+ (syms_of_xfns): Don't install them.
+ (x_user_set_name): Function deleted.
+ (x_char_height, x_char_width): New functions.
+
+ * frame.c (Fframe_char_height, Fframe_char_width):
+ (Fframe_pixel_height, Fframe_pixel_width):
+ New functions, two versions of each.
+ [MULTI_FRAME] (syms_of_frame): Make them Lisp functions.
+ [!MULTI_FRAME] (syms_of_frame): Likewise. Also Fselected_frame.
+
+ * xterm.c (XTread_socket):
+ Don't reverse the chars that XLookupString returns. Use all of them.
+ Save last 100 chars and keysyms in temp_buffer.
+
+1993-03-07 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * buffer.c (syms_of_buffer): Make erase-buffer a disabled command.
+
+1993-03-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (keyboard.o): Depend on intervals.h.
+ (keymap.o): Depend on termhooks.h.
+
+ * keyboard.c: Include intervals.h.
+ (read_key_sequence): Use get_local_map.
+
+ * textprop.c (Fget_text_property): Use textget.
+ (Fnext_single_property_change): Likewise.
+ (Fprevious_single_property_change): Likewise.
+
+ * intervals.c (textget): Handle categories.
+ (get_local_map): New function.
+ (verify_interval_modification): Call textget correctly.
+
+ * textprop.c (syms_of_textprop): Set up Qcategory, Qlocal_map.
+ * intervals.h: Declare those vars. Declare textget, get_local_map.
+
+ * keymap.c: Include termhooks.h.
+ (push_key_description): Handle all modifiers.
+ Handle large character codes.
+ (Fkey_description): Move the meta bit, if arg is string.
+ (Fsingle_key_description): Don't alter integer value.
+ Make tem long enough.
+
+ * keyboard.c (read_key_sequence):
+ Use meta_modifier for meta keys when handling function_key_map.
+
+ * lread.c (syms_of_lread): Set up Qascii_character.
+ (Fread_char, Fread_char_exclusive): Use that property
+ to convert symbols like tab, return, M-return,... to ASCII.
+
+ * keyboard.c (follow_key): Downcase shift_modifier as well as ASCII.
+ (command_loop_1): Run pre-command-hook and post-command-hook.
+ Set this_command before running pre-command-hook.
+ (syms_of_keyboard): Set up vars for those hooks.
+
+ * buffer.c (reset_buffer_local_variables): Reset mark_active.
+ (syms_of_buffer): New buffer-local var `mark-active'.
+ (init_buffer_once): Initialize mechanism for it.
+
+1993-03-06 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * dispnew.c (init_display): Initialize Vwindow_system.
+
+ * ymakefile (SHELL): No need to set this twice; remove one.
+
+ * emacs.c (main): SIGIOT isn't defined on all systems; don't set
+ its signal handler unless it is.
+
+ * sysdep.c (init_baud_rate): Use input_fd, instead of fd; the
+ latter is undefined.
+
+ * dired.c (NAMLEN): Never use d_nameln to get the length of the
+ directory entry's name; it is used inconsistently. Always call
+ strlen instead.
+
+1993-03-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Handle gaps in modifier_names.
+ (modifier_names): Reorder to match termhooks.h.
+
+ * keyboard.c (parse_modifiers_uncached): Detect `s-', not `super-'.
+ (apply_modifiers_uncached): Make `s-', not `super-'.
+
+ * lread.c: Include termhooks.h.
+ (read_escape): Handle \H, \A, \s. Use ..._modifier.
+ * ymakefile (lread.o): Depend on termhooks.h.
+
+ * termhooks.h (alt_modifier, super_modifier, hyper_modifier):
+ (shift_modifier, ctrl_modifier, meta_modifier):
+ Renumber the bits.
+ * keyboard.c (make_lispy_event): For ASCII event, the ..._modifier
+ bits are the right bits to return.
+
+ * keyboard.c (lispy_function_keys): Add codes starting at 0xff00
+ and running through 0xffff.
+
+ * xterm.c (x_alt_mod_mask, x_super_mod_mask, x_hyper_mod_mask):
+ New variables.
+ (x_find_modifier_meanings): Set them.
+ (x_convert_modifiers): Check for them.
+ (XTread_socket): Handle BackSpace, etc, function keys.
+
+ * keyboard.c (read_char): Move metabit when fetching from string macro.
+
+ * callint.c (check_mark): Error if mark is not active.
+
+ * editfns.c (save_excursion_save): Save mark_active of buffer.
+ (save_excursion_restore): Restore mark_active of buffer.
+ Run activate-mark-hook if it's on, or deactivate-mark-hook
+ if it turns off.
+ (region_limit): Error if mark inactive, if transient-mark-mode.
+
+ * insdel.c (prepare_to_modify_buffer): Set Vdeactivate_mark.
+
+ * keyboard.c (command_loop_1): Clear Vdeactivate_mark before cmd.
+ Clear mark_active if command set Vdeactivate_mark.
+ Run deactivate-mark-hook at that time, or activate-mark-hook.
+ (syms_of_keyboard): Define variable deactivate-mark.
+
+ * buffer.c (syms_of_buffer): New buffer-local var `mark-active'.
+ (init_buffer_once): Initialize mechanism for it.
+
+ * buffer.h (struct buffer): New field mark_active.
+
+ * intervals.c (verify_interval_modification): Handle insertions
+ specially. For non-insertions, check only the chars being changed.
+ `modification-hooks' property is now a list of functions.
+ (set_point): Ignore chars outside current restriction.
+
+ * textprop.c (Qmodification_hooks): Renamed from Qmodification.
+ (syms_of_textprop): Changed accordingly.
+
+ * keyboard.c (syms_of_keyboard): New lisp var unread-command-char.
+ (Finput_pending_p): Test unread_command_char.
+ (Fdiscard_input, quit_throw_to_read_char, init_keyboard): Set it.
+ (read_char): Fetch from it.
+
+1993-03-05 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * textprop.c (Fadd_text_properties): Initialize the modified flag.
+ Use a "for (;;)" loop at the end of the function, to indicate that
+ all exiting is taken care of inside the loop.
+ (Fremove_text_properties): Same.
+
+1993-03-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (LIB_MATH): Delete -lc, since duplicates LIB_STANDARD.
+
+ * buffer.c (check_protected_fields): Variable deleted.
+ (syms_of_buffer): Delete vars buffer-field-list
+ and check-protected-fields.
+ * insdel.c (check_protected_fields): Delete decl.
+
+ * disptab.h (DISP_INVIS_VECTOR): Renamed from DISP_INVIS_ROPE.
+ (DISP_CHAR_VECTOR): Renamed from DISP_CHAR_ROPE.
+ All callers changed.
+
+ * xdisp.c (copy_rope): Expect FROM to be a vector.
+ (copy_part_of_rope): New function.
+ (display_string): Expect display table elts to be vectors.
+ * indent.c (current_column, Fmove_to_column, compute_motion):
+ Expect display table elts to be vectors.
+
+ * alloc.c: (Fmake_rope, Frope_elt): Fns deleted.
+
+ * lisp.h (CHAR_META, CHAR_SHIFT, CHAR_CTL): New macros.
+
+ * lread.c (read_escape): Handle M-, C- and S- for new convention.
+ (read1): Move the meta bit to the right place for a string.
+
+ * keyboard.c (Fthis_command_keys, Fread_key_sequence):
+ Fix calls to make_event_array.
+
+ * macros.c (Fend_kbd_macro): Fix call to make_event_array.
+
+ * alloc.c (make_event_array): Renamed from make_array.
+ Chars that fit in a string are 0...127 and their meta variants.
+
+ * keyboard.c (make_lispy_event): Put meta and shift modifiers
+ into an integer.
+ (read_avail_input): Set the modifiers field in the events read.
+ (kbd_buffer_get_event): Pass thru integer event untruncated.
+ (read_char): Likewise.
+ (read_key_sequence, read_char): Only -1 means EOF.
+ (kbd_buffer_store_event): Don't ignore 0200 bit in quit char.
+ (follow_key): Use new meta bit flag.
+
+ * xterm.c (XTread_socket): Set bufp->modifiers for all kinds of keys.
+
+ * keymap.c (Flookup_key): Use 0x800000 as meta-bit if from vector.
+ (Fdefine_key): Likewise.
+
+1993-03-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dgux.h (ELF): Handle this parameter.
+ [! COFF] (UNEXEC, USG_SHARED_LIBRARIES): New definitions.
+ (_BSD_TTY_FLAVOR): Don't define if already defined.
+ (C_COMPILER, LINKER, MAKE_COMMAND): New definitions.
+
+1993-03-04 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (Fsuspend_emacs): Remember that `suspend-hooks' isn't
+ necessarily bound.
+
+1993-03-04 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * Makefile.in (xmakefile): Add missing quote.
+
+1992-03-03 Wilson H. Tien (wtien at urbana.mcd.mot.com)
+
+ * unexelf.c (unexec): Move data2 section header up so all section
+ headers will be in ascending order. This will prevent the unexeced
+ emacs that being processed by other applications (such as strip)
+ to fail.
+
+1993-03-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/isc2-2.h (S_IFLNK): Add #undef.
+ (C_SWITCH_SYSTEM): Add conditional definition.
+ (NO_ASM, USE_UTIME, NO_X_DESTROY_DATABASE): Defined.
+ (LIB_STANDARD): Alternate definition if __GNUC__.
+ (SIGTSTP): #undef deleted.
+ (LIBS_SYSTEM): Define only if HAVE_X_WINDOWS.
+ * s/isc3-0.h: New file.
+
+ * unexelf.c: Handle rounding of section boundaries.
+ (round_up): New function.
+
+1993-03-02 Karl Berry (karl@cs.umb.edu)
+
+ * s/isc2-2.h (USG_SHARED_LIBRARIES, CLASH_DETECTION, NO_FCHMOD):
+ Define.
+ (HAVE_TIMEVAL): Do not define.
+ (NO_ASM): Only define once.
+
+1993-03-02 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * print.c (float_to_string): Define buf to be an unsigned char, to
+ match the data field of strings.
+
+ * keyboard.c (kbd_buffer_get_event): Protect assignment to
+ Vlast_event_frame in a "#ifdef MULTI_FRAME" clause.
+
+ * syntax.c (describe_syntax_1): Delete excess arg to describe_vector.
+ (check_syntax_table): Delete excess arg to wrong_type_argument.
+
+1993-03-01 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * buffer.c (buffer-undo-list): Doc fix.
+
+ * xdisp.c (redisplay): Protect calls to request_sigio and
+ unrequest_sigio in "#ifdef SIGIO" clauses; these are not defined
+
+ * cmds.c (Fnewline): Doc fix.
+
+1993-03-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * insdel.c (del_range): Update point before offset_intervals.
+
+ * intervals.h: Don't include dispextern.h more than once.
+ (INTERVAL_VISIBLE_P): NILP test was backwards.
+
+ * intervals.c (intervals_equal): Handle one arg null and other not.
+ (set_point): Considerable rewrite. Handle intervals both
+ before and after the old and new point values.
+ Redo handling of invisible intervals, and of motion hooks.
+ (textget): New function.
+
+ * textprop.c (Fadd_text_properties, Fremove_text_properties):
+ Add len>0 as condition for main loop.
+ Abort if reach a null interval.
+ (Fset_text_properties): Abort if reach a null interval.
+ (Ftext_properties_at, Fget_text_property):
+ Return nil if POS is end of OBJECT.
+ (add_properties): Use NILP to test result of Fequal.
+ No longer inline.
+ (remove_properties): No longer inline.
+ (set_properties): Total rewrite as function.
+ (validate_interval_range): Don't alter *begin at end of buffer.
+ But do search for a position just before the end.
+ Return null for an empty string.
+
+1993-02-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile.in (emacs, temacs): Add @true to prevent Make confusion.
+
+ * lread.c (read1--strings with properties case):
+ Detect end of list, and invalid syntax, using recursive read1 calls.
+
+ * intervals.c (graft_intervals_into_buffer):
+ create_root_interval needs Lisp object arg.
+ Set tree to new root interval.
+ Don't test TREE_LENGTH if buffer has no intervals.
+ Rearrange code to copy properties so that it really
+ does merge the inserted ones into the inherited ones.
+ (traverse_intervals): Pass `arg' on recursive calls.
+ (split_interval_left): Use new_length as basis for length of new.
+
+ * print.c (print--string case):
+ Any non-null interval means print intervals.
+ Get rid of var obj1; just use obj.
+
+ * textprop.c (validate_interval_range): Allow 0 as position in string.
+ Add 1 to specified string positions.
+ (Fprevious_single_property_change): Subtract 1 if object is string.
+ (Fnext_single_property_change): Likewise.
+ (Fprevious_property_change, Fnext_property_change): Likewise.
+
+ * xterm.c (x_do_pending_expose, XTframe_rehighlight):
+ (x_window_to_scrollbar): Use XGCTYPE.
+
+1993-02-28 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Use the term `scroll bar', instead of `scrollbar'.
+ * alloc.c, frame.c, frame.h, indent.c, keyboard.c, keyboard.h,
+ lisp.h, term.c, termhooks.h, window.c, window.h, xdisp.c, xfns.c,
+ xterm.c, xterm.h: Terminology changed.
+
+ Don't generate switch-frame events by checking Vlast_event_frame;
+ use a separate variable for that bookkeeping. In order to
+ generate them properly, we may need to fiddle with it.
+ * keyboard.c (internal_last_event_frame): New variable.
+ (command_loop_1): Check internal_last_event_frame, not
+ Vlast_event_frame.
+ (read_char, kbd_buffer_store_event): Set both Vlast_event_frame and
+ internal_last_event_frame.
+ (kbd_buffer_get_event): Check internal_last_event_frame to decide
+ whether to generate a switch-frame event. Set Vlast_event_frame
+ after each event.
+ (init_keyboard): Initialize both Vlast_event_frame and
+ internal_last_event_frame.
+ * keyboard.h (internal_last_event_frame): Add extern declaration
+ for this.
+ * frame.c (Vlast_event_frame): Remove external declaration for
+ this.
+ (Fselect_frame): Set internal_last_event_frame to Qnil to force a
+ switch-frame event, not Vlast_event_frame; the latter is supposed
+ to convey information to the user.
+
+ * keyboard.c (syms_of_keyboard): Doc fix for unread_command_events.
+
+1993-02-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Doc fix.
+
+1993-02-26 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * ymakefile (LIBES): Exchange the order of LIB_MATH and
+ LIB_STANDARD, to avoid duplicated symbols under SunOS.
+
+ * buffer.c (syms_of_buffer): Add the extra argument to the
+ commented-out DEFVAR_PER_BUFFER for `mode-line-format', so
+ make-docfile will find the docstring properly.
+
+1993-02-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (intervals.o): Dep on intervals.c, not textprop.c.
+
+ * textprop.c (remove_properties): Call modify_buffer.
+ (add_properties): Likewise.
+
+ * undo.c (record_property_change): Typo in last change.
+
+ * cmds.c (syms_of_cmds): Typo in last change.
+
+ * print.c (print): Never declare OBJ arg as `register'.
+ Special handling for strings with intervals.
+ (print_intervals): New function.
+ * lread.c (read1): Handle reading strings with properties.
+
+ * intervals.c (traverse_intervals): New arg ARG.
+ * alloc.c (mark_interval): Add ignored arg.
+ (mark_interval_tree): Pass new arg to traverse_intervals.
+
+1993-02-24 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xterm.c (x_window_to_scrollbar, x_scrollbar_expose,
+ x_scrollbar_handle_click, x_scrollbar_note_movement): Remember
+ that these can be called during GC; we have to ignore mark bits.
+ * lisp.h (GC_NILP, GC_EQ): New macros to help with that.
+
+ * print.c (float_to_string): Define buf to be an unsigned char, to
+ match the data field of strings.
+
+ * lisp.h (RETURN_UNGCPRO): Remove "do ... while (0)" wrapper
+ around macro.
+
+ * data.c (Fstring_to_number): Declare p to be an unsigned char, to
+ match the data field of strings.
+
+ * data.c (Fstring_to_number): Just skip tabs and spaces; don't use
+ the <ctype.h> macros. The <ctype.h> stuff apparently varies from
+ locale to locale more than we'd like. Don't include <ctype.h>.
+
+1993-02-24 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * buffer.c (Ferase_buffer): Added interactive spec.
+
+1993-02-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * undo.c (Fprimitive_undo): Handle property-change undo entry.
+ (record_property_change): New function.
+
+ * textprop.c (Fadd_text_properties): Pass new arg to add_properties.
+ (Fremove_text_properties): Likewise.
+ (add_properties, remove_properties): New arg OBJECT. Record undo info.
+ (Fput_text_property): New function.
+
+ * buffer.c (syms_of_buffer): Doc fix.
+
+ * cmds.c (syms_of_cmds): New var `overwrite-binary-mode'.
+ (internal_self_insert): Handle that var.
+
+1993-02-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_avail_input): Args to `kill' were backwards.
+
+1993-02-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * alloc.c (make_pure_float): Assure that PUREBEG + pureptr is
+ aligned, not pureptr itself.
+
+ * emacs.c (fatal_error_signal): Unblock the signal before we try
+ to deliver it to ourselves. #include "syssignal.h" to get the
+ right definitions.
+
+ * abbrev.c (Fexpand_abbrev): Only copy the text we're going to
+ expand - from wordstart to wordend, not from wordstart to point -
+ into the buffer. There might be non-word text between wordend and
+ point.
+
+1993-02-23 Richard Stallman (rms@geech.gnu.ai.mit.edu)
+
+ * unexec.c (adjust_lnnoptrs): Handle symentry.n_type == 0x2400.
+ (make_hdr) [USG_SHARED_LIBRARIES]: Set bias using bss_start.
+
+1993-02-22 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * process.c: Make sure we don't miss processes exiting, by having
+ the sigchld handler clear *input_available_clear_time.
+ (wait_reading_process_input): Check for process activity after
+ setting the timeout and calling set_waiting_for_input.
+ (sigchld_handler): If the process which has exited is one we care
+ about, clear *input_available_clear_time.
+
+ * frame.c (Fselect_frame): Set Vlast_event_frame to Qnil after
+ switching frames, to make sure we'll get a switch-frame event.
+ (Vlast_event_frame): Add external declaration for this here.
+
+ * alloc.c (make_pure_float): Align pureptr according to __alignof,
+ if it's available, or sizeof (struct Lisp_Float) if it's not.
+
+ * .gdbinit (xprocess): New command.
+
+ * floatfns.c (Flogb): Always implement this by calling Flog, even
+ on non-USG systems, which supposedly have a logb function.
+ (Fround): Always implement this by calling floor, even on systems
+ that have rint.
+
+ * process.c (process_send_signal): Use TERMIOS functions in
+ preference to BSD ioctls. Some systems attempt to provide the BSD
+ functions for backward compatibility, and get it wrong.
+
+ * data.c (Fstring_to_number): Skip initial spaces, to make Emacs
+ lisp parse consistently on different operating systems.
+ #include <ctype.h> to help with this.
+
+ * data.c (Fstring_to_int): Rename this to Fstring_to_number, since
+ it parses floats as well as integers. Fix docstring.
+ (syms_of_data): Fix defsubr.
+ (wrong_type_argument): Change use.
+ (Fint_to_string): Doc fix.
+ * lisp.h (Fstring_to_int): Change extern declaration.
+
+1993-02-22 Charles Hannum (mycroft@hal.gnu.ai.mit.edu)
+
+ * ibmrs6000.h (C_ALLOCA, STACK_DIRECTION): Only define if HAVE_ALLOCA
+ is not defined.
+ (X_DEFAULT_FONT): Change to `fixed', as `Rom14.500' only works on the
+ console.
+
+ * aix3-1.h: Changes from 18.58.
+ (HAVE_TERMIOS): Changed from HAVE_TERMIO.
+ (unix): Define.
+
+ * sysdep.c (child_setup_tty): Recognize HAVE_TERMIOS as well as
+ HAVE_TERMIO.
+
+ * xrdb.c (getuid): Remove declaration.
+
+ * systty.h [HAVE_TERMIOS]: Include fcntl.h.
+
+ * systime.h [_AIX]: Move test outside of previous #if.
+ (EMACS_GET_TZ_OFFSET) [USG]: Don't declare twice. Prefer tzset.
+
+ * keyboard.c (init_keyboard): Recognize HAVE_TERMIOS as well as
+ HAVE_TERMIO.
+
+ * aix3-2.h: New file. Specifies difference between AIX 3.1 and 3.2.
+
+1993-02-20 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (Fsuspend_emacs): Make tem not register.
+
+ * syntax.c (Fforward_comment): New function.
+
+ * search.c (Fskip_syntax_backward): New function.
+ (Fskip_syntax_forward): Likewise.
+ (skip_chars): New argument syntaxp.
+
+ * alloc.c (Fmemory_limit): Doc fix.
+
+1993-02-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fsuspend_emacs): Rename suspend-hook to suspend-hooks
+ and run it manually.
+
+ * keymap.c (describe_map): Call Fkey_description before build_string.
+
+1993-02-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fopen_dribble_file): Doc fix.
+
+ * lread.c (syms_of_lread): Doc fix.
+
+1993-02-18 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * textprop.c (Fget_text_property): Fix typo in function's declaration.
+
+ * floatfns.c (IN_FLOAT): Make this work properly when SIGTYPE is void.
+
+ * alloc.c: Add description lines to the top of each page.
+
+ * alloc.c (mark_interval_tree): Remove spurious & in front of
+ function name.
+
+ * alloc.c (UNMARK_BALANCE_INTERVALS): Fix to accomodate compilers
+ other than GCC, which do not allow casts on the LHS of an
+ assignment.
+
+ * config.h.in: #define USE_TEXT_PROPERTIES by default.
+
+ * alloc.c (mark_object, mark_buffer): Remove some unused
+ variables.
+
+ * buffer.c (Fswitch_to_buffer): Pass the correct number of
+ arguments to Fnext_window.
+
+ * buffer.c (Fbury_buffer): Pass the correct number of arguments to
+ Fother_buffer.
+
+ * bytecode.c (Fbyte_code): Pass the correct number of arguments to
+ temp_output_buffer_show.
+
+ * callint.c (Fcall_interactively): Pass the correct number of
+ arguments to wrong_type_argument.
+ * casefiddle.c (caseify_object): Same.
+ * casetab.c (check_case_table): Same.
+ * search.c (Fstore_match_data): Same.
+ * syntax.c (check_syntax_table): Same.
+
+ * callproc.c (delete_temp_file): Declare this to return
+ Lisp_Object, to smooth type-checking.
+
+ * data.c (wrong_type_argument): Pass the correct number of
+ arguments to Fstring_to_int.
+
+ * data.c (arithcompare): Add a default case which aborts, just to
+ make me happy.
+
+ * dispnew.c (sit_for): Pass the correct number of arguments to
+ gobble_input.
+
+ * editfns.c (Fmessage): Don't forget to return a value when
+ args[0] == Qnil.
+
+ * fns.c (Fequal): Call internal_equal to recurse on elements of
+ lists and vectors, not Fequal.
+
+ * frame.c (Fdelete_frame): If FRAME is a dead frame, return Qnil,
+ not nothing.
+
+ * keyboard.c (echo_char): Apply XINT to c before passing it to
+ push_key_description.
+
+ * keyboard.c (recursive_edit_1, command_loop_1): Pass the proper
+ number of arguments to unbind_to.
+ * lread.c (Feval_buffer): Same.
+ * window.c (Fscroll_other_window): Same.
+
+ * keyboard.c (command_loop_1): Apply XINT to c before passing it
+ to internal_self_insert and direct_output_for_insert.
+
+ * keyboard.c (make_lispy_movement): Rename the variable `part'
+ declared in the block handling scrollbar movement to `part_sym',
+ to avoid potential conflicts with the argument named `part'.
+ Apparently the semantics of expressions like this are unclear.
+
+ * keyboard.c (Fread_key_sequence): Backslash the newlines in this
+ docstring.
+ * textprop.c (Fget_text_property): Same.
+
+ * keymap.c (Fdescribe_vector): Pass the proper number of arguments
+ to describe_vector.
+ * syntax.c (describe_syntax_1): Same.
+
+ * minibuf.c (Fdisplay_completion_list): Pass the proper number of
+ arguments to Flength.
+ * xmenu.c (list_of_items): Same.
+
+ * window.c (Fset_window_configuration): Pass the proper number of
+ arguments to Fselect_frame.
+
+ * xfns.c (x_set_icon_type): Pass the proper number of arguments to
+ x_bitmap_icon.
+
+ * xterm.c (XTread_socket): Pass the proper number of arguments to
+ construct_mouse_click.
+
+ * config.h.in (HAVE_CONST): New macro. If it's not #defined, #define
+ const to be the empty string.
+
+ * config.h.in: If we're not __STDC__, define volatile to be the
+ empty string.
+
+ * buffer.h: Remove code which #includes "undo.h" if lint is
+ defined. undo.h no longer exists.
+
+ * buffer.c (buffer_slot_type_mismatch): Make symbol_name an
+ unsigned char *, to match the type of a string's data.
+
+1993-02-17 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
+
+ * process.c (Fstart_process): Jimb's change of December 11
+ had a misplaced paren. This only became apparent because of
+ jimb's change on February 8 to Fexpand_file_name.
+ * callproc.c (Fcall_process): Ditto.
+
+1993-02-17 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * callproc.c (init_callproc): Move the initialization of
+ Vprocess_environment to its own function.
+ (set_process_environment): This is that.
+ * emacs.c (main): Call set_process_environment earlier than
+ init_callproc.
+
+1993-02-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (Frename_buffer): Make prefix arg set UNIQUE.
+
+1993-02-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xterm.c (x_set_window_size): Call change_frame_size instead of
+ just setting the `rows' and `cols' members of the frame, and
+ leaving the window tree in complete disarray.
+
+ * dispnew.c (remake_frame_glyphs): When re-allocating the frame's
+ message buffer when echo_area_glyphs is pointing at it, relocate
+ echo_area_glyphs too. Same for previous_echo_glyphs.
+ * window.h (previous_echo_glyphs): Add extern declaration for this.
+
+ * frame.c (Fframe_parameters): Report the `minibuffer' parameter of
+ minibufferless frames as nil, not `none'.
+ (Qnone): Remove declaration and initialization for this. It's not
+ needed anymore.
+ * xfns.c (Qnone): Add them here; we still accept "none" as a valid
+ value for the `minibuffer' parameter.
+
+ * xfns.c (x_frame_params): Remember that the parameters are called
+ "auto-raise" and "auto-lower", not "autoraise" and "autolower".
+
+ * xdisp.c (message): Set echo_frame to the frame whose message buf
+ we want to use, not to the message buf itself.
+
+1993-02-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * textprop.c (Fadd_text_properties): Put OBJECT arg last.
+ Make it optional.
+ (Fset_text_properties, Fremove_text_properties): Likewise.
+ (Fnext_single_property_change, Fprevious_single_property_change):
+ (Fnext_property_change, Fprevious_property_change): Likewise.
+ (Ferase_text_properties): #if 0.
+ (Fget_text_property): New function.
+
+ * s/irix4-0.h (C_SWITCH_MACHINE): Don't define if GCC.
+
+1993-02-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * s/usg5-4.h: #include "usg5-3.h", not "s-usg5-3.h".
+
+1993-02-11 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xterm.c (x_io_error_quitter): New function.
+ (x_error_quitter): Note that this is only used for protocol
+ errors now, not I/O errors.
+ (x_term_init): Set the I/O error handler to x_io_error_quitter.
+
+1993-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * editfns.c (Finsert_buffer_substring): Proper error for non-ex buffer.
+ (Fcompare_buffer_substrings): Likewise.
+
+1993-02-10 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * fileio.c (Fdo_auto_save): If NO_MESSAGE is non-nil, don't tell
+ users that buffers have shrunk a lot. This is called when Emacs
+ is crashing, so we don't want to run any code that isn't
+ absolutely necessary. Also, autosave buffers which don't have
+ specially handled autosave file names first.
+
+1993-02-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * editfns.c (Fcompare_buffer_substrings): Ignore case
+ if case-fold-search is non-nil.
+
+1993-02-08 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keymap.c (Flookup_key, Fkey_binding, Flocal_key_binding,
+ Fglobal_key_binding, Fminor_mode_key_binding): Add a new optional
+ argument ACCEPT_DEFAULT, to control whether this function sees
+ bindings for t.
+ (Fwhere_is_internal, describe_map_tree, describe_map_2,
+ describe_vector): Pass the proper arguments to Flookup_key.
+
+ * fileio.c (Fexpand_file_name): Pass DEFALT through
+ Fexpand_file_name before using it.
+
+ * fileio.c (Fexpand_file_name): Doc fix.
+
+1993-02-07 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xdisp.c (message): Use the message buffer of the frame we're
+ going to display the message on to format the message, not that of
+ the selected frame.
+
+1993-02-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile (emacs, temacs): Add no-op commands to these rules.
+
+ * dispnew.c (char_ins_del_cost): Use FRAME_WIDTH, not FRAME_HEIGHT.
+
+ * editfns.c (Fcompare_buffer_substrings): New function.
+
+1993-02-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (extra_keyboard_modifiers): New Lisp var.
+ (read_char): Support ctl and meta bits in extra_keyboard_modifiers.
+ * xterm.c (XTread_socket): Support extra_keyboard_modifiers.
+
+1993-01-29 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * window.c (Fscroll_left, Fscroll_right): Don't forget to apply
+ XWINDOW to selected_window before passing it to window_internal_width.
+
+ * xmenu.c (Fx_popup_menu): Don't forget to turn the frame-relative
+ coordinates for the menu position into root-window-relative
+ coordinates.
+
+ * lread.c (read1): Although digits followed by a '.' are an
+ integer, a single . by itself (like, say, \.) should be a symbol.
+
+1993-01-25 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * fns.c (internal_equal): Protect the clause for comparing numbers
+ of different types with a "#ifdef LISP_FLOAT_TYPE".
+
+1993-01-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/hpux8.h [__GNUC__] (LD_SWITCH_SYSTEM): Remove -a.
+ [__GNUC__] (ORDINARY_LINK): Defined.
+
+ * m/sparc.h [TERMINFO]: Don't define LIBS_TERMCAP.
+
+1993-01-25 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ `live-frame-p' has become `frame-live-p'.
+ * frame.c (Qlive_frame_p): Renamed to Qframe_live_p.
+ (Flive_frame_p): Renamed to Fframe_live_p.
+ (syms_of_frame): Defsubrs and initializations adjusted.
+ * frame.h (CHECK_LIVE_FRAME): Use Qframe_live_p, not Qlive_frame_p.
+ (Qlive_frame_p): Changed extern declaration to Qframe_live_p.
+
+ * lread.c (read1): Treat a string of digits ending in a period as
+ an integer.
+
+ Turn `first-change-function' into `first-change-hook'.
+ * buffer.c (Vfirst_change_function): Renamed to Vfirst_change_hook.
+ (Qfirst_change_hook): New symbol, for passing to Vrun_hooks.
+ (syms_of_buffer): Change DEFVAR; initialize Qfirst_change_hook.
+ * buffer.h (Vfirst_change_function): Renamed to Vfirst_change_hook.
+ (Qfirst_change_hook): Added declaration.
+ * insdel.c (signal_before_change): Change references to
+ Vfirst_change_function, and apply Vrun_hooks to
+ Qfirst_change_hook, instead of just calling Vfirst_change_function
+ directly.
+
+ x-selection-value has been renamed to x-selection.
+ x-own-selection has been renamed to x-set-selection, and the order
+ of its arguments has been reversed, for consistency with other
+ lisp functions like put and aset.
+ * xselect.c (Fx_own_selection): Rename to Fx_set_selection,
+ reverse the order of the args, and therefore make the type
+ non-optional. Doc fix.
+ (Fx_selection_value): Rename to Fx_selection; make the type
+ argument non-optional, for symmetry with Fx_set_selection. Doc
+ fix.
+ (syms_of_xselect): Adjusted.
+
+ * xselect.c (Fx_own_selection, Fx_selection_value): Remove "#if
+ 0"'ed code which made cut buffers look like a special selection
+ type.
+
+ * xfns.c (Vx_selection_value): Removed extern declaration for
+ this; it's never used.
+
+ * data.c (Fcompiled_function_p): Renamed to Fbyte_code_function_p.
+ (syms_of_data): Adjusted.
+
+ * data.c (Fnumberp, Fnumber_or_marker_p): Use the NUMBERP macro,
+ instead of writing it out.
+
+ * fns.c (internal_equal): If the operands are both numbers,
+ compare them numerically, so that (equal 1.0 1) => t.
+ Compare Lisp_Compiled objects like vectors.
+
+ Add lisp functions to raise and lower frames.
+ * termhooks.h (frame_raise_lower_hook): New hook.
+ * term.c (frame_raise_lower_hook): Define it.
+ * frame.c (Fframe_to_front, Fframe_to_back): New functions.
+ (syms_of_frame): defsubr them.
+ * xterm.c (XTframe_raise_lower): New function.
+ (x_term_init): Set frame_raise_lower_hook to XTframe_raise_lower.
+
+ * frame.c: Doc fixes.
+
+1993-01-24 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Make the cursor style a frame parameter.
+ * xterm.h (struct x_display): Rename the `text_cursor_kind' member
+ to `current_cursor'; add new member `desired_cursor'.
+ (FRAME_DESIRED_CURSOR): New accessor for new member.
+ * xterm.c (x_display_bar_cursor): Rewritten so as not to damage
+ the characters the cursor is displayed over, and to handle
+ transitions between box and bar styles.
+ (x_display_bar_cursor, x_display_box_cursor): Use current_cursor
+ instead of text_cursor_kind.
+ (Vbar_cursor): Delete external declaration.
+ (x_display_cursor): Use the FRAME_DESIRED_CURSOR accessor instead
+ of Vbar_cursor to decide how to draw the cursor.
+ * xfns.c (Vbar_cursor): Remove definition.
+ (Qbar, Qbox, Qcursor_type): New symbols.
+ (syms_of_xfns): Init and staticpro them; remove DEFVAR for
+ Vbar_cursor.
+ (x_set_cursor_type): New setter.
+ (x_frame_parms): Add it to the list.
+ (Fx_create_frame): Get default values for the cursor type.
+
+ * frame.c (Fmouse_position): Pass the appropriate arguments to
+ *mouse_position_hook; the protocol was changed, but this caller
+ wasn't fixed.
+
+ * xterm.c (XTclear_frame): Call x_scrollbar_clear.
+ (x_scrollbar_clear): New function.
+
+ * xterm.c (XTflash): Totally rewritten. Only defined if
+ HAVE_TIMEVAL and HAVE_SELECT are defined, since we use select for
+ our timing.
+ (timeval_subtract): New function, to help XTflash.
+ (x_invert_frame): Removed. This didn't work anyway.
+ (XTring_bell): Remove "#if 0" around call to XTflash, and remove
+ calls to x_invert_frame. If both HAVE_TIMEVAL and HAVE_SELECT
+ aren't defined, then just do the ordinary beep.
+
+ * window.c (Fscroll_other_window): Prefer windows on the selected
+ frame, then look for windows on other visible frames.
+
+ * keyboard.c (Fmouse_click_p): Removed; with the 'e' spec, this
+ isn't necessary anymore.
+ (syms_of_keyboard): Remove defsubr for it.
+ * keyboard.h (Fmouse_click_p): Remove extern declaration for it.
+
+ * xfns.c (gray_bits): Remove this declaration; the same data is in
+ <X11/bitmaps/gray>. #include that instead.
+ [not HAVE_X11] (x_set_border_pixel): Use gray_width and
+ gray_height, instead of assuming that the bitmap is 16x16.
+ (x_make_gc): Instead of creating a pixmap and then calling
+ XPutImage to make it into a grey stipple, just call
+ XCreatePixmapFromBitmapData to do it all at once.
+
+ * xterm.c (x_text_icon): Move the request for font information
+ into the "not HAVE_X11" part of the function; the X11 code doesn't
+ need this.
+
+ * xterm.c (x_wm_set_icon_pixmap): Instead of setting the
+ icon_pixmap to None, just remove IconPixmapHint from the flags of
+ the XWMHints structure.
+
+ * window.c (Fprevious_frame): Use prev_frame when we get to the
+ end of the current frame, not next_frame. Doc fix.
+ * frame.c (prev_frame): Remove "#if 0" from this function. It
+ turns out we do need it, to make prev_frame work right.
+
+ * frame.c (next_frame): Check that FRAME is a live frame.
+
+ * frame.c (Fselect_frame): Remove "#ifdef MULTI_FRAME" clause
+ around the code which calls Ffocus_frame; this code is already
+ inside an "#ifdef MULTI_FRAME" clause.
+ (next_frame, prev_frame, Fnext_frame): For the same reasons,
+ remove the "#ifdef MULTI_FRAME" clause around these functions.
+
+ unread-command-event has been replaced by unread-command-events.
+ * commands.h (unread_command_event): Change extern declaration.
+ * keyboard.c (unread_command_event): Change the definition.
+ (syms_of_keyboard): Change DEFVAR, and adjust the docstring.
+ (command_loop_1, read_char, Finput_pending, Fdiscard_input,
+ quit_throw_to_read_char, init_keyboard): Change to use
+ unread_command_events, with the new semantics.
+ * lread.c (read_char): Same.
+ * minibuf.c (temp_echo_area_glyphs): Same.
+ * xterm.c (unread_command_event): Remove external declaration for
+ this; it is only used by obsolete code.
+
+ * Makefile.in: Some makes can't handle comments in the middle of
+ commands; move them to before the whole rule.
+
+1993-01-21 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (make_lispy_event): When handling a mouse click event
+ on a window, change x and y from screen coordinates to window
+ coordinates even when the click isn't in the text area.
+
+ * xterm.c (x_scrollbar_create): Remove code which asks for
+ EastGravity for windows; Emacs can't correctly deal with them
+ moving around unexpectedly.
+
+ * xterm.c (XTread_socket): Minor reformatting.
+
+ * xterm.c (x_set_window_size): Always mark the frame garbaged.
+
+ * window.c (Vmouse_window): Variable removed; it can't be handled
+ properly without race conditions, and the events give you all the
+ information you need anyway.
+ (syms_of_window): Remove DEFVAR.
+ * callint.c (Fcall_interactively): Change the `@' spec to select
+ the window of the first parameterized event in the key sequence
+ which invoked the command, instead of using Vmouse_window, which
+ isn't even updated anymore. Adjust the documentation
+ accordingly.
+
+1993-01-20 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xterm.c (x_scrollbar_create): Set the scrollbars to use
+ EastGravity.
+
+ * keyboard.c (make_lispy_event): Deal with button releases with no
+ stored down-going position. Make sure we always store a Qnil in
+ the right button_down_location element after using it.
+
+1993-01-19 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * frame.c (Fdelete_frame): Clear the frame's display after calling
+ the window-system-dependent frame destruction routine. We
+ no longer need to pass the display as a separate argument to
+ x_destroy_window.
+ * xterm.c (x_destroy_window): Put the code which clears out f's
+ display here, right after we free the storage it points to. Put
+ everything, including the code which clears x_focus_frame and
+ x_highlight_frame, inside the BLOCK/UNBLOCK_INPUT pair.
+
+ * dispnew.c (Fredraw_display): Undo change of Jan 12; redraw only
+ frames whose garbaged flag is set. The change to
+ FRAME_SAMPLE_VISIBILITY on Jan 14 should address the problem better.
+
+ keyboard.c (read_char_menu_prompt): Test HAVE_X_WINDOWS, not
+ HAVE_X_WINDOW.
+
+ The CPP symbol indicating whether or not we have mouse menu
+ support under X Windows is HAVE_X_MENU, not not NO_X_MENU.
+ * emacs.c (main): Test HAVE_X_MENU, instead of NO_X_MENU.
+ * keyboard.c (read_char_menu_prompt): Same.
+ * ymakefile: Same.
+
+ * keyboard.c (read_char, read_char_menu_prompt): Use the
+ EVENT_HAS_PARAMETERS macro from keyboard.h, instead of writing it
+ out.
+
+ * keyboard.c (read_char_menu_prompt): Doc fix.
+
+ * keyboard.c (read_char_menu_prompt): Fix test for no menus;
+ comparing name to Qnil doesn't work if we are called with no maps.
+
+ * keymap.c (Fdefine_key): Call Fkey_description to make the string
+ to use in the error message.
+
+1993-01-18 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * window.c (Fdisplay_buffer): Doc fix.
+
+1993-01-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xterm.c (x_window_to_scrollbar): Search frames'
+ condemned_scrollbars list as well; input might arrive during
+ redisplay.
+ (x_scrollbar_report_motion): Don't forget to BLOCK_INPUT.
+ (XTjudge_scrollbars): Clear the condemned scrollbar list before
+ traversing it, so we don't try to process an event on a scrollbar
+ we've killed.
+
+1993-01-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Frecent_keys): Doc fix.
+
+1993-01-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fwindow_at): Doc fix.
+
+1993-01-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xterm.c (x_scrollbar_create): Include PointerMotionHintMask in
+ the event mask for scrollbars.
+
+ * dispnew.c (Fredraw_display): DEFUN was missing a closing paren.
+
+ * term.c (set_vertical_scrollbar_hook, condemn_scrollbars_hook,
+ redeem_scrollbar_hook, judge_scrollbars_hook): Removed dumbo
+ "externs" from these. They're supposed to be real definitions.
+
+ * .gdbinit: Add "-geometry +0+0" to default args.
+ (xscrollbar): New command.
+
+ Make scrollbar structures into lisp objects, so that they can be
+ GC'd; this allows windows and scrollbars can refer to each other
+ without worrying about dangling pointers.
+ * xterm.h (struct x_display): vertical_scrollbars and
+ judge_timestamp members deleted.
+ (struct scrollbar): Redesigned to be a template for a Lisp_Vector.
+ (SCROLLBAR_VEC_SIZE, XSCROLLBAR, SCROLLBAR_PACK, SCROLLBAR_UNPACK,
+ SCROLLBAR_X_WINDOW, SET_SCROLLBAR_X_WINDOW,
+ VERTICAL_SCROLLBAR_INSIDE_WIDTH, VERTICAL_SCROLLBAR_TOP_RANGE,
+ VERTICAL_SCROLLBAR_INSIDE_HEIGHT, VERTICAL_SCROLLBAR_MIN_HANDLE):
+ New macros, to help deal with the lispy structures, and deal with
+ the graphics.
+ * frame.h (WINDOW_VERTICAL_SCROLLBAR): Macro deleted.
+ (struct frame): New fields `scrollbars' and
+ `condemned_scrollbars', for use by the scrollbar implementation.
+ [MULTI_FRAME and not MULTI_FRAME] (FRAME_SCROLLBARS,
+ FRAME_CONDEMNED_SCROLLBARS): Accessors for the new field.
+ * window.h (struct window): Doc fix for vertical_scrollbar field.
+ * frame.c (make_frame): Initialize the `scrollbars' and
+ `condemned_scrollbars' fields of the new frame.
+ * alloc.c (mark_object): Mark the `scrollbars' and
+ `condemned_scrollbars' slots of frames.
+ * xterm.c (x_window_to_scrollbar): Scrollbars are chained on
+ frames' scrollbar field, not their x.display->vertical_scrollbars
+ field.
+ (x_scrollbar_create, x_scrollbar_set_handle, x_scrollbar_move,
+ x_scrollbar_remove, XTset_vertical_scrollbar,
+ XTcondemn_scrollbars, XTredeem_scrollbar, XTjudge_scrollbars,
+ x_scrollbar_expose, x_scrollbar_handle_click,
+ x_scrollbar_handle_motion): Substantially rewritten to correct
+ typos and brainos, and to accomodate the lispy structures.
+
+ * xterm.c (x_scrollbar_background_expose): Function deleted; we
+ don't want anything in the background there after all.
+ (XTread_socket): Don't call x_scrollbar_background_expose. We
+ don't care.
+
+ * frame.h (FRAME_SAMPLE_VISIBILITY): Make sure frame is marked as
+ garbaged whenever it goes from invisible to visible.
+ * dispextern.h (frame_garbaged): Move extern declaration from here...
+ * frame.h (frame_garbaged): ... to here. The FRAME_SAMPLE_VISIBILITY
+ macro uses it now, and this seems to be just as modular. Make a
+ new page, just for this and message_buf_print.
+ (struct frame): Doc fix for the `visible' field.
+ * process.c: #include "frame.h" instead of "dispextern.h"; the
+ only thing we care about from it is the frame_garbaged
+ declaration.
+ * ymakefile: Note dependency change.
+
+ * xfns.c (Fx_create_frame): After mapping the frame, call
+ SET_FRAME_GARBAGED, not just plain FRAME_GARBAGED.
+
+ * window.c (window_internal_width): New function, which accounts
+ for scrollbars if present.
+ * lisp.h (window_internal_height, window_internal_width): Add
+ extern declarations for these.
+ * dispnew.c (direct_output_for_insert, direct_output_forward_char,
+ buffer_posn_from_coords): Use window_internal_width instead of
+ writing out its definition.
+ * indent.c (compute_motion): Doc fix; mention scrollbars and
+ window_internal_width.
+ (pos_tab_offset, Fvertical_motion): Use window_internal_width
+ instead of writing it out.
+ * window.c (Fpos_visible_in_window_p, Fwindow_width, Fscroll_left,
+ Fscroll_right): Same.
+ * xdisp.c (redisplay, try_window, try_window_id,
+ display_text_line): Same.
+
+ * xdisp.c (display_string): Add new variable `f', to be W's
+ frame. Use it to set desired_glyphs, and to get the frame's width
+ to decide whether or not to draw vertical bars.
+
+ * xdisp.c (display_text_line): If we're using vertical scrollbars,
+ don't draw the vertical bars separating side-by-side windows.
+ (display_string): Same thing. Draw spaces to fill in the part of
+ the mode line that is under the scrollbar in partial-width
+ windows.
+
+ * xfns.c (Qvertical_scrollbars): New symbol. Use it as the name
+ of the parameter which decides whether or not the frame has
+ scrollbars, instead of Qvertical_scrollbar.
+ (Fx_create_frame): Adjusted accordingly.
+ (syms_of_xfns): Initialize and staticpro Qvertical_scrollbars.
+ (x_set_vertical_scrollbar): Renamed to x_set_vertical_scrollbars.
+ (x_frame_parms): Adjusted accordingly.
+
+ * xterm.h (CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT,
+ PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Rewritten, using:
+ (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, PIXEL_TO_CHAR_ROW,
+ PIXEL_TO_CHAR_COL): New macros.
+ * xfns.c [not HAVE_X11] (Fx_create_frame): Use the
+ PIXEL_TO_CHAR_{HEIGHT,WIDTH} macros to figure the frame's
+ character size, and the CHAR_TO_PIXEL* macros for vice versa.
+ * xterm.c (XTwrite_glyphs, XTclear_end_of_line, stufflines,
+ scraplines, dumprectangle, pixel_to_glyph_coords, x_draw_box,
+ clear_cursor, x_display_bar_cursor, x_draw_single_glyph,
+ x_set_mouse_position): Use the CHAR_TO_PIXEL_* macros.
+
+ * xterm.c (x_wm_set_size_hint): The max_width and max_height
+ members of the size_hints are expressed in pixels, not columns.
+
+ * xterm.c (x_set_window_size): Remove ibw var; it's not used.
+ Set FRAME_WIDTH (f) to cols instead of rows. Duh.
+
+ * xterm.c (pixel_to_glyph_coords): Properly set *bounds to the
+ character cell bounding the position, even when the position is
+ off the frame.
+
+ * xfns.c (x_set_name): To request that the modelines be redrawn,
+ execute the statement "update_mode_lines = 1;" instead of the
+ silly statement "update_mode_lines;".
+
+ * xfns.c (x_set_vertical_scrollbars): Don't try to set the
+ X window's size if the frame's X window hasn't been created yet.
+
+ * xfns.c (x_figure_window_size): Set the frame's
+ vertical_scrollbar_extra field before trying to calculate its
+ pixel dimensions.
+
+ * xfns.c (x_window): When calling x_implicitly_set_name for the
+ sake of drawing the name for the first time, remember to clear and
+ set the frame's explicit_name member as well as its name member.
+ (Fx_create_frame): Set the frame's explicit_name member if the
+ user specified the name explicitly.
+
+ * xdisp.c (display_text_line): Use the usable internal width of
+ the window, as calculated above, as the limit on the length of the
+ overlay arrow's image, rather than using the window's width field,
+ less one.
+
+ * xdisp.c (redisplay): Call condemn_scrollbars_hook and
+ judge_scrollbars_hook whenever they are set, not just when the
+ frame has vertical scrollbars.
+
+ * termhooks.h (mouse_position_hook): Doc fix.
+ (set_vertical_scrollbar_hook): This doesn't return anything any
+ more, and doesn't take a struct scrollbar * argument any more.
+ (condemn_scrollbars_hook, redeem_scrollbar_hook,
+ judge_scrollbars_hook): Doc fixes.
+ * term.c (mouse_position_hook): Doc fix.
+ (set_vertical_scrollbar_hook): This doesn't return
+ anything any more. Doc fixes.
+ * keyboard.c (kbd_buffer_get_event): Receive the scrollbar's
+ window from *mouse_position_hook and pass it to
+ make_lispy_movement, instead of working with a pointer to a struct
+ scrollbar.
+ (make_lispy_event): We don't need a window_from_scrollbar function
+ anymore; we are given the window directly in *EVENT.
+ Unify the code which generates
+ text-area mouse clicks and scrollbar clicks; use the same code to
+ distinguish clicks from drags on the scrollbar as in the text area.
+ Distinguish clicks from drags by storing a copy of the lispy
+ position list returned as part of the event.
+ (button_down_location): Make this a lisp vector, rather than an
+ array of random structures.
+ (struct mouse_position): Remove this; it's been replaced by a lisp
+ list.
+ (make_lispy_movement): Accept the scrollbar's window as a
+ parameter, rather than the scrollbar itself.
+ If FRAME is zero, assume that the other arguments are garbage.
+ (syms_of_keyboard): No need to staticpro each window of
+ button_down_location now; just initialize and staticpro it.
+ * window.c (window_from_scrollbar): Function deleted; no longer
+ needed.
+ * xdisp.c (redisplay_window): Just pass the window to
+ set_vertical_scrollbar hook; don't pass the scrollbar object too.
+ * xterm.c (XTmouse_position): Don't return a pointer to the
+ scrollbar for scrollbar motion; instead, return the scrollbar's
+ window.
+
+ * xterm.c (XTmouse_position): Entirely rewritten, using
+ XTranslateCoordinates. Call x_scrollbar_report_motion to handle
+ scrollbar movement events.
+ (x_scrollbar_report_motion): New function, to help out
+ XTmouse_position.
+
+ * keyboard.c (apply_modifiers): Don't assume that the Qevent_kind
+ property of BASE is set when we first create the new modified
+ symbol. Check that the Qevent_kind property is properly set each
+ time we return any symbol.
+
+ * termhooks.h (struct input_event): Replace the frame member with
+ a Lisp_Object member by the name of frame_or_window. Doc fixes.
+ Remove the scrollbar member; instead, use frame_or_window to hold the
+ window whose scrollbar was clicked.
+ * keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event,
+ make_lispy_event): Adjust references to frame member of struct
+ input_event to use frame_or_window now.
+ * xterm.c (construct_mouse_click, XTread_socket): Same.
+
+ * xterm.c (last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
+ last_mouse_scroll_range_start, last_mouse_scroll_range_end):
+ Replaced with...
+ (last_mouse_scrollbar): New variable.
+ (note_mouse_movement): Clear last_mouse_scrollbar when we have
+ receieved a new motion.
+ (syms_of_xterm): Staticpro last_mouse_scrollbar.
+
+ * xterm.c (note_mouse_position): Renamed to note_mouse_movement,
+ because that's what it really does.
+ (x_scrollbar_handle_motion): Renamed to x_scrollbar_note_movement,
+ for consistency.
+ (XTread_socket): Adjusted.
+
+ * xterm.c (XTset_scrollbar): Renamed to XTset_vertical_scrollbar.
+ (x_term_init): Adjusted.
+
+ * keyboard.c (kbd_buffer_frames): Renamed to
+ kbd_buffer_frame_or_window, and made to exist even when
+ MULTI_FRAME isn't defined; single-frame systems might have
+ scrollbars. Use it to GCPRO the frame_or_window field in the
+ event queue.
+ (kbd_buffer_store_event, kbd_buffer_get_event,
+ stuff_buffered_input): Set and clear the
+ appropriate element of kbd_buffer_frame_or_window, whether or not
+ MULTI_FRAME is #defined.
+ (read_avail_input): When reading characters directly from stdin,
+ set the frame_or_window field of the event appropriately,
+ depending on whether or not MULTI_FRAME is #defined.
+ (Fdiscard_input, init_keyboard): Zap kbd_buffer_frame_or_window,
+ not kbd_buffer_frames.
+ (syms_of_keyboard): Initialize and staticpro
+ kbd_buffer_frame_or_window, whether or not MULTI_FRAME is
+ #defined.
+
+ * keyboard.c (head_table): Make Qscrollbar_movement have a
+ Qevent_kind property of Qmouse_movement, not Qscrollbar_movement.
+
+ * keyboard.c (read_key_sequence): If we decide to throw away a
+ mouse event which has prefix symbols (`mode-line',
+ `vertical-scrollbar', etcetera), remember that we may have to
+ unwind two characters, not just one.
+
+ * keyboard.c (read_key_sequence): Doc fixes.
+
+ * keyboard.c (kbd_buffer_store_event): Fix reversed sense of test
+ for focus redirection.
+
+ * keyboard.c (read_char): Don't echo mouse movements.
+
+ * emacs.c (shut_down_emacs): New function.
+ (fatal_error_signal, Fkill_emacs): Call it, instead of writing it out.
+ * xterm.c (x_connection_closed): Call shut_down_emacs instead of
+ Fkill_emacs; the latter will try to perform operations on the X
+ server and die a horrible death.
+ * lisp.h (shut_down_emacs): Add extern declaration for it.
+
+ * xterm.c (x_error_quitter): Move the abort call to after we print
+ the error message. No harm in that.
+
+ * xdisp.c (echo_area_display): Move the assignment of f and the
+ check for visibility out of the "#ifdef MULTI_FRAME" clause; they
+ should work under any circumstances.
+
+ * xdisp.c (redisplay_window): If we're not going to redisplay this
+ window because it's a minibuffer whose contents have already been
+ updated, go ahead and jump to the scrollbar refreshing code
+ anyway; they still need to be updated. Initialize opoint, so it's
+ known to be valid when we jump. Calculate the scrollbar settings
+ properly for minibuffers, no matter what they are displaying at
+ the time.
+
+ * xdisp.c (redisplay_windows): Don't restore the current buffer
+ and its point before refreshing the scrollbars; we need the buffer
+ accurate.
+
+1993-01-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * print.c (float_to_string): Add final 0 if text ends with decimal pt.
+
+ * dispnew.c (Fredraw_display): Redraw all visible frames.
+ Make the non-multi-frame version interactive.
+
+1993-01-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fset_default_file_modes, Fdefault_file_modes):
+ Renamed from Fset_umask and Fumask; sense of arg is reversed.
+ (Fwrite_region): Doc fix.
+
+1993-01-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * print.c (float_to_string): Add `.0' at end if needed.
+
+ * lread.c (Fload): If warn that .elc file is older, inhibit
+ the ordinary message that would follow.
+
+1993-01-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * fileio.c (Fdo_auto_save): Add CURRENT_ONLY argument, as
+ described in doc string.
+
+1993-01-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fns.c (Frandom): Change arg name.
+
+ * editfns.c: Doc fixes.
+
+1993-01-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * unexhp9k800.c (unexec): Don't call exit, just return.
+
+1993-01-07 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * config.h.in: protect against multiple #inclusions.
+
+ * config.h.in: Add a declaration for getenv.
+
+ * xfns.c (Fx_get_resource): Add CLASS argument, to give class of
+ ATTRIBUTE.
+ [not HAVE_X11]: Change definition of Fx_get_resource macro
+ accordingly.
+ (x_get_arg): Add CLASS argument, to give the class of ATTRIBUTE.
+ Pass it along to Fx_get_resource.
+ (x_figure_window_size, x_icon): Pass new argument to x_get_arg.
+ (x_default_parameter): Add XCLASS argument, to give the class of
+ XPROP. Pass it along to x_get_arg.
+ (Fx_create_frame): Pass new args to x_get_arg and
+ x_default_parameter.
+
+ * xfns.c (Fx_create_frame): Use the same resource names and
+ classes as xterm and Emacs 18.
+
+1993-01-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_get_resource): Use EMACS_CLASS to make class_key
+ even if SUBCLASS is specified. I don't know whether that is
+ right, but that's what the doc says.
+ Cosmetic changes in arg names and doc string.
+
+1992-12-29 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * ralloc.c: [! emacs] [HAVE_CONFIG_H]: #include "config.h"
+
+1992-12-21 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * Makefile.in (tagsfiles): New variable.
+ (TAGS): Depend on $(tagsfiles); use that in cmds.
+ (tags): Separate phony rule; depends on TAGS.
+
+1992-12-21 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c: Protect all references to kbd_buffer_frames with
+ #ifdef MULTI_FRAME.
+
+ * frame.h (struct frame): New fields `can_have_scrollbars' and
+ `has_vertical_scrollbars'.
+ (FRAME_CAN_HAVE_SCROLLBARS, FRAME_HAS_VERTICAL_SCROLLBARS): New
+ accessors, for both the MULTI_FRAME and non-MULTI_FRAME.
+ (VERTICAL_SCROLLBAR_WIDTH, WINDOW_VERTICAL_SCROLLBAR,
+ WINDOW_VERTICAL_SCROLLBAR_COLUMN,
+ WINDOW_VERTICAL_SCROLLBAR_HEIGHT): New macros.
+ * window.h (struct window): New field `vertical_scrollbar'.
+ * xterm.h (struct x_display): vertical_scrollbars,
+ judge_timestamp, vertical_scrollbar_extra: New fields.
+ (struct scrollbar): New struct.
+ (VERTICAL_SCROLLBAR_PIXEL_WIDTH, VERTICAL_SCROLLBAR_PIXEL_HEIGHT,
+ VERTICAL_SCROLLBAR_LEFT_BORDER, VERTICAL_SCROLLBAR_RIGHT_BORDER,
+ VERTICAL_SCROLLBAR_TOP_BORDER, VERTICAL_SCROLLBAR_BOTTOM_BORDER,
+ CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_WIDTH,
+ PIXEL_TO_CHAR_HEIGHT): New accessors and macros.
+ * frame.c (make_frame): Initialize the `can_have_scrollbars' and
+ `has_vertical_scrollbars' fields of the frame.
+ * term.c (term_init): Note that TERMCAP terminals don't support
+ scrollbars.
+ (mouse_position_hook): Document new args.
+ (set_vertical_scrollbar_hook, condemn_scrollbars_hook,
+ redeem_scrollbar_hook, judge_scrollbars_hook): New hooks.
+ * termhooks.h: Declare and document them.
+ (enum scrollbar_part): New type.
+ (struct input_event): Describe the new form of the scrollbar_click
+ event type. Change `part' from a Lisp_Object to an enum
+ scrollbar_part. Add a new field `scrollbar'.
+ * keyboard.c (kbd_buffer_get_event): Pass appropriate new
+ parameters to *mouse_position_hook, and make_lispy_movement.
+ * xfns.c (x_set_vertical_scrollbar): New function.
+ (x_figure_window_size): Use new macros to calculate frame size.
+ (Fx_create_frame): Note that X Windows frames do support scroll
+ bars. Default to "yes".
+ * xterm.c: #include <X11/cursorfont.h> and "window.h".
+ (x_vertical_scrollbar_cursor): New variable.
+ (x_term_init): Initialize it.
+ (last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
+ last_mouse_scroll_range_start, last_mouse_scroll_range_end): New
+ variables.
+ (XTmouse_position): Use them to return scrollbar movement events.
+ Take new arguments, for that purpose.
+ (x_window_to_scrollbar, x_scrollbar_create,
+ x_scrollbar_set_handle, x_scrollbar_remove, x_scrollbar_move,
+ XTset_scrollbar, XTcondemn_scrollbars, XTredeem_scrollbar,
+ XTjudge_scrollbars, x_scrollbar_expose,
+ x_scrollbar_background_expose, x_scrollbar_handle_click,
+ x_scrollbar_handle_motion): New functions to implement scrollbars.
+ (x_term_init): Set the termhooks.h hooks to point to them.
+ (x_set_window_size): Use new macros to calculate frame size. Set
+ vertical_scrollbar_extra field.
+ (x_make_frame_visible): Use the frame accessor
+ FRAME_HAS_VERTICAL_SCROLLBARS to decide if we need to map the
+ frame's subwindows as well.
+ (XTread_socket): Use new size-calculation macros from xterm.h when
+ processing ConfigureNotify events.
+ (x_wm_set_size_hint): Use PIXEL_TO_CHAR_WIDTH and
+ PIXEL_TO_CHAR_HEIGHT macros.
+ * ymakefile (xdisp.o): This now depends on termhooks.h.
+ (xterm.o): This now depends on window.h.
+
+ * xdisp.c: #include "termhooks.h".
+ (redisplay, redisplay_window): Use set_vertical_scrollbar_hook,
+ condemn_scrollbars_hook, redeem_scrollbar_hook, and
+ judge_scrollbars_hook to make scrollbars redisplay properly.
+
+ * keyboard.c (Qscrollbar_movement, Qvertical_scrollbar,
+ Qabove_handle, Qhandle, Qbelow_handle): New symbols.
+ (make_lispy_event): New code to build scrollbar clicks.
+ (make_lispy_movement): New code to handle scrollbar movement.
+ (head_table): Include Qscrollbar_movement in the event heads.
+ (syms_of_keyboard): Init and staticpro Qvertical_scrollbar,
+ Qabove_handle, Qhandle, and Qbelow_handle.
+ * keyboard.h (Qscrollbar_movement): Declare this along with the
+ other event types.
+ * lisp.h (Qvertical_scrollbar): Declare this.
+ * window.c (window_from_scrollbar): New function.
+
+ * xterm.h (struct x_display): Delete v_scrollbar, v_thumbup,
+ v_thumbdown, v_slider, h_scrollbar, h_thumbup,
+ h_thumbdown, h_slider, v_scrollbar_width, h_scrollbar_height
+ fields.
+ * keyboard.c (Qvscrollbar_part, Qvslider_part, Qvthumbup_part,
+ Qvthumbdown_part, Qhscrollbar_part, Qhslider_part, Qhthumbup_part,
+ Qhthumbdown_part, Qscrollbar_click): Deleted; part of an obsolete
+ interface.
+ (head_table): Removed from here as well.
+ (syms_of_keyboard): And here.
+ * keyboard.h: And here.
+ (POSN_SCROLLBAR_BUTTON): Removed.
+ * xscrollbar.h: File removed - no longer necessary.
+ * xfns.c: Don't #include it any more.
+ (Qhorizontal_scroll_bar, Qvertical_scroll_bar): Deleted.
+ (syms_of_xfns): Don't initialize or staticpro them.
+ (gray_bits): Salvaged from xscrollbar.h.
+ (x_window_to_scrollbar): Deleted.
+ (x_set_horizontal_scrollbar): Deleted.
+ (enum x_frame_parm, x_frame_parms): Remove references to
+ x_set_horizontal_scrollbar.
+ (x_set_foreground_color, x_set_background_color,
+ x_set_border_pixel): Remove special code to support scrollbars.
+ (Fx_create_frame): Remove old scrollbar setup code.
+ (install_vertical_scrollbar, install_horizontal_scrollbar,
+ adjust_scrollbars, x_resize_scrollbars): Deleted.
+ * xterm.c (construct_mouse_click): This doesn't need to take care of
+ scrollbar clicks anymore.
+ (XTread_socket): Remove old code to support scrollbars. Call new
+ functions instead for events which occur in scrollbar windows.
+ (XTupdate_end): Remove call to adjust_scrollbars; the main
+ redisplay code takes care of that now.
+ (enum window_type): Deleted.
+ * ymakefile: Note that xfns.o no longer depends on xscrollbar.h.
+
+ * xterm.c (x_set_mouse_position): Clip mouse position to be within
+ frame.
+
+ * xterm.c: Adjust the first line of each page to have a reasonable
+ description. This makes pages-directory more useful.
+
+ * xterm.c (x_do_pending_expose): Declare this routine only if
+ HAVE_X11 is not #defined; X11 doesn't need it.
+ (XTread_socket): Protect call to x_do_pending_expose with `#ifdef
+ HAVE_X11'.
+
+ * xfns.c (syms_of_xfns): Delete defvars for x_mouse_x and
+ x_mouse_y. That interface hasn't been live for years.
+ (x_mouse_x, x_mouse_y): Delete these variables.
+
+ * xterm.c (notice_mouse_movement): Deleted; obsolete and unused.
+
+ * keyboard.c (Fread_key_sequence): Doc fix.
+
+ * keyboard.c (make_lispy_event): Buttons are numbered starting
+ with zero now.
+
+ * keyboard.c (make_lispy_event): Use the proper accessors when
+ manipulating the `x' and `y' fields of struct input_event.
+
+ * keyboard.c (parse_modifiers_uncached): Remember that strncmp
+ returns zero if the two substrings are equal.
+
+ * keyboard.c (do_mouse_tracking, Ftrack_mouse): Doc fix.
+
+ * keyboard.c (read_char): Don't put mouse movements in
+ this_command_keys.
+
+ * xfns.c (Fx_create_frame): Don't initialize the wm_hints field here.
+ (x_window): Do it here, along with all the similar stuff.
+
+1992-12-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * callint.c (Fcall_interactively): For `s', use Fread_string.
+
+1992-12-20 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Properly handle focus shift events, so the cursor is filled and
+ hollow at the appropriate times, even in titleless windows.
+ * xterm.c (x_focus_event_frame): New variable.
+ (XTread_socket): When we receive a FocusIn event that's not
+ NotifyPointer, record the frame in x_focus_event_frame. When we
+ receive a FocusOut event that's not NotifyPointer, clear it. When
+ we get a LeaveNotify event, don't take it seriously if we still
+ have focus.
+
+ * xterm.c (XTread_socket): Remove special code in EnterNotify case
+ to handle scrollbars and fake mouse motion events.
+
+1992-12-19 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * floatfns.c (Flog): Fix unescaped newline in string.
+ * frame.c (Fnext_frame): Same.
+ * textprop.c (Fprevious_single_property_change): Same.
+ (syms_of_textprop): Same, for DEFVAR for
+ `interval_balance_threshold'.
+
+ Change the meaning of focus redirection to make switching windows
+ work properly. Fredirect_frame_focus has the details.
+ * frame.h (focus_frame): Doc fix.
+ [not MULTI_FRAME] (FRAME_FOCUS_FRAME): Make this Qnil, which
+ indicates no focus redirection, instead of zero, which is
+ selected_frame.
+ * frame.c (make_frame): Initialize f->focus_frame to Qnil, rather
+ than making it point to frame itself.
+ (Fselect_frame): If changing the selected frame from FOO to BAR,
+ make all redirections to FOO shift to BAR as well. Doc fix.
+ (Fredirect_frame_focus): Doc fix. Accept nil as a valid
+ redirection, not just as a default for FRAME.
+ (Fframe_focus): Doc fix.
+ * keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event): Deal
+ with focus redirections being nil.
+ * xterm.c (XTframe_rehighlight): Doc fix. Deal with focus
+ redirections being nil.
+
+ * window.c (Fset_window_configuration): Don't restore the frame's
+ focus redirection if the target frame is now dead.
+
+ * ymakefile (ralloc.o): This no longer depends on xterm.h.
+
+ * ymakefile (all, xemacs): We build an executable called `emacs' now,
+ not `xemacs'.
+ * Makefile.in (distclean, xemacs, doxemacs): Same.
+
+ * xterm.h (PIXEL_WIDTH, PIXEL_HEIGHT): Change name of parameter
+ from `s' to `f'; it's a frame pointer.
+
+1992-12-18 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (kbd_buffer_frames): New vector, to GCPRO frames in
+ kbd_buffer.
+ (kbd_buffer_store_event): When we add an event to kbd_buffer, make
+ sure to store its frame in kbd_buffer_frames.
+ (kbd_buffer_get_event): When we remove an event from kbd_buffer,
+ make sure to set the corresponding element of kbd_buffer_frames to
+ Qnil, to allow the frame to get GC'd.
+ (Fdiscard_input, init_keyboard): Clear all elements of
+ kbd_buffer_frames to nil.
+ (syms_of_keyboard): Create and staticpro kbd_buffer_frames.
+
+ * xterm.c (x_error_quitter): Just abort, so we can look at the
+ core to see what happened.
+
+1992-12-17 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * buffer.c (Frename_buffer): Set update_mode_lines.
+
+1992-12-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * scroll.c (do_scrolling): When bcopying the max_ascent field from
+ current_frame to temp_frame, remember that max_ascent is an array
+ of shorts, not ints.
+
+ It's a pain to remember that you can't assign to FRAME->visible.
+ Let's change all references to the `visible' member of struct
+ frame to use the accessor macros, and then write a setter for the
+ `visible' field that does the right thing.
+ * frame.h (FRAME_VISIBLE_P): Make this not an l-value.
+ (FRAME_SET_VISIBLE): New macro.
+ * frame.c (make_terminal_frame, Fdelete_frame): Use FRAME_SET_VISIBLE.
+ (Fframe_visible_p, Fvisible_frame_list): Use FRAME_VISIBLE_P and
+ FRAME_ICONIFIED_P.
+ * dispnew.c (Fredraw_display): Use the FRAME_VISIBLE_P and
+ FRAME_GARBAGED_P accessors.
+ * xdisp.c (redisplay): Use the FRAME_VISIBLE_P accessor.
+ * xfns.c (x_set_foreground_color, x_set_background_color,
+ x_set_cursor_color, x_set_border_pixel, x_set_icon_type): Use the
+ FRAME_VISIBLE_P accessor.
+ (Fx_create_frame): Use FRAME_SET_VISIBILITY.
+ * xterm.c (clear_cursor, x_display_bar_cursor,
+ x_display_box_cursor): Use FRAME_SET_VISIBILITY.
+
+1992-12-12 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * ymakefile (CFLAGS): #define HAVE_CONFIG_H too.
+
+ * Makefile.in (distclean): Don't delete machine.h or system.h;
+ they don't exist anymore.
+
+ * Makefile.in (distclean): Don't delete autosave or backup files.
+ (extraclean): New target; like distclean, but delete autosave
+ and backup files too.
+
+1992-12-11 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * search.c (Fskip_chars_forward, Fskip_chars_backward): Return the
+ distance traveled.
+ (skip_chars): Return the distance traveled, as a Lisp_Object.
+
+ * macros.c (Fend_kbd_macro): Don't use XFASTINT to check if arg is
+ negative; XFASTINT only works on values known to be positive.
+ (Fexecute_kbd_macro): Check QUIT in the repetition loop. If the
+ macro is null, no characters are actually being read, so this
+ matters.
+
+ * Makefile.in (srcdir): New variable, not fully implemented.
+ (xmakefile): Turn -g and -O in CFLAGS into C_DEBUG_SWITCH and
+ C_OPTIMIZE_SWITCH in C_SWITCH_SITE's definition. Delete junk.cpp
+ when done.
+ * ymakefile (archlib): Variable definition deleted. Run programs
+ from ../lib-src directly, or use ${archlibdir}.
+ (${etc}DOC): Run make-docfile from ${libsrc}, not ${archlib}.
+ (${archlib}make-docfile, ${archlib}emacstool): Use ${libsrc}, not
+ ${archlib}.
+
+ * ymakefile (lisp): Don't include version.el in this list.
+
+ Give subprocess creation a way to find a valid current directory
+ for subprocesses when the buffer's default-directory is a handled
+ name.
+ * fileio.c (Funhandled_file_name_directory): New function.
+ (Qunhandled_file_name_directory): New file-name-handler operation.
+ (syms_of_fileio): Defsubr Sunhandled_file_name_directory, and
+ initialize and staticpro Qunhandled_file_name_directory.
+ * callproc.c (Fcall_process): Call Funhandled_file_name_directory
+ on the buffer's default directory. Do it earlier in the function
+ so there's less to GCPRO.
+ * process.c (create_process): Don't check the validity of the
+ buffer's default directory here...
+ (Fstart_process): Instead, do it here; if we call
+ Funhandled_file_name_directory here, there's less GCPROing to do.
+
+ * callproc.c (Fcall_process_region): Return the value returned by
+ Fcall_process.
+
+ * fileio.c (find_file_handler): Rename this to
+ Ffind_file_name_handler, and make it visible to lisp. Add a QUIT
+ to the loop which scans file-name-handler-alist. All uses
+ changed.
+ (syms_of_fileio): Mention this new function in the docstring for
+ Vfile_name_handler_alist. defsubr Sfind_file_name_handler.
+ * lisp.h (Ffind_file_name_handler): Added extern declaration.
+ * dired.c: All uses of find_file_handler changed here too.
+
+ * fileio.c (syms_of_fileio): Add staticpros for Qexpand_file_name,
+ Qdirectory_file_name, Qfile_name_directory,
+ Qfile_name_nondirectory, Qfile_name_as_directory.
+
+1992-12-07 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * window.c (Fset_window_configuration): If we're restoring the
+ configuration of a dead frame, don't bother rebuilding its window
+ tree, restoring its focus redirection, or temporarily resizing it
+ to fit the saved window configuration. If the frame which was
+ selected when the configuration was captured is now dead, don't
+ try to select it.
+
+ * frame.c (Fdelete_frame): Delete all the windows in the frame's
+ window tree, using delete_all_subwindows.
+ * window.c (delete_all_subwindows): Don't make this static
+ anymore.
+
+1992-12-03 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Make sure that frames' visible flag only changes at acceptable
+ times. See FRAME_SAMPLE_VISIBILITY's comments for details.
+ * frame.h (struct frame): New fields called async_visible and
+ async_iconified.
+ (FRAME_SAMPLE_VISIBILITY): New macro, with MULTI_FRAME and
+ non-MULTI_FRAME definitions.
+ * xdisp.c (redisplay): Call FRAME_SAMPLE_VISIBILITY to set the
+ visible and iconified flags appropriately for each frame.
+ (message1): Call FRAME_SAMPLE_VISIBILITY to set the visible and
+ iconified flags for the minibuffer frame.
+ * frame.c (make_frame): Initialize async_visible and
+ async_iconified properly.
+ * xfns.c (Fx_create_frame): Initialize f->async_visible too.
+ * xterm.c (XTread_socket): When we get MapNotify, UnmapNotify,
+ Expose, ExposeWindow, or UnmapWindow, set f->async_visible, not
+ f->visible.
+ (x_do_pending_expose, x_raise_frame, x_lower_frame,
+ x_make_frame_invisible, x_make_frame_visible, x_iconify_frame):
+ Test and set f->async_visible and f->async_iconified, not
+ f->visible or f->async_iconified.
+
+ * keyboard.c (kbd_store_ptr): Declare this to be volatile, if
+ __STDC__ is #defined.
+ (Fdiscard_input): Use cast to keep GCC from complaining about the
+ assignment of kbd_store_ptr to kbd_fetch_ptr.
+
+ * xdisp.c (redisplay): Use FOR_EACH_FRAME to apply
+ redisplay_windows to the root window of each frame. This makes a
+ #ifdef MULTI_FRAME unneeded, but it also means we recompute
+ buffer_shared from scratch even on non-MULTI_FRAME configurations.
+ Don't skip elements of Vframe_list that aren't frames; go ahead
+ and crash here.
+
+ * xdisp.c (redisplay): Remove #ifdef MULTI_FRAME around the code
+ which updates separate minibuffer frames specially; there's
+ nothing there that won't work on a single-frame configuration.
+
+ * dispextern.h (struct frame_glyphs): Doc fix.
+
+1992-12-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * dispnew.c: Remove dyked-out copy of safe_bcopy.
+
+ * environ.c: File removed; Changes on 1/13/1992 made it
+ unnecessary.
+
+1992-12-01 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * process.c (wait_reading_process_input): Doc fix.
+
+1992-11-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * next.h: Copy changes from 18.59:
+ (NeXT): Defined.
+ (BIG_ENDIAN): Define only if __BIG_ENDIAN__.
+ (m68000, COMPILER_REGISTER_BUG): Defs deleted.
+ (SIGN_EXTEND_CHAR, LIB_X11_LIB, NO_T_CHARS_DEFINES, UNEXEC): Defined.
+ (LIBS_DEBUG, LIB_GCC, C_SWITCH_MACHINE, ORDINARY_LINK): Defined.
+ (TEXT_START, TEXT_END, DATA_END, LD_SWITCH_MACHINE): Defined.
+ (KERNEL_FILE): #undef it.
+ (environ): Define as _environ.
+
+1992-11-25 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * doc.c (store_function_docstring): New function, made from part
+ of Fsnarf_documentation, which handles docstrings for macros
+ properly.
+ (Fsnarf_documentation): Call store_function_docstring.
+
+ * data.c (indirect_function): Delete unused argument ERROR.
+
+1992-11-23 Jim Blandy (jimb@apple-gunkies.gnu.ai.mit.edu)
+
+ * Makefile.in (clean): Remove prefix-args.
+
+1992-11-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sol2.h (LD_SWITCH_SYSTEM): Make alternate version for GCC.
+
+1992-11-19 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * m/sparc.h: Don't include <sys/param.h> here; that screws up the
+ xmakefile. Instead, include it in getloadavg.c, which is the only
+ place that uses LOAD_AVE_CVT, which is the only reason
+ <sys/param.h> was here in the first place.
+
+1992-11-15 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * dispnew.c [not MULTI_FRAME] (Fredraw_display): Pass the correct
+ number of arguments to mark_window_display_accurate.
+
+ * undo.c (Fprimitive_undo): Remove whitespace in front of #ifdef
+ and #endif.
+
+ * systty.h: Doc fix.
+
+ * systty.h, process.c, buffer.h, callproc.c, sysdep.c, dired.c:
+ Added VMS changes from Roland Roberts.
+ * vmspaths.h: New version from Roland Roberts.
+
+ * xdisp.c (display_string): Use w's buffer's value of
+ tab-width to display the string, instead of the current buffer's,
+ which could be anything.
+
+ * s/sol2.h (LD_SWITCH_SYSTEM): Add -R option.
+
+ * process.c (read_process_output): Save, widen, insert the process
+ output, and then restore the restriction if inserting text outside
+ the visible region.
+
+1992-11-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * buffer.c (Ferase_buffer): Doc fix.
+
+ * dispnew.c (safe_bcopy): Use the right terminating condition in
+ the loop which uses multiple bcopy calls to transfer a block to an
+ overlapping higher block.
+
+1992-11-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * process.c (Fstart_process): Establish an unwind-protect to
+ remove PROC from the process list if an error occurs while
+ starting it.
+ (start_process_unwind): New function to help with that.
+ (create_process): There's no need to explicitly call
+ remove_process if the fork fails; the record_unwind_protect in
+ Fstart_process will take care of it.
+
+ * commands.h (unread_command_event): Doc fix.
+
+ Don't ever throw away switch-frame events.
+ * lread.c: #include "keyboard.h".
+ (Fread_char, Fread_char_exclusive): Don't signal an
+ error for or throw away switch-frame events; instead, put them off
+ until after we've found a character we can respond to.
+ * commands.h (unread_switch_frame): Declare this extern.
+ * keyboard.c (unread_switch_frame): Don't declare this static.
+ * ymakefile (lread.o): Note that this depends on keyboard.h.
+
+ * keyboard.c (Vlast_event_frame): Doc fix.
+
+ * process.c (wait_reading_process_input): Test the C preprocessor
+ symbol "ultrix", not "__ultrix__" to see if we should ignore
+ ENOMEM errors from select.
+
+ * fileio.c (Fexpand_file_name): Don't fiddle with "/." if it's the
+ entire string.
+
+ * buffer.c (Fbury_buffer): Make this behave as in 18.59, although
+ that behavior is very odd - only remove the buffer from the
+ selected window if BUFFER was nil or omitted.
+
+ * keyboard.c (read_char): Write composite events to the dribble
+ file properly.
+
+ * keyboard.c (init_keyboard): Initialize Vlast_event_frame to
+ Qnil, rather than the selected frame.
+
+ * mem-limits.h [DATA_SEG_BITS] (EXCEEDS_LISP_PTR): Remember to
+ remove DATA_SEG_BITS from the pointer before testing if the
+ pointer fits in VALBITS.
+
+ * Makefile.in (doxemacs, dotemacs): Explicitly pass along the CC
+ variable in these rules, just as in the `doall' rule.
+
+ * ralloc.c (relocate_some_blocs): Handle BLOC == NIL_BLOC.
+ (free_bloc): This can now be simplified.
+
+ * ralloc.c (r_alloc_sbrk): When we allocate new space for the
+ malloc heap, zero it out even if we don't have any blocs in the
+ free list.
+
+1992-11-12 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * process.c (process_send_signal): On systems which have both
+ the TIOCGETC and TCGETA ioctls, just use the former.
+
+ * xselect.c (Fx_get_cut_buffer): Correct check for buf_num in
+ range.
+
+ * xselect.c (Fx_get_cut_buffer, Fx_set_cut_buffer): Fix error
+ message format; use NUM_CUT_BUFFERS instead of literal 7.
+
+ * keyboard.c (lispy_modifier_list): Added sanity check before
+ indexing into modifier_symbols.
+
+ * keyboard.c (add_command_key): When copying the contents of the
+ old this_command_keys to new_keys, remember to multiply size by
+ sizeof (Lisp_Object) to get the amount we really need to copy.
+
+ Rename unread_command_char to unread_command_event; it has
+ subtly different semantics now, and we should use
+ `make-obsolete-variable' to warn people.
+ * command.h (unread_command_char): Change name in extern declaration.
+ * keyboard.c (unread_command_char): Rename.
+ (command_loop_1, read_char, Finput_pending, Fdiscard_input,
+ quit_throw_to_read_char, init_keyboard, syms_of_keyboard): Change
+ references.
+ * lread.c (Fread_char): Change reference.
+ * minibuf.c (temp_echo_area_glyphs): Change reference to
+ unread_command_char to unread_command_event.
+ * xfns.c (unread_command_char): Change name in extern declaration
+ to unread_command_event.
+
+1992-11-11 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * m/pmax.h: Don't define SYSTEM_MALLOC; this was only necessary
+ for Ultrix version 4.1, and the current version is 4.3.
+
+ * s/bsd4-2.h, s/bsd4-3.h: #define SIGNALS_VIA_CHARACTERS.
+ * process.c (process_send_signal): Put all the code for sending
+ signals via characters in a #ifdef SIGNALS_VIA_CHARACTERS. Decide
+ whether to use the Berkeley-style or SYSV-style ioctls by seeing
+ which ioctl commands are #defined.
+
+ * minibuf.c (read_minibuf): If get_minibuffer gives the
+ new minibuffer a nil default directory, find another buffer with a
+ better default directory and use that one's instead.
+
+1992-11-10 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * process.c (process_send_signal): Doc fix.
+
+ * keyboard.c (read_key_sequence): Don't use
+ save_excursion_{save,restore} to protect the caller against buffer
+ switches; use Fset_buffer and Fcurrent_buffer; redisplay might
+ change point, and we don't want to undo that.
+
+ * keyboard.c (kbd_buffer_get_event): When checking a mouse
+ movement for a frame switch, don't assume Vlast_event_frame
+ contains a Lisp_Frame object.
+
+1992-11-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/dgux.h (SYSTEM_TYPE): Use berkeley-unix.
+
+1992-11-04 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * alloc.c: #include "frame.h" unconditionally. frame.h does the
+ right thing when MULTI_FRAME isn't defined.
+
+ * Makefile.in: Rearrange dependencies to make sure that xmakefile
+ is built before we try to use it, even using a parallel make.
+
+ Changes for SYSV from Eric Raymond:
+ * process.c [SYSV]: Don't include <termios.h>, <termio.h>, or
+ <fcntl.h>.
+ (process_send_signal): Don't try to send SIGTSTP
+ unless SIGTSTP is defined.
+ * sysdep.c (init_baud_rate) [HAVE_TERMIO, not HAVE_TCATTR]: Use
+ TCGETA, not TIOCGETP.
+ * systime.h [USG] (EMACS_GET_TZ_OFFSET): Assign to *(offset), not
+ (offset). Don't forget the while corresponding to the do.
+ Include USG in the list of systems that have a tzname array.
+
+ * keyboard.c (read_key_sequence): Removed the
+ replay_sequence_new_buffer label; replay_sequence should be here
+ instead.
+
+ Arrange to get compile-time errors for uses of Lisp_Frame in a
+ non-MULTI_FRAME configuration.
+ * lisp.h [not MULTI_FRAME]: Don't declare the Lisp_Frame tag.
+ * minibuf.c (read_minibuf): Protect call to Fredirect_frame_focus
+ with a #ifdef MULTI_FRAME.
+ * window.c (Fset_window_configuration): Protect call to
+ Fselect_frame with a #ifdef MULTI_FRAME.
+ [not MULTI_FRAME] (Fcurrent_window_configuration): Don't bother
+ setting the window configuration's selected_frame member.
+ * keyboard.c (Vlast_event_frame): Arrange for this to exist iff
+ MULTI_FRAME is defined.
+ [not MULTI_FRAME] (syms_of_keyboard): Don't DEFVAR Vlast_event_frame.
+ [not MULTI_FRAME] (read_char): Don't try to set Vlast_event_frame.
+ [not MULTI_FRAME] (kbd_buffer_store_event): Don't try to set
+ Vlast_event_frame for quit characters.
+ [not MULTI_FRAME] (kbd_buffer_get_event): Don't try to generate
+ switch-frame events.
+
+ * buffer.c (init_buffer): If PWD is accurate, use it instead of
+ calling getwd.
+ #include <sys/types.h> and <sys/stat.h>, for the call to stat.
+
+ Indicate whether an autoload form stands for a keymap or not.
+ * eval.c (Fautoload): Renamed fifth argument TYPE. Document the
+ fact that (eq TYPE 'keymap) means FUNCTION will become a keymap
+ when loaded.
+ (Fmacroexpand): Instead of assuming that every autoload
+ form with a fifth element is a macro, actually check the fifth
+ element against t and `macro', which are the only values which
+ denote macroness.
+ * keymap.c (get_keymap_1): Don't try to autoload OBJECT's function
+ unless the autoload form indicates that it's a keymap.
+
+1992-11-03 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * .gdbinit (mips): New command.
+
+1992-10-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fmake_directory_internal): Renamed from Fmake_directory.
+ Pass nil as third arg to handler.
+ Lisp function `make-directory' is now in files.el.
+
+1992-10-30 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Clean up errors due to treating Lisp_Objects like integers.
+ * abbrev.c (Funexpand_abbrev): Just assign the last abbrev's value
+ to val; don't use XSET. Make sure that the value of the
+ abbrev-symbol is a string.
+ * alloc.c (Frope_elt): Declare arguments to be Lisp_Objects.
+ * buffer.c (reset_buffer): Don't assign to b->save_length as if it
+ were an int; use XFASTINT.
+ * buffer.h (Fbuffer_name, Fget_file_buffer): Added external
+ declarations.
+ * bytecode.c (Fbyte_code): Use EQ to compare string_saved with
+ bytestr.
+ * casefiddle.c (operate_on_word): Declare end to be an int, not a
+ Lisp_Object.
+ * casetab.c (set_case_table): Declare this to be static, and
+ return a Lisp_Object. Add static declaration for this
+ before Fset_case_table and Fset_standard_case_table.
+ (Fset_case_table, Fset_standard_case_table): Return the return
+ value of set_case_table, instead of returning garbage.
+ * commands.h (unread_command_char): Declare this to be a
+ Lisp_Object, not an int.
+ * data.c (Fset): See if current_alist_element points to itself
+ using EQ, not ==.
+ (float_arith_driver): Declare this extern above arith_driver.
+ * dired.c (find_file_handler): Declare this extern.
+ (Ffile_attributes): Use NILP, not == Qnil.
+ * dispextern.h (sit_for): Declare this extern.
+ * doc.c: #include keyboard.h.
+ * floatfns.c (Flog): Don't forget to declare the BASE argument a
+ Lisp_Object.
+ * fns.c: #include keyboard.h.
+ (Fdelete): Check if Fequal returns Qnil, not zero.
+ * frame.c: #include buffer.h.
+ * keyboard.c: #include dispextern.h.
+ (recursive_edit_unwind, command_loop, Fthis_command_keys): Declare
+ these to return Lisp_Objects at the very top of the file, to avoid
+ having them implicitly declared as ints.
+ (echo_char): Use EQ to compare C to help_char.
+ (read_char): Remember to apply XFASTINT to the return value of
+ Flength before using it. Apply XINT to c when clearing its high
+ bits and meta bits, and when writing it to the dribble file.
+ (read_char_menu_prompt): Use EQ to compare obj with
+ menu_prompt_more_char and its control-character analog.
+ (read_key_sequence): Declare PROMPT to be char *, not a
+ Lisp_Object. Use the appropriate accessors on keybuf when looking
+ for ASCII function key sequences.
+ * keyboard.h (get_keymap_1, Fkeymapp, reorder_modifiers,
+ Fmouse_click_p, read_char): Add external declarations for these.
+ * keymap.c (Fdefine_key, Flookup_key, describe_map): Don't assume
+ that Flength returns an integer.
+ * lisp.h (Fdefault_boundp, make_float, Ffloat, Fnth, Fcopy_alist,
+ Fmake_byte_code, Fverify_visited_file_modtime, Ffile_exists_p,
+ Fdirectory_file_name, Ffile_name_directory,
+ expand_and_dir_to_file, Ffile_accessible_directory_p, Fbyte_code,
+ Fundo_boundary, truncate_undo_list): Add extern declarations for
+ these.
+ * lread.c (read_char): Add an extern declaration for this,
+ indicating that it returns a Lisp_Object.
+ * minibuf.c (read_minibuf): Use EQ to compare, not ==.
+ (temp_echo_area_glyphs): Use XFASTINT to assign to
+ unread_command_char.
+ * print.c (print): Cast the frame's address to an integer before
+ passing it to sprintf to form the frame's printed form.
+ * process.c: (status_convert): Declare this to return a
+ Lisp_Object at the top of the file.
+ (decode_status): Don't untag XCONS (tem)->cdr before storing it in
+ tem; tem is a Lisp_Object, too.
+ (process_send_signal): Declare this to be static void. Don't
+ return Qnil; nobody cares.
+ (sigchld_handler): Use XFASTINT to manipulate p->infd.
+ * search.c (Fstore_match_data): Don't assume Flength returns a
+ C integer.
+ * undo.c (record_insert): Use accessors on BEG and LENGTH.
+ (truncate_undo_list): Use NILP, not == Qnil.
+ * window.c (Fwindow_width, Fset_window_hscroll): Use accessors on
+ w->width, w->left, w->hscroll, and arguments.
+ (replace_window): Use EQ, not ==.
+ (Fdelete_window): p->top and p->left are not C integers.
+ (Fnext_window, Fprevious_window): Use EQ, not ==.
+ * window.h (make_window, window_from_coordinates,
+ Fwindow_dedicated_p): Add extern declarations for these.
+ * xdisp.c (redisplay): Use ! EQ to compare the old and new arrow
+ positions, not !=.
+ (mark_window_display_accurate): Barf if WINDOW isn't a window.
+ (display_string): Test buffer_defaults.ctl_arrow using NILP,
+ instead of comparing it with zero.
+ * xfns.c (x_decode_color, Fx_color_display_p): x_screen_planes is
+ an int, not a Lisp_Object.
+ (x_set_mouse_color): Give separate error messages for the
+ different cursors we try to set.
+ (Fx_geometry): Declare STRING to be a Lisp_Object.
+ (Fx_create_frame): No need to use XSET to assign NAME to f->name;
+ they're both Lisp_Objects.
+ (adjust_scrollbars): Use XINT to access w->hscroll.
+ (Fx_open_connection): x_screen_count, x_release, x_screen_height,
+ x_screen_height_mm, x_screen_width, x_screen_width_mm,
+ x_save_under, and x_screen_planes are integers, not Lisp_Objects.
+ (syms_of_xfns): x_mouse_x, x_mouse_y, and mouse_buffer_offset are
+ integers, not Lisp_Objects.
+ * xselect.c (own_selection): selection_type is an X Atom value,
+ not a Lisp_Object.
+ (x_selection_arrival): Declare this static, and add a forward
+ declaration at the top of the page.
+ * xterm.c (x_convert_modifiers): Declare this to return an
+ unsigned int, not a Lisp_Object. Remember that the quiescent
+ value for part is Qnil, not zero, that x_mouse_x and x_mouse_y
+ are ints, not Lisp_Objects, and that RESULT->x and RESULT->y are
+ Lisp_Objects, not ints.
+ (XTread_socket): Declare this to return int, not Lisp_Object.
+ When calling construct_mouse_click on a non-scrollbar click, pass
+ PART as Qnil, not zero.
+ (x_calc_absolute_position): Remember that x_screen_width and
+ x_screen_height are ints, not Lisp_Objects.
+ * xterm.h (x_screen_count, x_release, x_screen_height,
+ x_screen_height_mm, x_screen_width, x_screen_width_mm,
+ x_save_under, x_screen_planes): Declare this as ints, to match
+ their definitions in xterm.c.
+ * ymakefile: Note the new dependencies caused by the new
+ #inclusions above.
+
+ * xdisp.c (last_arrow_position, last_arrow_string): Make these
+ static.
+
+ * process.c (pty_process): Variable deleted; it's no longer used.
+ (syms_of_process): Don't initialize it.
+
+ * buffer.h (struct buffer_local_types): This declaration needed an
+ extern qualifier.
+
+ * floatfns.c (Fexpt): Don't return the value of the XSET function
+ call; that's not guaranteed to be the value assigned.
+
+ * dired.c (Ffile_attributes): Doc fix.
+
+ * lisp.h (DEFVARLISP, DEFVARBOOL, DEFVARINT, DEFVARPERBUFFER):
+ Removed these definitions; we should be using the versions whose
+ names use underscores.
+
+ * keyboard.c (echobuf): Make this 300 characters, not 100. This
+ isn't a real fix, but it's quick.
+
+1992-10-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * callint.c (preserved_fns): New var.
+ (Fcall_interactively): Preserve all fns listed in preserved_fns.
+ (syms_of_callint): Set preserved_fns and staticpro it.
+ Don't set up Qregion_beginning or Qregion_end.
+
+1992-10-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (count_blanks): Leave argument r constant, and increment p.
+
+1992-10-28 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xdisp.c (message): Re-write this in terms of message1.
+ (message1): Move code to clear out echo_area_glyphs and
+ previous_echo_glyphs from message to here.
+
+ * keyboard.c (read_char): When returning an unread switch-frame
+ event, jump to reread_first to return it, rather than reread; this
+ makes sure the event gets echoed (if appropriate) and goes into
+ this_command_keys.
+
+ * keyboard.c (read_key_sequence): If the key sequence starts with
+ a mouse click, read the key sequence using the keymaps of the
+ buffer clicked on, not the current buffer.
+
+ * keyboard.c (unread_switch_frame): Make this static, to indicate
+ that nobody outside of this file uses it.
+
+ * keymap.c: Deal with autoloaded keymaps properly.
+ (get_keymap_1): Renamed to inner_get_keymap; made
+ static. New argument AUTOLOAD says to pursue autoloads if
+ non-zero.
+ (Fkeymapp, get_keymap, get_keyelt, Flookup_key): Ask get_keymap_1
+ not to perform autoloads.
+ (Fdefine_key): Ask get_keymap_1 to perform autoloads. Since
+ autoloading may GC, remember that we have to GCPRO our local
+ variables now.
+ (Fminor_mode_key_binding): Call get_keymap instead of calling
+ get_keymap_1 with equivalent arguments.
+ * keyboard.c (follow_key): Ask get_keymap_1 to perform autoloads.
+ (read_key_sequence): When pursuing potential bindings in the
+ function key map, ask get_keymap_1 to perform autoloading. This
+ is hardly important, but it's consistent.
+ * doc.c (Fsubstitute_command_keys): Ask get_keymap_1 to
+ perform autoloads. Autoloading might GC; we need to GCPRO our
+ local variables now.
+ (Fdocumentation, Fdocumentation_property): Autoloading in
+ Fsubstitute_command_keys might GC; we need to GCPRO our
+ local variables now.
+
+1992-10-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/irix3-3.h (HAVE_SETSID, IRIX): Defined.
+
+ * s/irix4-0.h: New file.
+
+1992-10-27 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
+
+ * sysdep.c (get_system_name): Use gethostname for USG systems if
+ HAVE_GETHOSTNAME is defined.
+ * s/hpux7.h, s/irix3-3.h (HAVE_GETHOSTNAME): Define it.
+
+1992-10-27 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * callproc.c: Arrange for synchronous processes to get SIGINT the
+ first time the user quits, or SIGKILL if the user quits again.
+ #include "syssignal.h".
+ (call_process_kill): New function.
+ (call_process_cleanup): Send SIGINT to the subprocess, and then
+ arrange to call call_process_kill if the user quits while we wait
+ for it to terminate.
+ (Fcall_process, Fcall_process_region): Doc fix.
+
+1992-10-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * unexmips.c [sony, IRIS_4D]: Include getpagesize.h and fcntl.h.
+ (unexec): #if 0 the error check of hdr.fhdr.f_nscns.
+ Clear text_section->s_scnptr.
+
+ * callint.c (Fcall_interactively): Preserve (region-beginning)
+ and (region-end) into the command history when they appear
+ in an interactive spec which is a call to `list'.
+
+ * batcomp.com: New file. Waiting for papers from richard@ttt.kth.se.
+
+1992-10-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * emacs.c (main): Correct spelling of HAVE_X_WINDOW to
+ HAVE_X_WINDOWS in conditionals around the call to syms_of_xmenu.
+
+1992-10-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ralloc.c (relinquish):
+ Adjust page_break_value by amount of memory actually given back.
+ (r_alloc_sbrk): Provide hysteresis in relocating the blocs.
+
+1992-10-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ralloc.c (relinquish): Sign of arg to *real_morecore was backwards.
+
+1992-10-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ralloc.c (relinquish): Never free less than extra_bytes;
+ keep extra_bytes of empty space.
+ (obtain): Always get extra_bytes additional space.
+ (r_alloc_init): Set extra_bytes and page_size.
+ (ALIGNED, ROUNDUP, ROUND_TO_PAGE): Use page_size.
+
+1992-10-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Properly staticpro this_command_keys.
+
+ * mem-limits.h (get_lim_data): Make it static.
+
+ * ymakefile (mallocobj): Use vm-limit.o along with ralloc.o.
+
+ * ralloc.c [emacs]: Define POINTER and SIZE.
+ [!emacs]: Delete definition of EXCEEDS_LISP_PTR.
+
+ * eval.c (grow_specpdl): Increase max_specpdl_size before Fsignal.
+
+1992-10-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xfns.c (x_set_face): Dyked out this function; it has no callers,
+ and refers to an obsolete version of struct face.
+
+ * xterm.c (compose_status): New variable.
+ (XTread_socket): Pass it by reference to XLookupString.
+
+1992-10-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/esix5r4.h (BROKEN_FIONREAD): Defined.
+
+1992-10-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/vms5-5.h: New file.
+
+1992-10-16 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xdisp.c (message): If M is zero, clear echo_area_glyphs and
+ previous_echo_glyphs, so that the minibuffer shows through.
+* * editfns.c (Fmessage): With no arguments, clear any active
+ message; let the minibuffer contents show through.
+ * minibuf.c (temp_echo_area_glyphs): Don't clear echo_area_glyphs
+ and previous_echo_glyphs; let message do that work.
+
+ * keyboard.c (this_command_keys): Make this a vector, instead of
+ an array of Lisp_Objects.
+ (this_command_keys_size): Deleted.
+ (echo, add_command_key, Fthis_command_keys): Adjusted
+ appropriately.
+ (init_keyboard): Don't allocate it here.
+ (syms_of_keyboard): Allocate it here, and staticpro it.
+ * keyboard.h (this_command_keys): Extern declaration changed. Doc fix.
+ * callint.c (Fcall_interactively): Change handling of 'e' spec;
+ this_command_keys is now a vector.
+
+ * keyboard.c (read_char): Call ourselves with the appropriate
+ number of arguments.
+ (read_char_menu_prompt): If USED_MOUSE_MENU is zero, don't try to
+ store things in it.
+
+ * window.c: Try to deal coherently with deleted windows:
+* (Flive_window_p): New function.
+ (Qlive_window_p): New variable, to name it in type errors.
+ (syms_of_window): Defsubr Slive_window_p, init and staticpro
+ Qlive_window_p.
+ * lisp.h (CHECK_LIVE_WINDOW): New predicate.
+ (Qlive_window_p): Extern declaration for this.
+ * window.c (decode_window): Use CHECK_LIVE_WINDOW instead of
+ CHECK_WINDOW; the only thing a user should be able to do to a dead
+ window is check its type.
+ (Fcoordinates_in_window_p, Fnext_window, Fprevious_window,
+ Fdelete_other_windows, Fselect_window, Fsplit_window,
+ Fscroll_other_window): Use CHECK_LIVE_WINDOW instead of
+ CHECK_WINDOW.
+ * frame.c (make_frame_without_minibuffer, Fwindow_frame): Same.
+ * sunfns.c (Fsun_menu_internal): Same.
+ * xmenu.c (Fx_popup_menu): Same.
+ * window.c (Fdelete_window): If WINDOW is a deleted window, do nothing;
+ there's no harm in allowing people to delete deleted windows.
+ Delete all of WINDOW's subwindows, too.
+ (delete_all_subwindows): Set the buffer, vchild, and hchild of the
+ windows we delete all to nil.
+ * window.h (struct window): Doc fix.
+
+ * window.c (Fwindow_minibuffer_p): Make the WINDOW argument
+ optional, like all the other window-querying functions.
+
+ * window.c (Fpos_visible_in_window_p): Use decode_window to handle
+ the WINDOW argument, instead of writing out that function's code.
+
+ * window.c (check_frame_size): Don't define this extern; that
+ doesn't mean anything.
+
+ * xterm.c: Clean up some of the caps lock handling:
+ (x_shift_lock_mask): New variable.
+ (x_find_modifier_mappings): Set it, based on the modifier mappings.
+ (x_convert_modifiers): Use x_shift_lock_mask, instead of assuming
+ that the lock bit always means to shift the character.
+ (XTread_socket): When handling KeyPress events, don't pass an
+ XComposeStatus structure along to XLookupString. When handling
+ MappingNotify events, call XRefreshKeyboardMapping for both
+ MappingModifier and MappingKeyboard events, not just the latter.
+
+1992-10-15 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * window.c (Fdelete_window): Choose an alternative when we delete
+ any frame's selected window, not just when we delete the selected
+ frame's selected window.
+
+1992-10-15 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * vm-limit.c (check_memory_limits): Declare __morecore.
+ Remove unused variable `result'.
+
+1992-10-15 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * vm-limit.c (morecore_with_warning): Removed.
+ (check_memory_limits): New fn; most code from
+ morecore_with_warning, but only checks limits, doesn't do any work.
+ (memory_warnings): Set __after_morecore_hook to check_memory_limits;
+ don't set __morecore.
+
+1992-10-14 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * intervals.c (traverse_intervals): New parameter `depth'.
+ Increment this when passing recursively.
+
+ * alloc.c (mark_interval_tree): Pass 0 as initial depth argument
+ to traverse_intervals.
+
+ * xterm.h: Declaration of struct face removed.
+
+ * dispextern.h: New element of frame structure `max_ascent'.
+ Removed elements `nruns' and `face_list'.
+ LINE_HEIGHT and LINE_WIDTH macros removed.
+ New struct face with associated typedef FACE declared, along with
+ accessing macros.
+
+ * scroll.c (do_scrolling): Don't bcopy non-existant `nruns' or
+ `face_list' elements. Do copy new `max_ascent' frame element.
+
+ * dispnew.c (scroll_frame_lines): All references to frame elements
+ `nruns' and 'face_list' removed. Handle new element `max_ascent'.
+ (free_frame_glyphs): Don't free nonexistent elements `nruns' and
+ `face_list'; do free `max_ascent' element.
+ (make_frame_glyphs): Don't allocate nonexistent elements `nruns'
+ and `face_list'; do allocate `max_ascent' element.
+ (update_frame): Replaced use of macro LINE_HEIGHT with element
+ frame element `pix_height'.
+
+1992-10-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (modify_event_symbol): Arrange to set the
+ click_modifier bit on otherwise unmodified mouse clicks.
+
+ * keymap.c (store_in_keymap): Don't forget to QUIT in the
+ keymap-scanning loop. Don't treat vectors as binding tables if
+ they're the wrong length.
+
+1992-10-12 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_get_event): Remember that
+ *mouse_position_hook may set *FRAME to 0; don't generate
+ switch-frame events in this case. Fix fencepost bug in fetching
+ events from keyboard buffer.
+
+1992-10-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (ralloc.o): Delete dep mem_limits.h
+ (vm-limit.o): Rename dep to mem-limits.h.
+
+1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * ralloc.c: Removed #include "mem-limits.h".
+ [emacs]: Moved #undef NULL and #include "getpagesize.h" here.
+ [! emacs]: #include <unistd.h>, <malloc.h>, <string.h>.
+ (r_alloc_init): Use NIL, not NULL.
+
+1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * ralloc.c (sbrk): Removed decl.
+ (real_morecore): New static variable.
+ (warnlevel, warn_function, check_memory_limits): Removed.
+ (obtain): Don't call check_memory_limits.
+ (obtain, relinquish, r_alloc_sbrk): Use (*real_morecore) in place
+ of sbrk; it returns 0 for errors, not -1.
+ (r_alloc_init): Set real_morecore to old value of __morecore.
+ Don't initialize lim_data or warnlevel, and don't call get_lim_data.
+ (memory_warnings): Function removed.
+
+1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * vm-limit.c (warnfunction): Renamed to warn_function (was used
+ inconsistently).
+ (morecore_with_warning, memory_warnings): Change callers (were
+ inconsistent).
+
+1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * mem-limits.h (start_of_data): Removed extra defn.
+ (get_lim_data): Define to return void.
+
+1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * mem_limits.h: File renamed to mem-limits.h.
+ * vm-limit.c, ralloc.c: Changed #includes.
+
+1992-10-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * syntax.c (find_defun_start): scan_buffer returns start of line;
+ no need to advance over newline.
+
+ * vm-limit.c (morecore_with_warning):
+ Reduce warnlevel when usage drops far enough.
+ * ralloc.c (check_memory_limits): Likewise.
+
+ * vm-limit.c (memory_warnings): Renamed from malloc_init.
+ Don't set lim_data or warnlevel. Use start_of_data if start is 0.
+ * ralloc.c (memory_warnings): New function; just set warning data.
+ Use start_of_data if start is 0.
+ * emacs.c (Fdump_emacs, main): Use memory_warnings.
+
+ * mem_limits.h [!emacs]: Don't define POINTER, SIZE or NULL.
+ (start_of_data): Define as macro, if !emacs.
+ * ralloc.c [!emacs]: Don't include config.h or lisp.h;
+ instead, use stddef.h. Define POINTER, SIZE, EXCEEDS_LISP_PTR.
+ * vm-limit.c [!emacs]: Don't include config.h or lisp.h;
+ instead, use stddef.h. Define POINTER, SIZE, EXCEEDS_LISP_PTR.
+
+ * ralloc.c [!emacs] (safe_bcopy): Define as macro using memmove.
+ (r_alloc_free): Clear *ptr.
+ (r_alloc_init): Renamed from malloc_init. Take no args.
+ Make it static; declare at top of file.
+ (r_alloc): Call r_alloc_init, if not initialized yet.
+ (r_alloc_initialized): Renamed from malloc_initialized; moved to top.
+ (ROUNDUP): Subtract 1, in case arg is already aligned.
+
+ * mem_limits.h (EXCEEDS_LISP_PTR): Renamed from EXCEEDS_ELISP_PTR.
+ * vm-limit.c (morecore_with_warning): Use EXCEEDS_LISP_PTR.
+ * ralloc.c (check_memory_limits): Use EXCEEDS_LISP_PTR.
+
+1992-10-10 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (Vlast_event_frame): Make this variable exist even
+ when MULTI_FRAME isn't #defined. People might find it
+ necessary for writing correct programs, even when the programs
+ don't explicitly use multiple frames.
+ (read_char, kbd_buffer_store_event, kbd_buffer_get_event): No need
+ to test MULTI_FRAME before setting Vlast_event_frame.
+ (syms_of_keyboard): DEFVAR Vlast_event_frame whether or not
+ MULTI_FRAME is defined.
+
+ * keyboard.c: Add switch-frame events.
+ (Qswitch_frame): New event header symbol.
+ (head_table): Include Qswitch_frame in the table of event heads.
+ (kbd_buffer_get_event): Detect when a frame switch has occurred,
+ and return a frame switch event before the enqueued event.
+ (make_lispy_switch_frame): New function.
+ (unread_switch_frame): New variable.
+ (read_key_sequence): Don't throw away the key sequence if the user
+ switches frames in the middle of the sequence. Instead, when we
+ receive a switch-frame event in the middle of a key sequence, save
+ it, and stuff it into unread_switch_frame when the sequence
+ is complete.
+ (read_char): If unread_switch_frame is set, return that value.
+ (command_loop_1): No need to check Vlast_event_frame and select
+ new frames here; that's taken care of by switch-frame events now.
+ (syms_of_keyboard): Initialize and staticpro unread_switch_frame.
+ * keyboard.h (Qswitch_frame): Declare this extern.
+
+ * frame.c: #include "commands.h" and "keyboard.h".
+ (Fselect_frame): Make this interactive, and accept
+ switch-frame events as arguments, so we can bind this function to
+ switch-frame events.
+ (keys_of_frame): New function; bind switch-frame to Fselect_frame.
+ * emacs.c (main): Call keys_of_frame.
+ * keymap.c (initial_define_lispy_key): New function, for defining
+ non-ascii keys.
+ * ymakefile: Note that frame.o depends on commands.h and keyboard.h.
+
+ * callint.c (Fcall_interactively): Allow multiple 'e' specs.
+ (Finteractive): Doc fix.
+ * keyboard.h (this_command_keys, this_command_key_count): Added
+ external declarations.
+
+ * keymap.c (access_keymap): Treat bindings for Qt as default
+ bindings, when new argument T_OK is non-zero.
+ (get_keyelt, Fdefine_key, Flookup_key): Call access_keymap with
+ T_OK false.
+ * keyboard.c (follow_key, read_key_sequence): Call access_keymap
+ with T_OK true.
+
+ * keyboard.c (apply_modifiers): Copy the value of BASE's
+ Qevent_kind property to the new symbol.
+
+ * keyboard.c (syms_of_keyboard): Qevent_kind should be initialized
+ to intern ("event-kind"), not intern ("event-type").
+
+1992-10-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fwrite_region): If VISIT is a file name,
+ use that as file name to visit, and print it in the message.
+ Use it for file locking too.
+
+ * m-ibmps2-aix.h [__GNUC__ >= 2] (LIB_STANDARD): Don't define.
+
+1992-10-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * ymakefile (FLOATSUP): Renamed to FLOAT_SUPPORT.
+ (FRAME_SUPPORT, VMS_SUPPORT): New macros.
+ (lisp): Rebuild this from loadup.el, using the _SUPPORT macros.
+
+ * ymakefile [HAVE_X_WINDOWS, not NO_X_MENU, HAVE_X11] (LIBXMENU):
+ Link against -loldX, to get the association table functions.
+
+ * xterm.c, xrdb.c: #include <stdio.h> before "xterm.h", to avoid
+ warnings about redefining NULL under GCC 2.2.2.
+
+1992-10-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m/pyrmips.h: New file.
+
+ * s/aix3-1.h (PTY_ITERATION, etc.): Defined.
+ (FIRST_PTY_LETTER): Deleted.
+
+1992-10-07 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * m/sparc.h: Include <sys/param.h>, to define the FSCALE constant.
+
+ * ymakefile (YMF_PASS_LDFLAGS): Refer to the prefix-args program
+ using "./prefix-args", not just "prefix-args"; some people don't
+ have . in their paths.
+
+1992-10-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * link.com: Use gcclib if compiling with GCC.
+
+ * fileio.c (directory_file_name): Don't clobber the envvar
+ when handling top-level rooted dir.
+
+ * ymakefile (LIB_STANDARD): If ORDINARY_LINK, default this to empty.
+
+ * m/ibmps2-aix.h [USG_SHARED_LIBRARIES]: Define ORDINARY_LINK.
+ Undef LIB_STANDARD. Modify LD_SWITCH_MACHINE.
+
+ * unexnext.c: New file.
+ * emacs.c (main) [NeXT]: Call malloc_jumpstart.
+
+1992-10-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (window_loop): Pass 2nd arg to Fother_buffer.
+ * frame.c (make_frame): Likewise.
+ * callint.c (Fcall_interactively): Likewise.
+ * buffer.c (Fkill_buffer): Likewise.
+ (Fswitch_to_buffer, Fpop_to_buffer, Fbury_buffer): Likewise.
+
+1992-10-03 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Treat mouse clicks on non-text
+ areas as if they were prefixed with the symbol denoting the
+ area clicked on - `mode-line', etcetera.
+ When we throw away an unbound `down-' event, reset mock_input as
+ well.
+
+ * keyboard.c (Qevent_symbol_element_mask, Qmodifier_cache): Two
+ new symbols, used to implement caches on event heads. These take
+ the place of some of the caching that modify_event_symbol used to do.
+ (parse_modifiers_uncached, apply_modifiers_uncached,
+ lispy_modifier_list, parse_modifiers, apply_modifiers): New
+ functions, which replace format_modifiers and reorder_modifiers;
+ they can be useful elsewhere too.
+ (reorder_modifiers, modify_event_symbol): Re-implement these in
+ terms of parse_modifiers and apply_modifiers. modify_event_symbol
+ now uses a much simpler cache, and takes advantage of the caches
+ maintained by parse_ and apply_modifiers.
+ (follow_key): Don't modify NEXT if KEY has no bindings.
+ (read_key_sequence): Drop unbound `down-' events, and turn unbound
+ `drag-' events into clicks if that would make them bound. This
+ benefits from the rewriting of the modifier key handling code.
+ (syms_of_keyboard): Initialize and intern
+ Qevent_symbol_element_mask and Qmodifier_cache.
+
+ * keyboard.c (echo_prompt): Terminate the echo buffer properly
+ even when the string is too long to display in the minibuffer.
+ (echo_truncate): Just return echoptr - echobuf, rather than
+ calling strlen on echobuf.
+
+ * alloc.c (Fmemory_limit): New function.
+ (syms_of_alloc): Defsubr it.
+
+ * window.c (SAVE_WINDOW_DATA_SIZE): Define this using sizeof,
+ instead of just saying it's 7; that way, we won't get screwed if
+ we add members to struct save_window_data.
+
+ * window.c (struct save_window_data): Save the currently selected
+ frame, too.
+ (Fset_window_configuration): Restore the frame's selected window
+ using Fselect_window, and then restore the selected frame using
+ Fselect_frame.
+ (Fcurrent_window_configuration): Record the currently selected
+ frame. Update docstring to describe the information now recorded.
+
+1992-10-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): Ultrix select seems to
+ return ENOMEM when interrupted. So, under Ultrix, treat ENOMEM
+ like EINTR.
+
+ * keyboard.c (modifier_names): The modifier is named "control",
+ not "ctrl".
+
+ * keyboard.c (modify_event_symbol): Make sure that the unmodified
+ event header gets the proper properties set on it, by recursing
+ and letting the same code build the properties for all event symbols.
+
+ * keyboard.c (Qmouse_click): Fix typo which assigned `mouse-click'
+ symbol to Qmouse_movement.
+
+1992-10-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * undo.c (Fprimitive_undo):
+ When undoing an insert, move point and then delete.
+
+1992-10-02 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * intervals.c: `copy_intervals' no longer static.
+
+ * intervals.h: Declare `copy_intervals'.
+
+ * buffer.c: #include intervals.h.
+
+ * ymakefile: New macro "INTERVALS", controlled by "USE_INTERVALS",
+ which defines the interval include file "intervals.h".
+ New entries for "intervals.c" and "textprop.c".
+
+ * lisp.h: Declare Qbuffer_or_string_p.
+
+1992-10-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xterm.c (x_find_modifier_meanings): If there are no
+ modifiers containing a Meta_ keysym, use the Alt keysyms to
+ denote meta.
+ (construct_mouse_click): Set the down_modifier bit on mouse
+ button press events.
+ (XTread_socket): When processing keypress events, use
+ x_meta_mod_mask when processing ordinary ASCII characters, not
+ just when processing function keys and other non-ASCII events.
+ (XTread_socket): If we receive a MappingNotify event with the
+ `request' member set to `MappingModifier', then call
+ x_find_modifier_meanings to refresh x_meta_mod_mask.
+
+ * window.c (Fset_window_configuration): Clean up the way we save
+ and restore the frame's size.
+
+ * termhooks.h (struct input_event): Doc fix.
+ (NUM_MOUSE_BUTTONS): New constant.
+ (click_modifier): New modifier.
+ (NUM_MODIFIER_COMBOS): Removed.
+
+ * keyboard.h (EVENT_HAS_PARAMETERS): Definition changed - all events
+ are not 5 elements long.
+ (EVENT_HEAD): Work correctly on all sorts of events, not just
+ events with parameters.
+ (EVENT_WINDOW, EVENT_BUFFER_POSN, EVENT_SCROLLBAR_BUTTON,
+ EVENT_WINDOW_POSN, EVENT_TIMESTAMP): These aren't useful
+ anymore; this information may appear twice in an event. These
+ are replaced by the POSN_ accessors, which are meant to be
+ composed with the EVENT_START and EVENT_END accessors.
+ (EVENT_START, EVENT_END): Two new accessors, to get at the
+ starting and ending position of an event.
+ (POSN_WINDOW, POSN_BUFFER_POSN, PONS_SCROLLBAR_BUTTON,
+ POSN_WINDOW_POSN, POSN_TIMESTAMP): New macros, to futher
+ diasassemble the values returned by EVENT_START and EVENT_END.
+ * keyboard.c (echo_char, read_char): Apply EVENT_HEAD without first
+ testing for EVENT_HAS_PARAMETERS; EVENT_HEAD works properly on
+ all sorts of events now.
+ (read_key_sequence): Use the new accessors to decide in which window
+ an event occurred.
+ * keymap.c (access_keymap, store_in_keymap,
+ Fsingle_key_description): No need to check for
+ EVENT_HAS_PARAMETERS before using EVENT_HEAD; the latter now
+ works properly on all sorts of events.
+
+ * keyboard.c (Qevent_unmodified): Replaced by...
+ (Qevent_symbol_elements): New property.
+ (syms_of_keyboard): initialize and staticpro the latter, not the
+ former.
+ * keyboard.h (Qevent_unmodified): Extern declaration replaced by...
+ (Qevent_symbol_elements): This.
+ (EVENT_HEAD_UNMODIFIED): Use the Qevent_symbol_elements
+ property, rather than the Qevent_unmodified property.
+
+ * keyboard.c (readable_events): This doesn't need to scan and
+ discard mouse release events anymore; it just uses
+ EVENT_QUEUES_EMPTY.
+ (kbd_buffer_get_event): No need to skip past mouse release events.
+
+ * keyboard.c (button_down_location): New variable, which
+ stores the location at which each button was pressed, so we
+ can build a complete drag event when the button is released.
+ (make_lispy_event): When a button is pressed, record its
+ location in button_down_location, and turn it into a `down'
+ event. When a button is released, compare its release
+ location with its press location, and decide whether to call
+ it a `click' or `drag' event.
+ Change mouse movement events to be arranged like click events.
+ (format_modifiers): Note that the click modifier has no
+ written representation.
+ (modifier_names, modifer_symbols): New variables, used to
+ create the Qevent_symbol_elements property.
+ (modify_event_symbol): Change the format of the modified
+ symbol cache; there are too many modifier bits now to use a
+ vector indexed by a modifier mask. Use an assoc-list instead.
+ Document the format of the cache.
+ Put the Qevent_symbol_elements property on each new symbol,
+ instead of a Qevent_unmodified property.
+ (symbols_of_keyboard): Put Qevent_symbol_elements properties on
+ the symbols specified in head_table, not Qevent_unmodifed properties.
+ Initialize and staticpro modifier_symbols, and staticpro the
+ window elements of button_down_location.
+
+ * xmenu.c: #include "keyboard.h".
+ (Fx_popup_menu): Use the event accessors defined in keyboard.h,
+ instead of writing out cars and cdrs.
+ * ymakefile: Note that xmenu.o depends on keyboard.h.
+
+1992-10-02 Joseph Arceneaux (jla@wookumz.gnu.ai.mit.edu)
+
+ * textprop.c: Conditionalize all functions on
+ "USE_TEXT_PROPERTIES".
+ * intervals.c: Conditionalize all functions on
+ "USE_TEXT_PROPERTIES".
+ Removed #include of "screen.h".
+
+ * alloc.c: #include "intervals.h".
+ (init_intervals, make_interval,
+ mark_interval, mark_interval_tree): New functions conditionally
+ defined.
+ (make_uninit_string): Call INITIALIZE_INTERVAL.
+ (INIT_INTERVALS, UNMARK_BALANCE_INTERVALS, MARK_INTERVAL_TREE):
+ New macros, conditionally defined.
+ (mark_object): Call MARK_INTERVAL_TREE in case Lisp_String.
+ (gc_sweep): If text properties are in use, place all unmarked
+ intervals on the free list. Call UNMARK_BALANCE_INTERVALS on
+ `buffer->intervals' when unmarking `buffer'.
+ (compact_strings): Include INTERVAL_PTR_SIZE in calculation for
+ target of bcopy when relocating strings.
+ (init_alloc_once): Call INIT_INTERVALS.
+ (make_pure_string): Include INTERVAL_PTR_SIZE in calculation of
+ `size'.
+ Moved static declaration of `mark_object' and other functions up
+ in the file.
+
+ * fileio.c (Finsert_file_contents): Call offset_intervals if
+ text was actually inserted.
+ #include "intervals.h".
+
+1992-09-30 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * data.c: Qbuffer_or_string_p added.
+
+ * syntax.c (describe_syntax): Use insert_char to insert `match'.
+
+ * buffer.c (reset_buffer): Do INITIALIZE_INTERVAL on the buffer's
+ interval component.
+ (Fkill_buffer): Likewise.
+
+ * editfns.c (make_buffer_string): Call copy_intervals_to_string.
+ (Finsert_buffer_substring): Call graft_intervals_into_buffer.
+ #include "intervals.h".
+
+ * insdel.c: #include "intervals.h"
+ (prepare_to_modify_buffer): Call verify_interval_modification.
+ (insert_from_string): Call offset_intervals and
+ graft_intervals_into_buffer.
+ (del_range): Call offset_intervals.
+ (insert): Call offset_intervals.
+
+ * emacs.c: #include "intervals.h".
+ (main): Call syms_of_textprop. This is only really present if
+ Emacs is compiled with USE_TEXT_PROPERTIES defined.
+
+ * buffer.h: New macro TEMP_SET_PT. If intervals are used, SET_PT
+ and TEMP_SET_PT are function calls.
+ Similarly for BUF_SET_PT and BUF_TEMP_SET_PT.
+ Added DECLARE_INTERVALS to buffer structure to conditionally
+ compile an interval tree into it.
+
+ * intervals.h: Declare temp_set_point.
+
+1992-09-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * ymakefile (config.h): Doc fix.
+
+1992-09-30 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * config.h.in: Added a slot for definition of USE_TEXT_PROPERTIES,
+ controlling compilation of interval code.
+ If using GNUC, support inline functions.
+
+ * lisp.h: Conditionally define interval structure and macros.
+ Add DECLARE_INTERVALS to struct Lisp_String.
+
+1992-09-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * buffer.c (Fother_buffer): Add back the VISIBLE_OK argument. It
+ got removed with no comment or ChangeLog entry, and
+ append-to-buffer uses it.
+
+ * window.c (struct save_window_data): Add a member called
+ focus_frame, to save and restore the screen's focus frame.
+ (Fset_window_configuration): Redirect the frame's focus as
+ indicated in the window configuration.
+ (Fcurrent_window_configuration): Record the frame's current focus.
+ * minibuf.c (read_minibuf): Don't bother to save the current
+ frame's focus, and have read_minibuf_unwind restore it; saving and
+ restoring the window configurations will take care of that.
+ (read_minibuf_unwind): Don't worry about restoring the frame's focus.
+
+ * window.c (Fset_window_configuration): Don't select the frame
+ just because we restored its configuration.
+
+ * window.c (Fset_window_configuration): Don't forget to set the
+ frame's selected window when we can't call Fselect_window.
+
+ * xterm.c (x_meta_mod_mask): New variable, indicating which X
+ modifier bits denote meta keys.
+ (x_find_modifier_meanings): New function, to set x_meta_mod_mask.
+ (x_convert_modifiers): Use that.
+ (x_term_init): Call x_find_modifier_meanings.
+
+ * data.c (Fmake_local_variable): If SYM forwards to a C variable,
+ swap in the value for the current buffer immediately.
+
+ * lisp.h: Doc elaboration for Lisp_Buffer_Local_Value.
+
+1992-09-29 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * textprop.c (Ferase_text_properties): Merge intervals when
+ possible.
+
+1992-09-29 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xselect.c (Qcut_buffer0): Symbol removed; we're using a new
+ interface to the cut buffer now.
+ (NUM_CUT_BUFFERS, cut_buffer_atom, cut_buffer_value,
+ cut_buffer_cached, cut_buffer_just_set): New variables.
+ (Fx_own_selection, Fx_selection_value): Dike out the code to
+ handle CUT_BUFFER0 requests.
+ (Fx_get_cut_buffer, Fx_set_cut_buffer, x_watch_cut_buffer_cache,
+ x_invalidate_cut_buffer_cache): New functions.
+ (syms_of_xselect): Don't bother to initialize Qcut_buffer0.
+ Initialize and staticpro cut_buffer_value, and defsubr
+ Sx_get_cut_buffer and Sx_set_cut_buffer.
+ * xterm.c (XTread_socket): Pass PropertyNotify events from the
+ root window to x_invalidate_cut_buffer_cache.
+ (x_term_init): Call x_watch_cut_buffer_cache here.
+
+ * keymap.c (access_keymap): Don't forget to QUIT while scanning
+ the keymap.
+
+ * keyboard.c (recent_keys): This needs to be staticpro'ed. Change
+ it from a C array, which is a pain in the neck to staticpro, into
+ a lisp vector, which is easier.
+ (read_char, Frecent_keys): Access recent_keys as a lisp vector,
+ not a C array.
+ (syms_of_keyboard): Set recent_keys to be a vector, and staticpro it.
+
+ * ymakefile (xfns.o): This doesn't depend on xselect.c.
+
+ * xterm.h (ROOT_WINDOW): Use the DefaultScreen macro, not the
+ XDefaultScreen function.
+
+ * frame.c (Fdelete_frame): Call Fselect_frame with the appropriate
+ number of arguments.
+
+ * data.c (Frem): Use the `fmod' function under SunOS, Ultrix, and
+ HP/UX, not just under USG systems.
+
+ * buffer.c (Fbury_buffer): This used to undisplay the buffer being
+ buried only if the BUFFER argument was nil. Instead, undisplay the
+ buffer whenever it's displayed in the selected window, no matter
+ how it was specified by BUFFER. This is how it behaves in 18.58,
+ and I can't find any ChangeLog entry in 18.58 or 19.0 saying why
+ they differ. Fix the doc string accordingly.
+
+1992-09-28 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * frame.c (Fselect_frame, Fframe_root_window,
+ Fframe_selected_window, Fnext_frame, Fmake_frame_visible,
+ Fmake_frame_invisible, Ficonify_frame): Doc fixes.
+
+ * ralloc.c: Since the users of the relocating allocation code
+ handle memory exhaustion, it's better to return an error code to
+ them than to call abort.
+ (obtain): If we cannot allocate more memory, don't call
+ abort. Instead, return non-zero iff the allocation is successful.
+ (get_more_space): If obtain fails, return zero.
+ (get_bloc): Return zero if we can't allocate the new bloc.
+ (r_alloc_sbrk): Return zero if we can't allocate more memory.
+ (r_alloc): If we can't allocate more memory, set *PTR to zero and
+ return zero.
+ (r_re_alloc): If we can't allocate more memory, leave *PTR
+ unchanged, and return zero.
+
+ * ralloc.c (warnfunction): Renamed to warn_function; users changed.
+
+1992-09-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * insdel.c (del_range): Call record_delete before updating point.
+
+ * fileio.c (Finsert_file_contents): Do record_insert, then inc MODIFF.
+
+ * undo.c (record_delete): Record pos before the deletion.
+ (Fprimitive_undo): Go back to recorded position.
+
+1992-09-28 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * window.c (delete_all_subwindows): Save the window's buffer in
+ its `height' field; we may need to know the window's old buffer
+ once we have restored it from a window configuration.
+ (Fset_window_configuration): When we restore a window, if its
+ `height' field is a buffer, restore its `buffer' field from that.
+ This allows us to leave the window's buffer unchanged if the
+ buffer recorded in the configuration is dead.
+
+ * window.c (delete_all_subwindows): Removed unused variable named
+ "count".
+
+1992-09-27 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (read_char): If we're returning an event from a
+ macro, set Vlast_event_frame to Qmacro, instead of leaving it set
+ to the frame of the previous real event.
+ (read_key_sequence): If Vlast_event_frame isn't a frame, don't
+ bother switching buffers.
+ (syms_of_keyboard): Doc fix for Vlast_event_frame.
+ (Vlast_event_frame): Doc fix.
+
+ * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
+ down_modifier, drag_modifier): New modifiers, to support the new
+ input system. Re-arranged modifiers so that their bits are in
+ canonical order; this makes reorder_modifiers slightly simpler.
+ * keyboard.c (format_modifiers, reorder_modifiers): Handle the new
+ modifier bits.
+
+ * keymap.c (access_keymap): Remove code to notice bindings for
+ Qt.
+
+1992-09-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (single_keymap_panes): Handle vectors properly.
+
+1992-09-25 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * keymap.c (Fwhere_is_internal): Don't forget to advance map to
+ the next element when we find something that is neither a vector
+ nor a cons. Don't forget to QUIT in the appropriate places,
+ either.
+
+1992-09-23 Joseph Arceneaux (jla@geech.gnu.ai.mit.edu)
+
+ * textprop.c (Fset_text_properties): Merge adjacent intervals with
+ the same properties.
+ (Fnext_single_property_change, Fprevious_single_property_change):
+ New subrs.
+
+ * intervals.c (merge_interval_left, merge_interval_right): Abort
+ if caller tries to merge first (or last, respectively) interval.
+ Delete the interval node after merging.
+ (copy_intervals): Use `split_interval_right' rather than creating
+ new intervals with make_new_interval and attaching them
+ explicitly.
+ (verify_interval_modification): Changed error message. GCPRO
+ hooks before calling Fnreverse, and correctly Fcdr down the list.
+ Also, don't cons multiple copies of the same consecutive
+ modification hook.
+ (temp_set_point): New function.
+ (set_point): Call point-left and point-entered hooks if moving
+ between text with different properties. Use the old and new
+ positions as arguments to these calls.
+
+ * intervals.c, intervals.h: (map_intervals, make_buffer_interval,
+ make_string_interval,run_hooks): Deleted.
+
+1992-09-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keymap.c (DENSE_TABLE_SIZE): Doc fix.
+ (keymap_table): Function removed; this function exists only to
+ support an incorrect understanding of the format of keymaps.
+ (access_keymap, store_in_keymap, Fcopy_keymap,
+ Faccessible_keymaps): Correctly handle vectors at any point in the
+ keymap; don't assume it must be at the front.
+ (describe_map): Instead of calling describe_vector on the vector
+ in the cadr of the keymap (if present) and then calling
+ describe_alist to do the rest, just call describe_map_2.
+ (describe_alist): Renamed to describe_map_2; call describe_vector
+ when we encounter a vector in the list.
+ * xmenu.c (single_keymap_panes): Comment out the code which
+ tries to handle a dense keymap's table; it uses keymap_table, and
+ the rest of the code never uses the table contents anyway.
+
+ * keymap.c (access_keymap, store_in_keymap): Clarify error message
+ for non-ASCII characters.
+
+ * process.c [SIGCHLD && !BSD && !UNIPLUS && !HPUX]
+ (create_process): #if 0 out the code which sets the child's
+ handler for SIGCHLD to sigchld; the code which gives sigchld its
+ value has been diked out under these CPP symbols, so this should
+ be diked out too.
+
+ * indent.c (Fmove_to_column): Pass the right number of arguments
+ to Findent_to.
+
+1992-09-22 Jim Blandy (jimb@kropotkin.gnu.ai.mit.edu)
+
+ * emacs.c (emacs_priority): Doc fix.
+ (main): Use nice, not setpriority; we just need a
+ simple, portable call to nice here.
+ * callproc.c (child_setup): Use nice, not setpriority.
+ * sysdep.c (sys_suspend): Don't try to use "nice (- nice (0))" to
+ set the subshell's priority to normal; nice doesn't return a
+ defined value on all systems. Instead, since emacs_priority gives
+ the priority that Emacs was nastied to, we can use it to reset the
+ priority in a straightforward way.
+ [BSD4_1], [USG], [VMS] (setpriority): Remove dummy and
+ compatibility definitions of setpriority.
+
+ * keymap.c (access_keymap): Return the binding of Qt as the
+ binding for all unbound characters.
+
+ * fileio.c (syms_of_fileio): Don't try to defsubr Sunix_sync
+ unless it's actually been defined - that is, if unix is #defined.
+
+ * xrdb.c (x_get_resource): Cast the value being assigned to
+ ret_value->addr, rather than ret_value->addr itself; only GCC
+ allows you to cast lvalues.
+
+ * eval.c (unbind_catch): Do the long-jump here. Take a VALUE
+ argument, which specifies the value to return to the catch, or the
+ data to give to the condition handler. Renamed to
+ unwind_to_catch, to reflect new role.
+ (Fsignal, Fthrow): Removed code to set catch tag value and do the
+ long-jump; this is taken care of by unwind_to_catch.
+
+1992-09-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * alloc.c (mark_object): Avoid car recursion on cons with nil in cdr.
+ Avoid recursion on constants-vector of a compiled function.
+
+ * oldXMenu: Symlink deleted; anything that uses it needs fixing
+ in any case to work properly on systems without symlinks.
+
+1992-09-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sol2.h: New file.
+
+ * fileio.c: Don't include sys/dir.h.
+
+ * s/usg5-4.h (LIBS_SYSTEM): Move non-default libraries here.
+ (LIB_STANDARD, START_FILES): Deleted.
+ (ORDINARY_LINK): Defined.
+
+ * ymakefile [ORDINARY_LINK]: Default LD to $(CC)
+ and make START_FILES and LIB_STANDARD empty.
+ (C_SWITCH_X_MACHINE, C_SWITCH_X_SYSTEM): New macros, default empty.
+ (CFLAGS): Use them.
+
+1992-09-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (${etc}DOC): Use OBJECTS_SYSTEM and OBJECTS_MACHINE.
+
+ * dired.c [VMS]: Include string.h, rms.h, rmsdef.h.
+ [VMS] (Ffile_version_limit): New function.
+
+ * sysdep.c (sys_suspend): Read EMACS_PARENT_PID envvar for parent.
+
+ * syntax.c (scan_lists): When searching back for comment:
+ if comment-end is 2 chars, assume it does end a comment.
+ Otherwise, scan back to previous comment-end to see if there's
+ a comment starter between. Also record whether the string quotes
+ between the start and the end are paired and uniform.
+ If so, skip to comment starter. If not, scan from start of
+ defun to find comment starter if any.
+ (find_defun_start): New function.
+
+ * alloc.c (mark_object): Save last 500 values of objptr.
+ Check for clobberage of ptr, when marking a vector.
+
+1992-09-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (get_keyelt): Skip menu help string after menu item name.
+
+1992-09-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * buffer.c (Fget_buffer_create): Doc fix.
+
+ * lisp.h (struct handler): Remove the poll_suppress_count member
+ of this structure; it is always equal to the poll_suppress_count
+ of its catchtag structure. The non-local exit code in eval.c is
+ difficult enough to understand as it is; needless duplication
+ doesn't help.
+ * eval.c (Fcondition_case): Rearranged for clarity. Don't worry
+ about setting h.poll_suppress_count; it's guaranteed to be the
+ same as c.poll_suppress_count.
+ (internal_condition_case): Don't worry about
+ h.poll_suppress_count.
+ (Fsignal): Use h->tag->poll_suppress_count instead of
+ h->poll_suppress_count.
+
+ * eval.c (Fsignal): It's okay for the debugger to return to the
+ caller if the caller was signalling a quit.
+
+ * eval.c (unbind_catch): Restore the polling suppression count
+ here, instead of in Fsignal and Fthrow.
+ (Fthrow, Fsignal): Don't restore the polling suppression count here.
+
+ * lisp.h (struct specbinding, struct handler): More documentation.
+ * eval.c (struct catchtag): More documentation.
+
+1992-09-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (LIBX): Don't use -loldX.
+
+1992-09-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * minibuf.c (get_minibuffer): Enable undo in minibuffers.
+
+1992-09-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (LIBXMENU): Check NO_X_MENU, not HAVE_X_MENU
+ * emacs.c (main): Use X menu code if HAVE_X_WINDOWS and not NO_X_MENU.
+ * keyboard.c (read_char_menu_prompt): Likewise.
+
+ * config.h.in: Delete everything about config.h.
+
+ * emacs.c: Eliminate HIGHPRI as compilation option.
+ (emacs_priority): New C variable, also Lisp variable.
+ (main): Set the priority iff emacs_priority is nonzero.
+
+1992-09-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * eval.c (entering_debugger): Variable renamed
+ when_entered_debugger, and is now a timestamp based on
+ num_nonmacro_input_chars.
+ (init_eval): Initialize when_entered_debugger, not
+ entering_debugger.
+ (call_debugger): Set when_entered_debugger to the current value of
+ num_nonmacro_input_chars.
+ (find_handler_clause): Don't call debugger unless
+ num_nonmacro_input_chars is greater than when_entered_debugger;
+ that way, we won't call the debugger unless the user has had a
+ chance to take control.
+ (Fbacktrace): Don't clear entering_debugger here.
+ * keyboard.h (num_nonmacro_input_chars): Added extern declaration
+ for this.
+
+ * fns.c (Fy_or_n_p): After testing for a QUIT, clear Vquit_flag.
+ Otherwise, if Fy_or_n_p is called while Vinhibit_quit is true and
+ the user presses C-g, this function goes into an infinite loop.
+
+ * dispnew.c (get_display_line): Don't abort if the frame is
+ invisible; since unmap events are handled at the interrupt level,
+ a screen may become invisible at any time.
+
+1992-09-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fverify_visited_file_modtime):
+ Pass buffer itself to handler, if have handler.
+ (Fwrite_region): GCPRO around Fexpand_file_name, Ffile_name_directory.
+ (Fread_file_name_internal): GCPRO around file name manip.
+ (Ffile_writable_p, Ffile_readable_p): Use abspath, not filename,
+ (Ffile_executable_p, Ffile_exists_p): to run the handler.
+ (Fset_file_modes, Ffile_directory_p, Ffile_modes): Likewise.
+ (Ffile_newer_than_file_p): GCPRO around expand_and_dir_to_file.
+
+1992-09-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * s/bsd4-3.h: Give the BSD4_3 and BSD symbols the same numeric
+ definitions they'll get in <sys/param.h>, to avoid warnings.
+
+ * m/hp9000s300.h: Don't include <sys/wait.h>. This really
+ shouldn't be necessary.
+ (BIG_ENDIAN): Define this as "4321", to agree with
+ <machines/endian.h>, and avoid warnings.
+
+ * systime.h: Re-arrange inclusion of <sys/time.h> and <time.h> so
+ that they don't both get included under BSD, and do both get
+ included under AIX.
+
+ * xdisp.c (display_mode_line): If the only other frames are
+ minibuffer frames, don't name the frame after the in the selected
+ window. We can use Fnext_frame to do this test easily.
+
+1992-09-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (Faccept_process_output): Initialize useconds.
+
+ * keyboard.c (num_nonmacro_input_chars): New variable.
+ (read_char): Use num_nonmacro_input_chars to decide on auto-save & gc.
+ Increment it when appropriate.
+ (record_auto_save): Use num_nonmacro_input_chars.
+
+ * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
+ (Ffile_name_as_directory, Fdirectory_file_name, Fexpand_file_name):
+ Call find_file_handler.
+ (syms_of_fileio): Set up Qfile_name_directory, etc.
+ (Fcopy_file): Call find_file_handler for newname as well as for filename.
+ (syms_of_fileio): Initialize Vfile_name_handler_alist.
+
+1992-09-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callint.c (Fcall_interactively): Remove the 'K' interactive
+ code, in favor of 'e'; that's a better name.
+
+1992-09-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/esix5r4.h: New file.
+
+ * sysdep.c (init_sys_modes): Handle VDSUSP like V_DSUSP.
+ Use CDISABLE, not CDEL.
+ Turn off IEXTEN if it exists.
+ * systty.h (CDISABLE): New macro; may be defined from CDEL.
+
+ * keyboard.c (command_loop_1): Bind inhibit-quit to t when in Fsit_for.
+
+1992-09-10 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * Makefile.in: Add comments starting with "# DIST: " explaining
+ that this gets munged by the configure script.
+
+1992-09-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s-aix3-1.h (HAVE_GETHOSTNAME): Defined.
+
+1992-09-09 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * frame.c (choose_minibuf_frame): abort if the selected frame has
+ nil in its minibuffer_window slot; this shouldn't happen any more.
+ * window.c (minibuffer_window): Accept an optional FRAME argument;
+ if specified, return the minibuffer used by that frame.
+
+ * keymap.c (describe_buffer_bindings): Adjust key_heading to match
+ the format used by describe_map_tree. Also, don't reprint the
+ "key binding" header above the global bindings if we've already
+ printed it for the local bindings; it's clear enough that the
+ columns mean the same thing as above.
+
+1992-09-08 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * ralloc.c (r_re_alloc): Instead of allocating a new bloc at the
+ end of the heap, copying the data to it, and then freeing the
+ original bloc, just expand the original block. This saves a copy
+ and a call to sbrk, and also removes the large spike in memory
+ allocation that would occur when resizing large buffers. And it's
+ less code.
+
+ * keyboard.h (Vkeyboard_translate_table): Declare this extern
+ here, so describe_buffer_bindings can use it.
+ * keymap.c (describe_buffer_bindings): Declare buf and bufend...
+
+1992-09-05 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * systime.h: Always #include <time.h>, not just when NEED_TIME_H
+ is defined. It gets us struct tm. #include <sys/time.h> whenever
+ HAVE_TIMEVAL is defined and NEED_TIME_H isn't.
+
+ * systime.h: Note that the tz_dsttime field of the struct timezone
+ returned by gettimeofday doesn't say whether daylight savings is
+ _currently- active; rather it specifies whether it is *ever*
+ active.
+ (EMACS_GET_TZ_OFFSET_AND_SAVINGS): Removed `savings_flag'
+ argument, and renamed to EMACS_GET_TZ_OFFSET. Don't try to
+ extract savings information. EMACS_CURRENT_TIME_ZONE should call
+ localtime to figure out whether DST is active.
+
+ * m/hp9000s300.h: #include <sys/wait.h> before doing anything
+ else, to avoid conflicts between the system's and Emacs's
+ definitions of BIG_ENDIAN.
+
+ * keymap.c (describe_buffer_bindings): Set the current buffer to
+ descbuf before calling current_minor_maps; that function's value
+ depends on the values of buffer-local variables. Don't set the
+ current buffer to Vstandard_output until afterwards.
+
+ * keymap.c (describe_buffer_bindings): If
+ Vkeyboard_translate_table is in effect, describe its effects.
+
+ * frame.c (Fnext_frame): Doc fix.
+
+ * frame.c (prev_frame): #if 0'd out; nobody uses this.
+
+ * frame.c (next_frame): The logic which determines whether a frame
+ is acceptable to return was misarranged; rewrote it.
+ (prev_frame): Same thing.
+
+1992-09-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * syntax.c (scan_lists): Improve smarts for backwards scan of comments.
+ Don't modify comstyle inside that loop.
+ If string quotes don't match up, don't take value from OFROM;
+ instead, parse forward using scan_sexps_forward.
+ (scan_sexps_forward): Return value via a pointer passed in.
+ New element in state contains char addr of last comment-starter seen.
+ (Fparse_partial_sexp): Change call to scan_sexps_forward.
+
+1992-09-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xmenu_show): If no panes, just return.
+
+ * keyboard.c (last_nonmenu_event): New var.
+ (syms_of_keyboard): New Lisp var.
+ (read_key_sequence): Use that instead of prev_event.
+ * commands.h (last_nonmenu_event): Declared.
+ * callint.c (Fcall_interactively): For `K', use last_nonmenu_event.
+ Make `e' alias for `K'.
+
+1992-09-03 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * editfns.c (Fcurrent_time_string): Change docstring to
+ indicate that we will probably add the timezone to the end,
+ now that we have it available on many systems.
+
+ * xrdb.c: Don't include <X11/Xos.h>. Under R4, it stupidly
+ insists on defining SIGCHLD, even if it already has a definition.
+ (file_p): Use the constant 4 instead of R_OK; empirically, the
+ number is more portable than the symbol if you count the #include
+ hair you have to go through to get R_OK defined. Ffile_readable_p
+ does this too.
+
+ * xterm.c (x_wm_set_size_hint): Set the base_width and base_height
+ members of size_hints, if they're available (X11R4 and after);
+ otherwise, approximate the right thing, by using min_width and
+ min_height as the base size.
+
+1992-09-02 Barry A. Warsaw (warsaw@anthem.nlm.nih.gov)
+
+ * Extended syntax.c in the following ways to support up to 2
+ orthogonal comment styles per mode. This is needed for C++.
+ Bit 6 of syntax table entry for a character indicates
+ it is part of the `b' comment style. Otherwise it is
+ part of the `a' style.
+ * syntax.h (SYNTAX_COMMENT_STYLE): New macro.
+ * syntax.c (Fmodify_syntax_entry): Set that flag for `b'.
+ (describe_syntax): Print the `b' flag.
+ (scan_lists, scan_sexps_forward): Handle the new flag.
+ (Fparse_partial_sexp): Return new element in value.
+
+1992-09-02 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * fileio.c (syms_of_fileio): Doc fix for Vfile_name_handler_alist.
+
+1992-09-02 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * keyboard.c (kbd_buffer_get_event): When performing the
+ FRAME_FOCUS_FRAME redirection, don't modify the frame field of
+ the event; that fatally corrupts mouse click events. Instead,
+ just perform the redirection on the value assigned to
+ Vlast_event_frame.
+
+ * callint.c (Fcall_interactively): Don't try to get the
+ `enable-recursive-minibuffers' property from FUNCTION unless
+ FUNCTION is actually a symbol; there are some cases where a key
+ sequence is bound directly to a lambda form, and there's no reason
+ to break these.
+
+ * window.c (Fset_window_configuration): Don't signal an error
+ if the frame size saved in the window configuration doesn't
+ match the frame's current size; instead, temporarily resize
+ the frame while installing the window configuration. This is
+ important because using the minibuffer saves and restores the
+ current window configuration, and you don't want to signal an
+ error just because the user resized the frame while using the
+ minibuffer.
+
+ * doc.c (Fsnarf_documentation): Signal an error if this is
+ called in a dumped Emacs.
+
+ * alloc.c (mark_object): mark a symbol's name after marking its
+ value, function, and property list rather than before; this way,
+ symbols' names are readable, giving us a chance to detect some
+ kinds of heap corruption.
+
+1992-09-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (__main, __do_global_dtors): New dummy functions.
+ (__do_global_ctors_aux, __do_global_ctors): Fix typo in fn names.
+
+1992-09-01 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * prefix-args.c: New file. See comment at top of file.
+ * ymakefile (YMF_PASS_LDFLAGS): Use the prefix-args program to
+ affix the -Xlinker prefix to the linker arguments.
+ (prefix-args): New target.
+ (temacs): Depend on prefix-args.
+
+ * xterm.c (x_catch_errors): Don't forget to initialize
+ x_caught_error_message to the null string, so x_check_errors can
+ tell when an error has occurred.
+
+ * unexmips.c (mark_x): Declare this as static void at the top of
+ the file and at the function definition.
+
+ * keyboard.c (input_available_signal): Declare this to return
+ SIGTYPE.
+
+ * xrdb.c (getuid): Declare this to return short.
+
+ * s/bsd4-3.h: Remove definition of SIGTYPE macro; Mt. Xinu says
+ it's int, but Ultrix says it's void. Since the SIGTYPE guessing
+ code in the `configure' script gives the correct answer for both
+ of these cases, there's no point in listing it here.
+
+ * systime.h (EMACS_CURRENT_TIMEZONE): Change documentation to
+ indicate that *OFFSET should be set to the number of minutes EAST
+ of Greenwich, which is what Ed Reingold says real time gurus want.
+ Changed the definition of the EMACS_GET_TZ_OFFSET_AND_SAVINGS
+ macro to reflect this. Buggily, the Fcurrent_time_zone function
+ was already expecting minutes east of GMT.
+
+ * Makefile.in (distclean): Remove backups from the `m' and `s'
+ directories, too.
+
+ * m/mips.h: Merge changes from Emacs 18.58:
+ [NEWSOS5]: Changes so this file can be used with s/newsos5.h.
+ (SIGN_EXTEND_CHAR): Define this using a cast to signed char. I
+ guess the MIPS compiler and its derivatives all have this type.
+ (HAVE_ALLOCA, C_ALLOCA): Define the former if we're compiling with
+ GCC, and the latter otherwise.
+ (C_SWITCH_MACHINE): Defined, instead of C_SWITCH_SYSTEM.
+ (LINKER): Defined, if BSD.
+ (XUINT, XSET, XUNMARK): Add parentheses to eliminate warnings from
+ GCC. Reindent to fit in 80 columns.
+ INHIBIT_BSD_TIME prevents including bsd/sys/time.h.
+ * s/newsos5.h: New file for Sony NEWS-OS release 5, courtesy of
+ Chris Hanson <cph@klia.ai.mit.edu>.
+
+ * m/mips.h: Don't undefine LOAD_AVE_TYPE; the comment says that
+ Emacs 19 has the crocks to handle it properly.
+
+ * m/pmax.h: Merge changes from Emacs 18.58:
+ (LIB_STANDARD, COFF, TERMINFO): Cancel out definitions from
+ m/mips.h which are only appropriate for USG.
+ (MAIL_USE_FLOCK, HAVE_UNION_WAIT): Do define these.
+ (BROKEN_O_NONBLOCK): Defined.
+ (LINKER): Don't define this.
+ [OSF1]: Undef C_ALLOCA, define HAVE_ALLOCA.
+
+ * s/osf1.h: New file.
+
+ * s/bsd4-3.h: Merge changes from Emacs 18.58:
+ (BSD, BSD4_3): Just define these, don't fret about numerical
+ values or version numbers.
+
+ * m/hp9000s300.h: Merge changes from Emacs 18.58, and hp300bsd.h:
+ Change configuration note to say it's okay to use this file for BSD.
+ Add comment saying that NOMULTIPLEJOBS must be defined for
+ versions of HP/UX before 6.5.
+ Don't define BIG_ENDIAN if it seems that <endian.h> has already
+ done so.
+ [BSD4_3] Define m68000, instead of hp9000s300; crt0.c uses these
+ to decide what sort of startup code to use.
+ [not BSD4_3] Under HP/UX, always define the BSD memory functions
+ (bcopy, bzero, and bcmp) in terms of the SYSV string functions
+ (memcpy, memset, and memcmp), not just under HP/UX 5; version 6's
+ BSD compatibility library has reported bugs in `signal'.
+ (NEED_BSDTTY): Move this symbol's definition inside the "not
+ BSD4_3" conditional, since it's only relevant to HP/UX.
+ * m/hp300bsd.h: File deleted, since m/hp9000s300.h now
+ works with both HP/UX and BSD; it includes m/hp300bsd.h's
+ specifications.
+
+ * m/hp9000s300.h: Remove definition for SIGN_EXTEND_CHAR; this is
+ only used by the regexp code, which has its own portable
+ definition these days.
+
+1992-08-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (Fmake_sparse_keymap): New optional arg. Callers changed.
+ (Fmake_keymap): Likewise.
+
+ * emacs.c (__do_global_ctors, __do_global_ctors_aux): New dummy fns.
+ (__CTOR_LIST__, __DTOR_LIST__): New dummy variables.
+
+ * fileio.c (Fdo_auto_save): Always call record_auto_save.
+
+ * keyboard.c (read_char): Call read_char_menu_prompt here.
+ Accept 4 new args to pass to it. Include them in recursive call.
+ Don't delay before starting echo if prev_event was a mouse event.
+ Test for eof in batch mode now understands C is a Lisp_Object.
+ (read_key_sequence): Don't call it here; always call read_char.
+ Don't change last_event_buffer after a mouse menu input.
+ (read_char_menu_prompt): Arg PROMPT deleted.
+ Return nil if nothing to do.
+
+ * xmenu.c (Fx_popup_menu): Treat coords relative to spec'd window.
+ (single_keymap_panes): New function; contains guts of keymap_panes.
+ If a command binding for submenu has a prompt string starting with @,
+ make a separate pane for it at this level.
+
+ * xfns.c (Fx_track_pointer): Pass new args to read_char.
+ (Fx_select_region, Fx_horizontal_line): Likewise.
+ * lread.c (Fread_char): Pass new args to read_char.
+ (Fread_event, Fread_char_exclusive): Likewise.
+ * fns.c (Fy_or_n_p): Pass new args to read_char.
+
+1992-08-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Keep track of prev_event.
+ Pass new proper args to read_char_menu_prompt.
+ (read_char_menu_prompt): New arg prev_event. Use Fx_popup_menu.
+ Handle any number of keymaps, not just LOCAL and GLOBAL.
+ Invert meaning of arg PROMPT. Test of menu_prompting was backwards.
+
+ * keymap.c (keymap_table): No longer static.
+
+ * xmenu.c (keymap_panes): New function.
+ (Fx_popup_menu): Accept keymap or list of keymaps as MENU argument.
+ Accept mouse button event as POSITION argument.
+
+1992-08-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * cmds.c (internal_self_insert): Assume Fexpand_abbrev expanded
+ something if it incremented MODIFF.
+
+1992-08-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * unexmips.c (unexec): Allow sections in any order.
+ Adjust addresses of rdata section as well as data section.
+
+ * buffer.c (syms_of_buffer): Made buffer-display-table,
+ buffer-field-list and buffer-undo-list allow any type of value.
+
+1992-08-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fns.c (Fappend): Doc fix.
+
+1992-08-24 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * s/usg5-4.h: Incorporate changes from 18.58:
+ (LIBX10_SYSTEM): Undefine this.
+ (GNULIB): Definition deleted -- done in ymakefile.
+ (LIB_STANDARD): Don't use GNULIB.
+ (HAVE_TCATTR): Defined.
+
+ * xfns.c (x_icon): Don't call x_wm_set_icon_positions if the user
+ hasn't specified the icon position. Let the window manager put
+ the icon where it likes.
+
+ * xterm.c (x_make_frame_invisible): Don't forget to check the
+ return value of XWithdrawWindow; it could indicate that the window
+ wasn't successfully redrawn.
+
+ * sysdep.c (init_baud_rate): Re-arranged order of conditionals -
+ test TERMIOS before TERMIO; when two options might both be
+ defined, test the most recent first, so that the most recent
+ functions get used.
+
+ * sysdep.c [HAVE_TERMIO] (init_baud_rate): Don't use tcgetattr
+ unless HAVE_TCATTR is defined. Only very rarely do termio systems
+ have the tc{get,set}attr macros.
+
+ * window.c (coordinates_in_window): Do not assume that all
+ one-line windows are the minibuffer, or that all minibuffers are
+ one line high. Use MINI_WINDOW_P.
+
+ * systerm.h: Renamed to systty.h, to be more consistent with
+ everything else in Unix.
+ * dispnew.c, emacs.c, keyboard.c, process.c, sysdep.c: #include
+ directive changed.
+ * ymakefile: References to systerm.h changed.
+
+ * s/usg5-3.h: Merged changes from 18.58:
+ (HAVE_SYSV_SIGPAUSE): Defined.
+ (BROKEN_TIOCGETC): Defined.
+
+1992-08-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (WCOREDUMP): Define only if not defined.
+ (create_process) [HAVE_SETSID]: Use TIOCSCTTY if exists.
+
+1992-08-20 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * fileio.c (Fdo_auto_save): Call Fsleep_for with the appropriate
+ number of arguments.
+ * fns.c (Fyes_or_no_p): Same.
+
+ * dispnew.c (update_frame): Change the way we handle
+ cursor_in_echo_area. Firstly, ignore this if the frame we're
+ updating doesn't have a minibuffer. Secondly, don't handle the
+ selected frame specially. Thirdly, don't assume that the
+ minibuffer is only one line high. If cursor_in_echo_area < 0, put
+ the cursor in the upper-left corner; if cursor_in_echo_area > 0,
+ put it on the lowest non-empty line in the minibuffer window, or
+ on the top line.
+
+ * dispnew.c (direct_output_for_insert): Fail if
+ cursor_in_echo_area is set; we don't want to do the typing there.
+ (direct_output_for_insert): Same.
+
+1992-08-19 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (x_make_frame_invisible): Use XWithdrawWindow when
+ available [HAVE_X11R4]; send the UnmapNotify event when
+ appropriate [HAVE_X11]; just unmap the window if that's all that's
+ needed [not HAVE_X11].
+
+ * xterm.c (x_set_text_property): Removed; it's only called from
+ one place. Who wants *another* layer of indirection?
+ * xfns.c (x_set_name): Use XSetWM{Name,IconName} when available
+ [HAVE_X11R4], or XSetIconName and XStoreName otherwise.
+
+ * xterm.h (FRAME_X_WINDOW): New macro, for readability.
+ * xterm.c, xfns.c, xselect.c: Use it.
+
+ * emacs.c (Fkill_emacs): Doc fix.
+ (syms_of_emacs): Doc fix for Vkill_emacs_hook.
+
+ * xterm.c (x_death_handler): Renamed to x_connection_closed.
+ (x_term_init): Use x_connection_closed as the SIGPIPE handler.
+
+ * xterm.c (acceptable_x_error_p, x_handler_error_gracefully,
+ x_error_handler): Removed; you can't catch X errors this way,
+ since you can't perform X operations from within an X error
+ handler, and even though we call error, we're still within an X
+ error handler.
+ (x_error_quitter, x_error_catcher): New functions, for panicking
+ on and catching X protocol errors.
+ (x_caught_error_message): Buffer for caught X errors.
+ (x_catch_errors, x_check_errors, x_uncatch_errors): New functions
+ for catching errors.
+ (x_term_init): Set the error handler to x_error_quitter, rather
+ than x_error_handler.
+ * xfns.c (x_set_mouse_color): Use x_catch_errors, x_check_errors,
+ and x_uncatch errors to avoid crashing if the user selects an
+ odd cursor.
+
+ * xterm.c (x_proto_requests): Removed; it's not important.
+
+ * xterm.c (events): Array removed; it's not used.
+
+ * xfns.c (select_visual): Use XVisualIDFromVisual when available
+ [HAVE_X11R4].
+
+ * xrdb.c (get_user_db): Use XResourceManagerString when available
+ [HAVE_X11R4].
+
+ * window.c (change_window_height): If the size of the window will
+ shrink below the minimum, this code would only try to delete it if
+ it had a parent. Well, even if the window doesn't have a parent,
+ you want Fdelete_window to signal an error, since you're trying to
+ resize one of the undeleteable windows into nothingness. So call
+ Fdelete_window even if the window doesn't have a parent.
+
+ * window.c (MINSIZE): Add kludge so that the minibuffer is always
+ allowed to shrink to one line in height.
+ (MINSIZE, CURBEG, CURSIZE): Change these so that their argument
+ are always Lisp_Objects, not struct window *'s.
+ (change_window_height): Changed accordingly.
+
+1992-08-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * frame.h (struct frame): New member - explicit_name.
+ * frame.c (make_frame): Clear it.
+ * xfns.c (x_set_name): Take new argument EXPLICIT, instead of
+ OLDVAL.
+ (x_explicitly_set_name, x_implicitly_set_name): New functions.
+ (x_frame_parms): Use x_explicitly_set_name here.
+ (x_window): Use x_implicitly_set_name here.
+ * xdisp.c (display_mode_line): Use x_implicitly_set_name here.
+
+ * xterm.c (x_wm_hints): Variable deleted. This has to be
+ per-screen. Duh.
+ * xterm.h (struct x_display): New member: wm_hints.
+ * xterm.c (x_wm_set_window_state, x_wm_set_icon_pixmap,
+ x_wm_set_icon_position): Use F->wm_hints, rather than x_wm_hints.
+ (x_term_init): Don't initialize x_wm_hints here.
+ * xfns.c (Fx_create_frame): Instead, initialize f->x_wm_hints
+ here.
+
+ * xterm.c (x_set_text_property): Properly balance the BLOCK_INPUTs
+ and UNBLOCK_INPUTs. And remember that VALUE is the string we want
+ to set the name to, not PROPERTY.
+
+1992-08-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * frame.c (make_minibuffer_frame): Don't set this to auto-raise by
+ default. It's annoying.
+
+ * frame.c (make_minibuffer_frame): Set the prev field of the
+ minibuffer window on a minibuffer-only frame to Qnil, rather than
+ having it point to itself. This confuses code (Fprevious_window
+ and change_window_height, for example), and is only an attempt to
+ support a convention that can't really be used in Emacs 19 anymore.
+ * window.h: Document the fact that we can no longer assume that
+ the minibuffer's previous window is the root window, since a
+ minibuffer window in a minibuffer-only frame has a prev field of
+ nil.
+ * frame.h [not MULTI_FRAME] (FRAME_ROOT_WINDOW): Define this by
+ reference to the_only_frame.root_window, rather than by assuming
+ that minibuf_window->prev is the root window. While this is true
+ in the non-multi-frame case, we want to discourage this assumption
+ in code.
+ * dispnew.c [not MULTI_FRAME] (Fredraw_display): Use
+ FRAME_ROOT_WINDOW instead of minibuf_window->prev.
+ * xdisp.c (redisplay, init_xdisp): Same.
+ * window.c (Fset_window_configuration): Removed #if 0'd code which
+ assumes that minibuf_window is on the same frame as the window
+ configuration. Removed special case for windows whose prevs
+ point to themselves.
+
+ * window.c (Fset_window_configuration): Rename the argument from
+ ARG to CONFIGURATION, so it matches the docstring. The
+ make-docfile program cares.
+
+ * window.c [MULTI_FRAME] (syms_of_window): Don't staticpro
+ minibuf_window; the frame list will take care of it.
+
+ * xterm.h (HAVE_X11R4): Since we can autodetect this, and can
+ write code more likely to be future-compatible, define this when
+ appropriate.
+ * xterm.c (x_set_text_property): Define this appropriately for
+ X11R3 and X11R4.
+
+ * xterm.c (x_set_text_property): Make this take a Lisp_Object
+ string as an argument, rather than a pointer and a length.
+ * xfns.c (x_set_name): Caller changed.
+
+ * xfns.c (x_get_arg): Accept a new type - symbol. If we've
+ retrieved a string from the xrdb database and the user wants a
+ symbol, intern it.
+ (Fx_create_frame): Use the symbol type here.
+
+ * xfns.c (x_figure_window_size, x_icon, Fx_create_frame): Use
+ values from enum resource_types for the last arg to x_get_arg,
+ instead of passing numbers.
+
+ * xfns.c (Fx_create_frame): When setting up the scroll bars, use
+ the type parameter to x_default_parameter, rather than prefixing
+ the resource name with a question mark.
+
+ * xfns.c [not HAVE_X11] (Fx_create_frame): The resource which
+ determines whether or not to use a bitmapped icon is called
+ "IconType", not "BitmapIcon". Update this.
+
+1992-08-15 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c: Doc fixes.
+
+ More SYSV portability changes from Eric Raymond:
+
+ * xterm.c [USG5]: Don't include <sys/types.h>.
+
+ * xterm.c (x_make_frame_invisible): Instead of calling XWithdraw
+ window, which isn't widely available, write out what it does,
+ since that's not much.
+ (x_iconify_frame): Explicitly perform both the X11R3 and X11R4
+ methods for iconification; don't use XIconifyWindow, since that's
+ not present in R3.
+
+ * xterm.c (x_wm_set_size_hint): Don't bother setting the
+ base_width and base_height members; their function is performed
+ just as well by the min_width and min_height members, and if we
+ use XSetNormalHints instead of XSetWMNormalHints, we can be
+ compatible with R3.
+
+ * xterm.c (x_error_handler): There is no way to invoke the default
+ error handler which works on all versions of X11, so don't bother;
+ call XGetErrorText and print the message ourselves.
+
+ * xterm.c (x_term_init): Don't use MAXHOSTNAMELEN; this isn't
+ defined on all systems. Since we only use that as an initial
+ guess anyway, it's not very important.
+
+1992-08-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * abbrev.c (Fexpand_abbrev): If pre-expand hook changes the buffer,
+ assume that means we "did an expansion".
+
+ * cmds.c (internal_self_insert): Ignore value of Fexpand_abbrev;
+ instead, check whether buf is modified when it returns.
+
+1992-08-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ Applied SYSV portability changes from Eric Raymond:
+
+ * xrdb.c [USG5]: Define SYSV, and then include <unistd.h>.
+ Apparently, Xlib.h include string.h if SYSV is defined, and
+ strings.h if not.
+ Don't include <sys/types.h>; just declare getuid to return an
+ int. Big deal.
+ (MAXPATHLEN): If this is not defined by the system's include
+ files, give it a value of 256.
+ (get_user_db): Fetch the defaults directly from the display
+ structure, rather than using XResourceManagerString; that
+ function doesn't exist in the older versions of X.
+
+ * xterm.c (x_set_text_property): New function.
+ * xfns.c (x_set_name): Use it instead of XSetWMName and
+ XSetWMIconName.
+
+ * xfns.c (select_visual): Fetch the visual id directly from v;
+ don't call XVisualIDFromVisual, since that function is not
+ available in earlier versions of X.
+
+ * term.c (term_get_fkeys): Some systems define `static' to be the
+ empty string, which means that you can't have constant
+ initialized arrays inside a function. So move the `keys' array
+ outside of the function.
+ * xdisp.c (decode_mode_spec): Same deal, with lots_of_dashes.
+ * xfns.c (x_make_gc): Same deal, regarding cursor_bits.
+
+ * term.c (keys): Include definitions for "K2" (the center key on
+ an IBM keypad), "F1" (F11), and "F2" (F12). Handle "k0" and "k;"
+ specially; see the code for details.
+
+ * term.c (clear_end_of_line): Remember that on some systems,
+ "static" gets defined to be the null string, so we can't declare
+ an array to be static and then initialize it. Since the array in
+ question (buf) is only one element long, just make it a scalar
+ rather than an array; it can then be initialized, even if it's
+ not static.
+
+ * systime.h [not HAVE_TIMEVAL] (EMACS_USECS, EMACS_SET_USECS):
+ Don't forget to define dummy versions of these.
+
+ * systime.h [USE_UTIME]: time_t is a typedef, not a struct.
+ Don't prefix it with `struct'.
+
+ * systerm.h (EMACS_SET_TTY_PGRP): When there doesn't seem to be
+ any way to do this, don't forget to give it a dummy definition.
+
+ * sysdep.c (select): There's no need to cast the return value of
+ signal anymore, since we have the SIGTYPE macro defined.
+
+ * sysdep.c (read_input_waiting): When scanning for quit
+ characters, use the value of quit_char, rather than assuming that
+ C-g is the quit character. And don't forget to declare i.
+
+ * sysdep.c [USG5]: Don't include fcntl.h.
+
+ * s/usg5-3.h: Eric Raymond writes:
+ Define HAVE_SELECT and BSTRINGS only if HAVE_X_WINDOWS is on,
+ because that means we'll be linking in the shared libraries
+ containing the BSD emulations. Teach the file about the shared
+ libraries necessary to link X programs, because AT&T doesn't
+ supply static libraries for X. Also, fix the incorrect assertion
+ that -lg cannot be used with SVr3. Finally, force USE_UTIMES and
+ BROKEN_TIOCGWINSZ. (Note for the future; there may be a
+ utimes(2)) emulation lurking in the X shared libraries.)
+
+ * s/usg5-4.h (USE_UTIME): Remove this definition; the C library
+ still doesn't have utimes.
+
+ * ralloc.c (get_bloc): When initializing new_bloc->variable, cast
+ NIL to (POINTER *).
+ (malloc_init): Give warning if sbrk returns zero. Wonder what
+ that's supposed to mean.
+
+ * process.c (process_send_signal): Don't send SIGTSTP if the
+ system doesn't have that facility.
+
+ * process.c: [USG5] Don't include <fcntl.h>.
+ [USG] Don't bother including <termios.h>, <termio.h>, or
+ <fcntl.h>; systerm.h takes care of all that.
+ Remove the "mis;tak-+;;" line from the code; apparently this
+ section of code does get used.
+
+ * minibuf.c (Fread_from_minibuffer): Put this function's doc
+ string into a comment; it's too long for the PCC preprocessor.
+ Rah.
+ (Fcompleting_read): Same deal.
+
+ * keyboard.c (init_keyboard): Changed "#endif SIGIO" to
+ "#endif /* SIGIO */"
+ * mocklisp.c (Fml_substr): Same sort of thing.
+ * process.c (wait_reading_process_input): Same.
+
+ * floatfns.c (Fexpm1, Flog1p): Function removed; it's not widely
+ available, and hardly vital.
+ (syms_of_floatfns): Adjusted appropriately.
+
+ * floatfns.c (Flog): Accept optional second arg, being the base
+ for the logarithm.
+ [USG] (Flogb): Define this in terms of Flog.
+
+ * data.c [USG] (Frem): Call fmod, rather than drem. Rah.
+
+ * emacs.c [USG5]: Don't #include <fcntl.h> for these systems.
+
+ * alloc.c (Fmake_marker): Removed the test for being called from a
+ signal handler. The original bug is probably gone, the test
+ wasn't written portably, and it should probably go somewhere else
+ anyway - say, funcall or eval.
+
+ End of changes from Eric Raymond.
+
+ * xfns.c (Fx_create_frame): Make the default for the icon-type
+ parameter nil, not t. It seems to cause problems with some X
+ servers.
+
+ * lisp.h (DEFVAR_PER_BUFFER): Add new argument, TYPE, to help
+ check the types of buffer-local variable slots.
+ * buffer.c (syms_of_buffer): Call DEFVAR_PER_BUFFER with the new
+ TYPE argument.
+ * abbrev.c (syms_of_abbrev): Same.
+ * buffer.c (buffer_local_types): New variable.
+ (buffer_slot_type_mismatch): New function.
+ * buffer.h (buffer_local_types): New extern declaration.
+ * data.c (store_symval_forwarding): When storing through a
+ Lisp_Buffer_Objfwd, check if the slot requires a particular type,
+ and report an error if the types clash.
+ * lread.c (defvar_per_buffer): Support new TYPE argument, by
+ setting the appropriate slot in buffer_local_types.
+
+1992-08-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * window.c (window_loop): This used to keep track of the first
+ window processed and wait until we came back around to it. Sadly,
+ this doesn't work if that window gets deleted. So instead, use
+ Fprevious_window to find the last window to process, and loop
+ until we've done that one.
+
+ * window.c [not MULTI_FRAME] (init_window_once): Don't forget to
+ set the `mini_p' flag on the new minibuffer window to t.
+
+ * window.c (Fwindow_at): Don't check the type of the frame
+ argument.
+
+ * window.c [not MULTI_FRAME] (window_loop): Set frame to zero,
+ instead of trying to decode it.
+
+ * frame.h [not MULTI_FRAME] (the_only_frame): Put a comment above
+ this indicating that it's not GCPRO'd. Put parens around some of
+ the FRAME_* macros' definitions.
+ [not MULTI_SCREEN] (Fselected_frame): New function.
+
+ * frame.h [not MULTI_FRAME] (FRAME_ROOT_WINDOW): Define this in
+ terms of minibuf_window, rather than by reference to
+ the_only_frame.
+ * window.c (init_window_once): Initialize minibuf_window before
+ FRAME_ROOT_WINDOW, so the latter actually points to something.
+
+ * keyboard.c (Fexecute_mouse_event): dyked-out function deleted.
+ We're not going to use this mouse interface.
+ (Vmouse_window, Vmouse_event, Vmouse_event_function,
+ Vmouse_left_hook, Vmap_frame_hook, Vunmap_frame_hook,
+ Vmouse_motion_handler): Variables deleted; they were to be used by
+ Fexecute_mouse_event.
+ (syms_of_keyboard): Same.
+ (command_loop_1): Remove dyked-out code to support
+ Fexecute_mouse_event.
+ (read_char): Same.
+
+ * keyboard.c (Vlast_event_frame): Don't define this window if
+ MULTI_FRAME is not #defined.
+ (syms_of_keyboard): Same.
+ (kbd_buffer_store_event): Don't try to work with Vlast_event_frame
+ if MULTI_FRAME is not #defined.
+ (kbd_buffer_get_event): Same.
+
+ * keyboard.c (Fdiscard_input): Removed dyked-out code from when
+ unread_command_char's quiescent value was -1, not nil.
+
+ * frame.c (make_frame): Stop passing zero to make_window; it's not
+ expecting any arguments.
+
+1992-08-12 Jim Blandy (jimb@albert.gnu.ai.mit.edu)
+
+ * unexsunos4.c: Deleted "$Log" header in comments at top of file;
+ this was beginning to grow RCS hair, which we don't want.
+ * xmenu.c: Same deal.
+
+1992-08-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * fileio.c (Fread_filename): Don't add one here.
+ * minibuf.c (Fcompleting_read): Instead, stop subtracting one
+ here, so this function lives up to its doc string, which I think
+ specifies an okay way to work.
+
+ * doc.c (Vdata_directory): Removed; this is declared in callproc.c.
+ (syms_of_doc): Initialization removed.
+
+ * xfns.c (x_get_arg): Return Qunbound for an unspecified
+ resource, not nil. That way, we can tell the difference between a
+ false resource and an unspecified resource.
+ (x_default_error): Use DEFLT if x_get_arg returns Qunbound, not Qnil.
+ (x_figure_window_size, x_icon, Fx_create_frame): Deal with
+ Qunbound and Qnil properly.
+
+ * xfns.c (Fx_create_frame): Pass the correct number of arguments
+ to x_set_font.
+
+ * xfns.c [not HAVE_X11] (Fx_create_frame): Delete section that's
+ only included if we *do* have X11. Blind patching.
+
+ * xfns.c (x_icon): Rewritten to call x_wm_set_icon_position and
+ x_wm_set_window_state instead of calling XSetWMHints directly.
+ * xterm.c (x_wm_hints): New variable.
+ (x_wm_set_window_state, x_wm_set_icon_pixmap,
+ x_wm_set_icon_position): Use x_wm_hints.
+ (x_term_init): Set the `input' field of x_wm_hints, and its flag.
+
+ * xterm.c (x_text_icon): Call x_wm_set_icon_pixmap with a pixmap
+ of zero, to clear the pixmap.
+ (x_wm_set_icon_pixmap): Accept this protocol; if pixmap is zero,
+ specify no pixmap for the icon.
+
+ * xfns.c (x_default_parameter): Don't call store_frame_param here;
+ it's already taken care of by x_set_frame_parameters.
+
+ * xfns.c (Fx_create_frame): Check for the `icon-type',
+ `auto-raise', and `auto-lower' parameters. Have `icon-type'
+ default to t, indicating that we want the nifty gnu in our icons.
+ (Qauto_lower): New symbol.
+
+ * xfns.c (x_set_icon_type): UNBLOCK_INPUT before reporting the
+ error, not after. error doesn't return, sklitch-brain.
+
+ * xterm.c (x_set_window_size): Call check_frame_size to make sure
+ that the requested dimensions are within acceptable limits.
+ Store the new size information in the frame structure.
+
+ * xfns.c (x_set_frame_parameters): Properly recognize changes to
+ the height of the frame. Recognize changes of the frame's
+ position.
+
+ * xfns.c (x_set_frame_parameters): Iterate over ALIST while the
+ current element is cons, not while it's non-nil.
+ (syms_of_xfns): Call init_x_parm_symbols after interning all the
+ other atoms; init_x_parm_symbols expects Qx_frame_parameter to be
+ initialized.
+
+1992-08-10 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xfns.c (Qbackground_color, Qborder_color, Qborder_width,
+ Qcursor_color, Qfont, Qforeground_color, Qgeometry,
+ Qhorizontal_scroll_bar, Qicon_left, Qicon_top, Qiconic_startup,
+ Qinternal_border_width, Qleft, Qmouse_color, Qparent_id,
+ Qsuppress_icon, Qsuppress_initial_map, Qtop, Qundefined_color,
+ Qvertical_scroll_bar, Qwindow_id, Qx_frame_parameter): New
+ symbols, with lisp code to rebuild syms_of_xfns.
+ (syms_of_xfns): Initialize and staticpro them.
+ (Qheight, Qminibuffer, Qname, Qnone, Qonly, Qwidth,
+ Qunsplittable): Add extern declaration for these.
+ (x_init_parm_symbols): Don't initialize Qx_frame_parameter here;
+ it's done in syms_of_xfns.
+ (x_default_parameter): Change the argument char *PROPNAME into a
+ Lisp_Object PROP; let the caller take care of interning the atom.
+ (Fx_geometry, x_figure_window_size, x_icon, Fx_create_frame): Use
+ the new Q... variables, instead of interning things.
+
+ * frame.c (Qheight, Qicon, Qmodeline, Qname, Qnone, Qonly,
+ Qunsplittable, Qwidth, Qx): New symbol, with lisp code to rebuild
+ syms_of_frame.
+ (syms_of_xfns): Initialize and staticpro them.
+ (Fframep, Fframe_visible_p, Fframe_parameters): Use
+ the new Q... variables, instead of interning things.
+ (store_in_alist): Change the argument char *PROPNAME into a
+ Lisp_Object PROP; let the caller take care of interning the atom.
+
+ * frame.c (Fframe_visible_p): Doc fix.
+
+ * frame.c (Fframe_parameters): When figuring the `minibuffer'
+ parameter, if FRAME doesn't have a minibuffer, return `none', not
+ nil. If it does have a minibuffer with other windows, return the
+ window.
+
+ * frame.c (Fmodify_frame_parameters): Don't write out the loop for
+ processing X frame parameters here; do it in the x specific code.
+ Call the function which deals with this stuff
+ x_set_frame_parameters, not x_set_frame_parameter.
+ * xfns.c (x_set_frame_param): Replaced by x_set_frame_parameters.
+ (x_set_frame_parameters): Process the alist of parameters here.
+ Notice `width', `height', `top', and `left' parameters.
+ Hold off changing the frame size and position until the end, so we
+ can do both parameters at once when they are both specified.
+ (x_default_parameter): Call x_set_frame_parameters, not
+ x_set_frame_param.
+
+ * frame.c (Fmake_frame_visible, Fmake_frame_invisible,
+ Ficonify_frame, Fframe_parameters, Fmodify_frame_parameters,
+ Fset_frame_height, Fset_frame_width, Fset_frame_size,
+ Fset_frame_position): Place clauses controlled by FRAME_X_P inside
+ `#ifdef HAVE_X_WINDOWS ... #endif' clauses.
+
+ * frame.c (Fset_frame_position): Doc fix.
+
+ * dispnew.c (Fredraw_frame): Call clear_frame_records before
+ calling update_end, so that x_display_box_cursor can rely on the
+ contents of f->current_glyphs.
+
+ * xfns.c (x_figure_window_size): Indicate that this function
+ returns an int, rather than just leaving it unstated.
+
+ * xterm.c (x_wm_set_size_hint): Don't try to set the base_height
+ and base_width elements of size_hints if PBaseSize is not
+ #defined. Set the minimum frame size according to the information
+ returned by check_frame_size.
+
+ * window.h (MIN_SAFE_WINDOW_HEIGHT, MIN_SAFE_WINDOW_WIDTH): Macros
+ removed.
+ (check_frame_size): New extern declaration.
+ * window.c (MIN_SAFE_WINDOW_HEIGHT, MIN_SAFE_WINDOW_WIDTH): Macros
+ defined here now.
+ (check_frame_size): New function.
+ * dispnew.c (change_frame_size): Call check_frame_size here,
+ rather than writing out its code. Don't declare newheight and
+ newwidth to be register variables, since we take their address.
+
+ * bytecode.c (Fbyte_code): When metering the Bcall opcodes, make
+ sure the count on the symbol's `byte-code-meter' property does not
+ overflow.
+
+ * bytecode.c (syms_of_bytecode): Add a docstring for
+ byte-metering-on.
+
+1992-08-08 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * dispnew.c (in_display): Variable deleted; it's only ever used as
+ an unofficial parameter to change_frame_size.
+ (change_frame_size): New argument, DELAY, which when non-zero
+ indicates to delay the size change until later. This should be
+ passed as one from signal handlers.
+ (window_change_signal): Call change_frame_size with a DELAY of 1.
+ (do_pending_window_change): Call change_frame_size with DELAY of 0.
+ * frame.c [MULTI_SCREEN] (Fset_frame_height, Fset_frame_width,
+ Fset_frame_size): Same.
+ [not MULTI_SCREEN] (Fset_frame_height, Fset_frame_width,
+ Fset_frame_size, Fset_screen_height, Fset_screen_width): Same.
+ * keyboard.c (Fsuspend_emacs): Call change_frame_size with the
+ proper arguments - the height and width are the second and third
+ arguments, not the first and second. Pass 0 for DELAY.
+ * xfns.c (Fx_create_frame): Call change_frame_size with a DELAY of 0.
+ * xterm.c (XTread_socket, x_do_pending_expose): Call
+ change_frame_size with a DELAY of 1.
+
+ * xterm.c (in_display): Deleted this; it's never used in xterm.c,
+ and there is another variable by the same name in dispnew.c.
+
+ * frame.c [not MULTI_SCREEN] (Fset_frame_height, Fset_frame_width,
+ Fset_frame_size, Fframe_height, Fframe_width): New functions, for
+ use when Emacs is not compiled with multiple screens.
+ [not MULTI_SCREEN] (Fset_screen_height, Fset_screen_width):
+ Functions added for backward compatibility with Emacs 18. These
+ would be just aliases, except that the version 18 functions don't
+ take a FRAME argument.
+ [not MULTI_SCREEN] (syms_of_frame): New function, to defsubr the
+ above and add screen-height and screen-width as aliases for
+ Fframe_height and Fframe_width.
+ * emacs.c (main): Call syms_of_frame unconditionally. When
+ MULTI_FRAME is not defined, it still provides the Fframe_width,
+ Fframe_height, Fset_frame_width, and Fset_frame_height functions.
+
+ * frame.c (Fset_frame_width): Change the size of FRAME, not of
+ selected_frame.
+
+ * frame.c (Fset_frame_width, Fset_frame_height): Declare the
+ `frame' argument to be a Lisp_Object. It used to be undeclared.
+
+1992-08-07 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * dispnew.c, frame.c, frame.h, keyboard.c, scroll.c, term.c,
+ window.c, xdisp.c, xfns.c xterm.c (FRAME_IS_TERMCAP, FRAME_IS_X,
+ FRAME_HAS_MINIBUF): Renamed these to FRAME_TERMCAP_P, FRAME_X_P,
+ and FRAME_HAS_MINIBUF_P, for consistency with the rest of the
+ frame macros.
+
+ * window.h (MIN_SAFE_WINDOW_WIDTH, MIN_SAFE_WINDOW_HEIGHT): New
+ macros.
+ * window.c (check_min_window_sizes): New function.
+ (set_window_height): Call it.
+ (Fsplit_window, change_window_height): Call it, instead of writing
+ out its code.
+ * dispnew.c (change_frame_size): If newlength or newwidth are too
+ small (according to the value of MIN_SAFE_WINDOW_{WIDTH,HEIGHT}),
+ force them larger. This isn't really right, but it's better than
+ crashing.
+
+ * editfns.c (Fcurrent_time_zone): Doc fix.
+
+1992-08-06 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * editfns.c (Fcurrent_time_zone): Don't forget to include code to
+ signal an error when EMACS_CURRENT_TIME_ZONE is not defined.
+
+1992-08-06 Joseph Arceneaux (jla@gnu.ai.mit.edu)
+
+ * doc.c (Vdata_directory): Declared.
+ (syms_of_doc): Initialized.
+
+ * fileio.c (Fread_filename): Add 1 to the offset position for the
+ cursor when reading file names.
+
+1992-08-05 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * systime.h (EMACS_CURRENT_TIME_ZONE): New macro.
+ * editfns.c (Fcurrent_time_zone): New function.
+ (syms_of_editfns): defsubr it.
+
+ * keyboard.c (read_key_sequence): Clear the eighth bit of the
+ character from the key sequence, NOT the index of the character IN
+ the key sequence. How many tries will it take to get it right?
+
+1992-08-04 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * eval.c (syms_of_eval): Doc fix for debug-on-quit.
+
+1992-08-03 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callproc.c (Fcall_process): Doc fix. Used to claim that
+ Fcall_process doesn't wait when BUFFER was nil. It does.
+
+1992-07-30 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * keyboard.c (read_key_sequence): Scan for function keys when t >=
+ mock_input, not when t > mock_input. We do want to scan for
+ function keys when t == mock_input.
+
+ * keyboard.c (read_key_sequence): Don't increment fkey_end when
+ testing to see if keybuf[fkey_end] is a meta-character.
+
+1992-07-27 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * Makefile.in (TAGS): Generate tags for files in ../external-lisp
+ too.
+
+1992-07-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * eval.c (find_handler_clause): For quit, don't check Vdebug_on_error.
+ (wants_debugger): Rewrite so it cannot get an error.
+
+ * callint.c (Fcall_interactively): Handle enable-recursive-minibuffers
+ property on the command, by enabling recursive minibuffers.
+ (syms_of_callint): Set Qenable_recursive_minibuffers.
+
+1992-07-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * frame.c (Fmake_frame_visible, Fmake_frame_invisible,
+ Ficonify_frame): Make the first argument optional, defaulting to
+ selected_frame.
+ (Ficonify_frame, Fmake_frame_invisible): Add interactive specs, so
+ we can bind these directly to C-z.
+
+1992-07-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fread_file_name): Use new calling convention for
+ Fcompleting_read, with history as Qfile_name_history.
+ (syms_of_fileio): Set Qfile_name_history; set the var to nil.
+ Do staticpro for the recently created Q* vars.
+
+ * minibuf.c (read_minibuf): Two additional args histvar and histpos.
+ All calls changed.
+ (Fcompleting_read): Last arg is now HIST--(HISTVAR . HISTPOS).
+ Arg INIT can now be (INITIAL-STRING . INITIAL-POSITION).
+ Pass BACKUP_N arg to read_minibuf properly as Lisp object.
+ (Fread_from_minibuffer): Likewise.
+ (syms_of_minibuf): Set Qminibuffer_history and staticpro it.
+
+ * eval.c (Ffuncall, Feval): Support subrs with 7 args.
+
+ * fns.c (Fyes_or_no_p): Use Fread_string, not read_minibuf.
+ * callint.c (Fcall_interactively): For 'S', use Fread_no_blanks_input
+ rather than read_minibuf.
+
+1992-07-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * minibuf.c (Vminibuffer_history_variable): New variable.
+ (syms_of_minibuf): Define variable minibuffer-history-variable.
+ (read_minibuf): Push the string on specified history list.
+
+1992-07-23 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * Makefile.in (doall, doxemacs, dotemacs): Put quotes around CC=${CC}.
+ Don't include $(MAKEOVERRIDES); that is always implicit.
+
+1992-07-22 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): If we have read a
+ meta-character, prefix it with meta_prefix_char before looking it
+ up in the function key keymap.
+
+ * lread.c (Fread_char_exclusive): Code this with a do-while loop,
+ not a while loop with its body repeated.
+
+ * lread.c (Fread_event): Don't make this function's definition
+ conditional on X-windows. It ought to be there no matter how
+ Emacs was built.
+ (syms_of_lread): Don't make its defsubr conditional either.
+
+ * lread.c (Fread_char): Doc fix.
+
+ * fileio.c (find_file_handler): It's called
+ Vfile_name_handler_alist, not Vfile_handler_alist.
+ (Fwrite_region): Declare the variable named `handler'.
+ (Fverify_visited_file_modtime): Use `b->filename', not `filename'.
+ (Fset_visited_file_modtime): Declare the variable named `handler'.
+ * dired.c (Fdirectory_files, Ffile_name_completion): Use
+ `dirname', not `filename'.
+ (Qfile_attributes): New variable.
+ (syms_of_dired): Initialize it.
+
+ * xselect.c (Fx_own_selection): If we're trying to set
+ cut-buffer0, and the value is too large for the X server (as
+ indicated by the max_request_size member of the X Display), just
+ set the buffer to the empty string, and return nil.
+
+1992-07-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * search.c (fast_string_match): New function.
+ * fileio.c (find_file_handler): New function.
+ (Fcopy_file, Fmake_directory, Fdelete_directory, Fdelete_file):
+ (Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
+ (Ffile_exists_p, Ffile_executable_p, Ffile_readable_p, Ffile_symlink_p)
+ (Ffile_writable_p, Ffile_directory_p, Ffile_accessible_directory_p):
+ (Ffile_modes, Fset_file_modes, Ffile_newer_than_file_p):
+ (Fwrite_region, Fverify_visited_file_modtime):
+ Use find_file_handler; call the handler and return.
+ (Finsert_file_contents): Use find_file_handler;
+ cannot just return after the handler, but must handle VISIT.
+ (syms_of_fileio): Set up Qcopy_file, etc.
+ * dired.c (Fdirectory_files, Ffile_name_completion):
+ (Ffile_name_all_completions, Ffile_attributes):
+ Use find_file_handler; call the handler.
+ (syms_of_dired): Set Qfile_attributes, etc.
+
+1992-07-21 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xselect.c (Fx_own_selection): Initialize val to nil, so that if
+ we don't get the selection, we don't return garbage. When setting
+ cut-buffer0, set val to the string pasted.
+
+ * xfns.c (x_set_name): If ARG is nil, set the frame's name to the
+ current x_id_name.
+ * xdisp.c (display_mode_line): If we should set the frame's name,
+ but there is only one frame currently active, call x_set_name with
+ nil as the name; this will display samething generically
+ appropriate.
+
+1992-07-20 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * lread.c (isfloat_string): Recognize floats without a leading
+ integer part, noting that "e5" is a symbol, not a floating point
+ number.
+
+ * xdisp.c (message, message1): When displaying a message, don't
+ make the minibuf frame visible unless the selected frame is also
+ visible. This means that frames won't pop up unless the user is
+ actually interacting with Emacs.
+
+ * xdisp.c (display_mode_line): If Emacs is currently supporting
+ only one screen, don't change the title of the screen to the name
+ of the current buffer; this is only annoying in this case. We
+ should probably think more carefully about how screens should be
+ named.
+
+1992-07-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (allocate_pty): Handle PTY_OPEN.
+ Delete system-specific alternatives to PTY_NAME_SPRINTF
+ and PTY_TTY_NAME_SPRINTF.
+
+1992-07-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * callint.c (Fprefix_numeric_value): Fix typo: test raw, not val.
+
+1992-07-17 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xfns.c (x_window): x_set_name normally ignores requests to set
+ the name if the requested name is the same as the current name.
+ This is the one place where that assumption isn't correct; f->name
+ is set, but the X server hasn't been told. So fake it out.
+
+ * emacs.c [sun] (main): On suns, localtime caches the value of the
+ time zone rather than looking it up every time. This means that
+ the dumped Emacs doesn't check the value of the TZ environment
+ variable. Call tzset before entering the editing loop to check
+ the new TZ value.
+
+1992-07-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * dired.c (Fdirectory_files): Don't forget to pass the REGP
+ argument to compile_pattern.
+ * search.c (compile_pattern): If REGP is zero, don't call
+ re_set_registers; nobody cares.
+
+ * fileio.c (auto_save_error): Pass the correct number of arguments
+ to Fsleep_for.
+
+ * lread.c: Include <ctype.h> at the top of the file, instead of
+ just before isfloat_string; read0 wants to use it too.
+
+ * process.c (Fdelete_process, Fprocess_status, Fprocess_send_region,
+ Fprocess_send_string, Fprocess_send_eof, Finterrupt_process): Doc
+ fixes.
+
+ * process.c (Fprocess_status): Use get_process to find the process
+ denoted by the PROC argument, not Fget_process.
+
+1992-07-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c: Doc fix.
+
+1992-07-14 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * window.c (syms_of_window): Doc fix for pop-up-frames.
+
+ * frame.c (Fframe_parameters): Note that if FRAME is omitted, it
+ defaults to the selected frame.
+
+ * frame.c (Fframe_height, Fframe_width): Blocked out these
+ functions; they have no C callers, and can be written nicely in
+ lisp.
+
+ * frame.c (Fframe_pixel_size): Function removed; there aren't
+ enough other functions available to make this useful. We need
+ functions describing the size of the characters of a font.
+
+ * xterm.h, xterm.c, xselect.c, xmenu.c, xfns.c, xdisp.c, window.h,
+ window.c, termopts.h, termhooks.h, termchar.h, term.c sysdep.c,
+ scroll.c, screen.c, screen.h, process.c, print.c, minibuf.c,
+ lisp.h keyboard.c, indent.c, fns.c, emacs.c, dispnew.c,
+ dispextern.h, cm.h, alloc.c, config.h.in: Screens are now called
+ frames, to avoid even more confusion with X terminology than
+ Emacs's "windows" already cause. All macros, functions, and
+ variables renamed; all uses changed.
+ * screen.c, screen.h: Renamed to frame.c and frame.h. All
+ #includers changed.
+ * ymakefile: Adjusted appropriately.
+ * buffer.c: Doc fixes.
+
+ * xfns.c (Fx_store_cut_buffer): Reversed sense of test for non-X
+ screen.
+
+ * window.c (Frecenter): Doc fix; this function places point in the
+ middle of the current window, not the current screen.
+
+ * window.c (temp_output_buffer_show): Use WINDOW_SCREEN macro
+ instead of accessing the member directly.
+
+1992-07-13 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * print.c (print): Changed code which prints screen objects to use
+ the SCREEN_LIVE_P macro instead of testing the screen structure
+ directly.
+
+ * alloc.c (undo_threshold, undo_high_threshold): Variables renamed
+ to undo_limit and undo_strong_limit.
+ (Fgarbage_collect): Uses changed.
+ (syms_of_alloc): DEFVARs and docstrings changed.
+ * undo.c (truncate_undo_list): Comment adjusted.
+
+ * lread.c (read0): Allow floating-point numbers to begin with a
+ period. `(0 .5)' denotes a list of two numbers, not a dotted pair.
+
+1992-07-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fns.c, callproc.c: Doc fix.
+
+1992-07-10 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * bytecode.c (Bsymbol_function, Bfset): Removed comments saying
+ that these are no longer generated. Jamie Zawinski's byte
+ compiler does generate them, and he's actually collected
+ statistics on how often these functions are called.
+
+1992-07-09 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * screen.c (store_screen_param): Clarify error message.
+
+ * xterm.c (x_make_screen_visible): Undo the change made on June
+ 30; that is not the right solution. Apparently there are three
+ states a window may be in: normal, iconified, and invisible.
+
+1992-07-08 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * eval.c (Fmacroexpand): Code cleaned up; there's no need to
+ handle forms like ((macro lambda ...) ...) specially.
+
+ * fileio.c (Finsert_file_contents): Signal an error if we're asked
+ to read from a named pipe.
+
+1992-07-07 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * m/*.h (SIGN_EXTEND_CHAR): Removed these definitions. The only
+ place they were used is in regex.c, and nowadays that has its own
+ definition, which works for any machine. The definitions in the
+ machine description files usually didn't work if given an unsigned
+ character as an argument, anyway.
+
+1992-07-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c: Doc fix.
+
+1992-07-02 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * minibuf.c (Fdisplay_completion_list): Declared new variables
+ used in rms' previous change.
+
+1992-07-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * minibuf.c (Fdisplay_completion_list): Handle non-buffer stream.
+
+1992-07-01 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * window.c (Fdisplay_buffer): Add interactive spec.
+
+1992-06-30 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * mem_limits.h: EXCEEDS_ELISP_PTR declared here.
+ * ralloc.c: No longer declared here.
+ * vm-limit.c: Nor here. Also, include "lisp.h" before
+ "mem_limits.h" and additionally include "config.h".
+
+1992-06-30 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (x_make_screen_visible): Don't de-iconify the window;
+ iconification is orthogonal to visibility.
+
+ * emacs.c (syms_of_emacs): Change docstring for `kill-emacs-hook'
+ to describe it as a hook, not as a single function.
+
+1992-06-29 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * minibuf.c (Fread_no_blanks_input): Corrected maximum number of
+ arguments from one to two.
+
+ * emacs.c (Vkill_emacs_hook): Declare this here; it should have a
+ docstring, so we might as well DEFVAR it.
+ (syms_of_emacs): initialize it, and DEFVAR_LISP it with an
+ appropriate docstring.
+
+1992-06-28 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * lread.c (Feval_buffer): Make the DEFUN match the C argument
+ list; this takes two optional arguments, not just one.
+
+ * lisp.h (Lisp_Buffer_Local_Value): Comments neatened.
+
+ * data.c (Fset): Fixed conditional which tests whether the cache
+ is invalid. It used to be pretty munged, and would always declare
+ the cache invalid for Lisp_Buffer_Local_Value variables. Now it
+ declares the cache invalid if the buffer is wrong (obviously), of
+
+1992-06-27 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * data.c (Fset): Comments reformatted for readability.
+
+ * xterm.c (last_mouse_movement_time): New variable.
+ (note_mouse_position): Set it.
+ (XTmouse_position): Return its current value as the position's
+ timestamp.
+
+ * keyboard.c (Qvertical_split): Renamed to `vertical-line',
+ since the window arrangement is actually referred to as a
+ `horizontal split.'
+ (make_lispy_event, make_lispy_movement, syms_of_keyboard): Uses
+ renamed here.
+ keyboard.h (Qvertical_split): Extern declaration changed here.
+ window.c (Fcoordinates_in_window_p): Changed this to return
+ `vertical-line' at the appropriate times, rather than
+ `vertical-split'.
+
+ * window.c (Fcoordinates_in_window_p): Put symbol names in
+ opposing single quotes - `vertical-split', for example.
+
+ * fileio.c (Fexpand_file_name): Don't signal an error if USERNAME
+ in a "~USERNAME/..." filename isn't a real user; just leave the
+ "~USERNAME" unchanged.
+
+ * fileio.c (Fmake_symbolic_link): Rename argument `NEWNAME' to
+ `LINKNAME', to conform with the docstring.
+
+ * Makefile.in (CPP): Pass `-Is -Im' to CPP, to make sure that
+ machine- and system-dependend files can include each other
+ properly.
+ * ymakefile (CFLAGS): Add those directories to the #include path
+ here too.
+
+ * Makefile.in (xmakefile): Build this via a temporary file, so
+ that if preprocessing fails we don't nuke the xmakefile.
+
+ * fileio.c: There are two versions of Fexpand_file_name defined
+ here; the latter is inside a `#if 0' clause. Change its DEFUN to
+ a DEAFUN, so that its docstring doesn't make it into the DOC file
+ and supercede the real docstring.
+
+ * callint.c (Fcall_interactively): For the 'K' interactive spec,
+ set varies[i] to -1, indicating that the mouse click should be
+ quoted if the function makes it into the command history, and that
+ this argument by itself does not qualify the command to be
+ recorded in the history.
+
+1992-06-26 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * data.c (Frem): The drem function will sometimes return a
+ negative number. If it does, add the divisor to it, to make it
+ positive.
+
+ * screen.c: Put '#ifdef MULTI_SCREEN' after the inclusion of
+ config.h.
+
+ * window.c (Fpos_visible_in_window_p): Remember to apply XSCREEN
+ to w->screen before applying SCREEN_WIDTH.
+
+ * screen.h [not MULTI_SCREEN] (last_nonminibuf_screen): Removed
+ #definition of this; it's confusing when debugging.
+ * screen.c (last_nonminibuf_screen): Variable moved from here...
+ * dispnew.c (last_nonminibuf_screen): to here, beside
+ selected_screen. They should both exist, even if the multi-screen
+ support is not present.
+
+ * dispnew.c [not MULTI_SCREEN] (the_only_screen): New variable.
+ Instead of having the non-multi-screen version of Emacs refer to
+ lots of different variables scattered hither and yon, we'll just
+ declare this new variable, of type `struct screen', and define the
+ single-screen versions of the `SCREEN_foo' macros to reference its
+ elements. This avoids conflicts between names of local variables
+ and names of global variables describing the screen, and simplifies
+ some of the differences between the multi-screen and single-screen
+ cases.
+ * screen.h (enum output_method, struct screen): Removed these from
+ the `#ifdef MULTI_SCREEN' conditional.
+ * screen.h [not MULTI_SCREEN] (the_only_screen): extern
+ declaration for it here.
+ [not MULTI_SCREEN] (SCREEN_CURRENT_GLYPHS, SCREEN_DESIRED_GLYPHS,
+ SCREEN_TEMP_GLYPHS, SCREEN_HEIGHT, SCREEN_WIDTH,
+ SCREEN_NEW_HEIGHT, SCREEN_NEW_WIDTH, SCREEN_CURSOR_X,
+ SCREEN_CURSOR_Y, SCREEN_ROOT_WINDOW, SCREEN_INSERT_COST,
+ SCREEN_DELETE_COST, SCREEN_INSERTN_COST, SCREEN_DELETEN_COST,
+ SCREEN_MESSAGE_BUF, SCREEN_SCROLL_BOTTOM_VPOS): Macros changed to
+ refer to the_only_screen.
+ * dispnew.c [not MULTI_SCREEN] (one_screen_cursX,
+ one_screen_cursY, one_screen_current_glyphs,
+ one_screen_desired_glyphs, one_screen_temp_glyphs,
+ delayed_screen_width, delayed_screen_height): Variables
+ deleted; they're all now kept in the_only_screen.
+ * xdisp.c [not MULTI_SCREEN] (message_buf): Variable deleted; same
+ fate.
+ * term.c [not MULTI_SCREEN] (one_screen_width, one_screen_height):
+ Variables deleted; same fate.
+ * screen.h [not MULTI_SCREEN]: extern declarations for the above
+ variables removed.
+ * window.c [not MULTI_SCREEN] (root_window): Variable deleted.
+ [not MULTI_SCREEN] (init_window_once): Use SCREEN_ROOT_WINDOW to
+ refer to the root window, instead of referring to it directly.
+ * window.h [not MULTI_SCREEN] (root_window): extern declaration
+ removed.
+ * scroll.c [not MULTI_SCREEN] (insert_line_cost, delete_line_cost,
+ insert_n_lines_cost, delete_n_lines_cost): Variables deleted; same
+ fate.
+
+ * dispnew.c [not MULTI_SCREEN] (cursX, cursY): Renamed to
+ `one_screen_cursX' and `one_screen_cursY'.
+ * screen.h [not MULTI_SCREEN] (cursX, cursY, SCREEN_CURSOR_X,
+ SCREEN_CURSOR_Y): extern declarations and macros changed
+ accordingly.
+
+ * term.c [not MULTI_SCREEN] (screen_width, screen_height): Renamed
+ to `one_screen_width' and `one_screen_height', so as not to
+ conflict with local variables when referenced by the `SCREEN_foo'
+ macros.
+ * screen.h [not MULTI_SCREEN] (screen_width, screen_height):
+ extern declarations changed accordingly.
+ * termchar.h (screen_width, screen_height): extern declarations
+ deleted. Everyone should go through the `SCREEN_foo' macros.
+ (SCREEN_WIDTH, SCREEN_HEIGHT): Changed accordingly.
+
+1992-06-25 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callint.c (Fcall_interactively): When making a copy of the spec
+ string, cast the return value of `alloca' to `unsigned char *',
+ not `char *', to match the type of `string'.
+
+ * xselect.c (Fx_own_selection): Cast XSTRING (string)->data to a
+ char *, so it can be comfortably passed to XStoreBytes.
+
+ * filelock.c (strcpy): Declare this to return char *.
+
+1992-06-24 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * dispnew.c (current_glyphs, desired_glyphs, temp_glyphs): Renamed
+ to have the prefix `one_screen_', so that the screen macros can
+ refer to them without conflicting with local variables.
+ * screen.h [not MULTI_SCREEN] (SCREEN_CURRENT_GLYPHS,
+ SCREEN_DESIRED_GLYPHS, SCREEN_TEMP_GLYPHS): Changed accordingly.
+
+ * keyboard.c (read_key_sequence): Put the code which restarts the
+ key sequence in a `#ifdef MULTI_SCREEN' conditional.
+
+ * screen.h [not MULTI_SCREEN]: Added definitions for
+ CHECK_LIVE_SCREEN and SCREEN_FOCUS_SCREEN for the non-multi-screen
+ case.
+
+ * screen.h [not MULTI_SCREEN]: The name is
+ `SCREEN_MINIBUF_ONLY_P', not `SCREEN_IS_MINIBUF_ONLY'.
+
+ * xdisp [not MULTI_SCREEN] (Fredraw_display): Removed definition
+ here; the non-multi-screen version is already defined in
+ dispnew.c, alongside the multi-screen version.
+ (syms_of_xdisp): Don't try to defsubr Sredraw_display; it doesn't
+ exist.
+
+ * lread.c (Fread_char_exclusive): Remove this from the `#ifdef
+ HAVE_X_WINDOWS' conditional; it is appropriate in any context.
+
+ * eval.c (Fsignal): Put call to TOTALLY_UNBLOCK_INPUT under the
+ protection of a `#ifdef HAVE_X_WINDOWS' conditional.
+
+ * keyboard.c (kbd_buffer_get_event): Expect *mouse_position_hook
+ to return the timestamp as an unsigned long, not a lisp_Object.
+ This matches the change made to `struct input_event'.
+ (make_lispy_movement): Change argument TIME to an unsigned long.
+ * xterm.c (XTmouse_position): Change TIME argument to a pointer to
+ an unsigned long.
+ * termhooks.h (mouse_position_hook): Doc fix.
+ * term.c (mouse_position_hook): Doc fix.
+
+ * termhooks.h (struct input_event): If MULTI_SCREEN is defined,
+ declare the .screen element to be `struct screen *'; otherwise,
+ declare it to be `int'. See the comment in the file for why I've
+ done this obviously wrong thing.
+
+ * print.c (printbufidx): Doc fix.
+ * xdisp.c (message_buf_print): Doc fix.
+
+ * dispextern.h (message_buf_size): Variable deleted; it's no
+ longer used, since the message buffer is always the width of the
+ screen.
+
+ * screen.h [not MULTI_SCREEN] (message_buf): Add extern
+ declaration for it here.
+ (message_buf_print): Added extern declarations here for both the
+ MULTI_SCREEN and non-MULTI_SCREEN cases.
+ * dispextern.h (message_buf, message_buf_print): Deleted extern
+ declaration for these here. It should never be used directly; it
+ should always be used through the SCREEN_MESSAGE_BUF macro.
+
+ * dispnew.c (temp_glyphs): Added back this variable declaration;
+ screen.h and various other places referred to this; where did it
+ go?
+ * screen.h [not MULTI_SCREEN] (temp_glyphs, desired_glyphs,
+ current_glyphs): Add extern declarations for these.
+
+ * dispnew.c (cancel_my_columns): Use SCREEN_DESIRED_GLYPHS macro,
+ instead of assuming that a SCREEN_PTR is actually a pointer to
+ something; it isn't if we're not using any of the screen support.
+ Remove the variable `screen', and find the value for
+ `desired_glyphs' directly.
+ * xdisp.c (echo_area_display): Use the SCREEN_DESIRED_GLYPHS macro
+ to find screen's desired cursor position, instead of assuming that
+ a SCREEN_PTR is a pointer to something.
+ (display_mode_line): Same.
+ * window.c (Fpos_visible_in_window_p): Use the SCREEN_WIDTH macro.
+ (replace_window): Use the SCREEN_ROOT_WINDOW macro.
+ (window_loop): Use the SCREEN_WIDTH macro.
+
+ * dispnew.c (update_screen): Enclose the statement which
+ increments `downto' in a `#ifdef HAVE_X_WINDOWS' conditional.
+
+ * screen.h [MULTI_SCREEN and not MULTI_SCREEN] (FOR_EACH_SCREEN):
+ New macro.
+ * dispnew.c (window_change_signal, do_pending_window_change): Use
+ FOR_EACH_SCREEN instead of assuming that Vscreen_list exists.
+ * window.h (root_window): Added extern declaration for this.
+
+ * screen.c: Enclose the entire file in a #ifdef MULTI_SCREEN
+ conditional.
+
+
+1992-06-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fset_window_dedicated_p):
+ Replaces Fset_window_buffer_dedicated. Second arg just t or nil.
+
+1992-06-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * syntax.h (SYNTAX, SYNTAX_MATCH, SYNTAX_COMSTART_FIRST, etc.)
+ Cast character to unsigned char before indexing.
+
+1992-06-19 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (x_wm_set_size_hint): Set size_hints.flags to indicate
+ that we are providing the base_width and base_height data.
+
+ * xfns.c (Fx_create_screen): Default the internal border width to
+ 2; this matches XTerm.
+
+ * syntax.c (Fparse_partial_sexp): Doc fix.
+
+ * syntax.c (Fparse_partial_sexp): Added phony argument list to
+ comment containing the docstring for this function, so that
+ make-docfile.c will get the right arguments.
+
+ * xfns.c (x_set_name): Don't go through the X11 brouhaha to set
+ the name unless we're actually setting it to something different
+ from the current name.
+
+1992-06-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * eval.c (syms_of_eval): Don't forget to escape the ends of the
+ lines in the docstring for `debug-on-quit'.
+
+ * keyboard.c (Fread_key_sequence): Reversed sense of CONTINUE_ECHO
+ argument - set this_command_key_count to zero iff CONTINUE_ECHO is
+ Qnil, not iff it's non-Qnil.
+
+1992-06-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * search.c: Changed to remember the object in which the last
+ search was done, so that markers from match data are placed in
+ that buffer, instead of the current buffer.
+ (search_regs_from_string): Replaced with...
+ (last_thing_searched): This is either Qnil, meaning no searching
+ has been done, Qt, meaning that the last search was done in a
+ string, or a buffer object, meaning that the last search was done
+ in that buffer.
+ (syms_of_search): Initialize and staticpro last_thing_searched.
+ (Flooking_at, search_buffer): Set last_thing_searched to the
+ current buffer.
+ (Fstring_match): Set last_thing_searched to Qt.
+ (Fmatch_data): Test last_thing_searched to see if any searching
+ has been done, and construct integers or markers in the right
+ buffer. Abort if it's not Qt, Qnil, or a buffer.
+ (Fstore_match_data): Set last_thing_searched according to the
+ things we find in LIST.
+
+1992-06-16 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * fns.c (Fload_average): Document the fact that this sometimes
+ returns a list of fewer than three elements, on systems which
+ don't provide 5- and 15-minute load averages.
+
+1992-06-15 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (XTread_socket): If an event arrives to a screen S,
+ don't attribute them to SCREEN_FOCUS_SCREEN (S) here. Do that
+ synchronously, when the events are dequeued. This keeps events
+ from being accidentally routed to the wrong screen, if we
+ temporarily redirect a screen's focus.
+ * keyboard.c (kbd_buffer_store_event): If the character being
+ stuffed is a quit character, do the SCREEN_FOCUS_SCREEN
+ redirection to it here.
+ (kbd_buffer_get_event): And do it here, before returning the
+ event.
+
+ * eval.c (Finteractive_p): This assumed that if the function in
+ the top frame of the lisp backtrace was not a Lisp_Compiled
+ object, then Finteractive_p must have an explicit frame on the top
+ of the stack, which we could skip. It didn't bother to follow the
+ symbol function chaining, and it would break if any C code called
+ from a non-compiled function tried to call Finteractive_p anyway.
+ Changed this to actually check if the top frame's effective
+ function is the Lisp_Subr for Finteractive_p. This also used to
+ skip any number of frames for special forms and/or Fbytecode
+ calls. Changed this to skip an Fbytecode frame (if present),
+ followed by any number of special form frames.
+
+1992-06-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * eval.c (struct backtrace): Doc fix.
+
+1992-06-12 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * m/hp300bsd.h (LOAD_AVE_TYPE): This is long, not double.
+ (LOAD_AVE_CVT): Adjusted as appropriate.
+
+ * fns.c: Moved lots of system-dependent preprocessor cruft
+ dealing with getting the load average to `getloadavg.c'.
+ (Fload_average): Guts moved to `getloadavg.c'.
+ * getloadavg.c: New file, containing the necessary mess to get the
+ load average on many different systems. This file is supposed to
+ be Emacs-independent.
+ * ymakefile (obj): Add getloadavg.o to the list.
+ (getloadavg.o): Note that this depends on its source, and config.h.
+
+ * screen.c (Fdelete_screen): Typo in loop looking for new
+ last_nonminibuf_screen - change `screen = XCONS (screens)->cdr`
+ to `screens = XCONS (screens)->cdr`
+
+ * xdisp.c (echo_area_display): Don't neglect to draw all the lines
+ of the minibuffer window (or echo area) when a message is being
+ displayed. If the minibuffer is more than one line high, they
+ should all be blanked.
+
+1992-06-10 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * sysdep.c [POSIX_SIGNALS] (sys_signal): Fix typo - rather than
+ calling new_action as if it were a function, call sigaction.
+
+1992-06-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * lisp.h (Qnumberp, Qnumber_or_marker_p): Declared.
+
+ * eval.c (wants_debugger): Changed NULL to NILP.
+ Who installed these calls to NULL?
+
+1992-06-09 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * dispnew.c (Fsit_for): Don't forget to actually set sec from ARG.
+
+ * termhooks.h (struct input_event): Doc fix - for mouse clicks, .x
+ and .y give the position in characters, not in pixels.
+
+ * keyboard.c (format_modifiers): Order the modifier letters
+ alphabetically - control, meta, shift, and up.
+
+1992-06-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c: Move some extern decls out of #if 0, to top of file.
+
+1992-06-08 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * window.c (Fcoordinates_in_window_p): Docstring fix.
+
+ * buffer.c (Fother_buffer): Put a comma between arguments BUFFER
+ and VISIBLE_OK in the argument list. Duh.
+
+ * screen.c (Fdelete_screen): Remember that s is a SCREEN_PTR *,
+ not a Lisp_Object.
+
+ * search.c (search_regs): Doc fix.
+ (compile_pattern): Take a new argument - the search register
+ structure - so we can reassure the regex routines that the
+ registers have been allocated.
+ (Flooking_at, Fstring_match, search_buffer): Changed to pass
+ &search_regs to compile_pattern.
+ (search_buffer): When we've searched for a literal string and
+ found it, make sure that the search registers are allocated before
+ stuffing the location of the search into them.
+ (Fstore_match_data): If we need to allocate more registers,
+ allocate them using re_set_registers, instead of just storing the
+ new registers and hoping that regex doesn't free them.
+
+ * search.c (Freplace_match): Doc fix.
+
+1992-06-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * screen.c (Fdeiconify_screen): Function deleted.
+ It was the same as make-screen-visible.
+
+1992-06-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c: Doc fix.
+
+ * floatfns.c (Fcbrt): Renamed from Fcube_root, and #if 0'd.
+
+ * lisp.h (CHECK_NUMBER_OR_FLOAT*): Use Qnumberp or Qnumber_or_marker_p.
+ * data.c (syms_of_data): Staticpro those.
+ (Qinteger_or_float_p, Qinteger_or_float_or_marker_p): Deleted.
+ (Fnumberp, Fnumber_or_marker_p): Define these always,
+ but make them work even if not LISP_FLOAT_TYPE.
+
+1992-06-05 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * config.h.in: Undefine REL_ALLOC if a system specific file
+ defines SYSTEM_MALLOC.
+
+ * sysdep.c (save_signal_handlers): Cast result of signal to
+ avoid compiler warning.
+ * process.c (send_process): Likewise.
+
+1992-06-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fread_key_sequence): New 2nd arg CONTINUE_ECHO
+ added for the sake of universal-argument.
+
+1992-06-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * editfns.c (Fset_default_file_mode): Function deleted.
+ (Funix_sync): Moved.
+ * fileio.c (Funix_sync): Moved to here.
+
+ * xfns.c (Fx_erase_rectangle, Fx_draw_rectangle, Fx_contour_region):
+ (Fx_uncontour_region): #if 0 these.
+ (x_rectangle, outline_region): Likewise.
+ (syms_of_xfns): #if 0 the defsubrs.
+
+ * dispnew.c (Fsleep_for, Fsit_for): Clean up error messages.
+
+ * eval.c, print.c, keyboard.c: Doc fix.
+
+ * xfns.c (Fx_horizontal_line): Disabled, since not documented.
+
+ * fileio.c (Fdelete_directory): Renamed from Fremove_directory.
+
+ * unexencap.c: Deinstalled (renamed to =unexencap.c)
+ since awaited papers never arrived.
+
+ * xfns.c: Doc fix.
+
+1992-06-04 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * eval.c (stack_trace_on_error, debug_on_error): Made Lisp_Objects V*.
+ (syms_of_eval): Changed DEFVAR_BOOLs to DEFVAR_LISPs.
+ (wants_debugger): New fn.
+ (find_handler_clause): Use it to look in debug-on-error and
+ stack-trace-on-error lists.
+
+1992-06-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * floatfns.c (Fbessel_*, Ferf, Ferfc, Flog_gamma): Turned off;
+ not clearly worth including.
+ (Fasinh, Facosh, Fatanh, Fsinh, Fcosh, Ftanh): Likewise.
+
+1992-06-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * minibuf.c, keyboard.c: Doc fix.
+
+ * window.c (Fwindow_at): Fix number of args--minimum 2, max 3.
+
+ * screen.c: Doc fix.
+
+1992-06-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * lread.c (Feval_buffer): Don't read any arguments, if interactive.
+
+1992-06-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * screen.c (make_screen_without_minibuffer): Apply XSCREEN to
+ Vdefault_minibuffer_screen before calling SCREEN_LIVE_P. The
+ argument to SCREEN_LIVE_P must be a SCREEN_PTR, not a Lisp_Object.
+
+ * dispnew.c (Fsit_for): This used to compare arg with 0 and return
+ Qt immediately. It should actually call sit_for anyway, because
+ sit_for needs to test for input and do the redisplay.
+ (sit_for): Compare sec and usec with zero here, after we've
+ looked for input and done a redisplay.
+
+ * lread.c (Feval_buffer): Use NILP, not NIL_P.
+
+1992-06-01 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * buffer.h: New macro, BUF_SET_PT.
+
+ * lread.c: New subr `eval-buffer', replaces `eval-current-buffer',
+ which is now defined in simple.el.
+
+1992-05-30 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * screen.c (Fdelete_screen): If we're deleting the default
+ minibuffer screen, try to find another minibuffer screen.
+
+1992-05-29 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * buffer.c (Fother_buffer): New optional argument VISIBLE_OK,
+ indicating that buffers currently visible in windows should not be
+ discriminated against.
+
+1992-05-28 Ken Raeburn (raeburn@cygnus.com)
+
+ * screen.c (Fdelete_screen): Fix bugs in walking screen list.
+ (make_screen_without_minibuffer): Signal an error if the default
+ minibuffer screen is dead.
+
+ * xfns.c (x_set_name): Use ICCCM-conforming scheme for changing
+ window name in X11.
+ (Fx_create_screen): Likewise.
+
+1992-05-27 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xselect.c: Support getting and setting the obsolete X cut
+ buffers.
+ (Qcut_buffer0): New atom, denoting the X cut buffer 0.
+ (syms_of_xselect): Initialize and staticpro it.
+ (Fx_own_selection): If TYPE is Qcut_buffer0, interpret this to
+ mean that we should set cut buffer 0 to STRING.
+ (Fx_selection_value): If TYPE is Qcut_buffer0, interpret this to
+ mean that we should retrieve the value of cut buffer 0.
+
+1992-05-21 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (construct_mouse_click): Removed extra assignment of
+ result->timestamp.
+
+ * keyboard.c (last_event_timestamp): Doc fix.
+ * xselect.c (last_event_timestamp): Declare it extern here.
+ (mouse_timestamp): Variable deleted. last_event_timestamp is a
+ more accurate thing to use here.
+ (own_selection, get_selection_value): Use last_event_timestamp
+ instead of mouse_timestamp.
+ * keyboard.c (make_lispy_event): Pass the event's timestamp
+ through the make_number function, to assure that it is properly
+ tagged before incorporating it into the lispy event.
+ * xterm.c (construct_mouse_click): The timestamp element of a
+ struct input_event is no longer a Lisp_Object; it is now an
+ unsigned long. So don't use XSET to assign to it.
+ (XTread_socket): Same here, in processing KeyPress events.
+
+ * keyboard.c (Fexecute_extended_command): Properly initialize
+ this_command_keys to the concatenation of the sequence that
+ invoked Fexecute_extended_command, the characters making up the
+ name of the command we're running, and a return character.
+ Previously, this code would set it to the last key typed while
+ reading the function name from the minibuffer, followed by the
+ name of the function being run.
+
+1992-05-20 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (x_display_box_cursor): Draw the cursor at curs_{x,y},
+ rather than at s->cursor_{x,y}. If cursor_in_echo_area is set,
+ then s->cursor_{x,y} does not accurately describe the position of
+ the cursor. However, if we're not updating, then curs_{x,y} are
+ garbage; set them from s->cursor_{x,y}.
+
+ * dispnew.c (update_screen): Check current_screen->enable and
+ current_screen_used to see if there is any text on the last line,
+ not desired_screen->{enable,used}. When the line isn't enabled,
+ move to line SCREEN_HEIGHT (s) - 1, not SCREEN_HEIGHT (s).
+ Rearranged conditionals.
+
+ * dispnew.c (cursor_in_echo_area): Document the interpretations of
+ positive and negative values of this variable.
+
+1992-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (Fding): If have arg, don't end a keyboard macro.
+
+1992-05-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * dispnew.c (sit_for): New function, which is a slight
+ generalization of Fsit_for; you can tell it that it's waiting for
+ input, so C-g gets handled properly.
+ (Fsit_for): Call it, instead of replicating all its guts.
+ * keyboard.c (read_char): Call sit_for instead of Fsit_for, and
+ indicate that we're awaiting keyboard input.
+
+ * dispnew.c (Fsit_for): Rename arguments to match docstring. Use
+ NILP instead of EQ (foo, Qnil). If nodisp is non-nil, call
+ wait_reading_process_input with do_display 0, instead of 1; this
+ will inhibit spurious redisplays when process input arrives during
+ a sit-for.
+
+ * process.c (Faccept_process_output): Pass zero as read_kbd
+ argument to wait_reading_process_input when PROC is nil, not when
+ PROC is non-nil.
+
+ * process.c (wait_reading_process_input): Declare read_kbd to be a
+ Lisp_Object, and use the tagging to tell the difference between a
+ process object and an integer.
+ * dispnew.c (Fsleep_for, Fsit_for, Fsleep_for_millisecs): Pass
+ read_kbd argument to wait_reading_process_input as a Lisp_Object.
+ * keyboard.c (kbd_buffer_get_event): Same.
+ * process.c (Faccept_process_output, send_process): Same.
+
+ * keyboard.c (read_char): Use save_getcjmp and restore_getcjmp
+ instead of doing the bcopy explicitly.
+
+ * xterm.c (XTread_socket): When handling an EnterWindow event,
+ don't bother to check waiting_for_input. It's not necessary.
+
+ * keyboard.c (read_char): Don't clear waiting_for_input and
+ input_available_clear_time here.
+ (quit_throw_to_read_char): It's already done here.
+
+ * keyboard.c (quit_throw_to_read_char): Use
+ clear_waiting_for_input instead of clearing waiting_for_input
+ explicitly.
+
+1992-05-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * keyboard.c (read_char): Call clear_waiting_for_input instead of
+ clearing waiting_for_input and input_available_clear_time
+ explicitly.
+
+1992-05-15 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * ymakefile [defined (__GNUC__) and __GNUC__ > 1]: define
+ YMF_PASS_LDFLAGS so that it can deal with an empty flags argument.
+
+ * callproc.c (Fcall_process): Under VMS, a nil INFILE argument
+ means to read from "NLA0:", not "/dev/null".
+
+ * callproc.c (Fcall_process): Use nil as the value for display
+ (the fourth argument) when nargs >= 4, not when nargs >= 3.
+
+1992-05-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * termhooks.h: Change timestamp from a Lisp_Object to an unsigned
+ long.
+ * keyboard.c (kbd_buffer_store_event): We don't have to apply the
+ XINT macro to the timestamp member of the event anymore.
+
+ * process.c (wait_reading_process_output): Don't turn off polling.
+
+ * sysdep.c (setpgrp_of_tty): Pass the address of pid, not pid
+ itself.
+
+ * process.c: Deleted cpp tangle for dealing with system-dependent
+ tty handling; #included "systerm.h".
+ * systerm.h: Add some of the things that were done in process.c:
+ If titan is #defined, then we should include <sys/ttyhw.h> and
+ <sys/stream.h> along with the other SYSV pty stuff.
+ If HPUX is #defined, then EMACS_HAVE_TTY_PGRP isn't true.
+ If XENIX is #defined, then we shouldn't try to use TIOCGETC.
+ * ymakefile: Note that process.o depends on systerm.h now.
+
+1992-05-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * callint.c (Fprefix_numeric_value): Value 1 for symbol other than `-'.
+
+1992-05-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * cmds.c (Fforward_line): If the buffer is empty, don't try to see
+ if it contains a newline, and moving nowhere at eob after
+ non-newline should return 1, not 0.
+
+ * search.c (scan_buffer): Doc fix.
+
+ * buffer.c (Fbuffer_disable_undo): Accept a buffer name as an
+ argument.
+
+1992-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c: Include config.h first thing.
+
+ * keyboard.c (clear_input_pending): New subroutine.
+ * process.c (wait_reading_process_input): Make C-g really quit in
+ sit-for case.
+
+ * ymakefile (LD_SWITCH_SYSTEM): Don't use -X with GCC.
+
+1992-05-12 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * eval.c (Fapply): Use indirect_function, instead of doing a dumb
+ loop.
+ * keymap.c (get_keymap_1): Same.
+ * macros.c (Fexecute_kbd_macro): Same.
+
+ * buffer.c (init_buffer_once): Don't disable undos for *scratch*
+ here. Do it in loadup.el.
+
+ * buffer.c (init_buffer_once): Doc fix.
+
+ * doc.c (Fdocumentation): After extracting the doc string from a
+ lambda or autoload expression, don't fall through to the default
+ case and signal an invalid function error; instead, do a `break'.
+
+ * doc.c (Fdocumentation): Use EQ (x, y) instead of XSYMBOL (x) ==
+ XSYMBOL (y).
+
+ * doc.c (Fdocumentation): When decyphering a function made from
+ conses, use 'else if' for the chain of alternatives instead of
+ just 'if'. It used to be that each alternative returned, but
+ that's not true anymore.
+
+ * alloc.c (Fgarbage_collect): Don't call truncate_undo_list on
+ buffers whose undo list is 't.
+
+ * doc.c (Fdocumentation): Renamed argument `fun1' to `function',
+ so make-docstring will list argument consistently with the
+ docstring.
+
+1992-05-11 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * xterm.h: Removed definition of `RES_CLASS'.
+
+ * xfns.c (x_get_arg): Eliminated `screen_name' parameter. No
+ longer uses screen name as X resource search component.
+ All calls to x_get_arg changed accordingly.
+ Global variable `screen_class' and #define `SCREEN_CLASS' removed.
+
+ * xterm.c (XTread_socket): Added basic structure for handling
+ various ClientMessage events, using new global variables
+ `Xatom_wm_take_focus', `Xatom_wm_save_yourself',
+ `Xatom_wm_delete_window', `Xatom_wm_configure_denied',
+ `Xatom_wm_moved'.
+ * xfns.c: Declare these variables extern.
+ (syms_of_xfns): Initialize these variables.
+
+ * xselect.c (Fx_own_selection, Fx_selection_value): New optional
+ parameter `type', to specify the selection type.
+ (syms_of_xselect): New symbols Qprimary, Qsecondary, Qclipboard
+ initialized.
+
+1992-05-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * data.c (Qcyclic_function_indirection): New error condition.
+ (indirect_function, Findirect_function): New functions.
+ (syms_of_data): Initialize Qcyclic_function_indirection, put the
+ error properties on it, and staticpro it. Defsubr
+ Findirect_function.
+ * lisp.h (indirect_function, Findirect_function): Declare them here.
+ * callint.c (Fcall_interactively): Get symbol's function by
+ calling indirect_function, instead of just looping.
+ * doc.c (Fdocumentation): Same.
+ * eval.c (Finteractive_p, Fcommandp, do_autoload, Feval,
+ Ffuncall): Same.
+ * keyboard.c (Fcommand_execute): Same.
+
+ * data.c (Fsymbol_function): Name the argument `symbol' instead of
+ `sym', so make-docstring will list argument consistently with the
+ docstring.
+
+ * process.c (wait_reading_process_input): Make sure the screen
+ isn't garbaged (and therefore not displayed) before we enter the
+ select and start waiting for input.
+
+ * keyboard.c: #include <systime.h>.
+ * ymakefile (keyboard.o): This depends on systime.h.
+ * keyboard.c (input_available_clear_word): Replaced with
+ input_available_clear_time, which is a pointer to an EMACSTIME;
+ sometimes the time information is larger than a single word.
+ (read_char): Changed ..._word to ..._time.
+ (input_available_signal): Use the EMACS_SET_SECS_USECS macro to
+ clear *input_available_clear_time, instead of zapping a zero into
+ *input_available_clear_word.
+ (set_waiting_for_input, clear_waiting_for_input): Adjusted
+ appropriately.
+
+1992-05-10 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * editfns.c (make_buffer_string): New function.
+ * lisp.h (make_buffer_string): Declare it here.
+ * editfns.c (Fbuffer_substring): Call make_buffer_string instead
+ of writing it out.
+ (Fbuffer_string): Call make_buffer_string instead of make_string,
+ so we can deal with buffer relocations.
+ * minibuf.c (read_minibuf): Same here.
+
+1992-05-09 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * syssignal.h (sigunblock): New macro, taken from 18.58's
+ emacssignal.h file.
+ * sysdep.c (request_sigio): Use the sigunblock macro to enable
+ reciept of SIGWINCH, instead of the dysfunctional sigblockx.
+
+1992-05-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * search.c: Doc fix.
+
+1992-05-06 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * emacs.c (decode_env_path): If EVARNAME is zero, don't try to
+ call getenv on it.
+ * lread.c (init_lread): When we don't have an environment variable
+ to check, pass 0 instead of the empty string.
+
+ * alloc.c (Fmake_marker): Use `SIGMASKTYPE' instead of `int'.
+ Instead of calling sigsetmask twice - once to get the mask, and
+ again to restore it - call sigblock, specifying no additional
+ signals.
+
+1992-05-05 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * alloc.c: #include <syssignal.h>, for the sake of the
+ bug-catching code in Fmake_marker.
+ ymakefile: Add dependency.
+
+ * syssignal.h [not POSIX_SIGNALS] (SIGFULLMASK): New definition,
+ for symmetry with the "defined (POSIX_SIGNALS)" case.
+
+ * callproc.c (child_setup): Since we always get the environment
+ from Vprocess_environment, don't bother to take the environment
+ the subprocess should inherit as an argument anymore.
+ * process.c (create_process): Don't pass environment as a
+ variable. Just preserve it across call to fork.
+
+1992-05-04 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * floatfns.c: #include <syssignal.h>.
+ (float_error): Use SIGEMPTYMASK instead of zero.
+
+ * syssignal.h [POSIX_SIGNALS] (sigmask): Defined to expand to a
+ statement expression under GCC, or a function call otherwise.
+ (sigpause, sigblock, sigunblock, sigsetmask): These are now
+ K&R-compatible macros.
+ * systerm.h [POSIX_SIGNALS] (sys_sigmask): Here is the function
+ the POSIX version of sigmask calls when we're not compiling with
+ GCC.
+ * alloc.c (Fmake_marker): Undo changes of Apr 29.
+ * callproc.c (Fcall_process): Same.
+ * data.c (arith_error): Same.
+ * floatfns.c (float_error): Same.
+ * keyboard.c (gobble_input): Same.
+
+ * sysdep.c (request_sigio, unrequest_sigio)
+
+1992-04-29 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * x11term.h (CLASS): Change this from "emacs" to "Emacs"; class
+ names should always start with an upper-case letter.
+
+ * syssignal.h: Arranged cpp conditionals so that the specific
+ cases come first, generic cases last.
+
+ * syssignal.h (sigpause, sigblock, sigunblock, sigsetmask): Macros
+ removed; they require GCC, and Emacs 19 should compile without GCC.
+ (EMACS_SIGPAUSE, EMACS_SIGBLOCK, EMACS_SIGUNBLOCK,
+ EMACS_SIGSETMASK, EMACS_SIGFREE, EMACS_SIGHOLDX, EMACS_SIGBLOCKX,
+ EMACS_SIGUNBLOCKX, EMACS_SIGPAUSEX): These are new macros that
+ don't require GCC, but expand to statements.
+ * callproc.c (Fcall_process): Use new EMACS_SIG* macros from
+ syssignal.h.
+ * keyboard.c (gobble_input): Same.
+ * sysdep.c (request_sigio, unrequest_sigio): Same.
+ * x11term.h (BLOCK_INPUT, UNBLOCK_INPUT): Same.
+ * alloc.c (Fmake_marker): Same.
+ * data.c (arith_error): Same.
+ * floatfns.c (float_error): Same.
+
+1992-04-28 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * ymakefile: If we're using GCC version 2.0 or later, use "$(CC)
+ -nostdlib" as the linker. This will allow us to find libgcc.a
+ even when GCC puts it in a really weird place.
+ (YMF_PASS_LDFLAGS): New macro.
+ (temacs): Use it.
+
+ * s/hpux.h: Doc fix.
+
+ * filelock.c (egetenv): Declare this.
+ (lock_path, SUPERLOCK_NAME, superlock_path): New variables and
+ macros.
+ (MAKE_LOCK_PATH, lock_file, unlock_file, lock_superlock): Use the
+ variables lock_path and superlock_path instead of the PATH_LOCK
+ and PATH_SUPERLOCK macros.
+ (init_filelock): New function.
+ * emacs.c (main): Call the init_filelock function.
+ * paths.h.in (PATH_SUPERLOCK): Removed. This is now calculated
+ from PATH_LOCK or from the EMACSLOCKDIR environment variable.
+
+ * filelock.c (MAKE_LOCK_PATH): New macro.
+ (lock_file, unlock_file, Ffile_locked_p): Use it.
+
+ * syntax.c (Fmodify_syntax_entry): Note that '-' is a synonym for
+ ' ' (both denote whitespace), that '\\' denotes the escape class,
+ and that '/' denotes the character-quote class. The description
+ used to claim that '\\' denoted the character-quote class, and
+ neglected to mention '-' and '/'.
+
+ * filelock.c (lock_file): Doc fix.
+
+1992-04-27 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callproc.c (init_callproc): Get the default Vexec_path from the
+ environment variable "EMACSPATH"; get Vdata_directory from
+ "EMACSDATA".
+
+ * ymakefile: Fix #endif and #else comments.
+
+1992-04-27 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * ymakefile (xemacs): Link xemacs to temacs if HAVE_SHM.
+
+ * ymakefile (paths.h, config.h): Never copy, always fail.
+
+ * process.c (wait_reading_process_input): Redisplay if screen_garbaged.
+ Call do_pending_window_change first.
+ Include dispextern.h.
+ * ymakefile (process.o): Added dependency.
+
+ * ymakefile (OLDXMENU_OPTIONS): New macro, used compiling oldxmenu.
+
+1992-04-25 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * ymakefile: Changed all references to LD_CMD to LINKER, for
+ compatibility with the 18.58 configuration files.
+ * s/aix3-1.h, s/sunos4shr.h: Same here.
+
+ * ymakefile: Doc fixes.
+
+ * ymakefile (CC, MAKE): Set these variables from optional macros.
+ Change all uses of `make' to ${MAKE}.
+
+ * ymakefile: use HAVE_X11 as alias for X11.
+
+ * ymakefile (LIB_GCC, GNULIB_VAR): Handle GCC 2.
+
+ * process.c (allocate_pty): Re-arranged conditionals to put the
+ system-specific-case first, and the generic case in the #else
+ section, for consistency with the rest of Emacs.
+
+ * process.c (allocate_pty): Wait until we fail to open three ptys
+ in a row before concluding that we've reached the end of the ptys.
+
+1992-04-22 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * ralloc.c: #include "getpagesize.h".
+
+ * search.c (Flooking_at): Use search_regs.num_regs instead of
+ RE_NREGS. As of regex version 0.4, the compiler allocates the
+ registers, and may allocate more than RE_NREGS.
+ (search_buffer): Same.
+ (Freplace_match): Use search_regs.num_regs to tell how many
+ registers are valid. Also note that if none are valid, no search
+ has been performed.
+ (match_limit): Same.
+ (Fmatch_data): Same.
+ (Fstore_match_data): If we're trying to store more registers than
+ search_regs has allocated, re-allocate them to make room.
+
+1992-04-21 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+
+ * callproc.c (egetenv): Declare the type of VAR.
+
+ * lisp.h: Don't undefine NULL. There is no longer any conflict.
+
+ * lisp.h (NUMBERP): New macro.
+ * editfns.c (Fformat): Protect the sections that deal with
+ Lisp_Float objects with a "#ifdef LISP_FLOAT_TYPE".
+ * bytecode.c (Fbyte_code): Use the NUMBERP macro instead of
+ explicitly checking for the Lisp_Float tag.
+ * callint.c (Fcall_interactively): Same here.
+
+ * xrdb.c (magic_searchpath_decoder): Re-allocate string as needed,
+ rather than making it a fixed-size array.
+
+ * xfns.c (Fx_rebind_key): Don't declare modifier_list to be a
+ register variable. It's too big, and we need the address of its
+ first element when we pass it to XRebindKeysym anyway.
+
+ * fileio.c (Fdo_auto_save): Doc fix.
+
+1992-04-20 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * search.c (search_buffer): Cast RE_EXACTN_VALUE to char, because
+ the regex-0.4 distribution says so.
+
+ * ymakefile (dired.o): This depends on regex.h.
+
+ * process.c (wait_reading_process_input): There is code here which
+ sends SIGIO to Emacs if we thought we had input available but
+ didn't get SIGIO. If the system doesn't have SIGIO, then
+ #ifdef it out.
+
+ * print.c (Fexternal_debugging_output): Arguments were declared
+ ANSI-style - rewritten in K&R 1 fashion.
+
+ * floatfns.c (IN_FLOAT): Cast the zero in the `else' clause of the
+ conditional expression to SIGTYPE, to match the type of the
+ float_error call in the `then' clause.
+
+ * s/hpux8: #define HPUX8; this is supposed to be customary
+ procedure, and fileio.c was expecting it, but somehow it didn't
+ get defined.
+
+ * sysdep.h: Move inclusions of [AIX] <sys/hft.h>,
+ <sys/devinfo.h>, <sys/pty.h>, <unistd.h> [NEED_BSDTTY]
+ <sys/bsdtty.h>, [HPUX and HAVE_PTYS] <sys/ptyio.h>, [SYSV_PTYS]
+ <sys/tty.h>, <sys/pty.h>, and [pfa] <sys/file.h> to systerm.h;
+ also move undefinition of LLITOUT under BSD4_1 to systerm.h.
+ * systerm.h: They're here.
+
+ * xterm.c (XTcursor_to, XTclear_end_of_line): Declare to return
+ int in the function definitions as well as their declarations.
+
+1992-04-19 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * fileio.c (directory_file_name): When checking if the string ends
+ with '/', check that slen is a valid length *before* examining
+ dst[slen-1], not after.
+
+1992-04-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (x_death_handler): New function.
+ (x_error_handler): Call x_death_handler to shut down Emacs.
+ (x_term_init): Use x_death_handler to handle SIGPIPE, instead of
+ x_error_handler, which expects to be passed a display and an
+ event.
+ * process.c (send_process): This used to set a handler to
+ catch SIGPIPEs when writing to a subprocess, and then set the
+ handler to SIGDFL after writing, but this would stomp on the
+ SIGPIPE handler for for the X connection. So restore the prevous
+ handler instead of changing to SIGDFL.
+
+1992-04-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * indent.c (compute_motion): Fix skipping invis lines and
+ truncation at right margin.
+
+1992-04-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * s/hpux.h (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Use pty_name,
+ not ptyname.
+ * s/rtu.h: Same.
+
+ * process.c (pty_process): Add 'int' to the declaration 'static
+ pty_processes;'. This makes it a happy declaration even when
+ static has been #defined as the empty string.
+ * xterm.c (XTcursor_to, XTclear_end_of_line): Same.
+
+ * unexec.c (sbrk): Declare this to return void * if __STDC__ is
+ defined, or char * otherwise.
+
+ * lread.c init_lread): Re-cleaned logic. To determine whether the
+ load path was changed before dumping, cons up a dump path and
+ compare it. This method is more localized and accurate.
+ (initial_path): Variable removed.
+ (syms_of_lread): Don't staticpro.
+
+ * floatfns.c (float_error): Declare and define this to return
+ SIGTYPE.
+
+ * systime.h [HAVE_TIMEVAL] (EMACS_GET_TIME): Declare dummy to be a
+ real struct timezone, instead of an EMACS_TIME. Since
+ HAVE_TIMEVAL is defined, struct timezone ought to be declared, so
+ there's no harm in passing the genuine article.
+
+ * sysdep.c [USG] (rename): Place under the protection of a new
+ preprocessor symbol, HAVE_RENAME.
+ * s/hpux.h (HAVE_RENAME): Defined.
+
+ * sysdep.c [USG] (setpriority): Declare to return int, not void.
+
+ * s/template.h: Add template section for HAVE_TERMIOS.
+
+ * term.c (cursor_to, raw_cursor_to, fatal): Do declare the types
+ of the arguments.
+
+1992-04-15 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callint.c (Fcall_interactively): When the interactive spec is
+ a string, it may be relocated while reading the arguments. To
+ avoid this, make a copy of the spec to refer to, instead of
+ using a pointer to the data of the spec string.
+
+ * callint.c (Fcall_interactively): When following the function
+ chain of a symbol, check for quits.
+
+1992-04-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * lread.c (init_lread): Make the load path default to
+ PATH_LOADSEARCH when we're not dumping (null purify-flag), and
+ PATH_DUMPLOADSEARCH when we are (not (null (purify-flag))).
+ Change from April 7th incorrectly always used PATH_DUMPLOADSEARCH.
+
+ * lread.c (init_lread): Cleaned up logic; to determine whether the
+ load path was changed before dumping, remember the initial value
+ and compare against it.
+ (initial_path): New variable to support this.
+ (syms_of_lread): staticpro initial_path.
+
+ * ymakefile: Renamed filenames like "*-dist" to "*.in".
+
+ * config.h.in: Doc fixes.
+
+1992-04-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * config.h-dist: Renamed to config.h.in, for consistency with
+ the installation conventions of other GNU programs.
+ * paths.h-dist: Renamed to paths.h.in.
+
+1992-04-11 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
+
+ * termcap.c: Declare getenv.
+
+1992-04-08 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * Makefile: Renamed to Makefile.in; the configure script will edit
+ this to produce Makefile.
+
+1992-04-07 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * paths.h-dist (PATH_DUMPLOADSEARCH): New macro.
+ * lread.c (init_lread): If we're building an Emacs to be dumped,
+ use PATH_DUMPLOADSEARCH as the default load path, so we can
+ correctly find our lisp files.
+
+ * config.h-dist, paths.h-dist: Added "-*- C -*-" to top lines, so
+ Emacs will know that these are really C source.
+
+1992-04-03 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * search.c (syms_of_search): When allocating memory
+ searchbuf.buffer, cast the return value of malloc to unsigned char
+ *, not char *; this changed in the most recent version of the
+ regex code.
+
+1992-03-31 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * doc.c (Fdocumentation): Don't forget to end each line of the
+ docstring with "\n\".
+
+ * process.c (Fprocess_connection): Change "#ifdef 0" around this
+ function to "#if 0".
+
+ * eval.c (Flet, FletX): Signal an error if one of the let's binding
+ clauses has more than one value form, as in (let ((a 1 2)) a).
+
+ * eval.c (Ffuncall): Re-install change of March 10; I don't know
+ why it went away.
+
+ * search.c (compile_pattern): Declare the variable which holds the
+ return value of re_compile_pattern to be const, if this is ANSI C.
+
+ * alloc.c (xrealloc): Change "ese" to "else".
+
+ * crt0.c (start1) [sun_soft]: Change 'jst' to 'jsr'. The Sun
+ assembly language manual doesn't list any 'jst' instruction, I
+ don't know of one personally, and all the analogous code
+ around it uses 'jsr'.
+
+ * crt0.c [m68k]: Merged with GNU C Library's version: added
+ conditionals for sun_68881, sun_fpa, sun_soft.
+
+ * config.h-dist: Adjusted for renaming of share-lib to etc.
+ * lread.c (read1): Same.
+ * doc.c (Fdocumentation_property, Fsnarf_documentation): Same.
+ * ymakefile: Same.
+
+1992-03-30 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * crt0.c: Merged changes from 18.58:
+ [hp9000s300]: Set flag_fpa. Define float_loc.
+ [new hp assembler]: Double flag_fpa and flag_68881 if %d2!=0.
+ (start1): Declare to be static at the top of the file.
+ (_start): Removed static declaration in this function; since
+ everyone wants it, we'll just put it here.
+
+1992-03-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Finsert_file_contents): Allow quitting from I/O.
+ (Fcopy_file): Likewise.
+
+1992-03-20 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * m-intel386.h (HAVE_ALLOCA): Inhibit if C_ALLOCA.
+ (LIB_STANDARD): Alternate USG value if __GNUC__ or C_ALLOCA
+
+ * alloc.c (xrealloc): If handed a NULL pointer for the block to
+ resize, malloc a new block and return that. Not all reallocs do
+ this.
+
+ * m/elxsi.h: Doc fix.
+
+1992-03-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * dispnew.c (Fsleep_for): Call wait_reading_process_input, whether
+ or not we have process support; let the emulator do the work.
+ * emacs.c (fatal_error_signal, Fkill_emacs): Call
+ kill_buffer_processes even when subprocesses is not #defined; we
+ have a stub.
+
+ * process.c [not defined (subprocesses)] (Fget_buffer_process,
+ init_process, syms_of_process): New stub versions of these functions.
+ * emacs.c (main): Call init_process and syms_of_process whether or
+ not subprocesses is #defined.
+ * xdisp.c (decode_mode_spec): Call Fget_buffer_process whether or
+ not subprocesses is #defined.
+
+1992-03-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * keyboard.c (kbd_buffer_get_event): Call
+ wait_reading_process_input, even when subprocesses is not
+ #defined, instead of doing a whole lot of hairy SIGIO-pausing
+ stuff.
+ * dispnew.c (Fsit_for): Call wait_reading_process_input, whether
+ or not subprocesses is #defined.
+
+ * process.c (wait_reading_process_input): Since we're no longer
+ checking for exceptional conditions in the call to select, all of
+ the different ways to call select for different systems have
+ become the same; remove the #if conditionals around this.
+
+ * keyboard.c (read_char): When returning quit_char because we got
+ an interrupt signal, claim that the character came from the
+ currently selected screen.
+
+1992-03-16 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callproc.c (Fcall_process): Doc fix.
+
+ * process.c [not defined (subprocesses)] (kill_buffer_processes):
+ New dummy version of this function.
+ * buffer.c (Fkill_buffer): Removed '#ifdef subprocesses'
+ protection from the call to kill_buffer_processes; this is safe
+ whether or not we actually have subprocesses.
+
+1992-03-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * m/pfa50.h: New file.
+ * process.c (create_process, process_send_signal): Added changes
+ for m/pfa50.h.
+ * sysdep.c: same.
+ * unexec.c: same.
+
+1992-03-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callproc.c (child_setup): Always put the child in its own
+ process group.
+
+1992-03-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * mem_limits.h (POINTER): Doc fix.
+
+ * ralloc.c: Don't #include lisp.h and xterm.h; we no longer need
+ to block input in critical sections.
+ (r_alloc, r_alloc_free, r_re_alloc): Don't use BLOCK_INPUT and
+ UNBLOCK_INPUT; these are no longer needed.
+ (struct bp): Doc fix.
+
+1992-03-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * ralloc.c (obtain): When deciding how many pages to request, take
+ into account the amount of spare bytes at the end of the current
+ page; let get be ROUNDUP (size - already_available), instead of
+ ROUNDUP (size).
+ (relinquish): Re-organized for clarity.
+
+ * editfns.c (Fcurrent_time): Updated to return the current time's
+ seconds split into two 16-bit integers (similar to the system used
+ by file-attributes), and the milliseconds.
+
+1992-03-10 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * process.c (Faccept_process_output): Add new optional argument
+ TIMEOUT-MSECS, and return non-nil iff we actually got some input
+ from the process(es).
+ (wait_reading_process_input): Make return value indicate whether
+ we got some input from the specified process, when read_kbd is a
+ process, or from any process when read_kbd isn't particular.
+
+ * indent.c (Fmove_to_column): Pass the correct number of arguments
+ to Findent_to.
+
+ * eval.c (Ffuncall): If a subr is asking for too many arguments,
+ abort instead of printing an error message; this is an internal
+ flaw in Emacs, and the subr cannot be called.
+
+1992-03-06 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * doc.c (Fdocumentation, Fdocumentation_property): Take optional
+ new arg to not pass results thru substitute-command-keys.
+
+1992-03-05 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * unexmips.c (unexec): When setting up the data_section header,
+ calculate the size of the section as "brk - data_start," not "brk
+ - DATA_START".
+
+1992-02-23 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * fileio.c: #include "systime.h".
+ (Fcopy_file): Use the systime.h macros to copy the time to the new
+ file.
+ * ymakefile: Note that fileio.o depends on systime.h.
+
+ * ymakefile (dispnew.o): Note that this depends on systerm.h and
+ systime.h.
+ (editfns.o, xterm.o, sysdep.o): Note that this depends on
+ systime.h.
+ (emacs.o, keyboard.o, process.o, sysdep.o): Note that these depend
+ on systerm.h.
+
+ * systerm.h: Expanded to handle getting and setting terminal
+ parameters:
+ (struct emacs_tty): New structure, which consolidates all of the
+ old tty parameter structures.
+ (EMACS_GET_TTY, EMACS_SET_TTY, EMACS_TTY_TABS_OK): New macros.
+ * sysdep.c (TABS_OK): Definitions of this macro removed;
+ EMACS_TTY_TABS_OK replaces it.
+ (TERMINAL): Definitions removed; now we use struct emacs_tty.
+ [VMS] (input_chan): Renamed to...
+ (input_fd): and defined even when VMS isn't; in that case, we
+ leave it initialized to zero, which is the input tty. This allows
+ us to use the EMACS_GET_TTY and EMACS_SET_TTY for both VMS and
+ Unix.
+ (discard_tty_input): Use struct emacs_tty and its macros instead
+ of TERMINAL. Replace some of conditional with a call to
+ EMACS_GET_TTY.
+ (child_setup_tty): Use struct emacs_tty and its macros instead of
+ TERMINAL and conditionals.
+ (old_gtty, old_ltchars, old_tchars, old_lmode): Replaced by...
+ (old_tty): New variable.
+ (lmode): Made conditional on BSD4_1, since it's only used by the
+ BSD4_1 support code now.
+ (init_sys_modes): Define tty to be a struct emacs_tty, not a
+ TERMINAL. Use macros to get and set parameters for VMS and
+ Unices. Set lmode, tchars, and ltchars along with the rest of the
+ tty state.
+ (tabs_safe_p): Use EMACS_GET_TTY and EMACS_TTY_TABS_OK instead of
+ conditionals.
+ (reset_sys_modes): Use EMACS_SET_TTY to restore the settings from
+ old_tty, instead of using hairy conditionals.
+
+ * sysdep.c (get_screen_size): Neatened; now each system of
+ reporting the screen size is separated from the rest.
+
+ * systerm.h (EMACS_HAVE_TTY_PGRP, EMACS_GET_TTY_PGRP,
+ EMACS_GET_TTY_PGRP): New macros to handle setting a tty's current
+ process group.
+ * sysdep.c (setpgrp_of_tty): Use the above, instead of
+ conditionals.
+
+ * sysdep.c: #include "systerm.h".
+ #ifs that choose #include files moved from here...
+ * systerm.h: to here.
+
+ * sysdep.c [APOLLO]: We now undefine TIOCSTART not here but...
+ * systerm.h: here.
+
+ * sysdep.c [BROKEN_TIOCGETC]: We now undefine TIOCGETC not here but...
+ * systerm.h: here.
+
+ * sysdep.c [BROKEN_FIONREAD]: We now undefine FIONREAD and FASYNC
+ not here but...
+ * systerm.h: here.
+
+ * process.c (process_send_signal): Steal 18.58's version of this,
+ but incorporate the support for VMS signals.
+
+ * syssignal.h (EMACS_KILLPG): New macro.
+ * process.c (process_send_signal): Use it.
+ * sysdep.c (sys_suspend): Use it.
+
+ * syssignal.h (SIGCHLD): If we have SIGCLD and not SIGCHLD, define
+ SIGCHLD as an alias for SIGCLD.
+ * sysdep.c: Remove code for above.
+
+ * sysdep.c (init_baud_rate): Rather than trying to maintain the
+ illusion of an abstraction with the OSPEED and SETOSPEED macros,
+ just use conditionalized code for each terminal kind. This is the
+ only place we ever need this functionality.
+ (OSPEED, SETOSPEED): Definitions removed.
+
+1992-02-22 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * sysdep.c: Moved definition of sigunblock macro to ...
+ * syssignal.h: Here.
+
+ * hftctl.c: #include <sys/uio.h> before #including <sys/tty.h>.
+ (hfqry, hfskbd): Declare these functions as static before all uses.
+ * unexaix.c (make_hdr, mark_x, copy_text_and_data, copy_sym):
+ Declare as static before all uses.
+ Remove extraneous semicolons from #ifdefs of COFF and XCOFF
+ (unrelocate_symbols): cast the initializers of t_start and d_start
+ to ulong.
+
+ * s/template.h: Include a clause for the HAVE_TERMIO flag.
+
+1992-02-21 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * keyboard.c (read_char): Don't clear Vquit_flag when we catch an
+ interrupt and return a quit_char; this change (Mar 21 1991) is too
+ large a change in functionality for the cleanliness it gains.
+
+ * pwd.h: Renamed to vms-pwd.h, so that we don't get it by accident
+ when we #include <pwd.h> with the `-I.' flag given to the
+ compiler.
+ * editfns.c [VMS]: Changed to include vms-pwd.h instead of pwd.h.
+ * fileio.c [VMS]: Same.
+ * filelock.c [VMS]: Same.
+ * sysdep.c [VMS]: Same.
+
+ * xrdb.c: Changed to #include "vms-pwd.h" if VMS is defined,
+ instead of including <pwd.h> unconditionally.
+
+ * window.c (Fset_window_display_table): Rearranged to make etags
+ happy.
+
+ * xterm.c (XTread_socket): Clear the meta flag from the keypress
+ event before handing it to XLookupString.
+
+1992-02-20 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * sysdep.c: No need to test #ifdef TIOCGETP before #undefing it.
+
+1992-02-19 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * systime.h: New file.
+ * dispnew.c: #include "systime.h" to get <time.h> or <sys/time.h>,
+ whichever is appropriate, instead of using a conditional.
+ (Fsleep_for, Fsit_for, Fsleep_for_millisecs): Use the systime.h
+ macros instead of HAVE_TIMEVAL conditionals.
+ * editfns.c: #include "systime.h" to get <time.h> or <sys/time.h>,
+ whichever is appropriate, instead of using a conditional.
+ * fileio.c: Same.
+ * process.c: Same.
+ * xterm.c: Same.
+ (wait_reading_process_input): Use the systime.h macros.
+ * sysdep.c: #include "systime.h" to get <time.h> or <sys/time.h>,
+ whichever is appropriate, instead of using a conditional.
+
+ * m/template.h: Add description of NO_SOCK_SIGIO.
+
+ * sysdep.c (reset_sys_modes): Doc fix.
+
+ * keyboard.c (sigfree, sigholdx, sigblockx, sigunblockx,
+ sigpausex): Definitions moved to syssignal.h.
+
+ * dispnew.c: Doc fix.
+
+ * systerm.h: New file, to consolidate the system-dependent
+ terminal-handling trash.
+ * emacs.c: #include systerm.h.
+ (main): Use systerm.h macros instead of conditionals.
+ * dispnew.c: #include systerm.h.
+ (update_screen): Use EMACS_OUTQSIZE instead of the direct ioctl.
+ * keyboard.c: #include systerm.h to get the proper FIONREAD header
+ files, instead of using conditional.
+
+ * syssignal.h: Added copyright notice.
+
+ * emacssignal.h: Renamed to syssignal.h, to be like sysdep.c.
+ * data.c, keyboard.c, process.c, sysdep.c, ymakefile: Changed
+ #include directives.
+
+1992-02-15 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * m/intel386.h: Don't bother casting the argument to the signal
+ function; the SIGTYPE code in config.emacs ought to take care of
+ this.
+
+ * buffer.c (record_buffer): Doc fix.
+
+1992-02-13 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * s/iris3-6.h: #define HAVE_GETWD.
+
+1992-02-11 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * window.c (Fwindow_at): Accept position as two arguments, not a
+ cons of numbers.
+
+ * window.c (scroll_command): Undo the Jan 31 change; do set the
+ current buffer to the selected window's buffer. A simple
+ set-buffer will make these two different.
+
+1992-02-10 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * callproc.c (Fcall_process): Clear synch_process_death and
+ synch_process_retcode to zero before forking the process.
+
+ * process.c (synch_process_death, synch_process_retcode): Don't
+ declare them extern here.
+ * process.h (synch_process_death, synch_process_retcode): Declare
+ them extern here, along with synch_process_alive.
+
+ * s/hpux.h: Define CLASH_DETECTION.
+
+ * window.c (init_window_once): Don't pass any arguments to
+ make_window.
+
+ * keyboard.c (command_loop_1): Move the label directly_done out of
+ the else block to just after the else block. This shouldn't
+ change the semantics of the code, but appears to avoid a compiler
+ bug on SCO Unix V.3.2v2.
+
+ * fileio.c (Fset_umask, Fumask): New functions.
+ (syms_of_fileio): defsubr them.
+
+ * undo.c (Fprimitive_undo): When undoing a deletion with the point
+ before the deleted text, use Finsert_before_markers so that the
+ mark will end up on the other side of the text, if it's in the
+ area at all.
+
+ * xdisp.c (redisplay): Properly compute TAB_OFFSET for compute_motion.
+
+ * keyboard.c (command_loop_1): Don't check whether cursor is at
+ edge of screen here.
+ * dispnew.c (direct_output_forward_char): Check here, and return
+ zero if it can't be done. And compare the cursor position to the
+ window boundaries, not the screen boundaries.
+
+1992-02-05 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * screen.c (Fscreen_parameters): If the screen has a minibuffer
+ window on another screen, return the window, instead of nil.
+ (store_screen_param): If the value of the minibuffer parameter is
+ a window, try to make it the surrogate minibuffer window.
+ (Qminibuffer): New variable, to support above change.
+ (syms_of_screen): initialize and staticpro it.
+
+ * m/tad68k.h: New file.
+
+ * fileio.c (Ffile_accessible_directory_p): New function.
+ (syms_of_fileio): defsubr it.
+ * callproc.c: #include <errno.h>.
+ (child_setup): Accept yet another argument, current_dir.
+ Don't try to report an error here if current_dir is inaccessible;
+ this function is called in a vforking process. Just have the
+ process exit with an error code.
+ (Fcall_process): Make sure that the current directory is okay
+ here, before we fork. Pass the current_dir argument.
+ * process.c (create_process): Same here.
+
+ * callproc.c (Fcall_process): Don't assign into args[1] when nargs
+ < 2. Instead, use a new variable called infile. Re-arranged
+ logic which processes the BUFFER argument.
+
+1992-02-03 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * fileio.c (Fexpand_file_name): Doc fix.
+
+ * scroll.c (line_ins_del): Since we're calculating the array from
+ end to beginning, make the indices go that way, and thus clearly
+ get the right boundary. This used to ignore the [0] element, and
+ write in the [screen_height] element, which doesn't exist.
+
+1992-02-03 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * xdisp.c (redisplay, try_window_id): Special case for change
+ at beginning of line, if using selective display.
+
+1992-01-31 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * m/delta88k.h: Added USUAL-OPSYS information, for the
+ config.emacs script to use.
+
+ * window.c (scroll_command): Don't bother setting the current
+ buffer to the selected window's buffer; this should always already
+ be the case. Add check just in case.
+
+ * indent.c (compute_motion): Don't pack vpos and hpos into one int;
+ use separate variables hpos/vpos and prev_hpos/prev_vpos.
+ (vmotion): Use largest int as tovpos arg to compute_motion.
+
+1992-01-30 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * window.c: #include "keyboard.h" to get the Qmode_line and
+ Qvertical_split declarations.
+ * ymakefile (window.o): Note that this depends on keyboard.h.
+
+ * callproc.c (getenv_internal): Cast the pointer to the variable's
+ value to a char *; elisp strings are unsigned char *'s. And
+ valuelen is an int *, not an int **.
+
+ * scroll.c (do_scrolling): Document meaning of enable flag in
+ temp_screen.
+
+1992-01-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m-orion105.h (C_DEBUG_SWITCH, LIBS_DEBUG): Defs deleted.
+
+1992-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m-iris4d.h (C_SWITCH_MACHINE): New definition.
+
+1992-01-28 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * term.c: #include "keyboard.h", for Vfunction_key_map.
+ * keyboard.h: Declare Vfunction_key_map.
+
+ * keyboard.h: New file, for external declarations used in
+ processing keyboard input and events.
+ * lisp.h (Qmode_line, Qvertical_split, num_input_chars,
+ poll_suppress_count): Extern declarations moved to keyboard.h.
+ * keyboard.c: #include "keyboard.h".
+ (Qvscrollbar_par, Qvslider_part, Qvthumbup_part,
+ Qvthumbdown_part, Qhscrollbar_part, Qhslider_part,
+ Qhthumbleft_part, Qhthumbright_part): Moved declarations here from
+ xfns.c, so they're with the other event heading symbols.
+ * eval.c: #include "keyboard.h".
+ * ymakefile (callint.o, keyboard.o, keymap.o, xfns.o, eval.o):
+ Note that these depend on keyboard.h.
+
+ * xfns.c: The above symbols aren't here any more. #include
+ "keyboard.h" to get them.
+ (syms_of_xfns): Don't initialize or staticpro them.
+ * keyboard.h: Added extern declarations for the above.
+ * callint.c: #include "keyboard.h".
+
+ * xfns.c (Vmouse_screen_part): Variable removed, no longer used.
+ (syms_of_xfns): Changed accordingly.
+
+ * xterm.c (Qmouse_moved): Variable removed, no longer used.
+ (Qmouse_click, Qscrollbar_click): Removed. These are now event
+ types, in keyboard.c and keyboard.h; they're no longer used in
+ this way.
+ (Vmouse_window, Vmouse_screen_part): Extern declarations removed.
+ (XTread_socket): Don't assign to Vmouse_window or
+ Vmouse_screen_part.
+ (syms_of_xterm): Changed accordingly.
+
+ * keyboard.h (EVENT_HAS_PARAMETERS, EVENT_HEAD, EVENT_WINDOW,
+ EVENT_BUFFER_POSN, EVENT_SCROLLBAR_BUTTON, EVENT_WINDOW_POSN,
+ EVENT_TIMESTAMP, EVENT_HEAD_UNMODIFIED, EVENT_HEAD_KIND): New
+ macros to recognize and access events that have parameters, like
+ mouse events.
+ * keyboard.c (read_char, echo_char, Fmouse_click_p,
+ read_key_sequence): Use them.
+ * keymap.c: #include "keyboard.h".
+ (access_keymap, store_in_keymap, Fsingle_key_description): Use the
+ macros from keyboard.h.
+
+ * keyboard.c (Qevent_kind): New symbol, naming the property of an event
+ header where we put the event's type.
+ (Qfunction_key, Qmouse_click, Qscrollbar_click): New symbols, used
+ to tag different kinds of events.
+ (Qevent_unmodified): New symbol, naming the property
+ of an event header where we put an unmodified version of the event
+ header.
+ (modify_event_symbol): Take a new argument, SYMBOL_KIND, whose
+ value should be put on the Qevent_kind property of each symbol we
+ make. Set the Qevent_unmodified property of each symbol we make.
+ (make_lispy_event): Pass the appropriate SYMBOL_KIND argument to
+ modify_event_symbol.
+ (struct event_head, head_table): New tables, to simplify the
+ initialization of some of the event heads.
+ (syms_of_keyboard): Initialize and staticpro the symbols given in
+ head_table, and put the Qevent_kind and Qevent_unmodified
+ properties on them. Initialize all of the new symbols listed
+ above.
+
+ * keyboard.c (lispy_function_keys, lispy_mouse_names): Renamed
+ these from function_key_names and mouse_names, and moved them
+ outside of make_lispy_event, since static doesn't work on all
+ systems, and these can't be automatic.
+
+1992-01-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fwrite_region): Remove Alliant conditional.
+ * crt0.c: Conditionals for ALLIANT_2800.
+ * m/alliant-2800.h: New file.
+ * unexfx2800.c: New file.
+
+ * m-mips4.h (C_DEBUG_SWITCH): Alternate defn for GCC.
+
+ * sysdep.c [VMS] (sys_write): Special case for fixed-length
+ with carriage-control characters.
+
+ * s/isc2-2.h (NOMULTIPLEJOBS): Undef this.
+ (LIB_STANDARD): Add -lPW.
+ (LIBS_SYSTEM): Defined.
+ * m/intel386.h (signal): Optionally don't define it.
+
+1992-01-27 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * s/template.h: Document the SIGTYPE macro.
+ * s/bsd4-3.h: Define the SIGTYPE macro.
+
+ * data.c (Fsymbol_value): Extract all the innards of this function
+ into find_symbol_value, except the code which signals an error.
+ (find_symbol_value): New function.
+ * lisp.h (find_symbol_value): Declare it.
+ * keymap.c (current_minor_maps): Use it, instead of a call to
+ Fboundp and Fsymbol_value per every minor map, for every key
+ sequence read.
+
+ * xterm.c (x_make_screen_visible): Don't raise the window. This
+ causes the window to pop to the front every time a message
+ appears, which isn't desirable.
+
+ * screen.c (Fselect_screen, Fdelete_screen, Fset_mouse_position,
+ Fmake_screen_visible, Fmake_screen_invisible, Ficonify_screen,
+ Fdeiconify_screen, Fscreen_parameters, Fmodify_screen_parameters,
+ Fset_screen_height, Fset_screen_width, Fset_screen_size,
+ Fset_screen_position): Use SCREEN_IS_X macro instead of testing
+ for output_x_window.
+ * xfns.c (adjust_scrollbars, Fx_store_cut_buffer): Same.
+
+1992-01-25 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * term.c (term_get_fkeys): New function.
+ (term_init): Call term_get_fkeys.
+
+1992-01-21 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * editfns.c (Ffollchar, Fprevchar): Renamed to Ffollowing_char and
+ Fprevious_char, for consistency. Renamed Sfollchar and Sprevchar
+ too.
+ (syms_of_editfns): Fixed defsubrs.
+ * lisp.h (Ffollchar, Fprevchar): Renamed extern declarations as above.
+
+ * editfns.c (Ffollowing_char): Return 0 at the end of the buffer,
+ as advertised. Doc fix.
+ (Fprevious_char): Doc fix.
+
+ * config.h-dist: Rearranged to define user parameters before
+ including the machine and opsystem files, so the files can have
+ conditionals on the parameters.
+
+1992-01-15 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * keyboard.c (read_key_sequence): When expanding a function key
+ recognized with Vfunction_key_map, don't scan the expansion for
+ further function key sequences.
+
+ * keyboard.c (Vfunction_key_map): Real declaration moved to
+ keymap.c; this declaration made extern.
+ (syms_of_keyboard): DEFVAR and initialization of Vfunction_key_map
+ moved to keymap.c, since it should be initialized to a keymap, but
+ we don't want to rely on Qkeymap being initialized now.
+ * keymap.c (Vfunction_key_map): Variable moved here.
+ (syms_of_keymap): DEFVAR and init here.
+
+ * keymap.c (Fglobal_key_binding): Doc fix.
+
+1992-01-16 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * m-delta88.h: New file.
+
+ * window.c (window_scroll): New arg `noerror'.
+ (scroll_command, Fscroll_other_window): Pass that arg.
+
+1992-01-15 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * process.c (sigchld_handler):
+ Set synch_process_death and synch_process_retcode.
+
+1992-01-14 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * config.h-dist (SIGTYPE): New macro to help give signal handlers
+ the correct type.
+ * s/usg5-3.h (SIGTYPE): Define this to be void.
+ * dispnew.c (window_change_signal): Declare this to return
+ SIGTYPE.
+ * emacs.c (fatal_error_signal): Same.
+ * data.c (arith_error): Same.
+ * process.c (create_process_1, send_process_trap,
+ create_process_sigchld, sigchld_handler): Same.
+ (create_process): Declare sigchld according to SIGTYPE. This
+ means we don't have to cast the return value of signal.
+ * keyboard.c (input_poll_signal, interrupt_signal): Declare these
+ to return SIGTYPE.
+ (kbd_buffer_store_event): Include a forward declaration for
+ interrupt_signal here.
+ * sysdep.c (struct save_signal): Say the handler returns SIGTYPE
+ instead of int.
+ (save_signal_handlers): So we don't have to cast the return value
+ from signal here.
+ (sys_suspend): Declare oldsig according to SIGTYPE.
+ (select): Declare old_trap using SIGTYPE.
+ (select_alarm, wait_for_termination_signal): Declare these to
+ return SIGTYPE.
+
+ * emacs.c: #include <termios.h>, if we have it.
+ (fatal_error_signal): If we have termios, use tcgetpgrp to get the
+ terminal's process group.
+ * process.c: If we have termios, #include <termios.h> instead of
+ <termio.h>.
+ (process_send_signal): If we have termios, use tcgetpgrp to get
+ the terminal's process group. Have gid default to the child's
+ pid, to simplify the logic below.
+ * sysdep.c (flush_pending_output): If we are using termios, make
+ this function a no-op; since we're not in the tty's pgroup, we
+ would get a SIGTTIN.
+
+1992-01-13 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * config.h-dist: Removed MAINTAIN_ENVIRONMENT clause.
+ * callproc.c: Removed support for MAINTAIN_ENVIRONMENT.
+ (init_callproc): Use getenv instead of egetenv to initialize
+ Vshell_file_name.
+ * emacs.c (decode_env_path): Use getenv instead of egetenv
+ * lisp.h: Removed support for MAINTAIN_ENVIRONMENT.
+ * process.c: Same.
+ * ymakefile: Same.
+ * dispnew.c (init_display): Call getenv instead of egetenv.
+
+ * editfns.c (Fgetenv): Function moved...
+ * callproc.c (Fgetenv): To here, and made to scan
+ Vprocess_environment instead of using the usual C getenv function.
+ (getenv_internal): New function.
+ (egetenv): New function.
+ * lisp.h: Added extern declaration for egetenv.
+ * editfns.c (syms_of_editfns): Adjusted.
+ * callproc.c (syms_of_callproc): Adjusted.
+
+ * window.h (minibuf_prompt_width): Declare this extern here, after
+ minibuf_prompt.
+ minibuf.c: Don't extern declare it here.
+ indent.c: As above.
+
+ * dispnew.c (buffer_posn_from_coords): If there is a prompt in the
+ minibuffer, account for its width when computing the buffer
+ position.
+
+ * Makefile (doall): Explicitly export CC to the xmakefile.
+
+ * ymakefile: Use /* */ around comments; # confuses cpp.
+
+ * ymakefile: Note that ralloc.o depends on mem_limits.h, xterm.h,
+ and config.h.
+ Note that vm-limit.o depends on mem_limits.h.
+
+ * lread.c (read_escape): Return \a as '\007', not '\a'; the latter
+ isn't portable, and this routine would have to be revised anyway
+ to deal with anything other than ASCII.
+
+ * keymap.c (current_minor_maps): Rewritten not to use
+ function-local static variables, to accomodate DGUX.
+
+ * xterm.h (UNBLOCK_INPUT): Replace "abort ()" with "(abort (),
+ 0)", to avoid type conflicts on odd systems like Ultrix.
+
+ * xrdb.c: Include <sys/types.h>, and declare getuid to return uid_t.
+
+ * xdisp.c (redisplay_window): Use SET_PT macro instead of
+ assigning to point.
+ insdel.c (insert_from_string): Same.
+
+ * xterm.c (XTcursor_to): Declare it static at the function
+ definition, as well as at the top of the file.
+ (dumpglyphs): Removed declarations for buf and cp; these variables
+ are never used.
+
+ * lisp.h (NULL): Renamed to NILP, so as not to conflict with
+ <stdio.h>, and <stddef.h>. All callers changed; all
+ #undefinitions of NULL removed.
+
+1992-01-12 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * xdisp.c (message): #ifdef NO_ARG_ARRAY, make a local block to
+ declare the explicit argument array.
+
+ * config.h-dist: Instead of reaching the machine- and
+ system-dependent files through symlinks, replace the strings
+
+1992-01-09 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * keyboard.c (stuff_buffered_input): Don't forget to increment
+ kbd_fetch_ptr while looping through kbd_buffer.
+
+1992-01-08 Jim Blandy (jimb at occs.cs.oberlin.edu)
+
+ * keyboard.c (read_avail_input): Don't forget to fill in the
+ screen field in events read from the terminal.
+ * sysdep.c (kbd_input_ast, read_input_waiting): Call
+ kbd_buffer_store_event with a `struct input_event *', not a
+ character or a Lisp_Object.
+
+1991-12-21 Jim Blandy (jimb at occs.cs.oberlin.edu)
+
+ * bytecode.c (docall): Don't remove protection from the arguments
+ to Ffuncall.
+
+1991-12-20 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (Vfunction_key_map): New variable.
+ (read_key_sequence): Changed to recognize and substitute bindings
+ in Vfunction_key_map at any point in the sequence, unless they
+ conflict with ordinary bindings.
+ (syms_of_keyboard): DEFVAR, document, and initialize
+ Vfunction_key_map.
+
+1991-12-19 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keymap.c (Vminor_mode_map_alist): New variable, to support
+ keymaps for minor modes.
+ (current_minor_maps, Fminor_mode_key_binding,
+ Fcurrent_minor_mode_maps): New functions.
+ (Fkey_binding): Rewritten to scan for minor mode bindings too.
+ (syms_of_keymap): DEFVAR, document, and initialize
+ Vminor_mode_map_alist, and defsubr the new Ffunctions.
+ (describe_buffer_bindings): Describe the bindings established by
+ minor modes too.
+ * keyboard.c (follow_key): New function, to support...
+ (read_key_sequence): Completely rewritten to handle scanning an
+ arbitrary number of keymaps at a time.
+
+ * keyboard.c (Fread_key_sequence): GCPRO keybuf, since it can hold
+ lisp expressions while waiting for input. Don't pass too many
+ arguments to read_key_sequence.
+ (command_loop_1): Don't pass too many arguments to read_key_sequence.
+
+ * keyboard.c (add_command_key): New function; there are several
+ places that add keys to this_command_keys, so we make one function
+ to do the work.
+ (read_char, Fexecute_extended_command): Call add_command_key
+ instead of writing out its code again.
+ (init_keyboard): Allocate this_command_keys according to
+ this_command_keys_size.
+
+ * lread.c (read1): Change comment to use `share-lib' instead of `etc'.
+ * doc.c (Fdocumentation_property, Fsnarf_documentation): Update
+ docstring similarly.
+ (Fsnarf_documentation): Use "../share-lib/" instead of "../etc/"
+ to find doc file while dumping.
+ * unexaix.c: Similar doc fix.
+
+ * ymakefile (etcdir): Variable removed.
+ (libsrc, archlib, sharelib): New variables, to take the place of
+ etcdir.
+
+1991-12-18 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * ymakefile (CFLAGS): Don't automatically include C_DEBUG_SWITCH
+ in the value for CFLAGS; the configuration script will take care
+ of choosing the debugging and optimization switches.
+
+ * config.h-dist: Copy the GLYPH definitions from config.h to here.
+
+1991-12-16 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * abbrev.c (Fexpand_abbrev): Run pre-abbrev-expand-hook.
+ (syms_of_abbrev): Define that variable.
+
+1991-12-13 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * m/m-*.h: Since the m- is now redundant, renamed all files to
+ remove it, and changed references within files.
+ * s/s-*.h: Same business.
+
+1991-12-11 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * config.h-dist (MULTI_SCREEN): Define this automatically when
+ we're using a window system.
+
+1991-12-09 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * m/m-*.h (i.e. all machine config files): Added USUAL-OPSYS
+ comments to tell the configuration script what sort of operating
+ system this machine typically runs.
+
+ * config.h-dist (MScreenWidth, MScreenLength): Deleted; no longer
+ used.
+
+1991-12-08 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * editfns.c (Fcurrent_time): New function, to return the current
+ time as a number, like the Unix time(3) function. This might be
+ fun to port.
+ (syms_of_editfns): defsubr it.
+
+1991-12-05 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keymap.c (Vminor_mode_map_alist): New variable.
+ (current_minor_maps): New function.
+ (Fcurrent_minor_mode_maps): New function.
+ (syms_of_keymap): DEFVAR, document, and initialize
+ Vminor_mode_map_alist, and defsubr Fcurrent_minor_mode_maps.
+
+ * callproc.c (Vdata_directory): New lisp variable, for the
+ directory containing architecture-independent data files.
+ (init_callproc): Initialize Vdata_directory from PATH_DATA, and
+ make sure it exists. Renamed execdir to tempdir, because we use
+ it for both Vexec_directory and Vdata_directory.
+ (syms_of_callproc): Doc fix for Vexec_directory, new DEFVAR_LISP
+ for Vdata_directory.
+ * paths.h-dist (PATH_DATA): New path macro, to initialize
+ Vdata_directory.
+ * doc.c (get_doc_string): Use Vdata_directory to find the
+ docstrings, not Vexec_directory.
+ * lisp.h (Vdata_directory): New extern declaration, for above
+ users.
+ * config.h-dist: Changed references to ../etc to ../share-lib.
+
+ * callint.c (Fcall_interactively): For the 'k' interactive code,
+ cast the type of the symbol name before passing it to error.
+
+1991-12-02 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (make_lispy_movement): Move call to
+ mouse_position_hook from here...
+ (kbd_buffer_get_event): To here, for symmetry with non-movement
+ events.
+
+ * keyboard.c (kbd_buffer_get_event): Set Vlast_event_screen for
+ mouse movements, too.
+
+1991-11-27 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu)
+
+ * alloca.c (alloca): Add parens to make precedence clearer.
+
+1991-11-26 Michael I Bushnell (mib at geech.gnu.ai.mit.edu)
+
+ * search.c: need to include sys/types.h because of recent mod to
+ regex.h.
+
+1991-11-25 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * bytecode.c: BYTE_CODE_METER and BYTE_CODE_SAFE undefined by default.
+ (METER_CODE): Define same name whether metering or not.
+ (BinsertN): New byte code.
+ (Fbyte_code): Improve overflow/underflow error messages.
+ (docall): Put back previously lost code to remove protection
+ from funcall args.
+
+1991-11-25 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * lisp.h (make_array): New extern declaration.
+
+ * alloc.c (make_sequence): Renamed to make_array; more accurate.
+ * keyboard.c (Fread_key_sequence, Fthis_command_keys): Callers fixed.
+ * macros.c (Fend_kbd_macro): Callers fixed.
+
+1991-11-15 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (cmd_error): If an error occurs before somebody has
+ provided a screen to print it on, print it to stderr and exit
+ Emacs. Handle batch-mode errors with the same code.
+ * lisp.h (Qexternal_debugging_ouput): New extern declaration, for
+ use in cmd_error.
+
+ * screen.c (Fscreen_pixel_size, Fset_screen_position): Doc fix.
+
+ * window.c (Fwindow_at): Typecheck COORDINATES more thoroughly.
+
+ * screen.c (read_mouse_position): Function deleted.
+ (Fread_mouse_position): Renamed to Fmouse_position, and changed to
+ use mouse_position_hook.
+ (syms_of_screen): Adjusted accordingly.
+ * xfns.c (x_read_mouse_position): Function deleted.
+
+ * screen.h (SCREENP): The non-MULTI_SCREEN case used to say this
+ was false for all objects, but it should be true for the terminal
+ screen, so make its definition the same as in the MULTI_SCREEN
+ case.
+
+ * screen.h (SCREEN_LIVE_P): New predicate.
+ (CHECK_LIVE_SCREEN): New type-checking macro.
+ (Qlive_screen_p): New error-reporting symbol.
+ * screen.c (Qlive_screen_p): Declare the new symbol.
+ (Flive_screen_p): New lisp predicate.
+ (syms_of_screen): Initialize, staticpro, and defsubr the lot.
+ * dispnew.c (Fredraw_screen): Use CHECK_LIVE_SCREEN.
+ * screen.c (Fscreen_root_window, Fscreen_selected_window,
+ Fnext_screen, Fset_mouse_position, Frestore_screen_configuration,
+ Fmake_screen_visible, Fmake_screen_invisible, Ficonify_screen,
+ Fdeiconify_screen, Fscreen_visible_p, Fredirect_screen_focus,
+ Fscreen_focus, Fmodify_screen_parameters, Fset_screen_height,
+ Fset_screen_width, Fset_screen_size, Fset_screen_position,
+ Fselect_screen): Use CHECK_LIVE_SCREEN.
+ * window.c (Fwindow_at, Fcurrent_window_configuration): Use
+ CHECK_LIVE_SCREEN.
+ * xfns.c (Ffocus_screen, Fx_pixel_width, Fx_pixel_height): Use
+ CHECK_LIVE_SCREEN.
+
+ * screen.c (Fdelete_screen): Do nothing if SCREEN is already
+ deleted.
+
+ * screen.c (Qscreenp): Staticpro this symbol.
+
+ * xfns.c (Fx_create_screen): Doc fix.
+
+ * xfns.c (Fx_create_screen): Give the screen a minibuffer if the
+ 'minibuffer parameter is t or nil; nil is the default value for
+ omitted parameters, and t is intuitive.
+
+1991-11-14 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * eval.c (specbind): Check that the thing being bound is a symbol.
+ (funcall_lambda): Signal an invalid-function error if the
+ arguments are not all symbols.
+
+1991-11-08 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * screen.c (Fselect_screen): Don't select dead screens.
+ * print.c (print): Print dead screen objects starting with
+ "#<dead screen".
+
+ * keyboard.c (read_key_sequence): Make sure that the compound
+ events actually have valid window fields.
+
+ * window.c (next_screen_window): Function deleted; Fnext_window
+ can now do its job properly.
+ (window_from_coordinates, window_loop): Call Fnext_window instead
+ of next_screen_window.
+
+ * xdisp.c (redisplay): Don't clear out minibuffer windows in the
+ midst of the screen loop here. That's confusing.
+ (redisplay_window): Since this needs special code to detect
+ minibuffers anyway, put it here. And clear all the lines of a
+ multi-line minibuffer, not just the first one.
+
+1991-11-07 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * screen.c (Fdelete_screen): When searching Vscreen_list for a new
+ value for last_nonminibuf_screen, remember that the screens live
+ in the cars of the list, not the cdrs.
+
+ * xterm.c (x_make_screen_visible): Rearranged for clarity.
+
+ * xdisp.c (echo_area_display): Rearranged for clarity.
+
+1991-11-06 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * screen.c (next_screen, prev_screen): New meaning for MINI_SCREEN
+ argument helps implement the behavior of Fnext_window.
+ (Fnext_screen): Document the new behavior.
+
+ * screen.c (make_minibuffer_screen): Do set has_minibuffer for
+ minibuffer-only screens.
+ (Fscreen_parameters): Correctly generate value of minibuffer
+ parameter using SCREEN_HAS_MINIBUF and SCREEN_MINIBUF_ONLY_P.
+ * screen.h (SCREEN_HAS_MINIBUF): New predicate.
+ * dispnew.c (change_screen_size): Use it.
+ * screen.c (Fdelete_screen): Use it.
+
+ * screen.c (Vglobal_minibuffer_screen): Renamed
+ Vdefault_minibuffer_screen to better describe its significance.
+ (make_screen_without_minibuffer, syms_of_screen): Adjusted.
+ * xfns.c (Fx_create_screen): Doc string adjusted.
+
+ * xdisp.c (display_mode_line): Make the code which names the
+ screen after the current buffer not depend on
+ Vglobal_minibuffer_screen.
+ * xterm.c (Vglobal_minibuffer_screen): Don't declare this extern
+ here; it's never used.
+
+1991-11-05 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * screen.c (Fdelete_screen): Document the fact that surrogate
+ minibuffer screens may not be deleted.
+
+ * screen.h (SCREEN_MINIBUF_ONLY_P): New predicate, true iff the
+ screen's only window is a minibuffer, aka a "minibuffer screen" or
+ a "minibuffer-only" screen.
+ * dispnew.c (change_screen_size): Use it.
+ * screen.c (Fselect_screen, next_screen, prev_screen,
+ Fdelete_screen): Use it.
+ * window.c (Fdisplay_buffer): Use it.
+
+ * screen.c (next_screen, prev_screen): Make MINIBUF a lisp
+ boolean, not a C boolean.
+ (Fnext_screen, Fdelete_screen): Changed to fit.
+ * window.c (Fnext_window, Fprevious_window): Changed to fit.
+
+ * screen.c (make_screen_without_minibuffer): Error string improvement.
+
+ * screen.c (syms_of_screen): Doc grammar fix for Vemacs_iconified.
+
+ * screen.c (next_screen): Added some sanity checks, rewrote comments.
+
+ * screen.h (Vglobal_minibuffer_screen): Don't declare this. It
+ shouldn't be used for anything but screen creation.
+ * window.c (Fminibuffer_window): Vglobal_minibuffer_screen is not
+ necessarily the screen containing the current minibuffer window.
+ Also, call choose_minibuf_window; it does much of the work here.
+ (Fnext_window): Used to insist on looping through all screens if
+ Vglobal_minibuffer_screen was non-nil. Now includes screen's
+ minibuffer window according to MINIBUF, no matter what screen it's
+ on, and ignores Vglobal_minibuffer_screen. Loop termination logic
+ cleaned up. Clarified doc string.
+ (Fprev_window): Same problems as Fnext_window, above.
+ * screen.c (Vglobal_minibuffer_screen): Documentation rewritten to
+ emphasize that it is only a parameter of the creation of
+ minibufferless screens, and not an indication of where the
+ minibuffer is.
+ (prev_screen): Used to assume that Vglobal_minibuffer_screen was
+ the only minibuffer-only screen, and would enter an infinite loop
+ if Vglobal_minibuffer_screen was the only screen in the list.
+ Rewritten to fix these problems.
+ * minibuf.c (Vglobal_minibuffer_screen): Don't declare it extern
+ here; it's not used.
+
+ * editfns.c (Fmessage): Don't call Fmake_screen_visible here.
+ * xdisp.c (message, message1): Call it here, so that Emacs C
+ functions like Fy_or_n_p make the screen visible too.
+
+1991-11-04 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (readable_events): If EVENT_QUEUES_EMPTY, we can
+ short-circuit and say no. Otherwise, if do_mouse_tracking, we can
+ short-circuit and say yes. These things let us scan the event
+ queue less often.
+
+ * termhooks.h (mouse_tracking_enable_hook): Replaced by...
+ (mouse_moved, mouse_position_hook): It turns out that it is
+ possible and no less efficient simply to tell Emacs if the mouse
+ has moved since last noticed, and let it ask for the current mouse
+ position; X's pointer motion hints are a cool thing.
+ * term.c (mouse_tracking_enable_hook): Replaced by...
+ (mouse_position_hook): New, simpler interface.
+ * keyboard.c (struct movement, movement_buf, movement_ptr):
+ Replaced by...
+ (mouse_moved): This flag, to be used in conjuction with
+ mouse_position_hook.
+ (EVENT_QUEUES_EMPTY): Adjusted to use mouse_moved instead of
+ movement_buf and movement_ptr.
+ (tracking_off, Ftrack_mouse): Don't call mouse_tracking_enable
+ hook.
+ (note_mouse_position): Moved to xterm.c.
+ (get_mouse_position): Replaced by mouse_position_hook.
+ (make_lispy_event): Movement event generation code moved out to a
+ separate function...
+ (make_lispy_movement): Create a mouse movement event for the
+ current mouse position. Use mouse_position_hook instead of
+ get_mouse_position. Added static declaration for this above...
+ (kbd_buffer_get_event): Use mouse_moved instead of movement_buf
+ and movement_ptr. Call make_lispy_movement instead of
+ make_lispy_event.
+ (init_keyboard): Initialize do_mouse_tracking. Don't init
+ movement_ptr and movement_buf.
+ * xterm.h (STANDARD_EVENT_SET): Add PointerMotionMask and
+ PointerMotionHintMask to the set.
+ * xterm.c (pixel_to_glyph_translation): Renamed to
+ pixel_to_glyph_coords, made static, simplified to take advantage
+ of constant-size characters, and extended to return the bounding
+ rectangle of the glyph returned.
+ (construct_mouse_click): The 'button' field of a button event is
+ the button number, not a mask; convert it to a mask before
+ frobbing x_mouse_grabbed. Call pixel_to_glyph_coords properly.
+ (last_mouse_screen, last_mouse_glyph): New variables, to keep
+ track of when the pointer has moved to a different glyph.
+ (note_mouse_position): Moved here from keyboard.c and made static.
+ Check if the new mouse position is over a new glyph. If it is,
+ set mouse_moved flag; otherwise, call XQueryPointer to get the
+ next motion event.
+ (XTmouse_tracking_enable): No longer needed, since pointer motion
+ hints let us implement the simpler mouse position hook.
+ (XTmouse_position): New hook. Call XQueryPointer to get the
+ current mouse position and request notification about the next
+ mouse movement. Clear the mouse_moved flag.
+ (pixel_to_glyph_coords, construct_mouse_click,
+ note_mouse_position, XTmouse_position): Put these all on the same
+ page.
+ (XTread_socket): case MotionNotify, call note_mouse_position with
+ the right args; don't call pixel_to_glyph_translation.
+ (x_term_init): Set mouse_position_hook instead of
+ mouse_tracking_enable_hook.
+
+1991-10-31 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xdisp.c (redisplay_window): When trying to avoid starting
+ display at the end of the buffer: check that startp < ZV, not
+ startp <= ZV.
+
+1991-10-29 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xterm.c (x_do_pending_expose, XTmouse_tracking_enable): Use
+ SCREEN_IS_X instead of testing output_method directly.
+
+1991-10-26 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xdisp.c (redisplay): In the single-screen optimization, always
+ update the minibuffer's screen as well as the selected screen, no
+ matter what the echo_area_glyphs are. This makes sure that
+ messages get cleared after a keystroke.
+
+1991-10-25 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * callint.c (Finteractive): Doc fix.
+
+ * xterm.c (XTmouse_tracking_enable): Block input while changing
+ the screens' input selection masks.
+
+ * window.c (change_window_height): If the window being resized is
+ the only window of the screen, no size change is possible; make
+ the delta be zero. Exit without "changing" the sizes of any
+ windows if the delta is zero.
+
+ * alloc.c: Don't bother to include xterm.h.
+ (Fgarbage_collect): Don't bother to BLOCK_INPUT here,
+ since we don't cons in the input handler.
+
+1991-10-21 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * window.c (init_window_once): Set last_nonminibuf_screen to the
+ initial terminal screen, so that poor Fdisplay_buffer doesn't try
+ to create a new screen on a terminal.
+
+1991-10-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m-intel386.h (signal): Optionally don't define it.
+ * s-isc2-2.h (DONT_DEFINE_SIGNAL): Define this.
+
+1991-10-18 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * scroll.c (line_ins_del): Don't calculate costs off the end of mf
+ and ov; use < in loop condition, not <=.
+
+ * scroll.c (scroll_cost): Logic rearranged.
+
+ * dispnew.c (change_screen_size): Change "SCREEN_IS_TERMCAP
+ (screen) == output_termap" to "SCREEN_IS_TERMCAP (screen)"
+ (window_change_signal): Use SCREEN_IS_TERMCAP predicate instead of
+ testing output_method_directly.
+
+1991-10-15 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xterm.h (STANDARD_EVENT_SET): Include ButtonReleaseMask in
+ STANDARD_EVENT_SET.
+ * xterm.c (XTmouse_tracking_enable): Don't bother or'ing
+ ButtonReleaseMask with the STANDARD_EVENT_SET.
+
+ * dispnew.c (buffer_posn_from_coords): If the coordinates are off
+ past the end of a line, return them as being *before* the newline,
+ not after.
+
+ * keyboard.c (kbd_buffer_get_event): Set input_pending after
+ reading the event, no matter what sort of event it is - i.e., move
+ the assignment to input_pending outside of the event lispifying
+ conditional.
+
+ * keyboard.c (note_mouse_position): Don't record a "new" mouse
+ position unless it really differs from the last one returned.
+
+ * keyboard.c (kbd_buffer_read_char): Renamed to
+ kbd_buffer_get_event, for consistency with kbd_buffer_store_event.
+
+ * window.c (Fwindow_at): modified to take the coordinates as a
+ pair, not a two-element list, for ease of use and compatibility
+ with events. Make SCREEN argument second and optional.
+ (Fcoordinates_in_window_p): Modified to take and return the
+ coordinates as above, and to distinguish the right border as well
+ as the mode line.
+ (window_from_coordinates): Modified to distinguish the right
+ border as well as the mode line.
+ * lisp.h (Qmode_line, Qvertical_split): Declare this extern, from
+ keyboard.c.
+ * keyboard.c (make_lispy_event): Distinguish a window's right
+ border from its text area.
+
+ * window.c (coordinates_in_window): Make it static.
+
+ * window.c (Flocate_window_from_coordinates): Renamed to
+ Fwindow_at.
+ (syms_of_window): Adjusted.
+ * lisp.h: Adjusted to say so.
+
+ * screen.c (Fcoordinates_in_window_p, window_from_coordinates,
+ Flocate_window_from_coordinates): Functions moved to window.c.
+ (syms_of_screen): Adjusted.
+ * window.c (Fcoordinates_in_window_p, window_from_coordinates,
+ Flocate_window_from_coordinates): Here they are.
+ (syms_of_window): Adjusted.
+ * lisp.h: Adjusted to say so.
+
+1991-10-14 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xterm.c (XTclear_end_of_line): This used to try to get the
+ cursor out of the way by comparing the line being cleared with
+ s->cursor_y, which is meaningless; it should have compared it with
+ s->phys_cursor_y. Changed to just mark the cursor as cleared if
+ it's in the area we're clearing.
+
+1991-10-13 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * m-intel386.h: Fix typo in #endif.
+
+1991-10-12 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * callint.c (Fcall_interactively): Added new interactive spec 'K',
+ for mouse clicks. Added explanation to doc string. Removed 'e'
+ spec, which didn't work with the new input model anyway.
+ * keyboard.c (Fmouse_click_p): New function.
+ (syms_of_keyboard): defsubr it.
+
+ * keyboard.c (EVENT_QUEUES_EMPTY): Clarified comment.
+ (tracking_off): Change "if (!readable_events)" to
+ "if (!readable_events ())".
+ (Ftrack_mouse): Doc fix.
+ (kbd_buffer_read_char): Fix brainos in tossing of unwanted events.
+ Don't use EVENT_QUEUES_EMPTY to set input_pending; call
+ readable_events.
+
+1991-10-11 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (Qmode_line): New quoted symbol.
+ (syms_of_keyboard): Initialize and staticpro it.
+ (make_lispy_event): Use it to indicate when a mouse position is in
+ a window's mode line.
+
+ * xterm.c (XTread_socket): Consider the window to be resized if
+ either the character or pixel dimensions have changed; this will
+ catch font size changes.
+
+1991-10-08 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): Removed all the
+ exceptional condition stuff. Emacs lacks any way to respond to
+ such a state, and selecting for it without responding to it can make
+ Emacs loop indefinitely.
+
+ * xterm.c (XTread_socket, construct_mouse_click): Make sure that
+ all enqueued events have their timestamp field set.
+ * termhooks.h (struct input_event): Doc fix.
+ * keyboard.c (last_event_timestamp): New variable.
+ (get_mouse_position, kbd_buffer_store_event,
+ kbd_buffer_read_char): Make sure to fill in Vlast_event_screen and
+ last_event_timestamp.
+ * xselect.c (mouse_timestamp): Don't use this anymore.
+ (last_event_timestamp): Use this instead.
+ (Fx_own_selection, Fx_own_clipboard, Fx_get_selection,
+ Fx_get_clipboard): Use last_event_timestamp instead of
+ mouse_timestamp.
+
+ * xdisp.c (redisplay): Don't pass extra arguments to
+ update_screen.
+
+ * keyboard.c (echo_truncate): Don't call echo here; this results
+ in extraneous echoing of characters.
+ (read_key_sequence): After calling echo_truncate, call echo_char
+ to put the character we just read into the minibuffer, if
+ appropriate.
+
+ * keyboard.c (read_key_sequence): Removed unused argument
+ no_redisplay.
+
+1991-10-01 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xfns.c (x_create_screen): Initialize phys_cursor_x to -1, to
+ indicate that the screen has no displayed cursor.
+
+ * xfns.c (x_create_screen): Let InternalBorderWidth default to 1.
+
+ * xterm.c (x_display_bar_cursor): Declare this to be static void.
+
+ * xterm.c (XTupdate_begin): Don't turn off the cursor. This makes
+ ugly flickering. Instead, make it okay for XTins_del_lines to do
+ so:
+ * screen.h (struct screen): New field phys_cursor_glyph, keeping
+ track of the glyph under the currently displayed cursor. Since
+ current_glyphs is sometimes inaccurate when we want to undraw the
+ cursor (as when XTins_del_lines is called from do_scrolling), we
+ can't always get the GLYPH from there.
+ * xterm.c (x_draw_single_glyph): Take the glyph to draw as an
+ argument, instead of taking it from the screen matrix.
+ (x_display_box_cursor): Set and use s->phys_cursor_glyph.
+
+ * ymakefile: Note that scroll.o and xmenu.o depend on screen.h.
+
+1991-09-29 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (make_lispy_event): When building mouse movement
+ event, use `m', not `event', dummy.
+
+1991-09-26 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * screen.c (Fscreen_parameters): Return the proper value for the
+ 'minibuffer parameter for minibuffer-only screens.
+
+ * xdisp.c (redisplay_window): When the start position is forced,
+ constrain it to be within the visible region anyway.
+
+ * xterm.c (XTwrite_glyphs): Instead of turning off the cursor
+ before we write, just notice if we wrote over it.
+
+ * xfns.c (x_decode_color): If a screen has two planes, then it is
+ considered a color screen, and we should look up the color value.
+
+ * ymakefile: Include xselect.o and xrdb.o in XOBJ even when
+ HAVE_X_MENU is not defined.
+
+ * fns.c (Fdelete): This used to be named Fdelq; Roland forgot to
+ change the function name in his August 17 change.
+ (syms_of_fns): defsubr Fdelete.
+
+1991-09-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * alloca.c: Do nothing if alloca is defined as a macro.
+
+1991-09-08 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * m-pfa50.h: New file.
+
+1991-09-06 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * unexec.c: Add conditionals for COFF_ENCAPSULATE.
+
+1991-08-17 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * fns.c (Fdelete): New fn. We have member now; we should have
+ delete too.
+
+1991-08-16 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xfns.c (x_get_arg): Clean bad characters out of the screen name
+ before using it as a resource key.
+
+ * abbrev.c (Fexpand_abbrev): Don't let capitalization go past point.
+
+ * sysdep.c (sys_suspend): Don't use & before array name.
+
+ * sysdep.c [BROKEN_FIONREAD]: Undefine FASYNC.
+
+ * m-tandem-s2.h (START_FILES, LIB_STANDARD): Added.
+
+ * s/s-aix3-1.h: Define HAVE_TCATTR.
+
+ * xfns.c (Fx_grab_cursor, Fx_ungrab_cursor): Functions removed.
+
+1991-08-15 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * bytecode.c (Qbyte_code_meter): New.
+ (Bend_of_line, Bset_marker, Bmatch_beginning, Bmatch_end, Bupcase,
+ Bdowncase, BRgoto, BRgotoifnil, BRgotoifnonnil,
+ BRgotoifnilelsepop, BRgotoifnonnilelsepop, BlistN, BconcatN): New
+ byte codes.
+ (Fbyte_code): Implemented new codes listed above. Added code to
+ count how many times a function is called.
+ (syms_of_bytecode): Initialize and staticpro Qbyte_code_meter.
+
+ * xfns.c (x_window): When setting the class hints, use the
+ screen's name as the res_name.
+
+ * xfns.c (x_make_screen_name): New function.
+ (Fx_create_screen): Use x_get_arg to find screen name; if none has
+ been specified, use x_make_screen_name; don't set the name again
+ at the bottom.
+ (x_get_arg): If SCREEN_NAME is nil, don't pass any class to
+ Fx_get_resource.
+
+ * xfns.c (x_get_arg, x_default_parameter): Take an extra argument
+ TYPE, instead of encoding the type in the first letter of the
+ property name.
+
+1991-08-15 Roland McGrath (roland@albert.gnu.ai.mit.edu)
+
+ * buffer.c (Fkill_all_local_variables): Don't pass
+ Fmake_local_variable too many args. Use Fset instead.
+
+1991-08-14 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * xfns.c (emacs_class): Variable removed.
+ (EMACS_CLASS): New macro, specifying Emacs class for xrdb use.
+ Use a class of "Emacs", to be compatible with previous versions.
+ (Fx_get_resource, x_window, Fx_open_connection): Use macro here.
+
+ * buffer.c (Fgenerate_new_buffer): Function moved to
+ lisp/files.el.
+ (Fgenerate_new_buffer_name): New function which does only the
+ name-choosing work Fgenerate_new_buffer used to do.
+ (Frename_buffer): Added second optional argument DISTINGUISH,
+ which lets rename_buffer use generate-new-buffer-name if non-nil.
+ Return the name the buffer was given.
+ Do nothing if new name is already buffer's name.
+
+ * xfns.c (Fx_get_resource): Take third argument CLASS, and require
+ it to be specified whenever NAME is.
+ All callers changed.
+ [not HAVE_X11] (Fx_get_default): Only take the one arg.
+ [not HAVE_X11] (Fx_get_resource): Toss the second two args.
+
+1991-08-13 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_close_current_connection): Add \n to error message.
+
+ * keyboard.c (make_lispy_event): Added HP keys into the
+ function_key_names array.
+ * xterm.c (XTread_socket): For KeyPressed events, strip the
+ keysym's vendor-specific bit, and take a shot at fitting it into
+ the Emacs key numbering.
+
+ * screen.c (Vdefault_screen_alist): Definition moved from
+ screen.el to here.
+ (syms_of_screen): DEFVAR_LISP and initialize it here.
+ * screen.h: Declare it here.
+ * xfns.c (x_get_arg): Use it here.
+
+ * screen.c (make_screen): When choosing a buffer for the screen's
+ root window, shy away from buffers whose names start with a space.
+
+1991-08-11 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * process.c (exec_sentinel, exec_sentinel_unwind): Move these
+ above status_notify.
+
+ * eval.c (Qinhibit_quit): New variable, to support Aug 5 changes
+ to process.c.
+ (syms_of_eval): Initialize and staticpro above.
+ * lisp.h: added extern declaration for above.
+
+1991-08-10 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * regex.c (re_search_2): When searching with the fastmap, test for
+ a translate table outside of the loop, not inside the loop.
+
+1991-08-10 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * fns.c (Fequal): Don't crash on circular structure.
+ (internal_equal): New subroutine does the recursion.
+
+ * print.c (print): Recognize circular car pointers.
+
+1991-08-10 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): Ignore exceptional
+ conditions on the keyboard input.
+
+1991-08-06 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * lisp.h: Fiddled with formatting.
+
+ * process.c (exec_sentinel_unwind): New function.
+ (exec_sentinel): Restore the process's sentinel, using an
+ unwind_protect.
+
+1991-08-05 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * keyboard.c: Doc fix.
+
+1991-08-05 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * dired.h: Don't include search.h; it doesn't exist.
+
+ * process.c (read_process_output, exec_sentinel): Bind
+ Qinhibit_quit to true and call the filter directly instead of
+ through a condition-case.
+ (run_filter): Removed.
+ (this_filter, filter_process, filter_string): Variables now
+ unnecessary.
+
+ * xfns.c (Fx_get_resource): Take the screen name as an optional
+ argument and look up resources using the name of the screen as
+ part of the key.
+ [not HAVE_X11] (Fx_get_default): Take optional 2nd arg NAME and
+ ignore it.
+ (x_get_arg): Take the screen name as an arg, and call
+ Fx_get_resource with that argument.
+ (x_default_parameter, x_figure_window_size, x_icon): Pass the
+ screen's name to x_get_arg.
+ (Fx_create_screen): Make sure the screen name is either nil or a
+ string, and pass it to x_get_arg.
+
+ * xfns.c (Vx_screen_defaults): Variable removed; such settings
+ belong in the .Xdefaults file.
+ (syms_of_xfns): Don't defvar it here.
+ (Fx_create_screen): Don't use it here.
+
+ * keyboard.c (classify_object): #if 0'd function finally removed.
+ * xterm.c (Qmapped_screen, Qunmapped_screen, Qexited_scrollbar,
+ Qexited_window, Qredraw_screen): Unused, so removed.
+ (syms_of_xterm): Don't bother to initialize above.
+
+ * xterm.c (init_input_symbols): Renamed to syms_of_xterm, for
+ consistency.
+ (x_term_init): Don't call it here.
+ * xfns.c (syms_of_xfns): Don't call syms_of_xselect here.
+ * emacs.c (main): Call them here.
+
+ * xterm.c (invocation_name): Made this a Lisp_Object, so that its
+ string value could be relocated properly.
+ (x_term_init, x_text_icon): Adjusted code appropriately.
+ (syms_of_xterm): staticpro invocation_name.
+ * xfns.c (invocation_name): Changed extern declaration, deleted
+ extra declaration.
+ (Fx_get_resource): Adjusted code appropriately.
+
+1991-08-04 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * lread.c (read1): Accept #[...] for bytecode object.
+ * print.c (print): Print them that way.
+
+1991-08-01 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * fileio.c (Fexpand_file_name): Avoid doing strlen (0).
+
+ * editfns.c, filelock.c [VMS]: Use pwd.h from Emacs, not from system.
+ * fileio.c [VMS]: Likewise. Also include stddef.h, string.h.
+ Include perror.h only once.
+ [VMS] (file_name_as_directory, directory_file_name): Remove
+ assignments from if conditions.
+ (Fexpand_file_name): Remove excess slash from end of user's home dir.
+
+1991-08-01 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * emacs.c (main): Add SIGIO conditional within AIX conditional.
+
+ * xdisp.c (try_window_id): Compute proper position for screen bottom
+ when all changes are below the screen.
+ When first computing bp, don't go more than HEIGHT + 1 lines.
+
+1991-07-31 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xterm.c (x_destroy_window): If we're destroying the currently
+ highlighted screen, clear x_highlight_screen.
+
+ * xdisp.c (display_text_line, display_string):
+ Don't go past endp for multi-column chars.
+
+1991-07-28 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * lread.c (init_lread): If Vload_path was set specially before
+ dumping, preserve it by default.
+
+ * process.c (process_send_signal): Notice and deal if the
+ TIOCGPGRP ioctl says that the subprocess has no pgrp.
+
+ * xdisp.c (try_window_id): Always update window_end_* if successful.
+
+ * process.h (subtty): New slot.
+ * process.c (create_process): Set it.
+ (process_send_signal): Use it.
+
+ * alloc.c (Fmake_rope): Doc fix.
+ * screen.c (Fselect_screen): Doc fix.
+ * vms-pp.c: Fix comment.
+
+ * keymap.c (Fkeymapp, Fdefine_prefix_command): Doc fixes.
+
+ * window.c (window_select_count): No longer static.
+ (init_window_once): Increment window_select_count, to give each
+ window a unique use_time.
+ * window.h (window_select_count): extern this here.
+ * screen.c (make_screen): Stamp a new screen's selected window
+ with the proper selection time.
+
+ * ymakefile: xselect.o depends on screen.h, xterm.h, and config.h.
+ xrdb.o depends on config.h.
+ xterm.o depends on gnu.h.
+ * xfns.h: File removed - it only declared Vx_send_movement_events.
+ All includers changed.
+
+1991-07-27 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * keymap.c (Fcopy_keymap): Don't recursively copy maps inside symbols.
+
+1991-07-27 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xdisp.c (redisplay): If echo_area_display puts text in a
+ surrogate minibuffer screen, don't neglect to update it.
+
+ * keyboard.c (kbd_buffer_store_event): Make sure
+ Vlast_event_screen is set properly for quit characters.
+
+1991-07-26 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): pass both arguments to
+ Fselect_screen.
+
+ * screen.c (make_screen): Divide the size by sizeof (Lisp_Object)
+ before passing it to Fmake_vector.
+
+ * screen.h [not MULTI_SCREEN] (SCREEN_SCROLL_BOTTOM_VPOS): fixed
+ definition.
+
+ * screen.c: #include termhooks.h and therefore stdio.h.
+ (make_screen): Initialize focus_screen member.
+ (Fdelete_screen): Refuse to delete SCREEN if it is a
+ surrogate minibuffer for some other screen, not just if it's the
+ global minibuffer screen.
+ (Fredirect_screen_focus, Fscreen_focus): New function.
+ (syms_of_screen): defsubr Sredirect_screen_focus.
+ * window.c: Don't include termhooks.h or stdio.h.
+ (Fselect_window): Removed grunge to support minibuffer hack.
+ * screen.h (struct screen): Added focus_screen member, and
+ accessor for it.
+ * alloc.c (mark_object): mark focus_screen member of Lisp_Screens.
+ * xterm.c (XTscreen_rehighlight): Use the focus_screen member to
+ decide which screen to highlight.
+ (XTread_socket): Use focus_screen when enqueuing keystrokes.
+ * minibuf.c (read_minibuf, read_minibuf_unwind): Shift the
+ selected screen's focus around appropriately.
+ * termhooks.h (screen_rehighlight_hook): Doc fix.
+
+ * lisp.h (CHECK_IMPURE): Moved definition...
+ * puresize.h (CHECK_IMPURE): To here.
+
+1991-07-25 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * dispnew.c (buffer_posn_from_coords): Bufp is broken; don't use it.
+
+ * xterm.c (XTscreen_rehighlight): Neatened sloppy logic.
+
+ * keyboard.c (read_key_sequence): When truncating a key sequence,
+ don't forget to put the new keystroke back in this_command_keys.
+ Do this before calling echo_truncate, and don't call echo_char.
+
+1991-07-24 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * xterm.c (x_term_init): Initialize x_focus_screen and
+ x_highlight_screen.
+
+ * xterm.c (XTscreen_rehighlight): Handle things correctly when
+ x_focus_screen is 0.
+ (XTread_socket): Process EnterNotify and LeaveNotify events with
+ .focus == 0 properly. For FocusOut events, pass the right
+ arguments to x_new_focus_screen.
+
+ * fileio.c (Finsert_file_contents): Use RETURN_UNGCPRO macro.
+
+ * buffer.c (Fbuffer_name): Fix typo in doc string.
+ (syms_of_buffer): Fix typo in before_change_function name.
+
+1991-07-23 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * screen.h (CHECK_SCREEN): Define a dummy version of this when
+ MULTI_SCREEN is not defined.
+
+ * sysdep.c (init_signals, sys_signal, sys_sigpause): New functions.
+ (sys_sigblock, sys_sigunblock, sys_sigsetmask): New functions.
+
+ * sysdep.c (_sobuf): Unsigned chars if DGUX.
+
+ * sysdep.c [DGUX]: Include file.h.
+ [DGUX] (sys_siglist): New variable.
+
+ * x11term.c (x_init_1) [SYSV_STREAMS]: Don't close the old
+ descriptor.
+
+ * keyboard.c (read_key_sequence): Treat function keys like ascii
+ characters.
+
+ * lread.c (init_lread, syms_of_lread): New names for init_read and
+ syms_of_read, for consistency.
+
+ * emacssignal.h: New file.
+ * data.c, keyboard.c, process.c, sysdep.c: Include it.
+ * data.c (arith_error): Use SIGEMPTYMASK.
+ * keyboard.c (sigfree, sigunblockx): Use SIGEMPTYMASK.
+ (sigholdx, sigblockx): Use sigmask.
+ (gobble_input): Use sigblockx instead of sigholdx, so that any
+ other blocked signals stay blocked during and after the call to
+ read_avail_input.
+ * process.c (create_process): Use sigmask.
+ [FASYNC] (request_sigio): Use sigunblock.
+ * xterm.c (sigmask): Removed #definition here.
+ * ymakefile (keyboard.o, process.o, sysdep.o, data.o): Make these
+ depend on emacssignal.h.
+
+ * window.c (Fselect_window): Modify surrogate minibuffer hack to
+ make the minibuffer the selected window of the selected screen,
+ AND select the minibuffer window's screen.
+ * minibuf.c (read_minibuf): If the minibuffer window is on a
+ different screen, save that screen's configuration too.
+
+ * window.c (Fset_window_configuration): Use SCREEN_ accessor to
+ get at a screen's root window. Removed unused variable
+ screen_to_select.
+ (Fcurrent_window_configuration): Take an optional argument SCREEN.
+ All callers changed.
+
+ * window.c (auto_new_screen, Vauto_new_screen_function): Renamed
+ to pop_up_screens and pop_up_screen_function, to be parallel with
+ pop_up_windows.
+ (display_buffer, syms_of_window): Changed appropriately.
+
+ * fns.c (Fload_average) [DGUX]: Add code to support DGUX.
+
+ * s-dgux.h, m-aviion.h: New files.
+
+ * emacs.c (main) [POSIX_SIGNALS]: Call init_signals.
+
+ * screen.c (Fdelete_screen): Update last_nonminibuf_screen if
+ the screen it's currently pointing to gets deleted.
+
+1991-07-22 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * screen.c (last_nonminibuf_screen): New variable.
+ (Fselect_screen): Set last_nonminibuf_screen if appropriate.
+
+1991-07-21 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * screen.h (last_nonminibuf_screen): Added declarations for new
+ variable.
+ * minibuf.c (active_screen): Variable removed.
+ (read_minibuf): Removed code to set and clear active_screen.
+ * window.c (Fdisplay_buffer): Rewritten to use
+ last_nonminibuf_screen.
+
+ * screen.c (next_screen): Use SCREEN_ accessors instead of ->.
+
+ * window.c (Fdisplay_buffer): Removed reference to
+ Fx_create_screen; we should rely on the auto-new-screen-function
+ being set to something appropriate.
+
+1991-07-21 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Restore the state of
+ this_command_key_count along with the echoing state.
+
+1991-07-20 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_synchronize): New function.
+ (syms_of_xfns): defsubr it.
+
+ * xdisp.c (redisplay): Don't turn on all_windows whenever we're
+ using a separate minibuffer screen. Even if there is some tweak
+ necessary, this wasn't it.
+
+ * process.c (status_notify): Do not forget to UNGCPRO.
+
+ * screen.c (next_screen): Re-work logic to skip minibuffer-only
+ screens so that it doesn't loop indefinitely, even when the only
+ screen is a minibuffer-only screen. Skip all screens that are
+ only minibuffers, not just when they are the global minibuffer
+ screen.
+
+ * xdisp.c (message, message1): If the screen's message buffer
+ is 0, toss the message; don't check the window system against
+ the screen output_method.
+
+1991-07-19 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): When we truncate the echo
+ buffer because the user has switched screens, re-echo the
+ character that caused the truncation.
+
+ * lread.c (Fload): Change "source newer than ..." message not to
+ refer to "libraries." What is a "library," anyway?
+
+ * window.c: #include "termhooks.h", and therefore <stdio.h> too.
+ [MULTI_SCREEN] (Fselect_window): If the window being selected is
+ the selected screen's minibuffer, but it lives on another screen,
+ don't select that other screen - call the screen_rehighlight_hook
+ instead.
+ * termhooks.h (screen_rehighlight_hook): New hook, so that Emacs
+ can shift the screen highlighting when needed.
+ * term.c (screen_rehighlight_hook): Define it.
+ * xterm.c (x_highlight_screen): New variable.
+ (x_new_focus_screen): Move the rehighlighting code to...
+ (XTscreen_rehighlight): New function.
+ (x_display_bar_cursor, x_display_box_cursor): Use
+ x_highlighted_screen instead of x_focus_screen.
+ (x_term_init): Initialize screen_rehighlight_hook.
+ * ymakefile: Make window.o depend on termhooks.h.
+
+ * xfns.c (Fx_create_screen): Add mention of
+ global-minibuffer-screen to docstring.
+ * screen.c (make_screen_without_minibuffer): Improve error message
+ displayed when Vglobal_minibuffer_screen is not a proper screen.
+
+1991-07-18 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * config.h (PURESIZE): Definition moved to...
+ * puresize.h: New file.
+ (PURESIZE): Define this here. This will allow people to change
+ their pure storage allocation without having to recompile most of
+ Emacs.
+ * data.c: #include puresize.h, since CHECK_IMPURE needs PURESIZE.
+ * alloc.c: #include puresize.h.
+ [HAVE_SHM] (pure_size): New variable, so that XPNTR doesn't depend
+ on PURESIZE.
+ [HAVE_SHM] (init_alloc_once): Initialize pure_size here.
+ * lisp.h [HAVE_SHM] (XPNTR): Defined in terms of pure_size,
+ instead of PURESIZE.
+ (pure_size): extern declaration added here.
+ * ymakefile: Added puresize.h to dependencies for alloc.c and
+ data.c's .o files.
+
+ * emacs.c (main): Doc fix for kludge to scan for -d.
+
+1991-07-17 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * termhooks.h (struct input_event): #if 0'd out the definition for
+ the screen_selected event type, and added the stipulation that the
+ {non_,}ascii_keystroke events specify the screen they happen in.
+ * xterm.c (x_new_focus_screen): Don't enqueue a screen_selected
+ event.
+ (XTread_socket): Calls to x_new_focus_screen in the EnterNotify,
+ FocusIn, LeaveNotify, and FocusOut event code don't worry about
+ enqueued events any more.
+ * keyboard.c (new_selected_screen): Removed - see below.
+ (Vlast_event_screen): New variable, visible to lisp code.
+ (echo_length, echo_truncate): New functions.
+ (readable_events): Removed screen_selected events from the set of
+ things to skip.
+ (kbd_buffer_store_event): Don't bother collapsing consecutive
+ screen_selected events.
+ (kbd_buffer_read_char): Don't process screen_selected events.
+ (make_lispy_event): Re-arrange scrollbar events to put the window
+ whose scrollbar was diddled right after the identifying symbol,
+ for consistency.
+ (read_key_sequence): Let the selected screen and the location of
+ the event affect the keymap used to find its binding.
+ (Fread_key_sequence): Update docstring.
+ (syms_of_keyboard): Added DEFVAR_LISP for Vlast_event_screen.
+
+1991-07-15 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * screen.c (next_screen): If !mini_screen, only exclude the global
+ minibuffer screen when the minibuffer is its only window.
+ (Fnext_screen): Make the docstring clearer about what MINISCREEN
+ means.
+
+ * window.c (Fother_window): Indicate that it takes both a required
+ and optional argument, instead of just one required.
+
+1991-07-15 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * buffer.c (Fkill_buffer): Rehacked kill-buffer-hooks to use
+ standard name kill-buffer-hook, and to use set_buffer_internal
+ instead of Fset_buffer. Use static variable containing symbol
+ instead of intern.
+ (syms_of_buffer, init_buffer_once): Qkill_buffer_hook =
+ 'kill-buffer-hook.
+
+1991-07-15 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keymap.c (Fsingle_key_description): When describing a listy
+ object, take the car to find the symbol that heads it, not the cdr.
+
+ * dispnew.c (buffer_posn_from_coords): Pass col and line to
+ compute_motion in the correct order.
+
+ * keyboard.c (make_lispy_event): When calculating rows and columns
+ for mouse clicks and movement events, don't forget to subtract the
+ position of the window's top left corner before passing them to
+ buffer_posn_from_coords.
+
+ * screen.c (coordinates_in_window): Removed useless test for *y ==
+ screen_height, and screen_height variable; this would be out of
+ range of all the windows anyway.
+
+ * xdisp.c (message1): Removed code to ignore messages before X has
+ started up; this issue has hopefully been addressed by the
+ condition-case in startup.el.
+
+ * editfns.c (init_editfns): Make user_name char * instead of
+ unsigned char *, since that's what most of the usages seem to
+ want. And when expanding ampersands in AMPERSAND_FULL_NAME mode,
+ don't try to use user_name as a string; use Vuser_name.
+
+ * minibuf.c (assoc_for_completion): New function.
+ (do_completion): Use that to check for exact match.
+
+ * minibuf.c (Ftry_completion): Fix handling of matches aside from
+ case. If ignoring case, and all else equal, try to preserve the
+ case of the characters in the input.
+
+ * process.c (status_notify): GCPRO tail.
+
+ * sysdep.c (creat_copy_attrs, rename_sans_version): Always set
+ protection to O:REWD when creating file. Added new function
+ rename_sans_version, which strips the version number from the target
+ filename, renames the temporary file to this filename, and then
+ sets the file protection of this new file to be the same as the file
+ being edited.
+
+ * sysdep.c [VMS]: Include pwd.h from Emacs. Use sys/file.h if GCC.
+ (F_SETFL) [VMS]: Undefine this, to control conditionals.
+ (getpwnam): Make `full' unsigned.
+ (creat_copy_attrs): Add some casts.
+ (sys_access): Change prvmask and CHECKPRIV to use bitfields.
+ Add some casts, and make dummy an unsigned short int.
+ Don't use & on constants.
+ (vmserrstr): Add a cast.
+ (sys_creat): Define va_count before this function.
+
+1991-07-14 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * sysdep.c (sys_sleep, input_wait_timeout): Don't use & on constant.
+ [VMS]: Include pwd.h from Emacs. Use sys/file.h if GCC.
+ (bzero, bcopy) [VMS]: Don't take address of `length'.
+
+ * sysdep.c (sys_suspend): Cast value of `signal' to insulate from
+ changed value type in sysV.3.
+
+ * sysdep.c (child_setup_tty): Turn off erase & kill chars for BSD.
+
+ * sysdep.c (discard_tty_input): Use TIOCFLUSH on Apollo.
+ (init_sys_modes): Avoid TIOCSTART on Apollo.
+
+ * sysdep.c: If HAVE_TERMIOS is not defined, define tcgetattr in
+ terms of the TIOCGETP ioctl.
+ (init_sys_modes): Handle VSUSP, V_DSUSP if HAVE_TCATTR.
+ (discard_tty_input, init_baud_rate, child_setup_tty,
+ init_sys_modes, tabs_safe_p, reset_sys_modes):
+ Use tcgetattr, and if HAVE_TCATTR, use tcsetattr.
+
+1991-07-13 Jim Blandy (jimb at churchy.gnu.ai.mit.edu)
+
+ * s-hpux8.h: New file.
+ * fileio.c [HPUX8]: Don't include errnet.h.
+
+ * unexhp9k800.c (unexec): Local variable i to avoid compiler bug?
+
+ * sysdep.c (insque) [WRONG_NAME_INSQUE]: New function.
+ * s-386ix.h (WRONG_NAME_INSQUE): Define it.
+
+ * xdisp.c (message_buf_print): New variable.
+ (message): Clear it here.
+ * dispextern.h: Declare it here.
+ * print.c (printchar, strout): Set it and test it here.
+
+ * keyboard.c (command_loop_1): Don't clear last_command when start
+ macro.
+
+ * keyboard.c (read_command_char): Exit at eof if noninteractive.
+
+ * indent.c (invalidate_current_column): New function.
+ * editfns.c (Fwiden, Fnarrow_to_region): Call it.
+
+ * process.c (create_process): Use O_NOCTTY whenever defined,
+ unless USG.
+
+ * process.c (Fprocess_send_eof): If using a pipe, close it.
+ (close_process_descs): Check IN and OUT for nonzeroness.
+
+ * process.c (process_send_signal): Use interrupt chars
+ to send certain signals to the process group.
+ (TIOCGETC): Undefine this if it is not really usable.
+
+ * sysdep.c (discard_tty_input): Do nothing if read_socket_hook.
+
+ * xfns.c (x_set_mouse_color): Change the default pointer shapes to
+ be closer to xterm and emacs 18.
+
+ * xterm.c (x_focus_on_screen, x_unfocus_screen): These no longer
+ call XSetInputFocus, because I think that the X-windows ICCCM
+ says that only the window manager can do this sort of thing.
+
+ * keyboard.c (read_char): When there is an unread command
+ character, goto reread_first when this_command_key_count is zero,
+ not when it is >= 0.
+ (command_loop_1): Reset this_command_key_count only if there is no
+ prefix argument. This makes echoing of keystrokes work correctly.
+
+1991-07-11 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * eval.c (Finteractive_p): Changed "! XTYPE (foo) == Lisp_Bar" to
+ "XTYPE (foo) != bar".
+
+1991-07-11 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * eval.c (apply1): Don't forget to UNGCPRO before returning.
+
+ * xterm.c (XTupdate_begin): Undisplay the cursor here; do_scrolling
+ will call XTins_del_lines when the screen matrix is inaccurate, so
+ we cannot undisplay the cursor then, but do_scrolling is always
+ called within an update.
+
+1991-07-10 David J. MacKenzie (djm at nutrimat)
+
+ * termcap.c, tparam.c [!emacs, USG || STDC_HEADERS]: Define bcopy
+ in terms of memcpy.
+
+1991-07-09 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * scroll.c (do_scrolling): Use correct termination condition for
+ loop that uses the glyph pointers for the deleted lines to fill in
+ the inserted lines.
+
+1991-07-08 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * editfns.c: Doc fix.
+
+1991-07-03 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * dispnew.c (line_hash_code): Test m->highlight[vpos], not
+ m->highlight. All lines were getting hash codes of -1, because
+ the highlight vector was never NULL. Golly.
+
+ * process.c (list_processes_1): Handle status of network streams.
+
+1991-07-02 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * doc.c (Fdocumentation_property):
+ Pass only strings to Fsubstitute_command_keys.
+
+1991-07-02 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * editfns.c (init_editfns): If neither of the environment
+ variables are set, DON'T set Vuser_name to Vuser_real_name; it's
+ supposed to reflect the EFFECTIVE uid.
+ Get the full name according to Vuser_name if it differs from
+ Vuser_real_name, not if they are equal.
+ And pass Vuser_name to getpwnam in that case instead of user_name,
+ which might be 0.
+
+ * lisp.h (RETURN_UNGCPRO): New macro.
+
+ * bytecode.c (Fbyte_code): Do not remove GC protection from the
+ stack when making a function call, because the caller is
+ responsible for protecting the arguments to a MANY-arg'ed
+ function.
+ * eval.c (Fapply): If we use funcall_args, GCPRO it.
+ And when we call Ffuncall with funcall_args, tell it the correct
+ length of funcall_args, no matter which branch allocated it.
+ (Ffuncall): Don't gcpro the arguments before calling
+ Fgarbage_collect.
+ (Feval): If we're calling a subr that takes MANY args, don't
+ UNGCPRO until after we call the subr.
+ (apply1, call0, call1, call2, call3): GCPRO the arg arrays passed
+ to Ffuncall and Fapply.
+ * callproc.c (Fcall_process, Fcall_process_region): Don't GCPRO
+ the argument array.
+ * editfns.c (Finsert, Finsert_before_markers): Don't GCPRO the
+ argument array. Added comment about when GCPROing is not needed.
+ * mocklisp.c (Finsert_string): Don't GCPRO the argument array.
+
+ * keyboard.c (init_keyboard): Handle SIGQUIT with interrupt_signal
+ on any system that has HAVE_TERMIO, not just on USG systems.
+
+1991-07-01 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * editfns.c (init_editfns): Test that user_name isn't 0.
+
+1991-06-29 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * search.c: Doc fixes.
+
+1991-06-28 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * keyboard.c (make_lispy_event): Let the posns of mouse clicks and
+ mouse movements be nil when window_from_coordinates returns a
+ NON-window, not when it returns a window. Since posn is a lisp
+ object, don't call make_number when consing up the event.
+ Don't call make_number on the code member of the event.
+
+ * keyboard.c (struct movement): Make the x, y, and time members
+ Lisp_Objects, since it's easier to convert from a Lisp_Object than
+ to.
+ (note_mouse_position): Adjusted for the above.
+ (make_lispy_event): Removed code to make Lisp_Objects for those
+ members.
+
+ * xterm.c (XTread_socket): When handling LeaveNotify events,
+ remember that the focus member of the event is true when the
+ receiving window now has the focus, not when it is losing it.
+ * xfns.c (Ffocus_screen): Don't signal an error if SCREEN is
+ already the focus screen.
+
+1991-06-26 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * alloc.c (Fmake_rope): Use sizeof (GLYPH) instead of 2 to
+ determine how large the string should be, and changed doc string
+ to describe ropes as strings of glyphs, not just as strings of
+ character pairs.
+ (Frope_elt): Use sizeof (GLYPH) as the element size, instead of
+ assuming that the elements are two bytes.
+ * lisp.h (typedef GLYPH): Moved the definition from here...
+ * config.h (typedef GLYPH): to here, so people can elect to get
+ better performance if they don't want to use huge fonts.
+ * xterm.c (dumpglyphs): Use XDrawImageString or
+ XDrawImageString16, Depending on sizeof (GLYPH).
+
+ * data.c (Fsetq_default): Call Fset_default to do the assignments,
+ not plain Fset.
+
+ The following changes were contributed by Jamie Zawinski
+ <jwz@lucid.com>:
+
+ * bytecode.c (Fbyte_code): BYTE_CODE_SAFE and BYTE_CODE_METER
+ options added.
+ Added Bmark, Bscan_buffer, Bset_mark to support error-checking for
+ these obsolete bytecodes.
+ Added Bunbind_all to support tail-call optimization (not yet
+ implemented).
+ Did NOT add the relative branch opcodes that were in the version
+ of bytecode.c that Jamie sent.
+ The branching bytecodes now only QUIT if they take the branch.
+ Btemp_output_buffer_show, Bforward_char, Bforward_word,
+ Bskip_chars_forward, Bskip_chars_backward, and Bforward_line
+ passed the wrong number of arguments to their subrs.
+ Brem, Bbuffer_substring, Bdelete_region, Bnarrow_to_region,
+ Bstringeqlsign, Bstringlss, Bequal, Bnthcdr, Bmember, Bassq,
+ Bsetcar, and Bsetcdr passed arguments to the subr in the wrong
+ order.
+
+1991-06-25 Jim Blandy (jimb at churchy.gnu.ai.mit.edu)
+
+ * doc.c (Fdocumentation): Added a QUIT test to the loop that finds
+ the symbol's function value.
+
+1991-06-24 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * xterm.c (dumprectangle): Removed call to XFlushQueue here.
+
+ * keyboard.c (command_loop_1): Call Fselect_screen to establish
+ the new selected screen after the key sequence has been read, not
+ at the top of the loop. This way, a key sequence will happen in
+ the screen it was typed at, or (to be more precise) the screen its
+ last character was typed at.
+
+ * keyboard.c (fast_read_one_key): Function deleted, since it had
+ been #if 0'd out a long time ago.
+ (command_loop_1): Support for fast_read_one_key removed.
+
+ * eval.c (Ffuncall): Do GCPRO the arguments, contrary to the May
+ 16 change. The convention appears to be that the MANY-arged
+ callee must protect its own arguments.
+ (Fapply): Don't protect funcall_args; they are the caller's
+ responsibility.
+ * bytecode.c (Fbyte_code): GCPRO the section of the stack *above*
+ the args to Ffuncall, since it will be protected again once
+ Ffuncall returns and therefore should stay valid. If it is not
+ protected, string relocation may make it invalid.
+ * mocklisp.c (Finsert_string): GCPRO the arguments, since insert
+ may cause a garbage collection.
+ * editfns.c (Finsert, Finsert_before_markers): GCPRO the
+ arguments, since insert may cause a garbage collection.
+ * callproc.c (Fcall_process, Fcall_process_region): GCPRO the
+ arguments, since insert may cause a garbage collection.
+
+1991-06-20 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * buffer.h (struct buffer_text, struct buffer): small change to
+ comments.
+
+ * search.c (Fmatch_beginning, Fmatch_end): Fixed doc strings to
+ indicate that non-regexp searches set these too.
+
+ * window.c (Fset_window_start): If window is not the selected
+ window, set windows_or_buffers_changed, so that redisplay will
+ know that it should redisplay the window.
+
+ * callint.c (Finteractive): Changed doc string to indicate that
+ the interactive prompts are passed through format.
+
+1991-06-20 Roland McGrath (roland@albert.gnu.ai.mit.edu)
+
+ * buffer.c (syms_of_buffer): buffer-undo-list doc fix.
+
+1991-06-11 Roland McGrath (roland@albert.gnu.ai.mit.edu)
+
+ * data.c (Fsetq_default): Take multiple SYM, VAL args; syntax now
+ parallel to setq.
+
+1991-05-25 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_read_char): Fix wait-for-input loop so
+ that we always process/toss events we don't want to return.
+
+ * screen.c (Fselect_screen): Call Ffocus_screen instead of
+ x_new_selected_screen, which doesn't exist anymore.
+
+ * xfns.c (Ffocus_screen): Declare the type of the SCREEN argument.
+
+ * xfns.c (Fx_track_pointer): Function #if 0'd out - I don't think
+ that this is a feature that we want.
+ (syms_of_xfns): Elide the defsubr for the above.
+
+ * xterm.c (x_mouse_screen, x_input_screen): Variable deleted,
+ since all we really need is x_focus_screen; all other issues are
+ the realm and responsibility of the window manager.
+ (x_new_selected_screen): Renamed to x_new_focus_screen, and
+ modified not to do thiogs inappropriate for signal handlers.
+ (XTread_socket): Change the handling of EnterNotify, LeaveNotify,
+ FocusOut and FocusIn events to use x_new_selected_screen, and
+ ditched code that deals with x_mouse_screen and x_input_screen,
+ since they don't exist anymore.
+ (x_display_bar_cursor, x_display_box_cursor): Compare s with
+ x_focus_screen to see what form the cursor should take.
+ (x_destroy_window): Don't bother with x_input_screen.
+ * xfns.c (x_mouse_screen): Removed extern declaration for this.
+ (Fx_grab_pointer): Confine the pointer to x_focus_screen, not
+ x_mouse_screen. This is wrong, but will make emacs compile until
+ this gets fixed.
+
+1991-05-23 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (get_input_pending): Don't use trim_events; use
+ readable_events instead.
+
+ * keyboard.c (make_lispy_event): Remove case for window_sys_event,
+ since that type of event doesn't exist anymore.
+
+ * minibuf.c (Fcompleting_read): Document the backup-n argument.
+
+ * dispnew.c (init_display): Don't declare alternate_display extern
+ here. I can't figure out what this feature is, and it's broken.
+ * emacs.c (main): Don't test alternate_display and put its value
+ in the environment.
+
+1991-05-22 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (struct movement): Made .used an int instead of a
+ char, since that's more likely to be stored atomically on SPARCS
+ and similar machines.
+
+ * termhooks.h (struct input_event): Removed the window_sys_event,
+ since it's not used anywhere. Added screen_selected event type.
+ The event handling code used to change the current buffer,
+ selected window, and selected screen out from under running lisp
+ code. Now we wait for a more convenient time by enqueuing an
+ event.
+ * xterm.c (XTread_socket): When handling FocusIn events and
+ EnterNotify events with the focus member set, enqueue a
+ selected_screen event instead of calling x_new_selected_screen.
+ * keyboard.c (trim_events): Function deleted; it is a bad idea to
+ delete events based on the current tracking state, since tracking
+ might be re-enabled later.
+ (readable_events): New function which searches the input queue for
+ readable events.
+ (tracking_off): Call readable_events to see if we should
+ redisplay.
+ (kbd_buffer_read_char): Toss events that we are not interested in.
+ This is a better place to do it than trim_events, since we know
+ that do_mouse_tracking will not change. Also, handle
+ screen_selected events.
+ (new_selected_screen): New variable, holding the screen which
+ should become selected the next time through command_loop_1.
+ (syms_of_keyboard): Initialize and staticpro new_selected_screen.
+ (command_loop_1): If there is a new screen to be selected, do so.
+
+1991-05-21 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xdisp.c (message): Removed the if at the top that did not
+ display messages if the current screen was a termcap screen and a
+ window system will be used. The change to startup.el on May 18,
+ 1991 replaces this.
+
+ * ralloc.c (check_memory_limits): If the address returned by the
+ allocator is not representable in a Lisp_Object, call memory_full
+ instead of printing a very silly "warning" message.
+
+1991-05-19 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Don't overwrite the end of the buffer
+ with function keys.
+
+ * keyboard.c (tracking_off): Update input_pending after reading
+ all the input.
+ * process.c: #include "screen.h".
+ (wait_reading_process_input): Check if any screens have been newly
+ mapped and need updating.
+ * xterm.c (XTread_socket): Don't SET_SCREEN_GARBAGED when the
+ screen is unmapped; do this when is mapped.
+ (dumprectangle): Don't dump any data for garbaged screens.
+
+1991-05-18 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * sysdep.c (init_sys_modes): Moved the clauses that set up
+ interrupt-driven input out of the "if running on a terminal"
+ clause, since these may need to be set up even when running on a
+ window system.
+
+1991-05-17 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * process.c (Fprocess_status): For network connections, return
+ Qopen and Qclosed instead of Qrun and Qexit, as documented.
+
+ * lread.c (read1): Removed code that treated numbers starting with
+ a zero as octal.
+
+1991-05-16 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * eval.c (Ffuncall): Don't gcpro the arguments; the caller
+ protects them.
+ (Fapply): Gcpro funcall_args, if we use them.
+
+ * xterm.c (notice_mouse_movement): #if 0'd this function out.
+ (XTread_socket): #if 0 the code that fakes motion events for
+ moving in and out of windows. Also, rearrange the MotionNotify
+ case to give character rows and columns to note_mouse_position,
+ not pixel x and y positions. Don't deal with scrollbars here.
+ * termhooks.h (struct input_event): Removed the mouse_movement
+ event kind.
+ * keyboard.c (movement_buf): A new buffer for mouse-movement events.
+ This is hairier than you might think; see the comments for this
+ and the comments for note_mouse_position and get_mouse_position
+ for an explanation of why this is hairy.
+ (movement_ptr): Where the event handler should store new mouse
+ locations.
+ (EVENT_QUEUES_EMPTY): New macro, to be used in the places that
+ used to compare kbd_fetch_ptr to kbd_store_ptr to see if there
+ were any events available; this macro tests the mouse movement
+ buffer too.
+ (Qmouse_movement): New symbol to head mouse movement events with.
+ (trim_events): Mouse movement events are no longer in kbd_buffer,
+ so don't try to trim them.
+ (tracking_off, kbd_buffer_read_char, get_input_pending): Use
+ EVENT_QUEUES_EMPTY.
+ (get_mouse_position): New function to retrieve a mouse position
+ from the buffer properly, no matter when the event-handling signal
+ occurs.
+ (kbd_buffer_read_char): If there is something in kbd_buffer, make
+ an event for that; if there is a mouse movement, make an event for
+ that; otherwise, the while loop lied.
+ (make_lispy_event): Added code to produce mouse movement events.
+ (init_keyboard): Clear the mouse movement buffer.
+ (Qmouse_moved, Qredraw_screen, Qmapped_screen, Qunmapped_screen,
+ Qexited_window, Qexited_scrollbar): Removed extern declarations
+ for these, since they're no longer generated.
+ (syms_of_keyboard): Initialize and staticpro Qmouse_movement,
+ remove DEFVAR_LISP for Vignore_mouse_events.
+
+1991-05-14 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * lread.c (read1): Correctly parenthesize the shift when parsing
+ octal numbers, and signal an error if we see a non-octal digit.
+
+1991-05-13 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (trim_events): New function, to remove uninteresting
+ events from the input queue.
+ (get_input_pending): Call trim_events before checking the queue,
+ so as not to advertise input we don't care about.
+ (Ftrack_mouse): A new function to enable mouse tracking for a
+ block of code.
+ (tracking_off): A function for unwind_protection; restore the
+ mouse tracking state to what it was outside of the track-mouse
+ (syms_of_keyboard): defsubr track-mouse.
+ (make_lispy_event): Find the window io which the click occurred
+ when processing mouse_click events, instead of trusting the window
+ tree in the signal-handling code. Include the buffer position in
+ the click event.
+
+ * xterm.c (construct_mouse_click): Return the click's screen, not
+ its window, and don't bother updating Vmouse_window. Calculate
+ the row and column of text-area clicks using
+ pixel_to_glyph_translation, since we know that those data
+ structures are alive in signal handlers.
+
+ * screen.c (window_from_coordinates,
+ Flocate_window_from_coordinates): Moved these to window.c, since I
+ need to be able to call them even if we don't have multi-screen
+ support.
+ (syms_of_screen): Removed defsubr for
+ Flocate_window_from_coordinates.
+ * window.c (window_from_coordinates, Flocate_window_from_coordinates):
+ Here they are.
+ (syms_of_window): Here is the defsubr.
+
+ * keyboard.c (note_mouse_position): New function to enqueue
+ mouse movement events properly.
+ (current_movement_event): New variable, to support the above. See
+ its comment for more explanation.
+
+ * termhooks.h (struct input_event): Change the .window member to
+ .screen, make it a struct screen *, and indicate that those events
+ which used to return windows now return screens. It is unsafe
+ for the event reader to traverse the window structure, because it
+ can be called by a signal handler.
+
+1991-05-10 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * keyboard.c (Vignore_mouse_events): Variable deleted.
+ (make_lispy_event): For mouse and scrollbar clicks, return the
+ position as a pair of numbers, not a list of two numbers.
+
+1991-05-09 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (do_mouse_tracking): Define this variable, which
+ controls whether kbd_buffer_read_char will ignore button up and
+ mouse movement events.
+ * termhooks.h: Declare do_mouse_tracking here.
+
+ * xterm.h (STANDARD_EVENT_SET): New constant, giving the event
+ mask all the windows use.
+
+ * xfns.c (Vx_send_mouse_movement_events): Removed this variable;
+ XTmouse_tracking_enable and do_mouse_tracking do its job better.
+ (syms_of_xfns): Remove the DEFVAR_LISP for the above.
+ (x_window): Don't ask for any pointer motion events or button
+ release events by default; use the unmodified STANDARD_EVENT_MASK.
+ The user will ask for them explicitly if he or she wants them.
+ And don't ask for backing store.
+
+ * xterm.c (XTmouse_tracking_enable): New function to
+ request/unrequest detailed mouse tracking information of the
+ server, and set the flag used by XTread_socket.
+ (x_term_init): Set mouse_tracking_enable_hook to
+ XTmouse_tracking_enable here.
+ (XTread_socket): Handle mouse movement events by calling
+ note_mouse_position.
+
+ * xterm.c (XTread_socket): For MapNotify events, go ahead and set
+ the screen's visible flag, so Expose events will work. Clear the
+ iconified flag.
+
+ * editfns.c (Finsert_char): Return immediately if n <= 0, not just
+ if n < 0, so that the `while' below does not become an infinite
+ loop.
+
+ * term.c (mouse_tracking_enable_hook): Added this variable to
+ allow emacs to request that the window system start or stop
+ detailed mouse tracking.
+ * termhooks.h (mouse_tracking_enable_hook): Declare it here.
+
+ * xfns.c: Declare the functions before initializing
+ x_screen_parm_table to point to them.
+
+ * xterm.c (XTread_socket): Don't send Qmapped_screen,
+ Qunmapped_screen, Qexited_scrollbar, Qexited_window,
+ Qredraw_screen - these are not features that we want to support.
+
+1991-05-07 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * editfns.c (Finsert_char): Let strlen be the minimum of n and
+ 256, not the maximum, so we use an n-byte buffer when n < 256, and
+ a 256-byte buffer many times when n > 256.
+
+1991-05-05 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * keymap.c (Fkeymapp): Fixed docstring to give the right
+ definition of a keymap.
+
+1991-05-03 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * data.c (Fcompiled_function_p): New function.
+
+1991-05-03 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xfns.c (struct x_screen_parm_table): New type for recording
+ information about screen parameters.
+ (x_screen_parms): New table describing the existing parameters.
+ (init_x_parm_symbols, x_set_screen_param): Use x_screen_parms
+ instead of a large switch statement.
+ (x_figure_window_size): Make the default case of the switch call
+ abort instead of signalling an error, since window_prompting's
+ value is internally generated.
+
+1991-05-01 Jim Blandy (jimb at churchy.gnu.ai.mit.edu)
+
+ * keymap.c (describe_map_tree): GCPRO the maps variable;
+ Fkey_description calls Fmapconcat, which eventually calls
+ Ffuncall, which can garbage-collect.
+
+1991-04-28 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * dispnew.c (buffer_posn_from_coords): Use the information in bufp
+ to reduce the distance compute_motion must scan, when possible.
+
+1991-04-27 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Qtop_level is initialized and
+ staticpro'd in syms_of_data too. Don't staticpro (or initialize)
+ it again here.
+
+ * macros.c (syms_of_macros): Since executing-macro and
+ executing-kbd-macro are actually the same variable, use
+ DEFVAR_LISP_NOPRO for the second one so it doesn't get staticpro'd
+ twice.
+
+ * process.c (syms_of_process): Don't staticpro or initialize Qexit
+ here, since syms_of_eval already does this and it's bad to
+ staticpro something twice.
+ (Qexit): Remove declaration here, so there will be a compilation
+ error if someone rearranges eval.c without fixing the Qexit stuff.
+ * eval.c (syms_of_eval): Add comment here to say that
+ syms_of_process cares about Qexit too.
+
+ * lread.c (init_obarray): Don't staticpro Vobarray, since the
+ DEFVAR_LISP in syms_of_read takes care of that.
+
+1991-04-22 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * window.c (save_window_save): Always get the selected window's
+ value of point from its buffer, not just when it's also the
+ current buffer.
+
+ * lisp.h (Qdisabled): Declare this here so that the keys_of_*
+ files can disable the commands they define.
+ * casefiddle.c (keys_of_casefiddle): Make upcase-region and
+ downcase-region disabled, by default.
+
+1991-04-16 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * bytecode.c (PUSH): Alliant can't be bothered to implement the
+ preincrement operator right, so use a comma.
+
+ * print.c (syms_of_print): staticpro Qexternal_debugging_output.
+
+ * editfns.c (clip_to_bounds): No longer static - used in window.c.
+ * window.c (unshow_buffer): Use clip_to_bounds to make sure we
+ change point to something legal.
+
+1991-04-14 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * sysdep.c: Changes in formatting and comments.
+
+1991-04-12 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * editfns.c (Fbuffer_substring): Don't call make_string, because
+ it may cause a compaction and move the buffer, and then copy the
+ wrong data.
+
+ * keyboard.c (read_char): Only GC if we've actually done enough
+ consing since the last gc to make it worthwhile.
+
+1991-04-11 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * keymap.c (access_keymap): Canonicalize the order of the
+ modifiers when you look up a symbol in a keymap, too.
+ (where-is-internal): If the keymap in which we found the
+ definition was reached by meta-prefix-char, replace it with the
+ metized character.
+
+ * eval.c (Fcondition_case): Initialize the `handler_list' member
+ of the catchtag.
+
+ * keyboard.c (read_char): reset recent_keys_index when it is
+ greater than OR EQUAL to the number of elements in recent_keys,
+ stupid.
+
+ * keymap.c (access_keymap): When fetching the car of listy events,
+ no need to call Fcar_safe - extract the car directly.
+ * keyboard.c (read_key_sequence): Don't extract the car from listy
+ events here since 1) it strips information that we need from the
+ events, and 2) access_keymap will take care of that for us.
+
+ * macros.c (Qexecute_kbd_macro): New variable, used by
+ Fexecute_command.
+ (syms_of_macros): Initialize and staticpro Qexecute_kbd_macro.
+ * lisp.h: Add extern declaration for Qexecute_kbd_macro.
+ * keyboard.c (Fcommand_execute): Add an entry to the command
+ history for keyboard macros too.
+
+ * xterm.c (XTread_socket): If we get a MappingNotify event whose
+ request == MappingKeyboard, someone has changed the keyboard
+ mapping, and we should get the new mapping with
+ XRefreshKeyboardMapping.
+
+1991-04-10 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * commands.h: Declare last_command_char to be a Lisp_Object, not
+ an integer (ack).
+
+ * cmds.c (Fself_insert_command): If last_command_char is not an
+ integer, beep.
+ * minibuf.c (Fself_insert_and_exit): Same thing.
+
+ * keyboard.c (format_modifiers): New function, factoring out code
+ from modify_event_symbol and reorder_modifiers.
+ (modify_event_symbol): Call format_modifiers instead of doing the
+ work inline.
+ (reorder_modifiers): New function to put the modifiers on a
+ modified symbol in the canonical order.
+
+ * keymap.c (modify_event_symbol): Prepend the modifiers so they
+ appear in the canonical order: `M-C-S-U-'.
+ (store_in_keymap): If IDX is a symbol, put the modifiers in the
+ canonical order before storing.
+
+1991-04-09 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keymap.c (Flocal_set_key, Fglobal_set_key): When checking types
+ of arguments, allow KEYS to be a vector or string, not just a
+ string.
+ (keymap_table): New static function to replace duplicated code in
+ access_keymap and store_in_keymap.
+ (access_keymap): Use keymap_table.
+ (store_in_keymap): Use keymap_table, and put non-character
+ definitions in dense keymaps *after* the vector.
+
+ * fileio.c (directory_file_name): Remove trailing slashes from
+ single-letter names like "a/" too. Let slen be the string length,
+ not one less than the string length.
+
+ * keyboard.c (Fset_input_mode): Don't complain that QUIT isn't an
+ ASCII character if it is nil - it is an optional parameter.
+
+ * keymap.c (Faccessible_keymaps): Use meta-characters in the key
+ sequences returned, carefully making sure that the sequences still
+ appear in order of increasing length.
+
+1991-04-04 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * vmsfns.c (vms_trnlog): Increased size of str to 256 elements.
+ (vms_symbol): Increased size of str to 1025 elements.
+
+1991-03-24 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * dispnew.c (pixel_to_glyph_translation): Moved this function to
+ xterm.c, since it is specific to X and only called by the X code.
+ * xterm.c (pixel_to_glyph_translation): Here it is.
+
+1991-03-22 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * s-usg5-4.h (DATA_SEG_BITS): Definition deleted.
+ * m-intel386.h (DATA_SEG_BITS): Define here if USG5_4.
+
+1991-03-22 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keymap.c (Faccessible_keymaps): Produce meta-characters in the
+ key sequences instead of [meta-prefix-char CHAR] sequences.
+
+1991-03-21 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keymap.c (Flookup_key): If KEY is a zero-length array, then
+ return KEYMAP; this is more algebraically satisfying.
+
+ * dispnew.c (Fsit_for): If the time to sit is zero and there is no
+ input available, then return Qt, not Qnil.
+
+ * keyboard.c (read_char): If a quit occurs and we return
+ quit_char, clear Vquit_flag, so we don't end up returning it again
+ and again... All lisp code does this manually if they call
+ read-char with quits inhibited, so it's the right thing to do.
+
+1991-03-20 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (read_char): If there is still no input available
+ after an auto-save, do a garbage-collection.
+
+ * undo.c (truncate_undo_list): Always leave at least one undo
+ record in the undo list. And use sizeof (struct Lisp_Cons), etc.
+ instead of 8, etc.
+
+ * keyboard.c (read_char): When deciding whether to wrap
+ recent_keys_index back to 0, compare it against
+ sizeof (recent_keys)/sizeof(recent_keys[0]),
+ not sizeof (recent_keys).
+ (quit_char): This can't be anything but an ASCII character, so it
+ shouldn't be a Lisp_Object. The declaration's comment says why.
+ (read_char, init_keyboard): Treat quit_char as an int now.
+ (Fset_input_mode): As above, and signal an error if QUIT is not an
+ ASCII character.
+
+ * callint.c (Fprefix_numeric_value): Use XFASTINT to initialize
+ val, not raw.
+
+ * fileio.c (Fmake_symbolic_link): Don't expand FILENAME; this
+ would make it impossible to make a link to a relative name.
+
+1991-03-19 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Removed the DEFVAR_BOOL for
+ meta-flag. This cannot be a lisp variable because we need to
+ change the terminal settings whenever this flag changes. Change
+ this through set-input-mode instead.
+
+1991-03-19 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_avail_input): Raise SIGHUP if no input on AIX.
+
+1991-03-19 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_store_event, kbd_buffer_read_char,
+ read_key_sequence, Fexecute_extended_command, Fset_input_mode,
+ init_keyboard, syms_of_keyboard): Use XSET (var, Lisp_Int, exp)
+ instead of XSETINT (var, exp) in those cases where var is not
+ known to already be a Lisp_Int.
+ * search.c (skip_chars): Same.
+ * xterm.c (construct_mouse_click, XTread_socket): Same.
+ * callint.c (Fprefix_numeric_value): Make sure to return a
+ Lisp_Int even when RAW is a cons whose car is not a Lisp_Int.
+ * process.c (sigchld_handler): When searching for a process whose
+ pid is -1, make sure that the pid is an int first, since network
+ streams are in Vprocess_alist too.
+
+ * keyboard.c (syms_of_keyboard): Added DEFVAR_BOOL for
+ meta-flag. Emacs 18 had this, and I see no entry in the ChangeLog
+ saying that it was purposefully removed.
+
+1991-03-17 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * keymap.c (Fcopy_keymap, Faccessible_keymaps, describe_map,
+ append_key): Minor typos and brainos corrected.
+
+ * keyboard.c (read_char): Removed code to find the vector in a
+ (kbd-macro . VECTOR) - style macro, since the macro is represented
+ by the vector itself.
+ (read_char_menu_prompt): Changed to correctly recognize the new
+ dense keymap structures.
+ (read_key_sequence): Changed code that checks for keymapness to
+ use get_keymap_1 instead of doing the indirection and keymapness
+ testing itself.
+ (Fcommand_execute): A keyboard macro is now a string or a vector.
+ (Fexecute_extended_command): When expanding this_command_keys,
+ remember that it is now an array of Lisp_Objects, not chars.
+
+ * doc.c (Fdocumentation): Rearranged into a switch statement, and
+ made vectors macros, not keymaps.
+
+ * eval.c (Fcommandp): Removed code to recognize
+ (kbd-macro . VECTOR) as a command, and added code to recognize
+ vectors as commands.
+ * macros.c (Qkbd_macro): Variable deleted.
+ (syms_of_macros): Initialization of Qkbd_macro removed.
+
+1991-03-14 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * minibuf.c (keys_of_minibuf): Changed all calls to
+ initial_define_lisp_key to calls to initial_define_key.
+
+ * keymap.c (describe_map): Adjusted to handle the new style of
+ keymap.
+
+1991-03-14 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fileio.c (Fwrite_region): On VMS, don't try rewriting old version.
+
+1991-03-14 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keymap.c (Faccessible_keymaps): Adjusted to handle the new style
+ of keymap.
+ (Fwhere_is_internal): Handle the new-style of keymaps.
+ Additionally, only check to see if a match is shadowed by a
+ binding in the local keymap when LOCAL_KEYMAP is non-nil, instead
+ of comparing elt against DEFINITION yet again.
+ (describe_map_tree): Handle key sequences that are vectors, as
+ well as those that are strings.
+
+1991-03-13 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * commands.h, keymap.c (meta_map, control_x_map): Make these
+ Lisp_Objects, not Lisp_Vectors.
+ keymap.c (syms_of_keymap): Same.
+
+ * keymap.c (Fuse_global_map): There is no longer any reason to
+ insist that KEYMAP must be a dense keymap; delete the code that
+ does so.
+
+1991-03-12 Jim Blandy (jimb at wookumz.ai.mit.edu)
+
+ * commands.h, lisp.h: Changed global_map and current_global_map to
+ be Lisp_Objects, not Lisp_Vectors.
+ keyboard.c (read_key_sequence): Same.
+ keymap.c (Fkey_binding, Fglobal_key_binding, Fglobal_set_key,
+ Fuse_global_map, Fwhere_is_internal, describe_buffer_bindings,
+ syms_of_keymap): Same.
+
+ * keymap.c (Fdefine_key): Braino: increment idx and clear metized
+ flag even when the element of the key sequence isn't a character.
+ (Flookup_key): Fix same braino.
+
+1991-03-10 Jim Blandy (jimb at wookumz.ai.mit.edu)
+
+ * keymap.c (get_keyelt): Use access_keymap to resolve indirect
+ entries, instead of duplicating its code.
+ (Fcopy_keymap): Handle the new keymap structure.
+
+1991-03-09 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * eval.c (struct catchtag): New field handlerlist.
+ (internal_catch, internal_condition_case): Set that field.
+ (unbind_catch): Use it.
+
+1991-03-08 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-intel386.h (signal): Maybe define if USG.
+
+ * keyboard.c (echo_char): Don't have space at end of echobuf.
+
+1991-03-07 Jim Blandy (jimb at albert.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Initialize mouse_syms, instead of
+ doing func_key_syms twice. Don't deal with scrollbar_syms, since
+ it doesn't exist.
+
+1991-03-06 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keymap.c (access_keymap, store_in_keymap): Changed to handle the
+ new style of keymaps.
+
+ * fns.c (Fassq, Fcopy_alist): Changed docstring to promise to
+ ignore elements of LIST that are not conses. See access_keymap
+ and copy_keymap for a cheap excuse.
+
+1991-03-06 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-vms.h (DATA_START): Remove `+ 512'.
+
+1991-03-05 Jim Blandy (jimb at spiff.ai.mit.edu)
+
+ * keymap.c (Fmake_keymap): Rewritten to construct the
+ new dense keymap structure: (keymap VECTOR . ALIST). Docstring
+ adjusted accordingly. This means that the keyboard macro
+ stupidity (see Feb 27, keyboard.c) is no longer needed.
+
+1991-03-03 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sysdep.c (MEMORY_IN_STRING_H): New compilation flag.
+ * s-isc2-2.h: New file.
+
+1991-02-27 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * macros.c (Qkbd_macro): New variable, to hold the symbol
+ `kbd-macro', which we use to tag vector-style keyboard macros.
+ (syms_of_macros): Initialize and staticpro Qkbd_macro.
+
+ * eval.c (Fcommandp): Recognize the new keyboard macros.
+
+ * keyboard.c (Fcommand_execute): A keyboard macro is now a string,
+ or a cons whose car is the symbol `kbd-macro' and whose
+ cdr is a vector of events; previously, macros were strings or
+ vectors, but that makes it difficult to tell the difference
+ between macros and dense keymaps.
+ (read_char): Handle the new macros correctly, and re-allocate
+ this_command_keys correctly.
+
+1991-02-26 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-vms.h (calloc): Define like malloc, etc.
+
+1991-02-26 Jim Blandy (jimb at spiff.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Move enter_timestamp outside of the
+ function; static variables inside functions don't always work in
+ Emacs.
+
+ * editfns.c (in_accessible_range): Deleted - insufficently
+ general.
+ (clip_to_bounds): New function, much like in_accessible_range,
+ except that the upper and lower bounds are arguments.
+ (goto_char, save_restriction_restore): Rewritten to use
+ clip_to_bounds instead of in_accessible_range.
+
+1991-02-25 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keymap.c (initial_define_lisp_key): Turn KEY into a Lisp_Int
+ before passing it to store_in_keymap.
+
+ * buffer.c (reset_buffer_local_variables): Don't try to initialize
+ the buffer's mouse_map and function_key_map fields, since they
+ don't exist anymore.
+
+ * macro.c (kbd_macro_buffer, kbd_macro_ptr, kbd_macro_end): These
+ are now all pointers to Lisp_Objects instead of chars.
+ (Fend_kbd_macro): Use make_sequence.
+ (store_kbd_macro_char): Argument c is now a Lisp_Object. Change
+ call to xrealloc to ask for Lisp_Objects instead of chars. Set
+ kbd_macro_end to the same place in the new buffer as it was in the
+ old one, not to the end of the buffer.
+ (Fexecute_kbd_macro): Allow MACRO to be a string or a vector.
+ (syms_of_macros): Allocate Lisp_Objects instead of chars for
+ kbd_macro_buffer.
+
+ * alloc.c (make_sequence): New function, useful to keyboard.c and
+ macro.c.
+ * keyboard.c (Fread_key_sequence): Use make_sequence.
+ (Fthis_command_keys): Use make_sequence.
+
+1991-02-24 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * keymap.c (Fwhere_is): If the command can't be found, the message
+ is now "foobie is not on any key.", instead of "... any keys.".
+
+ * keyboard.c (input_poll_signal): Pass 0 to read_avail_input,
+ instead of `&junk'. Removed variable `junk'.
+ (command_loop_1): Updated to handle the unified function key/mouse
+ event/keystroke arrangement.
+ (Finput_pending_p): Removed vestiges of code to handle
+ unread_input_char value of -1, since this doesn't happen anymore.
+ (read_char): Adapted to handle lispy events.
+ (read_char_menu_prompt): Allocate `menu' buffer using alloca,
+ instead of a variable-sized array, which is gcc-specific.
+ (Frecent_keys): Return the most recent "keystrokes" as a vector,
+ to accomodate lispy events.
+ (Fset_input_mode): Accomodate non-characters as quit keys. If
+ this is a bad thing, init_sys_modes will tell us.
+ (init_keyboard): this_command_keys is now an array of
+ Lisp_Objects; adjust the amount of storage we request to hold it.
+ Remember that quit_char can be any keystroke.
+ (syms_of_keyboard): last_command_char, last_input_char, help_char,
+ menu_prompt_more_char and meta_prefix_char are now DEFVAR_LISPs
+ instead of DEFVAR_INTs.
+
+1991-02-24 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): Use NETCONN_P.
+
+1991-02-23 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c: (recent_keys, this_command_keys,
+ menu_prompt_more_char, help_char, last_command_char, quit_char,
+ last_input_char): Changed to Lisp_Objects, so we can use function
+ keys for them.
+ (Vglobal_function_map): Variable deleted.
+ (echo_char): Echo function keys too. The argument C is now a
+ Lisp_Object instead of a char.
+ (Fread_key_sequence): Removed sludge to handle window events
+ specially, and added sludge to handle sequences with
+ non-characters in them.
+ (classify_object): Elided, since this should go away soon.
+ (read_key_sequence): Adapted to look up symbols in keymaps,
+ just like characters.
+
+1991-02-23 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (send_process): Handle EAGAIN like EWOULDBLOCK.
+
+1991-02-22 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * doc.c (substitute_command_keys): Call describe_map_tree with
+ only three arguments, since the CHARTAB arg has been disposed of.
+
+ * keymap.c (Fcurrent_global_map, Fuse_local_mouse_map): Functions
+ deleted, since the mouse maps are no longer separate from the key
+ maps.
+ (append_key): New function, which handles tacking a single
+ keystroke on the end of a key sequence, promoting strings to
+ vectors when needed.
+ (Faccessible_keymaps): Adjusted to return vectors for key
+ sequences, when necessary.
+ (Fkey_description): Removed stuff to handle mouse buttons and
+ other things specially, since this work will go into
+ Fsingle_key_description.
+ (Fsingle_key_description): SIMPLIFIED to handle everything
+ correctly! Jeepers!
+ (Fwhere_is_internal): Scan the assoc-list at the end of dense
+ keymaps, and construct strings or vectors.
+ (where_is_string, describe_buffer_bindings): Simplified by
+ deleting code to handle mouse button bindings specially.
+ (describe_map_tree): Removed CHARTAB argument; this was
+ a kludge to print out mouse events nicely, and is no longer
+ necessary. Nobody was using it anyway.
+ (describe_map): Removed ugly hack to handle mouse buttons
+ specially, added code to describe alists on dense keymaps, and
+ removed CHARTAB argument.
+ (describe_alist): Made to handle bindings of symbols as well as
+ characters. Removed CHARTAB argument.
+ (describe_vector): Removed CHARTAB argument, allocated KLUDGE
+ outside of loop and GCPRO'd it.
+ (syms_of_keymap): Remove last vestiges of Vglobal_mouse_map,
+ Vmouse_button_names, Suse_local_mouse_map,
+ Scurrent_local_mouse_map.
+
+ * buffer.h (struct buffer): Removed mouse_map and function_key_map
+ members, since they are now handled by the keymap element.
+
+ * keyboard.c (syms_of_keyboard): Change initialization of
+ meta_prefix_char, since it's now a Lisp_Object.
+
+ * keymap.c (Fkeymapp): Rewrote this to use get_keymap_1; now it's
+ a one-liner instead of a 13-liner.
+ (DENSE_TABLE_SIZE): Created new constant for the # of lookup-style
+ entries in a dense keymap, and the index of the map's assoc list.
+ Used it where appropriate.
+ (Fcopy_keymap): Notice that 129'th element in dense keymaps.
+ (Fdefine_key, Flookup_key): Reworked to deal with vectors of
+ symbols and characters as well as strings for key sequences.
+ (meta_prefix_char): Changed from an int to a Lisp_Object.
+
+1991-02-21 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fileio.c (report_file_error): Don't downcase "I/O".
+
+1991-02-20 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * keymap.c (access_keymap): Allow IDX to be any sort of bindable
+ event, and deal with the extended keymaps. IDX is now a
+ Lisp_Object instead of an int, obviously.
+ (store_in_keymap): Allow IDX to be any sort of bindable event, and
+ deal with the extended keymaps. IDX is now a Lisp_Object.
+
+ * xterm.c (construct_mouse_click): Add code to set the up_modifier
+ bit for ButtonRelease events.
+
+ * keyboard.c (kbd_buffer_store_event): Use XFASTINT and XSETINT to
+ access event->code, since it's a Lisp_Object.
+ (kbd_buffer_read_char): Golly, perhaps we should increment
+ kbd_fetch_ptr to remove the event we just read from the queue.
+ (modify_event_symbol): Stupid fixes: correctly look up unmodified
+ symbols when cache entry has a modified symbol vector. And, when
+ first adding the modified symbol vector, copy the old slot value
+ into it correctly.
+
+1991-02-19 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): #if 0 the block of code which
+ handles mouse events and other lispy events specially, since I
+ hope it will go away soon.
+
+ * dispnew.c (Fsleep_for_millisecs): Pass all four arguments to
+ wait_reading_process_input, instead of just the first two.
+
+ * process.c (wait_reading_process_input): Remove support for
+ only waiting for mouse input, since that has been superceded.
+ This removes X dependencies from process.c, and eliminates some
+ references to code that should only exist when using X10.
+
+ * keyboard.c (mouse_moved_symbol, redraw_screen_symbol,
+ mapped_screen_symbol, unmapped_screen_symbol,
+ exited_window_symbol, exited_scrollbar_symbol): Renamed to
+ Qmouse_moved, Qredraw_screen, Qmapped_screen, Qunmapped_screen,
+ Qexited_window, Qexited_scrollbar, just as done in xterm.c.
+ (classify_object): Removed code to look up a function key in the
+ global and local function key keymaps, since this will be done
+ more generally.
+ (Fexecute_mouse_event): Elided this function with a #if 0; I
+ think it will go away once the more general keymap stuff is
+ implemented, but I'm not sure.
+ (syms_of_keyboard): Removed defsubr for Sexecute_mouse_event.
+ (where_is_string, describe_buffer_bindings, syms_of_keymap):
+ Elided code to handle mouse button bindings specially; I hope this
+ will go away.
+
+ * lread.c (syms_of_lread): Change defsubr for eval-buffer to
+ defsubr for eval-current-buffer.
+
+ * keymap.c (syms_of_keymap): defvar for Vglobal_function_map
+ removed, since that variable has disappeared.
+
+ * xterm.c (x_func_key_to_sym): Removed entirely, since we no
+ longer convert X keycodes to symbols in this section of code.
+ (x_convert_modifiers): New function to turn the X modifier bits
+ into struct input_event modifier bits.
+ (encode_mouse_button): removed, since this work isn't done here
+ anymore.
+ (Vx_send_mouse_movement_events): Add an extern declaration for
+ this.
+
+ * termhooks.h: Only define struct input_event if the module
+ has previously #included lisp.h; this avoids forcing simple modules
+ like cm.c to #include lisp.h.
+
+ * term.c: #include "lisp.h" before #including "termhooks.h", since
+ the latter uses Lisp_Objects now.
+
+ * xfns.c (syms_of_xfns): Delete the defsubr for Sx_window_id,
+ since Fx_window_id is gone.
+
+ * xterm.c (construct_mouse_event): Construct a struct input_event
+ instead of a lispy event.
+
+ * screen.c (coordinates_in_window): Added explanatory comment.
+ (window_from_coordinates): Change PART, whose returned values are
+ dependent on X-windows, to be called MODELINE_P, with appropriate
+ new return values.
+ * xterm.c (notice_mouse_movement): Handle the X-windows dependent
+ stuff that used to be in window_from_coordinates here instead.
+ (XTread_socket): Modified to produce struct input_events
+ instead of lispy events.
+
+1991-02-18 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * termhooks.h: Added up_modifier to the enum for modifier bits;
+ this bit will be applied to mouse events.
+ (struct input_event): Changed specification of non_ascii_keystroke
+ events to send the function key number instead of a symbol.
+ * keyboard.c (modify_event_symbol): Re-arranged to work well
+ with function key/mouse button numbers instead of symbols.
+ And if (MODIFIERS & up_modifer), prepend "U-" to the name of the
+ symbol being constructed.
+ (make_lispy_event): Use the new modify_event_symbol.
+
+ * xterm.c (notice_mouse_movement): Adjusted this function to
+ work with a struct input_event instead of producing an
+ s-expression.
+
+ * xterm.c, xfns.c: Made all references to x_mouse_queue,
+ x_expose_queue, and the functions which manipulate them
+ conditional on having X10, since only X10 code ever places
+ anything in these queues.
+
+1991-02-15 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * termhooks.h: Define struct input_event, to represent input
+ events while they sit in the keyboard input buffer. Using lisp
+ objects to represent input events is a bad idea because the
+ routines which enqueue them can be called from signal handlers,
+ and therefore should not cons.
+
+ * keyboard.c: (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr): Change
+ these to be of type `struct input_event *'.
+ (kbd_buffer_store_event): Manipulate struct input_events instead
+ of lisp objects.
+ (make_lispy_event): New function, to construct a lisp-style event
+ corresponding to a particular struct input_event.
+ (modify_event_symbol): New function, to add modifier prefixes to a
+ symbol, and look the new symbols up quickly if they've already
+ been created.
+ (kbd_buffer_read_char): Call make_lispy_event to turn the thing
+ in the keyboard buffer into the form that read_char is expecting.
+ (Qwith_modifier_keys): Define this new symbol variable.
+ (syms_of_keyboard): Initialize and protect Qwith_modifier_keys.
+
+ * xterm.c (init_input_symbols): Rearranged the code that produces
+ the func_key_syms array.
+ (x_func_key_to_sym): Simplified, since more will be handled in
+ make_lispy_event.
+ (XTread_socket): When handling KeyPress events, don't pass the
+ state of the modifier keys to x_func_key_to_sym, since it doesn't
+ care any more.
+
+ * sysdep.c (kbd_input_ast, end_kbd_input, read_input_waiting):
+ Rename kbd_buffer_store_char to kbd_buffer_store_event.
+
+ * keyboard.c (stuff_buffered_input): Since the keyboard buffer
+ holds lisp objects, only stuff entries that are Lisp_Ints, and
+ XINT them before passing them to stuff_char.
+ (kbd_buffer_store_char): Make this not a static function, since
+ sysdep.c calls it. And rename it kbd_buffer_store_event.
+
+ * keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr): Made these
+ variables static, to document the fact that they're only used
+ within keyboard.c.
+
+1991-02-13 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * xterm.c (init_input_symbols): remove the `xk-' prefix from all
+ the function key symbols, since they're going to be used for
+ function keys from all sorts of terminals, not just when running
+ under X.
+
+ * lread.c (read_escape): Removed support for mouse button escapes
+ (\S-, \U-, \C- applied to digits), because they're being replaced
+ by something more rational.
+
+1991-02-09 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * buffer.c: Doc fix.
+
+ * sysdep.c (dup2): Rewrite of non-F_DUPFD case.
+
+1991-02-08 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-intel386.h (LOAD_AVE_CVT): Add extra parens.
+ * s-usg5-4.h (LIBX11_SYSTEM): #undef it.
+
+1991-02-07 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-esix.h: New version from kayvan.
+ Adds HAVE_X11 conditional, NEED_PTEM_H, USG_SYS_TIME, USE_UTIME,
+ LIBS_DEBUG; removes #undef sigsetmask, LIBS_SYSTEM, ESIX,
+ MISSING_UTIMES.
+
+1991-02-06 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (Faccept_process_output): Second arg gives timeout.
+
+1991-02-06 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * lread.c (read_escape): Added support for \S- and \U- escapes (for
+ binding mouse buttons), and noted that \C- must work on digits.
+
+ * xterm.c (init_input_symbols): Was mistakenly renamed
+ init_inputs; named back.
+
+ * xterm.c (construct_mouse_click, encode_mouse_button): Rewritten
+ to build new-style mouse events.
+
+ * dispnew.c (update_line): Write a zero into obody[olen] to make
+ sure the lines in current_screen->glyphs remain terminated.
+ * xdisp.c (display_string, display_text_line): Don't write off
+ the end of the line and destroy the zero terminator when expanding
+ a tab.
+
+ * fns.c (Fy_or_n_p): Accept C-] (usually abort-recursive-edit) as
+ well as C-g to quit.
+
+1991-02-05 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * sysdep.c, s-aix3-1.h, s-hpux.h, s-iris3-5.h, s-iris3-6.h,
+ s-irix3-3.h, s-rtu.h, s-sunos4-1.h, s-unipl5-0.h, s-unipl5-2.h,
+ s-usg5-0.h, s-usg5-2-2.h, s-usg5-2.h, s-usg5-3.h, s-xenix.h:
+ Globally replaced INTERRUPTABLE with INTERRUPTIBLE.
+
+ * xterm.c (construct_mouse_event): Renamed to
+ construct_mouse_click, since there are kinds of mouse events
+ besides clicks (movement, for example).
+ (XTread_socket): rename calls here.
+
+ * xterm.c (mapped_screen_symbol, unmapped_screen_symbol,
+ exited_scrollbar_symbol, exited_window_symbol,
+ redraw_screen_symbol, mouse_moved_symbol): Renamed to
+ Qmapped_screen, Qunmapped_screen, Qexited_scrollbar,
+ Qexited_window, Qredraw_screen, Qmouse_moved, to agree with naming
+ conventions elsewhere in Emacs.
+
+ * xfns.c (text_part_sym, modeline_part_sym,
+ vertical_scrollbar_sym, vertical_slider_sym, vertical_thumbup_sym,
+ vertical_thumbdown_sym, horizontal_scrollbar_sym,
+ horizontal_slider_sym, horizontal_thumbleft_sym,
+ horizontal_thumbright_sym): Renamed to Qtext_part, Qmodeline_part,
+ Qvscrollbar_part, Qvslider_part, Qvthumbup_part, Qvthumbdown_part,
+ Qhscrollbar_part, Qhslider_part, Qhthumbleft_part,
+ Qhthumbright_part, to agree with the naming conventions elsewhere
+ in Emacs.
+
+ * xterm.c (XTread_socket): While handling EnterNotify events,
+ clear Vmouse_event here.
+ (notice_mouse_movement): Don't clear it here.
+
+1991-02-04 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-sunos4-0.h: Renamed from s-sunos4.h.
+ (read, write, open, close): Macro defs moved to s-sunos4-1.h.
+ (INTERRUPTABLE_*): Likewise.
+ * s-sunos4-1.h: New file.
+
+1991-02-04 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * keymap.c (Vglobal_mouse_map, Vglobal_function_map): Variables
+ removed in preparation for conversion to unified keymap format.
+ (Fmake_keymap): Make vector keymaps with 129 entries; the last
+ will be an assoc-list for looking up symbols. Update docstring to
+ describe 129'th element.
+ (Fmake_sparse_keymap): Update docstring to say that you can bind
+ symbols in these maps too.
+ (Fkeymapp): Recognize 129-element vectors as keymaps, not
+ 128-element vectors.
+ (get_keymap_1): wrong_type_argument can no longer return a new
+ value supplied by the debugger; remove loop to support this.
+
+ * xterm.c (XTread_socket): When handling EnterNotify events,
+ enqueue fake mouse events iff Vx_send_mouse_movement_events !=
+ Qnil.
+
+ * xfns.c (Fx_window_id): Function removed; Fscreen_parameters
+ already provides this information.
+
+ * xterm.c (x_term_init): Cleaned up the code to get the host name,
+ and removed fixed limit on host name length.
+
+ * window.c (Fscroll_other_window): Don't explicitly save
+ current_buffer and point; the save_excursion will take care of
+ that anyway.
+
+ * dispnew.c (safe_bcopy): Rewritten to handle overlapping regions
+ with multiple calls to bcopy instead of a stupid copy loop.
+
+ * xterm.c, xfns.c (Vscreen_part, Vx_send_movement_events): These
+ variables renamed to Vmouse_screen_part,
+ Vx_send_mouse_movement_events.
+
+ * lread.c (Feval_buffer): function deleted.
+ (Feval_current_buffer): Removed "#if 0 ... #endif" around this
+ function.
+
+1991-02-03 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * Makefile, ymakefile (SHELL): Force use of sh.
+
+ * s-usg5-4.h (USG5_4): Define it.
+ (LOAD_AVE_*): Don't define them.
+ * m-intel386.h (LOAD_AVE_*): Define, if USG5_4.
+
+ * buffer.c (Fbuffer_local_variables): Omit slots with no names.
+
+1991-02-03 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * xterm.c (x_term_init, init_input_symbols): Moved these to the
+ bottom of the file, 1) to be consistent with the other files, and
+ 2) so it can initialize some variables I want.
+
+1991-02-02 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * xterm.h: Added external declaration for x_focus_screen.
+
+ * search.h: File deleted.
+ * buffer.h: declare searchbuf here instead.
+
+ * screen.c (Ffocus_screen, Funfocus_screen): Moved these functions
+ to xfns.c, since they're x-specific.
+ (syms_of_screen): Removed defsubr calls for above.
+ * xfns.c (Ffocus_screen, Funfocus_screen): Here they are.
+ (syms_of_xfns): The defsubrs are here now.
+
+ * buffer.h (PT): Make this expand to an expression which is not an
+ l-value, to prevent people from assigning to it. If everyplace
+ uses SET_PT, it will be easier to merge in the interval code.
+ (point): Similar changes here.
+ (SET_PT): This can no longer be written in terms of PT, so write
+ out current_buffer->text.pt.
+
+ * xterm.c (x_new_font): Rewritten to remove arbitrary limit on
+ size of x_font_table.
+ (x_font_table_size): Created new variable.
+ (n_available_fonts, font_names, font_info, MAX_FONTS): Deleted
+ these variables/macros.
+
+ * dispnew.c (scroll_screen_lines): Instead of disabling the lines
+ vacated by the scroll (i.e. zeroing enable), mark them as enabled
+ but empty.
+
+ * callint.c (Fcall_interactively): Move UNGCPRO down, so that
+ stuff is protected while we build the command history entry and do
+ the function call.
+
+ * xterm.c (XTupdate_end): Turn cursor on, even if we don't
+ currently have the focus.
+
+ * minibuf.c (temp_echo_area_glyphs): Clear echo_area_glyphs and
+ previous_echo_glyphs, so the message we're displaying will
+ supercede any existing message.
+
+ * keyboard.c: Removed external declaration of echo_area_glyphs,
+ since it's declared in window.h.
+
+1991-01-31 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * xterm.c (XRINGBELL): Pass 0 as the second argument to XBell;
+ respect the user's preferences.
+
+1991-01-30 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * xterm.c (x_draw_single_glyph): New function, created to simplify
+ cursor drawing/undrawing.
+ (x_display_box_cursor): Rewritten to properly handle the box
+ cursor in its filled and hollow forms.
+ * xterm.h (enum text_cursor_kinds): Added enum for the different
+ kinds of cursors which might be displayed in a window.
+ (struct x_display): added member `text_cursor_kind' which says
+ which kind of cursor is currently being displayed in the window, so
+ we can arrange to redraw it effectively.
+
+ * keyboard.c (command_loop_1): When handling the forward_char
+ command, don't let point move to the location after the end of the
+ buffer.
+
+ * keyboard.c (poll_suppress_count): Define this even if
+ POLL_FOR_INPUT is not defined, because this makes lots of #ifdef
+ clauses unnecessary, and doesn't hurt, because
+ {start,stop}_polling become nops.
+
+ * config.h, config.h-dist: Make these #include "system.h" and
+ "machine.h", and let the config script link these appropriately,
+ instead of using the machine-specific names and expecting the user
+ to edit this file.
+
+1991-01-29 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * window.c (Fdelete_window): sib is a Lisp_Object; treat it as
+ such.
+
+ * xterm.c (screen_unhighlight): When the focus leaves a screen,
+ draw the cursor as a box instead of making it disappear entirely.
+
+1991-01-29 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * unexec.c (make_hdr) [TPIX]: Set f_hdr.f_nscns and f_thdr.f_scnptr.
+
+ * sysdep.c [BROKEN_TIOCGWINSZ]: Undef TIOCGWINSZ.
+
+ * process.c (wait_reading_process_input): Don't ignore
+ a zero-length read on a network connection. Do close it.
+
+ * sysdep.c (hft_init, hft_reset): Pass &junk as arg to HFQERROR.
+ Do nothing if not HFT.
+
+1991-01-29 Jim Blandy (jimb at albert.ai.mit.edu)
+
+ * xfns.h: Created, to declare things defined in xfns.c.
+ Declare Vx_send_movement_events.
+ * xfns.c: #include "xfns.h".
+ (Vx_send_movement_events): Define this variable.
+ (syms_of_xfns): DEFVAR_LISP it.
+ * xterm.c: #include "xfns.h".
+ (XTread_socket): Place a mouse-moved event in the buffer iff
+ Vx_send_movement_events says to.
+
+1991-01-28 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * ymakefile: noted that callint.o depends on mocklisp.h,
+ and dired.o on search.h.
+
+ * environ.h: Deleted - its creation in the first place was misguided.
+ callproc.h: Removed #include "environ.h", and added declarations
+ for environ.h
+
+ * buffer.c (syms_of_buffer): Add more detailed documentation to
+ buffer-undo-list.
+
+ * lisp.h (poll_suppress_count): Add external declaration for this here.
+
+1991-01-28 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-sun3-68881.h, m-sun3-fpa.h, m-sun3-soft.h: New files.
+
+1991-01-27 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * lisp.h (struct handler): add poll_suppress_count member, so
+ we can restore poll_suppress_count when we handle an error.
+ * eval.c (struct catchtag): Add it here too, for throws.
+ (internal_catch, Fcondition_case, internal_condition_case): Record
+ the value of poll_suppress_count here in the handler and catch tag.
+ (Fthrow, Fsignal): Restore it here.
+
+1991-01-25 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * xterm.c (x_display_box_cursor): If we're undrawing the cursor by
+ redrawing the character underneath it, draw according to that
+ line's highlight, instead of assuming it's in the normal GC.
+
+1991-01-25 Richard Stallmao (rms at mole.ai.mit.edu)
+
+ * buffer.h (PTR_CHAR_POS): Value was too small by 1.
+
+1991-01-16 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * doprnt.c (doprnt): Check for overflow in fmtcpy.
+
+1991-01-16 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * window.c (Fdelete_window): If the deletee gives its space to its
+ next sibling, that sibling needs to have its top/left side pulled
+ back to where the deletee's is.
+
+1991-01-15 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * doc.c (Fsnarf_documentation): handle attaching docstrings to
+ bytecode objects too.
+
+ * syntax.h (syntax_spec_code): make external declaration for this
+ unsigned char to match the definition in syntax.c.
+
+ * indent.c (compute_motion): added comments describing how it
+ can be used.
+
+1991-01-15 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (create_process): Use SETUP_SLAVE_PTY if defined.
+
+ * s-usg5-4.h (HAVE_PTYS, HAVE_SETSID): Defined.
+ (HAVE_WAIT_HEADER, WAITTYPE, wait3, WRETCODE): New macros.
+ (TIOCSIGSEND): Alias for TIOCSIGNAL.
+ (FIRST_PTY_LETTER): Overridden.
+ (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF, SETUP_SLAVE_PTY): New macros.
+
+ * m-ibmrs6000.h (CANNOT_DUMP): Undefine it.
+ (UNEXEC): Define it.
+ (PURE_SEG_BITS, SHMKEY): Define only if CANNOT_DUMP.
+ (LINKER): Override it. Then add -bnodelcsect.
+
+ * xfns.c (Fx_get_default): Try reversing XGetDefault args if it fails.
+
+1991-01-13 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-usg5-4.h (LOAD_AVE_CVT): Cast value to int.
+
+ * keyboard.c (read_avail_input): Signal SIGHUP if FIONREAD fails.
+
+ * ymakefile: Put tokens after #endif into comment.
+
+ * filelock.c (lock_file_owner_name): Declare argument type.
+
+ * syntax.c (syntax_spec_code): Type now unsigned char.
+
+ * process.c (wait_reading_process_input):
+ Call status_notify even when not doing redisplay.
+
+ * emacs.c (Fkill_emacs): Turn off SIGIO before exiting.
+
+ * s-usg5-3.h (USG5_3): Define it.
+ * m-ibmps2-aix.h [USG5_3]: Define TEXT_START as 0.
+ Don't define DATA_START or DATA_END or TEXT_END or DATA_SEG_BITS.
+ Override various other symbols at end of file.
+
+1991-01-12 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * window.c (window-configuration-p): Closing paren needed. Added.
+
+ * keyboard.c (command_loop_1): When displaying a message over an
+ active minibuffer, call Fsit_for with three arguments, not two.
+
+1991-01-12 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-irix3-3.h (HAVE_SYSVIPC): Defined.
+
+1991-01-12 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * dispnew.c (buffer_posn_from_coords): compute_motion starting
+ from bufp[y] instead of counting from the top of the window.
+
+1991-01-11 Richard Mlynarik (mly at pizza.ai.mit.edu)
+
+ * window.c (window-configuration-p): Needed. Added.
+
+1991-01-11 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * dispnew.c (buffer_posn_from_coords): Remember to deduce space
+ for the line continuation markers and the window separators from
+ the window width.
+
+1991-01-11 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-tower32v3.h (VALBITS, GCTYPEBITS): Use 26 bits for pointer.
+
+1991-01-10 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fileio.c (Fcopy_file): Always close descriptors.
+
+ * s-sunos4.h: read, write, open and close are interruptable.
+
+1991-01-09 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * xterm.c, dispnew.c (pixel_to_char_translation): Renamed to
+ pixel_to_glyph_translation, and rewritten. Just get coordinates,
+ don't return anything.
+ (buffer_posn_from_coords): New function - given a window and
+ co-ordinates on the screen, find the buffer position at those
+ co-ordinates.
+
+1991-01-08 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * alloc.c (Fmake_byte_code): Flesh out docstring.
+
+ * window.c (window_loop): pick the first window correctly, even
+ when screen == 0.
+
+ * dispnew.c (scroll_screen_lines): Don't forget to call
+ update_begin at the top of the down-scrolling section.
+ And rotate by amount, not -amount, in the up-scrolling section.
+
+ * xterm.h (MAX_FONTS, x_font_table, n_fonts): Removed external
+ declarations for these variables, since they're declared static in
+ xterm.c and not used elsewhere.
+ * xterm.c (MAX_FONTS): Moved definition of this to here from
+ xterm.h.
+
+ * xterm.c (x_new_font): If you can't find the requested font,
+ return a code which indicates this, instead of calling abort.
+
+1991-01-07 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * xdisp.c (redisplay, display_mode_line): To test
+ Vglobal_minibuffer_screen for validity, you must check that its
+ type is Lisp_Screen; comparing it to Qnil isn't good enough.
+
+ * screen.c (syms_of_screen): Initialize Vglobal_minibuffer_screen
+ to Qnil; otherwise, it inhibits decent redisplay (is that another
+ bug?)
+
+ * dispnew.c (init_display): Make sure that the standard input is a
+ terminal here.
+ * emacs.c (main): Not here, since we don't know yet if we want to
+ use a window system of some sort.
+
+ * xfns.c (x_make_gc): Delete code to support default_face and
+ highlight_face, since they're part of the interval code, and
+ shouldn't be installed yet.
+
+ * dispnew.c (init_display): calculate_costs expects a screen
+ parameter; pass selected_screen, instead of nothing.
+
+ * search.c (Freplace_match): Protect STRING.
+ * process.c (run_filter): New function.
+ (read_process_output, exec_sentinel): Use run_filter to call the
+ process's filter function.
+ (status_notify): GCPro MSG.
+ * process.c (Fopen_network_stream): Protect various args.
+ * print.c (Fprin1_to_string, Fprint): Protect OBJ.
+ * lread.c (Feval_region): Check type of B.
+ * keymap.c (describe_alist): Protect ELT_PREFIX and TEM2.
+ (describe_vector): Likewise for ELT_PREFIX and TEM1.
+
+1991-01-06 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sysdep.c (init_sys_modes): Turn off VSUSP and V_DSUSP if they exist.
+ Only on a MIPS.
+
+1991-01-05 Jim Blandy (jimb at spiff.ai.mit.edu)
+
+ * xselect.c (x_answer_selection_request): For incremental, set
+ format to 32 and send only 1 element. Pass the address of size,
+ not size itself.
+ (x_selection_arrival): For incremental, delete the property
+ containing the size of the transfer. This generates a
+ PropertyNotify to the owner, starting the exchange.
+
+ * xrdb.c (get_user_app): Pass correct number of parameters to
+ sprintf.
+
+ * xfns.c (x_window): Don't use backing store or saveunders; they
+ seem to slow down suns.
+ (x_icon): Set the InputHint to the window manager to False.
+ (x_make_gc): Initialize gc_values.line_width to zero before
+ creating the normal video GC, since it uses it. And set the
+ default_face and hilite_face gcs here.
+ (install_vertical_scrollbar): Add 2 to thumbdown y position, and
+ don't add ibw.
+
+ * insdel.c (insert, del_range): Use SET_PT rather than assigning
+ point directly.
+ * window.c (Fselect_window): Here too.
+
+ * xdisp.c (redisplay_all_windows): removed static declaration for
+ this nonexistent function.
+
+1991-01-04 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * window.c (window_loop): neatened up. MINI being non-zero now
+ makes it recognize active minibuffer windows. Iterates properly
+ over multiple screens when asked nicely.
+ (Fget_lru_window, Fget_largest_window): SCREENS arguments are now
+ declared as a Lisp_Object, and documented.
+ (Fget_buffer_window): SCREENS argument is now documented.
+ (Fdelete_other_windows): Delete other windows on the argument
+ window's screen, not the current screen.
+
+ * screen.c (window_from_coordinates): Changed other reference to
+ Fnext_window to use next_screen_window; see below.
+
+ * window.c (Fnext_window, Fprevious_window): Accept non-nil, non-t
+ values for mini, and don't turn off all-screens when mini is t but
+ there is no global minibuffer screen. Remove screen_{root,mini}
+ variables.
+ (Fother_window): Added second argument all_screens.
+
+ * undo.c (record_delete): Removed dead variable llength.
+
+ * data.c (Qkeyp, Fkeyp): Removed these and supporting code.
+ * keymap.c (Fsingle_key_description): Report an error instead of
+ calling wrong_type_argument.
+ * lisp.h (Qkeyp): Removed external declaration for this.
+
+1991-01-03 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * search.c (search_buffer): Return starting position if count == 0.
+
+1991-01-02 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * scroll.c (do_scrolling): Use correct limits on loop to clear
+ lines just inserted--old version lost a line.
+
+ * screen.c: #ifdef HAVE_X_WINDOWS, #include xterm.h
+ (Ffocus_screen, Funfocus_screen): use Joe's new definitions, and
+ only define these functions ifdef HAVE_X_WINDOWS.
+ (window_from_coordinates): use next_screen_window instead of
+ Fnext_window, so that global minibuffers work.
+
+ * lread.c (syms_of_read): Don't forget to defsubr
+ read-char-exclusive.
+
+ * lisp.h (Fscreenp, Fselect_screen, Ffocus_screen,
+ Funfocus_screen, Fselected_screen, Fwindow_screen,
+ Fscreen_root_window, Fscreen_selected_window, Fscreen_list,
+ Fnext_screen, Fdelete_screen, Fread_mouse_position,
+ Fset_mouse_position, Fmake_screen_visible, Fmake_screen_invisible,
+ Ficonify_screen, Fdeiconify_screen, Fscreen_visible_p,
+ Fvisible_screen_list, Fscreen_parameters,
+ Fmodify_screen_parameters, Fscreen_pixel_size, Fscreen_height,
+ Fscreen_width, Fset_screen_height, Fset_screen_width,
+ Fset_screen_size, Fset_screen_position, Fcoordinates_in_window_p,
+ Flocate_window_from_coordinates, Frubber_band_rectangle): added
+ extern declarations for all these.
+
+ * lisp.h (Qscreenp): added an extern declaration for this.
+
+ * lisp.h (DBL_DIG): Added constant for the maximum number of
+ decimal digits a float could print to. Used in print.c.
+
+ * keymap.c (Fkey_description): Produce pretty descriptions of
+ mouse and window system events too.
+ (Fsingle_key_description): signal an error if obj is not a key.
+
+ * data.c (Fkeyp, Qkeyp): Added predicate to recognize things which
+ can be bound - this includes keys, symbols (for function keys and
+ window system events), and conses (for mouse events).
+ * lisp.h (Qkeyp): Added external declaration for this.
+
+ * keyboard.c (Frecursive_edit): Don't specbind the standard IO here.
+ (recursive_edit_1): Do it here, and don't forgot to unbind_to.
+
+ (command_loop_1): Reset no_redisplay after mouse commands.
+
+ (classify_object): Place the object in read_key_sequence_cmd.
+
+ (Fread_key_sequence): recognize that when read_key_sequence
+ returns -1 or -2, it's a mouse event or window system event.
+
+1991-01-01 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * fileio.c (Fwrite_region): We should dereference GPT_ADDR[-1]
+ before comparing it to '\n' for VMS cruft.
+ (Fdo_auto_save): Don't call run-hooks before it's defined. This
+ only happens before emacs is dumped, when loading inc-vers.el.
+
+ * eval.c (Fsignal): TOTALLY_UNBLOCK_INPUT here.
+ (error): Not here.
+
+ (Feval): We use argvals[0..5], so declare it to have six elements
+ instead of just five.
+
+1990-12-30 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * eval.c (Fsignal): Don't ever return.
+ Call error instead if user tries to use debugger to return.
+
+ * eval.c (unbind_to): New second arg is value to return. gcpro it.
+ All callers changed to pass the arg; if a caller uses unbind_to
+ just before returning, it passes as this arg the value it wants
+ to return, then it returns whatever comes back.
+
+1990-12-28 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * print.c (print): put obj in a non-register variable so
+ we could gcpro it. Also fixed some syntax errors.
+
+ * editfns.c (Fformat): declare nstrings, and declare nstrings and
+ strings in a local block.
+ (Fformat): XFLOAT(args[n]) isn't a float; ->data is.
+
+1990-12-27 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-tower32.h: Add comments for how to optimize.
+ * m-tower32v3.h: New file.
+
+ * fileio.c (Fwrite_region): Save errno around unlock_file.
+
+1990-12-26 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * editfns.c (Fformat): Handle floats. Convert between int and float.
+ Don't truncate value at null char coming from doprnt.
+ * doprnt.c (doprnt): Replace tembuf with malloced buff if too small.
+ Handle %e, %f and %g.
+
+1990-12-25 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * abbrev.c (Fexpand_abbrev): Use insert_from_string, not insert.
+ (Funexpand_abbrev): Likewise.
+ * doc.c (Fsubstitute_command_keys): Likewise.
+ * editfns.c (Finsert, Finsert_before_markers): Likewise.
+ * minibuf.c (Fminibuffer_complete_word): Likewise.
+ * mocklisp.c (Finsert_string): Use insert1.
+ * vmsfns.c (Fdefault_subproc_input_handler): Likewise.
+
+ * print.c: Don't use strout for the text of a Lisp string.
+ (print_string): New function to use instead.
+ (print): Use print_string when no escapes needed.
+ When printing with escapes, protect the string and check addr often.
+
+1990-12-24 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * insdel.c (insert_from_string): New function.
+
+1990-12-20 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * term.c (ins_del_lines): Handle scroll region wrt chars_wasted.
+
+1990-12-16 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * Globally renamed InsStr to insert_string.
+
+1990-12-15 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-usg5-3.h (USG_SHARED_LIBRARIES): Define it.
+
+ * m-intel386.h (C_SWITCH_MACHINE): New macro.
+
+1990-12-15 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * alloc.c (STRING_FULLSIZE): Use sizeof(struct Lisp_String)
+ instead of sizeof(int).
+
+1990-12-14 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c (Fread_key_sequence): Clear this_command_key_count
+ here; who unfixed this?
+
+1990-12-12 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * abbrev.c (Fdefine_abbrevs): Don't crash when EXPANSION is nil.
+
+1990-12-11 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * eval.c (Fmacroexpand): Change handling of (foo . bar) in ENV.
+
+1990-12-10 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-pmax.h (SYSTEM_MALLOC): Define it.
+
+ * process.c (wait_reading_process_input): Ignore failure with EIO.
+
+1990-12-09 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-iris4d.h (LOAD_AVE_CVT): Divide by 1024.
+ (LIB_STANDARD): Use -lbsd first.
+ (LIBS_MACHINE): Don't use -lbsd here.
+ * s-irix3-3.h (ADDR_CORRECT): Macro deleted.
+ (LIBS_MACHINE): Macro deleted.
+ (LDAV_SYMBOL): Delete the `_' from start of symbol.
+
+ * process.c (create_process): Delete duplicate sigsetmask.
+
+ * m-ibmrt.h (RTPC_REGISTER_BUG, SHORT_CAST_BUG): Macros deleted.
+ (C_SWITCH_MACHINE): Use -D to define alloca.
+ (SIGN_EXTEND_CHAR): Use a cast.
+
+1990-12-05 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c (Fsuspend_emacs): Protect STUFFSTRING.
+ (cmd_error): Protect TAIL while printing.
+ (input_poll_signal, start_polling): Use polling_period.
+ (syms_of_keyboard): Initialize it and make it a Lisp var.
+
+ * fns.c (Fyes_or_no_p): Protect PROMPT for entire loop.
+
+ * fileio.c (Frename_file): Protect args.
+ * fileio.c (Fadd_name_to_file): Protect the args.
+ (Fcopy_file, Fmake_symbolic_link): Likewise.
+ (Finsert_file_contents): Protect FILENAME.
+
+1990-12-04 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * eval.c (Fbacktrace): gcpro TAIL.
+ * emacs.c (Fkill_emacs): gcpro ARG.
+ * editfns.c (Fformat): remove remains of gcpro'd args.
+
+ * dispnew.c (syms_of_dispnew): Don't clobber Vwindow_system_version
+ if CANNOT_DUMP.
+
+ * dired.c (file_name_completion): Check that FILE is a string.
+
+ * buffer.c (Fbury_buffer): Don't init BUF1.
+
+ * doc.c (Fsubstitute_command_keys): Protect STR and don't keep a
+ pointer to the middle of it.
+
+ * m-hp9000s300.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Override for BSD.
+
+ * process.c (sigchld_handler): Clear synch_process_alive if the
+ dying process isn't in the table at all.
+ * callproc.c (call_process_cleanup): Clear synch_process_alive.
+
+1990-12-03 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * callproc.c (Fcall_process): change synch_process_pid to
+ synch_process_alive, as a general flag that we are waiting for
+ a synchronous process to die. This obviates the need to block
+ SIGCHLDs until we know the pid.
+ * sysdep.c (wait_for_termination): wait for synch_process_alive to
+ be false.
+
+ * process.c (sigchld_handler): If pid not recognized, look for a
+ process recorded with pid -1.
+ (create_process): Set pid to -1 before the fork.
+ Store correct pid right after the fork.
+ Don't change sigchld handler on system V.
+
+ * process.c (Fstart_process): Set BUFFER before other string vars
+ so a gc in Fget_buffer_create won't clobber them.
+
+1990-11-30 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * keyboard.c (read_command_char): Save and restore getcjmp.
+
+1990-11-29 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (status_convert): Use WRETCODE for exited process.
+
+1990-11-26 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-usg5-4.h (LIB_STANDARD): Add libucb.a.
+ (NEED_PTEM_H): Define this instead of NEED_SIOCTL.
+ * m-ibm370aix.h, m-ibmps2-aix.h, m-ibmrs6000.h (NEED_SIOCTL):
+ Undefine this.
+ (NEED_PTEM_H): Likewise.
+
+ * s-sunos4.h (O_NDELAY): Don't define this.
+
+ * print.c (Fwith_output_to_temp_buffer): Don't eval first arg twice.
+
+1990-11-22 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-hp9000s300.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Alternate defs for BSD.
+
+1990-11-21 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * dispnew.c (init_display): Check if we're using a window system
+ before trying to initialize the terminal. If someone has
+ indicated that they want to use a window system, we shouldn't
+ bother initializing the terminal. This is especially important
+ when the terminal is so dumb that emacs gives up and doesn't bother
+ using the window system.
+
+1990-11-20 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * print.c (Fexternal_debugging_output): added new function which
+ writes a character to stderr, for use when debugging emacs with
+ gdb.
+
+1990-11-14 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * dispnew.c (window_change_signal): used to assume that SIGWINCHes
+ always applied to the currently selected screen. Now it scans the
+ list of screens for a screen controlled by termcap, and changes that
+ screen's size.
+
+1990-11-13 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fileio.c (err_str): New macro.
+ (Finsert_file_contents, Fwrite_region): Use it in error messages.
+
+1990-11-12 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * insdel.c (del_range): Supply missing arg to gap_left.
+
+1990-11-11 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * regex.c: Disabled definition of NULL from lisp.h
+
+ * crt0.c (_start): added static declaration of start1.
+
+ * xfns.c: added definition for Vbar_cursor.
+ (syms_of_xfns): Added DEFVAR_LISP clause for Vbar_cursor.
+
+ * xterm.c (XTread_socket): passed &event.xkey instead of &event to
+ XLookupString, so things will typecheck nicely.
+
+ * Globally rewrote all references to Vmouse_buffer to use the
+ buffer viewed by Vmouse_window instead.
+
+ * alloc.c (xmalloc, xrealloc): removed calls to
+ {un,}hold_window_change. The new SIGWINCH-handling code and
+ do_pending_window_change make them unnecessary.
+
+1990-11-11 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): Make Available static;
+ don't clear when a nonzero bit is found.
+
+ * fns.c (Fnthcdr): Stop loop if reach end.
+
+ * dispnew.c: Include fcntl.h if HAVE_TERMIO.
+
+1990-11-10 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * alloc.c (make_uninit_string): No longer declared static, and
+ extern declaration added to lisp.h. It's used in dired.c.
+
+1990-11-08 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * dispnew.c (do_pending_window_change): Changed incorrect call to
+ change_window_size_1 into a loop which scans list of screens and
+ resizes those that need resizing.
+
+1990-11-06 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-ibmrs6000.h (CANNOT_DUMP): Define it.
+
+ * process.c (create_process): Unblock SIGCHLD in the child.
+
+ * process.c (wait_reading_process_input): Don't read input
+ from more than one process between calls to `select'.
+
+1990-11-02 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * callint.c (syms_of_callint):
+ Initialize Vprefix_arg and Vcurrent_prefix_arg.
+
+1990-11-01 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * dired.c (Fdirectory_files): Avoid using MAXNAMLEN.
+
+1990-10-31 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * process.c (MAXDESC): Enclosed definition in `#ifndef ... #endif'
+ clause.
+
+ * bytecode.c: Included syntax.h to declare syntax_code_spec.
+
+ * syntax.h (syntax_spec_code): Added extern declaration for this.
+
+ * floatfns.c (float_error): Added static declaration for this at
+ the top of the file.
+
+1990-10-29 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * indent.c (position_indentation): renamed stray `bf_cur' to
+ `current_buffer', and old `CharAt' usages to `FETCH_CHAR'.
+ * buffer.c (Fbuffer_disable_undo): the symbol object for this
+ subroutine was still named Sbuffer_flush_undo, and the symbol's
+ lisp name was similarly out of date. Renamed both, and added an
+ alias in lisp/subr.el .
+
+ * keyboard.c (Fset_input_mode): a `meta_flag' had escaped being
+ renamed to `meta_key'.
+
+1990-10-29 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (Fprocess_send_region, Fprocess_send_string):
+ Break data into bunches less than 500 bytes.
+ Accept process output between bunches.
+ ??? Must update manual.
+
+1990-10-29 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * window.c (Fset_window_start, window_scroll): renamed stray
+ references to `redo_mode_line' to `update_mode_line'.
+
+ * xdisp.c (decode_mode_spec): renamed stray references to `bf_cur'
+ and `bf_modified' to `current_buffer' and `MODIFF'.
+
+1990-10-25 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * environ.h: file created - contains declarations for users of the
+ environment variable list.
+ * callproc.c (environ): removed extern declaration of environ, and
+ included environ.h.
+
+1990-10-24 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * callproc.c (init_callproc): removed extern declaration of
+ environ - it's already taken care of at the top of the file.
+
+ * mocklisp.h: file created - externally declares certain
+ functions defined in mocklisp.c.
+ * lisp.h (Fread_buffer, Fread_key_sequence): added extern
+ declarations for these functions.
+ * callint.c (ml_apply, Fread_buffer, Fread_key_sequence): removed
+ extern declarations for these functions, included mocklisp.h.
+ Moved external declaration of index to top of file.
+
+1990-10-24 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * ymakefile (GNULIB_VAR): New make variable.
+ (LIBES): Use that, not GNULIB directly.
+ (GNULIB): Don't define if already defined.
+
+1990-10-23 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * indent.h (last_known_column_point): added extern declaration for
+ this variable.
+ buffer.c (last_known_column_point): removed extern declaration for
+ this variable, included indent.h.
+ (Vprin1_to_string_buffer): removed extern declaration - it's
+ already in lisp.h.
+
+ * lisp.h (catchlist, backtrace_list, stack_bottom,
+ current_global_map): added extern declarations for these
+ variables.
+ * alloc.c: removed external declarations for catchlist,
+ backtrace_list, and stack_bottom, since this file includes
+ lisp.h.
+ * callint.c: (current_global_map): removed extern declaration.
+
+ * search.h: new file - declares searchbuf.
+ * dired.c (Fdirectory_files): removed extern declaration of
+ searchbuf, included search.h.
+
+ * Globally renamed `CHAR_AT_POSITION' to `FETCH_CHAR'.
+
+1990-10-22 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * keyboard.c (quit_char): New variable.
+ (init_keyboard): Initialize it.
+ (Fset_input_mode): New optional arg to set quit_char.
+ (command_loop_1, read_char, kbd_buffer_store_char):
+ (read_avail_input): Use quit_char, not C-g.
+ * sysdep.c (init_sys_modes): Use quit_char to set special chars.
+ * xterm.c (x_term_init): Pass new arg to Fset_input_mode.
+
+1990-10-22 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * xdisp.c: added `extern' declaration for command_loop_level.
+
+ * term.c (term_init): Internal cleanups.
+ (write_glyphs): renamed argument `start' to `string'.
+
+1990-10-21 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * xterm.c (FIONREAD): Undefine if BROKEN_FIONREAD.
+ (SIGIO): Undefine if no FIONREAD.
+ (ioctl.h, termio.h, strings.h, string.h): Include them before those.
+
+ * alloc.c (make_vector_from_string, Fvector_from_string):
+ Functions deleted.
+
+ * sysdep.c (select): Handle timeout == 0. Add var local_timeout.
+
+ * alloc.c (make_uninit_string, make_float): Use VALIDATE_LISP_STORAGE.
+ (Fcons, Fmake_vector, Fmake_symbol, Fmake_marker): Likewise.
+ (Fmake_vector_from_list): Likewise.
+ (VALIDATE_LISP_STORAGE): New macro.
+
+1990-10-20 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * dispnew.c (scrolling): Give up if some new lines not enabled.
+ (update_screen): Rework outq logic.
+
+ * xdisp.c (message, message1): Clear noninteractive_need_newline.
+
+1990-10-19 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * scroll.c (do_scrolling): allocate queue using alloca instead
+ of variable-sized arrays.
+
+1990-10-19 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * buffer.c: Doc fix.
+
+1990-10-18 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * print.c (internal_with_output_to_temp_buffer): install an
+ unwind_protect to make sure the current buffer is restored.
+
+ * minibuf.c (read_minibuf): call recursive_edit_1 instead of
+ Frecursive_edit, to support the new command_loop_level
+ arrangement.
+
+ * malloc.c (calloc): Added this function, in case something linked
+ with emacs calls it.
+
+ * lread.c (openp): Since access returns 0 on success, change that
+ into a 1 before returning it.
+
+ * lisp.h: deleted DEFSIMPLE and DEFPRED, since they're no
+ longer used.
+
+1990-10-18 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-intel386.h (alloca): Define as builtin, if using GCC.
+
+ * m-att3b.h (NEED_PTEM_H): Define this for 3b2.
+
+ * s-aix3-1.h (SYSV_SYSTEM_DIR): Define it.
+
+ * print.c (print): Improve error message for bad data type.
+
+1990-10-18 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keymap.c (Flookup_key): rearranged to use an index into the key
+ sequence instead of a pointer and a level counter.
+
+1990-10-18 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * floatfns.c (sinh, cosh): On VMS, define to use exp.
+ (IN_FLOAT): Detect errors reported using errno.
+ (float_error): Define function unconditionally.
+ Reestablish handler when called, if not BSD.
+
+1990-10-17 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-delta.h (C_DEBUG_SWITCH): Don't define this.
+
+1990-10-17 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c (command_loop): made call to command_loop_2
+ conditional on minibuf_level too (it used to be only conditional
+ on command_loop_level), since this is what 18.56 and all the other
+ functions in Emacs 19 keyboard.c do.
+
+1990-10-16 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c (read_char): Don't echo dash if there is already
+ something else being displayed in the echo area.
+
+1990-10-16 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (status_convert): If killed by signal, use WTERMSIG.
+
+ * data.c (arith_error): Reestablish handler on VMS.
+
+ * keyboard.c (start_polling, stop_polling): New functions.
+ (input_poll_signal): New function, handles periodic alarms.
+ (read_command_char): Turn off polling temporarily.
+ * xdisp.c (redisplay): Likewise.
+ * process.c (wait_reading_process_input, create_process): Likewise.
+
+1990-10-16 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * indent.c (position_indentation): instead of using CharAt, use a
+ pointer to scan the buffer - this is faster.
+
+ * emacs.c (Fdump_emacs): The conditional expression which passes
+ symname to unexec was missing a `: 0'.
+
+ * dispnew.c (rotate_vector): Was rotating backwards.
+
+1990-10-15 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * dired.c (file_name_completion): Use scmp to compare names.
+
+1990-10-15 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (create_process): Don't turn off handling of SIGCHLD.
+ Just set a flag if a signal comes in when not wanted.
+ (create_process_sigchld): New signal handler.
+
+1990-10-14 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * bytecode.c: De-implement Bmark, Bset_mark, Bscan_buffer.
+ Mark Bsymbol_function, Bfset, Bread_char as obsolete.
+ Implement codes Bmult, Bforward_char...Bwiden,
+ and Bstringeqlsign...Bintegerp.
+
+1990-10-12 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * buffer.c (list_buffers_1): Select the buffer given in
+ Vstandard_output using Fset_buffer instead of set_buffer_internal.
+
+ * buffer.c (set_buffer_internal): deleted variable swb - it's
+ never used.
+
+ * buffer.c (count_modified_buffers): function deleted - it's
+ not used anymore.
+
+1990-10-11 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * buffer.c (reset_buffer_local_variables, buffer_local_variables):
+ added support for default values for buffer local variables which
+ do not have a DEFVAR_PER_BUFFER, as described in the comments
+ above buffer_local_flags.
+
+ * buffer.c (Fget_buffer_create): move initialization of
+ b->save_length and b->last_window_start to reset_buffer.
+
+1990-10-11 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-ibmps2-aix.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Define them.
+ (C_DEBUG_SWITCH): Delete -fstrength-reduce.
+
+ * unexmips.c (unexec): Add conditional for MIPS2.
+
+1990-10-10 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-iris4d.h (LIBS_MACHINE): Use -lsun, don't use -lPW.
+
+ * unexelf.c: New file.
+ * s-usg5-4.h: New file.
+ * unexec.c [USG_SHARED_LIBARARIES]: Numerous changes under this cond.
+ (copy_text_and_data): New second argument.
+
+1990-10-10 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * alloc.c (gc_sweep): only unchain markers that are in a buffer.
+
+1990-10-10 Mike Rowan (mtr at apple-gunkies)
+
+ * process.c: Merged in more changes from 18.56: update_status,
+ FD_SET changes (define all the FD_ macros). Other small changes.
+
+1990-10-09 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * xdist.c: (decode_mode_spec): reworked code to handle %* - it now
+ goes like `if return else if return else ... return' instead of
+ using a conditional operator.
+
+ * xdist.c: (fmodetrunc): function deleted - no longer used.
+
+1990-10-09 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * xdisp.c (decode_mode_spec): Handle dashes in wide windows.
+
+1990-10-08 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sysdep.c (sys_open, sys_close, sys_read, sys_write):
+ Don't handle EAGAIN.
+
+ * process.c (wait_reading_process_input): Handle nread==-1
+ for O_NDELAY like O_NONBLOCK.
+
+ * s-vms.h (LINK_CTRL_SHARE): Turn on again.
+ tranle@intellicorp.com found it needed in VMS 5.3.
+
+ * emacs.c (main): Move VMS declaration of environ outside function.
+
+ * vmsfns.c (Fdefault_subproc_input_handler): InsCstr -> insert.
+
+1990-10-07 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-pmax.h (START_FILES): Handle crt0.o in different dir in Ultrix 4.0.
+
+ * s-sunos4.h (O_NDELAY): Define only if not defined.
+
+1990-10-06 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * sysdep.c (tabs_safe_p, get_screen_size): renamed `sg' to `tty'.
+
+ * sysdep.c (init_baud_rate): rearranged code for calculating
+ baud_rate.
+
+1990-10-05 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * search.c (Freplace_match): used Finsert_buffer_substring instead
+ of place and deleted place.
+
+ * search.c (place): function removed
+
+ * process.c (count_active_processes): Deleted; not used.
+
+ * minibuf.c (read_minibuf): renamed `prefix' argument to `initial'.
+
+1990-10-01 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * lread.c (Fload): renamed `MISSING-OK' to `NOERROR'.
+
+ * keyboard.c (describe_map): renamed `keys' to `string'.
+
+ * keyboard.c `Vauto_save_interval' unrenamed back to
+ `auto-save-interval'.
+
+ * keymap.c (Fdefine_key, Flookup_key): renamed arguments called
+ `keys' to `key'.
+
+1990-10-01 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sysdep.c (sys_open, sys_close, sys_read, sys_write):
+ Handle EAGAIN like EINTR.
+
+1990-09-30 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * insdel.c (gap_left, gap_right): Use bcopy if requested.
+ New config parameters GAP_USE_BCOPY, BCOPY_SAFE_UPWARD,
+ and BCOPY_SAFE_DOWNWARD.
+
+ * eval.c (find_handler_clause): Bind debug-on-error to nil.
+ (Qdebug_on_error): New variable.
+ (syms_of_eval): Initialize that.
+
+ * sysdep.c: Include various headers for ptys, for hpux, aix, and sysv.
+
+ * dispnew.c (preserve_other_columns): Fix args to second bcopy.
+
+1990-09-30 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c: `auto_save_interval' renamed to
+ `Vauto_save_interval', since it *is* a lisp-accessible variable.
+
+ * fileio.c (Fdo_auto_save): call record_auto_save so that
+ read_char knows when we've auto-saved.
+
+ * keyboard.c (record_auto_save): added function to support the new
+ auto-save conditions.
+
+ * keyboard.c (read_char): use num_input_chars and last_auto_save
+ instead of keystrokes to decide when to autosave.
+
+ * keyboard.c (keystrokes): variable deleted.
+
+1990-09-30 Mike Rowan (mtr at spike.ai.mit.edu)
+
+ * keyboard.c and alloc.c: added malloc warning code from
+ 18.56.
+
+ * dispnew.c, xdisp.c: (un)hold_window_change no longer exists;
+ added do_pending_window_change from 18.56.
+
+ * process.[ch]: added the raw_status_low and raw_status_high
+ code from 18.56.
+
+1990-09-29 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * alloca.s: Handle ns32000 like ns16000.
+
+ * m-ns32000.h: New file.
+
+ * lread.c (Fload): Warn if elc file older than source file.
+
+ * ymakefile (LIB_X11_LIB): New parameter,default -lX11.
+ (LIBX): Use that.
+
+ * Makefile (xmakefile): Delete junk.c at the beginning.
+
+ * hftctl.c: Include termios.h before termio.h.
+ Define TCGETS and TCSETS if nec.
+ Give some forward declarations for the static functions.
+ Reformat in usual GNU style.
+
+ * m-orion105.h (LOAD_AVE_TYPE, FSCALE): Changed from double and 1.0.
+
+ * m-delta.h: New file.
+
+1990-09-28 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fns.c (Frequire): Undo certain things on failure, like autoload.
+
+1990-09-28 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * fileio.c (Fwrite_region): renamed variable `fd' to `desc' and
+ changed argument to open from `1' to `O_WRONLY'.
+
+ * fileio.c (O_WRONLY): added clause to define this if not already
+ defined.
+
+ * emacs.c (Fdump_emacs): removed a_name variable.
+
+ * emacs.c (Fkill_emacs): removed code which asked about modified
+ buffers and running subprocesses.
+
+ * editfns.c (Fcurrent_time_string): renamed variable `now' to
+ `current_time'.
+
+ * dispnew.c (update_line): renamed variables `m1' and `m2' to
+ `begmatch' and `endmatch'.
+
+ * dispnew.c (update_screen): use preempt_count as a limit instead
+ of a counter; count with i instead.
+
+ * dispnew.c (visible_bell, inverse_video, baud_rate,
+ Vwindow_system): rearranged comments.
+
+1990-09-27 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * emacs.c (main) : Set the DISPLAY environment value when both of
+ MAINTAIN_ENVIRONMENT and HAVE_X_WINDOW are defined.
+
+ * m-convex.h (LIB_STANDARD, LIBS_MACHINE): remove these, they
+ cause an unnecessary C1/C2 dependency.
+
+ * m-convex.h (LD_SWITCH_MACHINE): use -e__start to specify
+ where crt0.c begins.
+
+ * m-convex.h (HAVE_SETSID): define; must call setsid
+ when creating an inferior with a different controlling tty.
+ * process.c (create_process): rearrange so that HAVE_SETSID
+ will be seen when not under USG.
+
+ * m-convex.h (S_IFMT etc): define in case of posix compilation.
+
+ * m-convex.h (FIRST_PTY_LETTER): do it at runtime.
+ * unexconvex.c (first_pty_letter): routine to locate lowest pty.
+
+ * unexconvex.c: Rewrite so it can cope with thread-local sections.
+
+ * sysdep.c (select): Use process_tick and update_tick,
+ not child_changed.
+
+1990-09-23 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * keyboard.c (Fsuspend_emacs): Check screen size after resume.
+
+1990-09-19 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * editfns.c: Doc fix.
+
+1990-09-18 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * window.c (Fsplit_window): Minor cleanup.
+
+1990-09-17 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * emacs.c (main) [USG_SHARED_LIBRARIES]: Call brk.
+
+1990-09-13 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * floatfns.c (float_error_arg): New variable.
+ (IN_FLOAT): New arg; sets float_error_arg. All uses changed.
+ (float_error): Use that value when signaling error.
+
+1990-09-11 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * unexaix.c, m-ibmr2.h, s-aix3-1.h: New files.
+
+ * ymakefile (allocaobj): New variable. Used in otherobjs.
+ Eliminates assignment of mallocobj using itself.
+ (mallocobj): Handle SYSTEM_MALLOC without HAVE_ALLOCA.
+ (xemacs): Use -nl option if HAVE_SHM.
+
+ * sysdep.c: Change IBMRTAIX conditionals to AIX.
+ Move hft.h to the top.
+ [IBMR2AIX]: Use termios.h and change macros accordingly.
+ (child_setup_tty): Change IBMRTAIX to AIX.
+ (setpgrp_of_tty): Handle IBMR2AIX.
+ (init_sys_modes): Handle IBMR2AIX. Output special things for AIX.
+ (reset_sys_modes): Output special things for AIX.
+ (hft_init, hft_reset): Conditionals for IBMR2AIX.
+
+ * process.c: Change IBMRTAIX to AIX controlling time.h.
+ [AIX]: Include sys/pty.h and unistd.h.
+ (wait_reading_process_input): If AIX, handle EBADF differently.
+ (create_process): Handle HAVE_SETSID. Change conditional to AIX.
+
+ * lisp.h (XPNTR): New definition if HAVE_SHM.
+ (NULL): Undef before defining.
+
+ * emacs.c (main): If HAVE_SHM, call map_in_data.
+ Use AIX, not IBMRTAIX, for signal conditional.
+ (Fdump_emacs_data): New function if HAVE_SHM.
+ (Fdump_emacs): Don't define if HAVE_SHM.
+
+ * alloc.c (pure, PUREBEG): If HAVE_SHM, define place for a segment.
+
+1990-09-03 Mike Rowan (mtr at apple-gunkies)
+
+ * sysdep.c: added setup_pty from 18.56
+
+ * process.c: merged in 18.55->6 changes. Same for process.h
+
+ * globally replaced:
+ redisplay_preserving_echo_area -> redisplay_preserve_echo_area
+ SetBfp -> set_buffer_internal
+ buffer_flush_undo -> buffer_disable_undo
+ redo_mode_line -> update_mode_line (window.h)
+
+1990-08-31 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * data.c (Fmake_local_variable): If var is local when set, make it
+ local now in this buffer.
+
+ * data.c (Fstring_to_int): Finish eliminating second arg.
+
+ * data.c (Faset): Require integer as third arg for string.
+
+1990-08-28 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * search.c: Doc fix.
+
+ * screen.h (SCREEN_SCROLL_BOTTOM_VPOS): New macro.
+ * xdisp.c (screen_bottom_vpos): Variable used if just one screen.
+ (redisplay, try_window_id): Set that field in screen.
+ * dispnew.c (scrolling, update_screen): New arg scroll_bottom_vpos.
+
+ * dispnew.c (scroll_screen_lines): Mark newly empty lines as empty.
+ (scrolling): Give up if any line in current_screen not enabled.
+
+1990-08-27 Roland McGrath (roland at churchy.ai.mit.edu)
+
+ * dired.c (Ffile_attributes): Return the device number too (elt 11
+ of the returned list).
+
+1990-08-27 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sysdep.c (wait_for_kbd_input): Frob waiting_for_input here.
+ * keyboard.c (kbd_buffer_read_command_char): Not here.
+
+ * sysdep.c (wait_for_kbd_input): Clear process_ef before snarfing
+ process input.
+
+ * fileio.c (Fdirectory_file_name): On VMS, leave space for log name.
+
+ * sysdep.c (init_sys_modes): Clear process_ef only the first time.
+
+ * vmsfns.c (process_exit): Logic of deletion was wrong.
+ (Fspawn_subprocess): Correctly reuse existing struct process_list.
+
+1990-08-22 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-plexus.h (LD_SWITCH_MACHINE): New macro.
+
+1990-08-22 Joseph Arceneaux (jla at geech)
+
+ * xterm.c (XTread_socket): Cleaned up #ifdefs prior to event
+ reading loop. Also handle FIOSNBIO.
+
+1990-08-19 Joseph Arceneaux (jla at geech)
+
+ * xterm.c (dumplyphs): Last vestige of MScreenWidth removed.
+ * config.h: MScreenWidth, MScreenHeight definitions removed.
+
+1990-08-18 Joseph Arceneaux (jla at geech)
+
+ * scroll.c (do_scrolling): Pass the correct sizes to bcopy.
+ * dispnew.c (make_screen_glyphs): Likewise.
+
+1990-08-16 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispnew.c (scroll_screen_lines, free_screen_glyphs): Only deal
+ with the X components of screen_glyphs if SCREEN_IS_X.
+ free_screen_glyphs now takes screen argument.
+
+ * window.c (Fnext_window, Fprevious_window): Fixed typo. New
+ behaviour: mini non-nil implies all_screens if global mini screen
+ exists, implies current screen only if not.
+ (Fdisplay_buffer): Simplification of multi-screen code.
+
+1990-08-15 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * buffer.c: Doc fix.
+
+1990-08-15 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispnew.c (update_line): Simplification of pixel size code, only
+ done if screen is X.
+ (update_screen): Only set pixel stuff if screen is X.
+
+1990-08-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-targon31.h (NO_REMAP): Definition removed.
+ (SEGMENT_MASK): New macro.
+
+1990-08-14 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * lread.c (eval-region): Don't set opoint to point, etc.
+ Fnarrow_to_region from BEGV, not b.
+ (eval-buffer): New subr, generalization of eval-current-buffer.
+ (eval-current-buffer): Moved to elisp, in simple.el.
+
+ * xfns.c (x_y_pos): Nuked. Replaced by pixel_to_char_translation
+ and notice_mouse_movment (dispnew.c, xterm.c).
+ (Fx_point_coordinates): Also nuked.
+ mouse_buffer_offset: New lisp variable.
+
+ * xterm.c (notice_mouse_movement): Use it in call to
+ pixel_to_char_translation.
+
+ * screen.h: For non-multiscreen, XSCREEN returns selected_screen,
+ as does WINDOW_SCREEN.
+
+ * xdisp.c (display_mode_line): Set desired_glyphs->bufp to 0 for
+ mode line.
+ All occurences of struct screen * replaced with SCREEN_PTR.
+
+1990-08-13 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xmenu.c (list_of_items, list_of_panes): Fixed wrong params to
+ wrong_type_argument.
+
+1990-08-12 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispnew.c (pixel_to_char_translation): New algorithm for
+ finding y.
+
+ * xfns.c (install_*_scrollbar): No more height, width parameters.
+ Don't block input here.
+ (x_set_*_scrollbar): Block input here.
+
+ * xterm.c (notice_mouse_motion): Check if the mouse is still in
+ the window.
+ (encode_mouse_button): Don't bother about motion types.
+
+1990-08-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-convex.h (C_SWITCH_MACHINE, LIB_STANDARD, LIBS_MACHINE):
+ (LD_SWITCH_MACHINE): Add definitions for Convex V 4.0.
+
+1990-08-11 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_grab_pointer): Call XCreateFontCursor on shape,
+ setting new variable grabbed_cursor. Return Qt if successful,
+ Qnil otherwise.
+ (Fx_ungrab_pointer): free grabbed_cursor if non zero. Return Qnil.
+
+1990-08-10 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (x_figure_window_size): Don't set pixel sizes until
+ height and width are determined.
+
+1990-08-08 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_grab_pointer): New parameter to explicitly ignore
+ keyboard events.
+
+ * xterm.c (notice_mouse_movement): Use pixel_to_char_translation
+ to get char position and buffer offset.
+
+1990-08-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c [NEED_PTEM_H]: New flag macro says include ptem.h.
+
+1990-08-07 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispextern.h: element bufp of screen_glyphs no longer dependent
+ on X windows.
+ * xdisp.c (display_text_line): Likewise.
+
+ * xfns.c (Fx_grab_pointer, Fx_ungrab_pointer): New subrs.
+ (x_figure_window_size): Set pixel_width and pixel_height of
+ screen, using font height and width.
+
+ * xfns.c: Vmouse_grabbed renamed Vmouse_depressed.
+ * xterm.c: Likewise.
+ (construct_mouse_event): Don't check mouse coordinates; this is
+ done by the notice_mouse_motion. Don't grab the mouse here.
+
+ * dispnew.c (update_line): Set the pix_width and pix_height of the
+ line. This fashion of doing so is temporary.
+
+1990-08-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispextern.h: screen_glyphs struct elements bottom_right_x,
+ bottom_right_y changed to pix_width and pix_height.
+ * scroll.c: Likewise.
+ * dispnew.c: Likewise.
+ (update_screen): Set top_left_x, top_left_y for X windows.
+
+ * xterm.h: Macros PIXEL_{WIDTH,HEIGHT} now use the display
+ structure elements.
+
+1990-08-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (x_window_to_scrollbar): Return Lisp symbol in parameter
+ PART_PTR, rather than string.
+ Declare these symbols.
+ New variable Vscreen_part, indicates which part of the screen the
+ mouse is in.
+
+ * xterm.c (notice_mouse_motion): Do XQueryPointer first thing.
+ Set Vmouse_event to Qnil.
+ (construct_mouse_event): Don't check if mouse has moved or not.
+ When returning cons, part is now already lisp symbol.
+ (XTread_socket): Set Vmouse_window = Vscreen_part = Qnil when
+ leaving screen, as well as setting x_mouse_x = x_mouse_y = -1.
+
+ * keyboard.c: Vmouse_window, Vmouse_event declared extern and no
+ longer DEFVARed: they are already delclared in window.c
+
+ * screen.c (window_from_coordinates): Use Fnext_window, even if
+ MULTI_SCREEN, to obtain the next window. This is an test.
+ Also, new paramater part returns text or modeline symbol.
+ (Flocate_window_from_coordinates): Pass &part to
+ window_from_coordinates.
+ (coordinates_in_window): Don't say modeline if window_height is 1,
+ as this is likely to be the minibuffer.
+
+1990-08-04 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (Fcoordinates_in_window_p): Doc fix. Simplified.
+ (window_from_coordinates): New function.
+ (Flocate_window_from_coordinates): Use it.
+
+ * keyboard.c (classify_object): New function for dealing with the
+ input object. New symbol, mouse-motion, called here.
+ Call to mouse-motion-handler now takes no parameters.
+ (read_key_sequence): Use the new function. Don't set keybuf[0]
+ to 0.
+
+ * xterm.c (init_input_symbols): Create all the Lisp symbols
+ returned in the input stream.
+ func_key_syms: New array to hold all symbols for function keys.
+ (x_func_key_to_sym): Use this array.
+ (notice_mouse_movement): New function for dealing with motion
+ events.
+ (XTread_socket): Use it here.
+
+1990-08-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * callproc.c (child_setup): Report error in chdir.
+
+1990-08-01 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * lisp.h: New macro XFLOATINT. extract_float declared.
+ * floatfns.c (Ffloor): Call floor, not ceil.
+ (extract_float): No longer static.
+ * bytecode.c (Fbyte_code): Correctly handle floats in case Beqlsign.
+
+1990-07-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): When downcasing letters,
+ don't change the value returned in keybuf.
+ (This is an experiment; it might be unpleasant in
+ things such as C-h c, but it is an improvement
+ for M-x global-set-key.)
+
+1990-07-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * eval.c: Doc fix.
+
+1990-07-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s-iris*.h (SYSTEM_TYPE): Change silicon-graphics-unix to irix.
+
+1990-07-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * indent.c (Fmove_to_column): End-test was off by 1.
+
+ * abbrev.c (Fexpand_abbrev): Return nil if alloca arg would be neg.
+
+1990-07-26 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xdisp.c (display_text_line): String to rope copy for inserting
+ arrow text.
+
+1990-07-25 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xdisp.c (display_mode_line): Check that the name has actually
+ changed before calling x_set_name.
+
+ * ralloc.c (check_memory_limits): New function.
+ Also check if new memory will be larger than elisp pointer.
+ (r_alloc_sbrk): Call this function.
+ (relocate_blocs_upward, relocate_blocs_downward): Eliminated.
+ (r_alloc_sbrk): Use relocate_some_blocs instead of the eliminated
+ functions.
+
+ * vm-limit.c (morecore_with_warning): Check if new memory larger
+ than elisp pointer size.
+
+1990-07-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c (save_getcjmp, restore_getcjmp): New functions.
+ (read_char): Use them around Fdo_auto_save.
+ * process.c (read_process_output, exec_sentinel): Use them.
+ * fileio.c (Fdo_auto_save): Run auto-save-hook.
+
+1990-07-24 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispnew.c (safe_bcopy): No longer static.
+
+ * ralloc.c (relocate_blocs_upward, relocate_blocs_downward): Use
+ safe_bcopy.
+
+ * mem_limits.c: typedef SIZE.
+
+1990-07-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * fileio.c (Finsert_file_contents): Initialize how_much when exiting
+ main loop.
+
+ * m/m-mips.h: Added stuff from the 18.56 version.
+
+1990-07-18 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * indent.c (Fmove_to_column): Set end to ZV.
+
+1990-07-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c (init_editfns): Let envvar NAME override full name.
+
+ * buffer.c (list_buffers_1): Avoid error with list-buffers-directory.
+
+1990-07-17 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * buffer.c (list_buffers_1): Don't check list-buffers-directory.
+
+1990-07-16 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xdisp.c (display_text_line): Don't print ellipsis if they're
+ off the left edge.
+
+1990-07-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s-386-ix.h: Define BROKEN_TIOCGETC.
+
+1990-07-09 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-pmax.h: Undef LD_SWITCH_MACHINE, change DATA_START
+ and DATA_SEG_BITS.
+
+1990-07-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s-iris3-6.h (HAVE_GETWD): Define this.
+ (KERNEL_FILE): Change to /unix.
+ (sigsetmask, sigblock, NEED_ERRNO, C_SWITCH_MACHINE): Turn off.
+ (SIGIO): Don't undefine it.
+ (LIBS_MACHINE): Remove -lbsd.
+
+ * minibuf.c (Fall_completions, do_completion): Treat nil as alist.
+ (Ftry_completion): Likewise.
+
+1990-07-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c: Undefine TIOCGETC if BROKEN_TIOCGETC defined.
+ * s-usg5-3.h, s-xenix.h: Define BROKEN_TIOCGETC.
+
+1990-06-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (Fopen_network_connection): Minor cleanup.
+
+1990-06-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-sun3.h: Add comments for dealing with 68881.
+
+1990-06-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-ibmps2-aix.h [__GNUC__]: Define LIB_STANDARD and C_DEBUG_SWITCH,
+ and don't define LIBS_MACHINE.
+ (HAVE_WAIT_HEADER): Define this.
+ Also reordered definitions so recently added ones are together.
+
+1990-06-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * insdel.c (insert): Error if buffer would get too long.
+ * fileio.c (Finsert_file_contents): Likewise.
+
+1990-06-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * syntax.c (scan_sexps_forward): Allow Squote inside symbols.
+
+1990-06-16 Joseph Arceneaux (jla at geech)
+
+ * window.c (Fscroll_other_window): Don't unbind_to. Keep track of
+ current_buffer and point explicitly.
+
+1990-06-15 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * term.c: (cursor_to): Only add chars_wasted if not calling hook.
+ (clear_end_of_line_raw): Likewise.
+ (clear_end_of_line): Check that screen is termcap before using
+ chars_wasted.
+ (ins_del_lines): Eliminated local copybuf[].
+ (calculate_ins_del_char_costs): Now has screen parameter.
+ DCICcost: Change to char_ins_del_costs and defined with
+ SCREEN_WIDTH (screen).
+ DC_ICcost: Changed to char_ins_del_vector.
+ * term.h: DCICcost no longer defined here. DC_ICcost no longer
+ declared here.
+ * dispnew.c: char_ins_del_cost defined here. char_ins_del_vector
+ declared extern here.
+
+1990-06-14 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * Globally replaced screen_width with macro
+ SCREEN_WIDTH (selected_screen).
+ * dispnew.c (init_display): Don't set SCREEN_WIDTH, etc. from
+ screen_width.
+ (change_window_size): No longer check output_type and set
+ ScreenRows.
+
+1990-06-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * indent.c (Findent_to): Don't fail to return value.
+ (Fmove_to_column, Fcurrent_column): Doc fixes.
+
+1990-06-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (echo_prompt): Now uses glyphs.
+ echobuf, echobuf_ptr: These variables now glyphs.
+
+1990-06-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * fileio.c (Fdo_auto_save): Use glyphs_to_str_copy to set
+ omessage.
+ * alloc.c (Fgarbage_collect): Ditto.
+
+ * xdisp.c (message): message_buf set here, realloced if smaller
+ than screen width.
+ message_buf now type GLYF *. New variable message_buf_size holds
+ its size.
+ Use temp_buf for call to doprnt, then use str_to_glyph_cpy to set
+ echo_area_glyphs.
+
+ * print.c (printchar, strout): Use message_buf_size. Convert to
+ glyfs before assigning chars.
+ (str_to_glyph_cpy, str_to_glyph_ncpy,
+ glyph_to_str_cpy, glyph_to_str_ncpy): New functions.
+
+1990-06-03 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Clear this_command_key_count here.
+ (Fread_key_sequence): And here.
+ (read_key_sequence): Not here.
+
+ * dispnew.c (update_screen):
+ Add missing else in handling cursor_in_echo_area.
+ * xdisp.c (redisplay_window): Eliminate lpoint. Alter opoint
+ if point should be changed permanently in the selected window.
+
+ * window.c (unshow_buffer): Don't set pt in selected window's buffer.
+
+ * xdisp.c (decode_mode_spec): Don't truncate buffer or file name.
+
+ * editfns.c (Finsert_buffer_substring): Don't fail to set beg, end.
+
+ * keyboard.c (command_loop_level): New variable.
+ Used in place of RecurseDepth, but different meaning.
+ (recursive_edit_1): New function.
+ (Frecursive_edit): Call it.
+ * minibuf.c (read_minibuf): Call recursive_edit_1.
+ * xdisp.c (RecurseDepth): Variable deleted.
+ display_minibuffer_message renamed echo_area_display.
+
+ * print.c: Include dispextern.h.
+ (printchar, strout): Use message_buf.
+
+ * scroll.c (CalcIDCosts): Dynamically allocate ILcost, etc.
+ (ILcost, DLcost, ILncost, DLncost): Now pointers.
+ (do_scrolling): Use alloca for queue.
+
+ * term.c (term_init): selected_screen as arg to calculate_costs.
+ (calculate_costs):
+ Dynamically allocate chars_wasted, copybuf, DC_ICcost.
+ Set RPov based on actual width.
+ (chars_wasted, copybuf, DC_ICcost): Now pointers.
+
+ * xterm.c (x_term_init): Don't set dont_calculate_costs anymore.
+
+1990-06-02 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * term.c (calculate_ins_del_char_costs, string_cost_one_line):
+ Made static.
+
+ * dispnew.c: Declare scrolling_1;
+
+ * scroll.c (CalcIDCosts, CalcIDCosts1, CalcLID): Renamed
+ calculate_ins_del_char_costs, ins_del_costs, and line_ins_del.
+ CalcIDCosts1 and CalcLID also renamed.
+ (calculate_scrolling): Now void.
+
+ * Global renaming: bf_modified -> MODIFF. CharAt -> CHAR_AT_POSITION.
+ BufferSafe{Floor,Ceiling} -> BUFFER_{FLOOR,CEILING}_OF.
+ SetPoint -> SET_PT.
+
+ * xterm.c (x_term_init): Don't CalcIDCosts here anymore.
+
+1990-06-01 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * print.c: Include dispextern.h.
+ (printchar, strout): Use message_buf.
+
+ * sysdep.c (get_screen_size): Don't use MscreenWidth, MscreenLenght.
+ * term.c: Likewise.
+
+ * scroll.c (CalcIDCosts, CalcIDCosts1, CalcLID): These now take a
+ screen argument.
+ (CalcIDCosts): Dynamically allocate ILcost, etc.
+ (ILcost, DLcost, ILncost, DLncost): Now pointers.
+ (do_scrolling): Use alloca for queue.
+
+ * dispnew.c (remake_screen_structures): Allocate message_buf.
+ Don't use MscreenWidth, MscreenLenght.
+
+ * xdisp.c: bf_cur replaced with current_buffer.
+ Calls to SetBfx deleted.
+ message_buf is now char *.
+ (message): Use SCREEN_WIDTH macro as limit for doprnt.
+
+ * indent.c (current_column): Detect special case when point == BEGV.
+
+ * buffer.h (struct buffer_text): Component modified renamed to
+ modiff. All refs changed to macros below.
+ (MODIFF, BUF_MODIFF): New macros.
+ Macro SetBfx removed.
+ Macro SetPoint renamed SET_PT.
+
+ * fileio.c (Fexpand_file_name): Simplified.
+
+1990-06-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dired.c: Doc fix.
+
+1990-05-31 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * search.c (Fsearch_forward): Docstring fix.
+
+1990-05-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dired.c: Comment added.
+
+1990-05-31 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * process.c (Fprocess_connection): Return the type of a process
+ object.
+ (syms_of_process): Initialize pty_process and stream_process.
+ Declare Fprocess_type.
+ * process.h New element type to struct Lisp_Process.
+
+ * syntax.c (scan_sexps_forward): Initialize curlevel->last to -1.
+
+1990-05-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * fileio.c (Finsert_file_contents): Use new variable how_much to
+ hold read result.
+
+1990-05-24 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * lread.c (read_char_exclusive): New subr.
+
+1990-05-24 David Lawrence (tale at pogo.ai.mit.edu)
+
+ * fileio.c (file_executable_p): New function.
+
+1990-05-23 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * insdel.c (make_gap): Only set BEG_ADDR if BUFFER_REALLOC was
+ successful.
+
+ * editfns.c (syms_of_editfns): DEFVAR the new variables.
+
+ * eval.c (Finteractive_p): Don't skip the first frame if the
+ function was compiled.
+
+ * print.c (print): Use ... only for conses, and instead of normal
+ print.
+
+1990-05-22 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * Renamed meta_flag meta_key.
+
+ * termopts.h: Comment changes.
+
+1990-05-20 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * buffer.h: upcase_table and downcase_table are now Lisp_Objects.
+ * alloc.c (mark_object, gc_sweep): Related changes.
+ * casetab.c: Ditto.
+
+1990-05-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * minibuf.c (Fall_completions): Protect STRING from gc.
+ Copy ALIST to TAIL to protect it.
+
+ * paths.h-dist: Doc fix.
+
+1990-05-17 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * search.c (Flooking_at, search_buffer): Use new accessors.
+ * indent.c (Fcurrent_column): Likewise.
+ * minibuf.c (read_minibuf): Likewise.
+ * regex.c (re_match_2): Use PTR_CHAR_POS.
+ * editfns.c (Fbuffer_size, Fnarrow_to_region, Fbuffer_substring):
+ (Fbuffer_string, Finsert_buffer_substring): Likewise.
+ (save_restriction_restore): Likewise.
+ * dispnew.c (direct_output_for_insert): Likewise.
+ * fileio.c (Fwrite_region, Finsert_file_contents): Likewise.
+ (Fdo_auto_save): Likewise.
+ * insdel.c (move_gap, gap_left, gap_right, make_gap): Likewise.
+ (InsCStr, del_range, modify_region): Likewise.
+ * process.c (Fprocess_send_region): Likewise.
+ * xdisp.c (try_window, try_window_id, display_text_line): Likewise.
+ (redisplay): Likewise.
+ * buffer.c (list_buffers_1): Likewise.
+ * marker.c (marker_position, Fset_marker, set_marker_restricted):
+ (Fmarker_position): Likewise.
+ * window.c (unshow_buffer, Fset_window_configuration): Likewise.
+ (Fset_window_buffer): Likewise.
+
+ * editfns.c (save_restriction_restore): Use a macro to alter point.
+
+ * lread.c (readchar): Use new accessors, and avoid knowing about
+ the text field of a buffer.
+ * window.c (Fpos_visible_in_window_p): Likewise.
+
+ * buffer.h (struct buffer): Make the syntax table a Lisp object.
+ * alloc.c (mark_buffer): No need to treat it specially.
+ * syntax.c (Fsyntax_table, Fset_syntax_table, Fdescribe_syntax):
+ (Fmodify_syntax_entry): Adjust for this change.
+ * buffer.c (reset_buffer_local_variables): Need not be special.
+ (init_buffer_once): Make this slot a defaulted local variable.
+ * syntax.h: Adjust macros for this change.
+ (Vstandard_syntax_table): Define as macro, in buffer_defaults.
+ * syntax.c (syms_of_syntax): Don't staticpro it here.
+ (Fset_syntax_table): Set the flag in local_var_flags.
+
+ * buffer.h (struct text): Represent the buffer dimensions
+ with new slots, memory, begv, pt, gpt, zv, z and gap_size.
+ (BEGV, etc.): Use new slots.
+ (CharAt): Likewise.
+ (BufferSafeCeiling, BufferSafeFloor): Use new slots; fix old bugs.
+ (bf_p1, bf_s1, etc.): Old macros deleted.
+
+ * buffer.c (Fget_buffer_create): Set up memory and new slots.
+ (Fkill_buffer): Likewise.
+
+ * insdel.c (move_gap, gap_left, gap_right, make_gap): Update new slots.
+ (del_range, InsCStr): Likewise.
+ * fileio.c (Finsert_file_contents): Likewise.
+ * window.c (temp_output_buffer_show): Likewise.
+ * xdisp.c (decode_mode_spec, try_window_id): Likewise.
+
+ * insdel.c (make_gap): Complete rewrite. Arg is amount of new gap
+ to create. All calls changed.
+ (gap_left): New argument NEWGAP.
+
+ * buffer.c (Fset_buffer): Check for deleted buffer.
+ (SetBfp): Don't check.
+ (SetBfp, Frename_buffer): Local cleanups.
+ * print.c (PRINTPREPARE): Use Fset_buffer.
+
+ * buffer.c (SetBfp): Don't bother with selected window or its point.
+ * window.c (Fselect_window): Always set pointm of old window.
+
+ * editfns.c: Eliminate all use of DEFSIMPLE and DEFPRED.
+ * indent.c, keyboard.c: Ditto.
+
+ * search.c (skip_chars): Eliminate PointLeft and PointRight.
+ * cmds.c (SelfInsert): Likewise.
+
+1990-05-16 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xdisp.c (try_window): No return value.
+ Fix calls to try_window.
+ * Global variable RedoModes is now redraw_mode_line.
+
+1990-05-13 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keymap.c (Fdefine_key, Flookup_key): Local cleanups.
+
+ * sysdep.c (sys_suspend): Use save_signal_handlers and
+ restore_signal_handlers to save and restore signal state.
+
+ * indent.c (Findent_to): Merge guts of indentation into here.
+ (position_indentation): Scan with a pointer, for speed.
+
+ * casefiddle.c (operate_on_word): Just return the other end.
+ (Fupcase_word, Fdowncase_word, Fcapitalize_word):
+ Pass that value to casify_region.
+
+ * editfns.c (init_editfns): Store system and user names as
+ strings to avoid arbitrary limits.
+
+ * keymap.c (describe_vector, describe_alist): Make elt_prefix
+ and elt_describer responsible for indentation and newlines.
+ Local cleanups.
+ (describe_command): Do indentation and newline.
+ (describe_map): Add space to end of prefix.
+ * syntax.c (describe_syntax): Do indentation and newline.
+
+1990-05-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (create_process) [not USG]: Put subproc in pgrp 0.
+
+1990-05-10 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispextern.h: new struct screen_glyfs replaces struct
+ display_line.
+ * screen.c: new screen elements current_glyfs, desired_glyfs, and
+ temp_glyfs.
+ * dispnew.c: (make_screen_glyfs, free_screen_glyfs,
+ remake_screen_glyfs): New functions.
+ (make_display_lines, new_display_line, return_display_line):
+ Functions deleted.
+ (change_screen_size, init_display): Use the new functions.
+ (cancel_line, clear_screen_records, get_display_line):
+ Rewritten for new data structures. get_display_line no longer
+ returns anything.
+ (preserve_other_columns, preserve_my_columns): Likewise.
+ (cancel_my_columns, direct_output*): Likewise.
+ (update_screen, update_line, quit_error_check, scrolling): Likewise.
+ (scroll_screen_lines): Likewise.
+ (rotate_vector, safe_bcopy): New subroutines.
+ (line_hash_code, line_draw_cost): Cleaned up.
+ Args are different, and hash computation too.
+ (update_screen): Rearrange buffer-emptying code.
+ * xdisp.c: (display_minibuf_message, redisplay): Rewritten for new
+ structures.
+ (display_text_line, display_mode_line): Likewise.
+ (display_mode_element, display_string): Likewise.
+ (decode_mode_spec): Local cleanups.
+ * scroll.c (do_scrolling): Rewritten for new data structures.
+ * xterm.c (XTflash): Use this new structure.
+
+ * editfns.c (in_accessible_range): New function.
+ (Fgoto_char, save_restriction_restore): Use it.
+ (save_excursion_save, Fcurrent_time_string): Local cleanups.
+
+ * process.c (Fprocess_kill_without_query): New arg; new return value.
+ (count_active_processes): Function deleted.
+
+ * fileio.c (Finsert_file, Fwrite_region): Local cleanups.
+
+ * fns.c (Fsubstring): Local cleanup.
+
+ * keyboard.c (echo_prompt, echo_char, echo_dash, echo): New functions.
+ (cancel_echoing): Likewise.
+ (immediate_echo, echoptr): New variables.
+ (command_loop_1, request_echo, get_char, read_key_sequence):
+ (set_waiting_for_input, interrupt_signal): Related changes.
+ (get_char): No more declaration of request_echo. Local cleanups.
+
+ (this_command_key...): New variables.
+ (Fexecute_extended_command, Fthis_command_keys): Related changes.
+ (init_keyboard, get_char): Likewise.
+
+ * macros.c (Fstart_kbd_macro): Local cleanup.
+
+ * minibuf.c (read_minibuf): No more delcaration of
+ Frestore_screen_configuration.
+
+ * search.c (Fregexp_quote): Simplified.
+
+1990-05-08 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * process.c (Fopen_network_stream): Also handle numeric inet
+ addresses.
+
+1990-05-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * alloca.c: #ifdef __STDC__ rather than X3J11/
+
+1990-05-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (Fmake_symbolic_link): Delete old file if permitted.
+
+1990-05-02 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * data.c (Fstring_to_int): Delete disabled feature
+ of accepting `yes' and `no'.
+
+ * xdisp.c (redisplay, redisplay_preserving_echo_area):
+ Two functions replace DoDsp. All callers changed.
+ (redisplay, redisplay_window): Eliminate `inhibit_hairy_id'.
+ (redisplay_window): No return value. Local cleanups.
+
+ * alloc.c (Fmake_marker): Delete `modified' field.
+ * insdel.c (adjust_markers): Likewise.
+
+ * abbrev.c (Fdefine_mode_abbrev): Clean up error message.
+
+1990-05-01 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_draw_rectangle, Fx_erase_rectangle): Simplified.
+
+ * xterm.c (x_display_cursor): Don't check s->phys_x when drawing
+ cursor.
+
+ * undo.c: New version.
+ * undo.h: No longer exists.
+ * alloc.c (Fgarbage_collect): Call truncate_undo_list.
+ (syms_of_alloc): Define vars undo-threshold and undo-high-threshold.
+ * buffer.c (Fget_buffer_create): Set undo_list to t or nil.
+ (Fbuffer_disable_undo, Fbuffer_enable_undo): Likewise.
+ (Fkill_buffer): Likewise.
+ (init_buffer_once): Set up local variable buffer-undo-list.
+ (syms_of_buffer): Likewise.
+ * buffer.h: New element undo_list in struct buffer.
+ * fileio.c (Finsert_file_contents): Store nil in undo_list.
+
+ * buffer.c: Variable bf_text deleted.
+ (Fkill_buffer, SetBfp): Delete code that worked with it.
+ (SetBfx): Now a macro in buffer.h
+ * editfns.c (Fwiden, Fnarrow_to_region): Related changes.
+ (save_restriction_save, save_restriction_restore): Likewise.
+ (Finsert_buffer_substring): Likewise.
+ * fileio.c (Fdo_auto_save): Likewise.
+ * insdel.c (make_gap): Likewise.
+ * lread.c (readchar): Likewise.
+ * marker.c (Fmarker_position, marker_position): Likewise.
+ (Fset_marker): Likewise.
+ * xdisp.c (DoDsp): Likewise.
+
+1990-04-30 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * buffer.h: New macro R_ALLOC_SET_BUFFER for declaring all the
+ text pointers of a buffer to the relocating allocator.
+ * buffer.c (Fbury_buffer, SetBfx, SetBfp): Use the macro.
+ * editfns.c (Finsert_buffer_substring): ditto.
+ * fileio.c (Fdo_auto_save): ditto.
+ * insdel.c (make_gap): ditto.
+ * xfns.c (adjust_scrollbars): Don't set bf_cur->text.
+
+1990-04-26 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * minibuf.c: Declare active_screen struct screen *, not
+ Lisp_Screen *.
+
+1990-04-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (XTupdate_end): Only x_display_cursor if s is x_input_screen.
+
+1990-04-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fns.c (Fy_or_n_p): If a C-g comes in and does not quit, quit by hand.
+
+ * buffer.c (Frename_buffer): Allow renaming to same name it has.
+
+1990-04-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_open_connection): Attach xrdb to x_current_display.
+
+1990-04-17 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (dumpborder): Now only used for X10.
+ (highlight, unhighlight): New functions for X11.
+
+1990-04-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cm.c (Wcm_init): Return -2 if screen size not specified.
+ * term.c (term_init): Special error message for that case.
+
+1990-04-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s-sunos4.h, s-sunos4shr.h (SYSTEM_MALLOC): Define it.
+
+1990-04-15 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_get_resource): Concatenate invocation_name before
+ the resource tag.
+ (Fx_create_screen): Use the latest resource id's.
+
+1990-04-13 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_get_resource): New subr.
+ (Fx_open_connection): Call x_load_resources. New parameter
+ xrm_string.
+ * xrdb.c: New file for doing resource manager stuff.
+
+ * xscrollbar.h: New file for scrollbar bitmaps.
+
+ * xselect.h: New file for the X selection stuff.
+
+ * ymakefile: Take note of these new files.
+
+1990-04-10 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (x_term_init): Use MAXPATHLEN.
+
+1990-04-09 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * buffer.c (list_buffers_1): Get filename from list-buffers-directory.
+
+1990-04-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (coordinates_in_window): Return -1 if in modeline of
+ window.
+ (Fcoordinates_in_window_p): Return Qt if in modeline of window.
+ (Flocate_window_from_coordinates): Use next_screen_window if
+ MULTI_WINDOW is defined.
+
+1990-04-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (construct_mouse_event): Deal with the motion events
+ first. Only grab the mouse when in the scrollbar.
+
+1990-04-04 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (coordinates_in_window): Include mode line as part of
+ window.
+
+ * xterm.c (XTread_socket): Initialize nbytes to 0.
+ (x_display_cursor): Don't draw if screen not selected.
+
+ * xdisp.c (DoDsp): Additional checks for screen being visible.
+
+1990-04-03 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * editfns.c (Fmessage): If there is a global minbuffer screen,
+ raise it before displaying the message.
+
+ * window.c (window_loop): Parameter SCREENS now affects which
+ screen is scanned for windows. All subrs calling window_loop must
+ pass a Lisp_Object here now.
+
+1990-04-01 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * window.c (window_loop): Additional parameter mini to control
+ minibuffer selection or not.
+ (Fget_lru_window):
+ (Fget_largest_window):
+ (Fget_buffer_window):
+ (Fdelete_other_windows):
+ (Fdelete_windows_on):
+ (Freplace_buffer_in_windows): Use that parameter.
+
+1990-03-29 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (Fselect_screen): Raise the selected screen.
+
+ * window.c (Fget_buffer_window):
+ (Fget_largest_window):
+ (Fget_lru_window): New parameter all_screens.
+ (Fdisplay_buffer): Use the new param in Fget_lru_window,
+ Fget_buffer_window, and Fget_largest_window.
+ (Fscroll_other_window): Use new param in Fget_buffer_window.
+ * buffer.c (Fother_buffer): ditto.
+
+ * xterm.c (x_display_cursor): Always draw the cursor if ON is
+ true. Don't check if the screen S is selected or equal to
+ mouse-screen.
+
+ * xfns.c (Fx_track_pointer): Don't turn off cursor, just call
+ x_display_cursor.
+
+1990-03-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * data.c (Fmake_local_variable): Give the variable value nil if
+ unbound.
+
+ * window.c (Fnext_window, Fprevious_window): For MULTI_SCREEN,
+ check if Vglobal_minibuffer_screen is non-nil and maybe call
+ next_screen.
+
+ * screen.c (Fscreen_selected_window):
+ (Fscreen_root_window): If screen is nil, use selected-screen.
+
+1990-03-27 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (XTread_socket): SET_SCREEN_GARBAGED which returning
+ symbol which causes DoDsp to be invoked.
+ * keyboard.c (read_key_sequence): Don't SET_SCREEN_GARBAGED here.
+
+ * screen.h: New macro SET_SCREEN_GARBAGED.
+
+ * xfns.c:
+ * window.c:
+ * sysdep.c:
+ * keyboard.c:
+ * dispnew.c: Use the new macro.
+
+1990-03-25 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_own_selection): Only take one argument, string.
+
+1990-03-24 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (select_visual): Catch bullshit machines whose hardware
+ doesn't support the X server pixel depth by looking at colormap_size.
+ (x_decode_color): Use x_screen_planes to check for color.
+
+1990-03-23 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (x_display_cursor): Try using vertical bar cursor.
+ (clear_cursor): Call x_display_cursor for X11.
+
+ * xfns.c: Zotzed Vx_pointer_mask.
+ (Fx_track_pointer): Call x_display_cursor if we just
+ wasted the cursor. Break out of loop if no display line.
+ Use mode line cursor if we're there.
+ (x_y_pos): New function.
+ (x_set_font): Dont' set x_font_{width,height}, they are gone.
+
+1990-03-22 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_track_pointer): Check that s == selected_screen each
+ time through loop. If event is nil, read mouse position.
+
+ * keyboard.c (get_char): DoDsp only if selected_screen visible.
+
+ * xterm.c (XTread_socket): Mark screen as visible only on expose
+ event.
+
+ * emacs.c (main): Check here for "-d" option and set display_arg.
+ * dispnew.c (init_display): Set Vwindow_system, etc. if display_arg.
+
+1990-03-21 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Don't DoDsp if the screen was
+ just unmapped.
+ (command_loop_1): Call the mouse motion handler before calling
+ read_key_sequence.
+ (interrupt_signal): Fixed typo checking screen type.
+
+ * xfns.c (Fx_track_mouse): Don't crash because of null display
+ line. Don't set obj til call to get_char.
+
+ * xterm.c (x_term_init): Disable SIGWINCH here.
+
+ * fns.c (Fmember): New subr.
+
+ * dispnew.c (init_display): Don't check env variable DISPLAY to
+ set Vwindow_system. Now done in startup.el.
+
+ * emacs.c: Removed variables xargc, xargv.
+
+1990-03-20 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_track_pointer): Go faster.
+
+ * screen.h: New macro SCREENP.
+
+ * window.c: (Fminibuffer_window): Rewritten.
+
+1990-03-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c (perror): Control with HAVE_PERROR as well as HPUX.
+ * s-hpux.h (HAVE_PERROR): Define it.
+
+1990-03-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Restructured handling of X event
+ things.
+ (read_key_sequence): Handle new `unmapped-screen' symbol with new
+ Vunmap_screen_hook.
+
+ * xterm.c (XTread_socket): Return unmapped-screen symbol if the
+ window for UnmapNotify events.
+
+ * lread.c (Feval_region): GCPRO opoint.
+
+1990-03-16 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Call mouse-motion handler with
+ argument. Also, don't call undo-boundary.
+
+ * process.c (create_process): Set the process group for BSD at
+ the same time as for USG.
+
+1990-03-14 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (x_new_selected_screen): Set x_input_screen here.
+
+1990-03-11 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c: Vx_mouse_grabbed now Vmouse_grabbed.
+ (XTread_socket): Generate exited-window symbols on LeaveNotify
+ even if screen is focused.
+
+ * xfns.c: Vx_mouse_grabbed now Vmouse_grabbed.
+ (outline_region): Now static.
+ (Fx_track_pointer): Check x_mouse_screen == s in loop.
+
+1990-03-10 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (encode_mouse_button): Correctly get the button from
+ Motion events.
+
+ * xfns.c (x11_encode_mouse_button): Nuked.
+ (encode_mouse_button, Fx_mouse_events, Fx_get_mouse_event): #if 0'd.
+
+ * keyboard.c (get_char): Re-set obj if we've keyboard-translated
+ c.
+
+1990-03-08 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c x_focus_screen no longer static.
+ (x_error_handler): Use XDefaultIOError.
+
+ * screen.c (Ffocus_screen): New subr, removed Fscreen_has_focus.
+ (Fselect_screen): New, optional parameter no_enter.
+ (Frestore_screen_configuration):
+ (Fdelete_screen): Pass second parm Qnil to Fselect_screen.
+
+ * window.c (Fdisplay_buffer, Fset_window_configuration): Pass
+ second parm Qnil to Fselect_screen.
+
+1990-03-07 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (Fscreen_has_focus): New subr.
+ (Fselect_screen): Use x_focus_on_screen to physically select the
+ screen.
+
+1990-03-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (x_set_mouse_position): Moved to xterm.c.
+
+ * fileio.c (Fremove_directory): New subr.
+
+ * screen.c (Frelease_focused_screen): Just call x_unfocus_screen.
+
+ * xterm.c (XTread_socket): On FocusOut, if s isn't mouse screen,
+ return exited-window. On LeaveNotify, simplify if expression for
+ dumpborder. Reworked FocusIn/FocusOut events.
+ (x_unfocus_screen): Check that screen is x_focus_screen.
+ (x_set_mouse_position): Moved from xfns.c. Use new macro
+ XWarpPointer.
+ * xterm.h: New macro XWarpPointer.
+
+ * buffer.c: Replaced Fbuffer_flush_undo with
+ Fbuffer_disable_undo.
+ * process.c: Ditto.
+
+1990-03-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (XTupdate_end): Use parameter s rather than
+ updating_screen.
+ (XTread_socket): On EnterNotify, don't check s != focus_screen
+ before selecting. On Focus In/Out don't set/reset mouse_screen.
+
+1990-03-04 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * eval.c If using X windows, include xterm.h.
+ (error): TOTALLY_UNBLOCK_INPUT if using X.
+
+ * xterm.h: BLOCK_INPUT, UNBLOCK_INPUT: No signal stuff, just inc
+ and decrement x_input_blocked.
+
+ * xfns.c (adjust_scrollbars): Don't BLOCK_INPUT.
+ (x_set_font): Check result of x_new_font. Call error if nonzero.
+ (x_set_icon_type): Check result of x_*_icon, maybe call error.
+
+ * screen.c (Fdeiconify_screen): Use x_make_screen_visible rather
+ than x_deiconify_screen. Return screen.
+ (Fmake_screen_visible): Don't raise it here. Return screen.
+
+ * xterm.c (XTwrite_glyfs): Don't show cursor if screen is
+ global-minibuffer-screen.
+ (x_new_selected_screen): Do dumpborder and check auto-raise here,
+ rather than XEvent switch.
+ (x_deiconify_screen): No longer exists.
+ (x_do_pending_expose, x_clear_cursor):
+ (x_invert_screen, scraplines, stufflines, x_bitmap_icon):
+ (x_text_icon, x_new_font): Don't BLOCK_INPUT.
+ (XTins_del_lines): BLOCK_INPUT here.
+ (XTupdate_end): Don't turn on cursor if minibuffer-screen.
+ (XTread_socket): On MotionNotify, just that screen is selected before
+ processing.
+ (XTtopos): If updating_screen, just set x and y, don't flush.
+ (x_bitmap_icon):
+ (x_text_icon):
+ (x_new_font): Return 1 if failed, don't call error.
+ (x_make_screen_visible): Raise the screen as well.
+
+1990-03-02 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (Frelease_focused_screen): Just check that screen is
+ selected.
+
+1990-02-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (Fselect_screen_focused, Frelease_focused_screen): New
+ subrs.
+ * xterm.c (x_focus_on_screen, x_unfocus_screen): New procedures
+ to implement focusing.
+
+1990-02-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * casefiddle.c: Doc fix.
+
+1990-02-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.h: Redefined BLOCK_INPUT and UNBLOCK_INPUT to use sigblock
+ and sigsetmask if available.
+ * xterm.c: Declare BLOCK_INPUT_mask if have SIGIO and FIONREAD.
+
+1990-02-27 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * minibuf.c (Fread_from_minibuffer): Initialize pos to 0.
+
+1990-02-25 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Handle mapped-screen event
+ symbol by calling new hook Vmap_screen_hook.
+
+ * xterm.c (x_make_screen_invisible): Use the new Xlib function
+ XWidthdrawWindow.
+ (x_iconify_screen): Use the new Xlib function XIconifyWindow.
+ (XTread_socket): Return mapped-screen symbol to signal
+ mapped-screen events.
+
+1990-02-23 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Check the character for width 1
+ before doing direct_output_forward, as well as the cursor position
+ on the screen.
+
+ * xdisp.c (DoDsp): Use redisplay_windows rather than
+ redisplay_all_windows, which was removed.
+
+1990-02-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * unexencap.c: New file, waiting for papers.
+
+1990-02-22 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c: Removed much debugging stuff.
+ * xterm.c: Removed much debugging stuff.
+ (x_error_handler): For X11, if caught BadAlloc error while
+ converting selection (note new variable x_converting_selection),
+ just set new variable x_selection_alloc_error.
+
+ * xfns.c: Massive changes for crufty selection processing details.
+ New X atoms: Xatom_clipboard, Xatom_delete, Xatom_insert_selection,
+ Xatom_insert_property, Xatom_pair.
+
+1990-02-21 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_store_char): Check NULL objects.
+
+ * xterm.c (XTread_socket): Correctly advance bufp for all KeyPress
+ events.
+
+1990-02-20 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_get_char): Use KBD_BUFFER_SIZE rather
+ than sizeof kbd_buffer.
+ (read_key_sequence): Upon redraw-display symbol, set
+ screen_garbaged.
+
+ * xterm.c (XTread_socket): On EnterNotify events, make sure to
+ return mouse event for both scrollbars and windows.
+
+1990-02-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * casefiddle.c (casify_region): Move the new statement.
+
+1990-02-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * casefiddle.c (casify_region): Return if beginning and end same.
+
+1990-02-18 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_store_char): Use KBD_BUFFER_SIZE rather
+ than sizeof kbd_buffer.
+
+ * fns.c (Fy_or_n_p): Only accept ints from get_char.
+
+1990-02-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * minibuf.c (Fread_from_minibuffer): New arg POSITION.
+
+ * unexsunos4.c: New file. Waiting for papers.
+ * s-sunos4shr.h: New file.
+
+ * emacs.c (main) [RUN_TIME_REMAP]: Call run_time_remap.
+
+ * ymakefile (LD): Let config file override with LD_CMD.
+
+1990-02-14 Joseph Arceneaux (jla at albert.ai.mit.edu)
+
+ * keyboard.c (read_avail_input): pass read_socket_hook
+ KBD_BUFFER_SIZE rather than doing sizeof (buf).
+
+ * xterm.c (XTread_socket): Set event.type = MotionNotify when
+ entering screen or scrollbar to fake motion event.
+
+1990-02-13 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * window.c (next_screen, prev_screen): moved to screen.c
+ (Fnext_window): If mini non-nil, count the separate minibuffer
+ screen.
+ * screen.c (Fnext_screen): new subr.
+
+1990-02-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xdisp.c (display_text_line, try_window, try_window_id, DoDsp):
+ Don't display overlay arrow on more than one line in a window.
+
+1990-02-12 Joseph Arceneaux (jla at albert.ai.mit.edu)
+
+ * doprnt.c (doprnt): Expand size of tembuf to 512.
+
+1990-02-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * minibuf.c (Fread_no_blanks_input): Make second arg optional.
+
+1990-02-09 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (get_char): Remember to set obj when executing macro.
+ (read_key_sequence): Handle the exited-scrollbar symbol.
+ Compare obj, not read_key_sequence_cmd.
+
+ * xterm.c (x_make_screen_visible, x_deiconify_screen): Check
+ window-manager variable.
+ (x_make_screen_invisible, x_iconify_screen): Don't use new R4
+ calls (they crash), do it ourselves.
+ (XTread_socket): Return exited-scrollbar symbol when doing so.
+
+1990-02-08 Joseph Arceneaux (jla at albert.ai.mit.edu)
+
+ * xterm.c (construct_mouse_event): Rewritten to do mouse-motion
+ compression. All mouse processing now done here.
+ Also, just use nil and t for x-mouse-grabbed. Record buttons
+ pressed in new variable x_mouse_grabbed. XGrabPointer on button
+ depression.
+ * xfns.c (Fx_horizontal_line): use x_mouse_grabbed.
+
+1990-02-07 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xdisp.c (DoDsp): If only updating selected screen, but there is
+ a minibuffer screen, update it as well.
+
+1990-02-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_pixel_width, Fx_pixel_height): New subrs.
+ * xterm.h New components pixel_width, pixel_height, to x_display.
+ * xterm.c (XTread_socket): On configure notify, set these components.
+
+ * window.c (Fset_window_configuration): Select the screen of the
+ root window if it's not the selected_screen.
+ * minibuf.c (read_minibuf): Remove all the screen selection stuff,
+ now that this is integrated in Fset_window_configuration.
+
+1990-02-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.h: Declare Vglobal_minibuffer_screen.
+ * xdisp.c (DoDsp): Set all_windows if using global-minibuffer-screen.
+
+1990-02-03 Joseph Arceneaux (jla at geech)
+
+ * window.c (Fset_window_configuration): Make sure to set
+ window->next to nil for a minibuffer-only screen.
+
+ * screen.c (make_minibuffer_screen): Set mini_window->next nil.
+
+1990-02-01 Joseph Arceneaux (jla at albert.ai.mit.edu)
+
+ * screen.c (make_screen): Set wants_modeline elt to 1.
+
+ * window.c (Fset_window_configuration): Use screen->root_window
+ as arg to delete_all_subwindows rather than minibuf_window->prev.
+
+ * minibuf.c (read_minibuf): Don't unwind with
+ Frestore_screen_configuration. Save selected_screen if different
+ than minibuf screen, and re-select it after reading minibuf.
+ * screen.c: #if 0 Fscreen_configuration,
+ Frestore_screen_configuration.
+
+1990-02-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-ibmps2-aix.h: Undef NEED_SIOCTL.
+ (SIGN_EXTEND_CHAR): Cast to `signed char'.
+
+1990-01-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_track_pointer): rewrote this to loop while there are
+ mouse events.
+
+ * xterm.c (XTread_socket): Return left-window-event symbol upon
+ LeaveNotify.
+ * keyboard.c (read_key_sequence): Handle this symbol.
+
+1990-01-27 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (x_display_cursor): Use dumpglyfs with SPACEGLYF for
+ cursor, as `XFillRectaogle's kill HP-BSD server.
+
+ * xterm.h: Added nontext_cursor, modeline_cursor to x_display
+ structure.
+ * xfns.c (x_set_mouse_color, Fx_track_pointer): Changes to use
+ nontext_cursor.
+
+1990-01-25 Joseph Arceneaux (jla at albert.ai.mit.edu)
+
+ * xterm.h: Changed the face structure for X11 to handle GCs and
+ pixmaps.
+
+ * xterm.c (XTread_socket): Return a motion event when mouse enters
+ scrollbar or window.
+ (x_make_screen_invisible): Use the new X11R4 function XWithdrawWindow.
+ (x_iconify_screen): Use the X11R4 function XIconfifyWindow.
+ (dumpglyfs): Use the new face structure.
+
+ * xfns.c (install_vertical_scrollbar, install_horizontal_scrollbar):
+ Accept EnterNotify events. Use XMapSubwindows rather than mapping
+ each one.
+ (Fx_set_face_font): New subr for X11 to set face GC.
+
+1990-01-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c (direct_output_for_insert): Give up if buf in 2 windows.
+
+ * keyboard.c (command_loop_1):
+ Dumb bugs disabled special fast display for character motion.
+
+ * xdisp.c (DoDsp): For cursor motion within line,
+ hpos result from compute_motion is relative to window.
+
+1990-01-24 Richard Stallman (rms at albert.ai.mit.edu)
+
+ * eval.c (Fmacroexpand): Handle explicit macros ((macro ...) ...).
+
+1990-01-18 Joseph Arceneaux (jla at spiff)
+
+ * undo.c (Fundo_more): Fixed typo.
+
+1990-01-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xdisp.c (display_text_line): When checking HPOS for continuation
+ line, compensate for w->left.
+
+1990-01-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c [no FIONREAD]: Undefine SIGIO.
+
+ * buffer.c (SetBfp): Use XTYPE to test for no selected window yet.
+
+ * editfns.c, dispnew.c, fileio.c, process.c, sysdep.c, xterm.c:
+ Uniformly let NEED_TIME_H control use of time.h instead of sys/time.h.
+
+ * xterm.h (TOTALLY_UNBLOCK_INPUT, UNBLOCK_INPUT): Don't use
+ SIGIO if no FIONREAD.
+
+1990-01-15 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (x_set_mouse_color): Set non-text pointer shape with new
+ variable Vx_nontext_pointer_shape.
+
+ * keyboard.c: More checks for evil bug which trashes kbd_*_ptr.
+
+ * m/hp300bsd.h: Try using BSD load average stuff.
+
+1990-01-11 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (x_draw_pixmap): New routine.
+
+1990-01-10 Jim Kingdon (kingdon at pogo)
+
+ * m/hp300bsd.h: New file
+
+1990-01-08 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_window_id): New subr.
+
+ * screen.c (make_screen): Set wants_modeline elt to mini_p.
+ If mini_p 0, then set root_window->next to nil.
+
+1990-01-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c (Fchar_after): Set N after coercing marker.
+
+1990-01-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * buffer.c (Fkill_all_local_variables): Force mode line update.
+
+1990-01-05 Joseph Arceneaux (jla at spiff)
+
+ * insdel.c: Declare Vfirst_change_function.
+
+ * keyboard.c (read_key_sequence): Function keys are now lisp symbols.
+ (kbd_buffer_store_char): Abort if store pointer past
+ buffer. Temproarry; This shouldn't be able to happen.
+ (read_key_sequence): #ifdef HAVE_X_WINDOWS code
+ which handles complex objects.
+ (command_loop_1): Check not termcap screen before
+ processing non-char input.
+ (kbd_{store,fetch}_char): More debugging checks.
+
+ * screen.c (make_screen): Set root_window height to 9 if mini_p.
+ (make_minibuffer_screen): Set the mini window's next,
+ prev, and screen elements.
+
+ * xterm.c (x_func_key_to_sym): New function, uses new variable
+ func_key_syms.
+ (XTread_socket): Use this in KeyPress event for function keys.
+ (XTflash): Draw solid rectangle in middle of screen.
+ (x_set_offset): Set the size hints as well when doing
+ this.
+ (XTflash): Just dumpglyfs instead of redrawing the
+ screen after flashing the rectangle.
+
+ * lread.c: (syms_of_lread): defsubr Fread_event.
+
+1990-01-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * buffer.h, buffer.c (Vfirst_change_function): New Lisp variable.
+ * insdel.c (signal_before_change): Call that function.
+
+ * keyboard.c (cmd_error): Don't crash if TAIL is nil.
+
+1989-12-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * minibuf.c: Doc fixes.
+
+1989-12-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (create_process): Unhold SIGCHLD in the child.
+
+1989-12-27 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (create_process): Treat HPUX like BSD for sigsetmask.
+
+1989-12-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fns.c (Fmapconcat): Gcpro SEP around mapcar1.
+
+1989-12-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c (get_display_line): Don't touch X data if not using X.
+
+ * syntax.c (Fscan_sexps): Fix fatal documentation typo.
+
+ * lread.c: Include commands.h.
+
+ * xterm.c (construct_mouse_event): Delete unreached return at end.
+ (x_wm_set_size_hint): #if 0 some broken code.
+
+ * cmds.c (SelfInsert): Set HAIRY if have before or after change hooks.
+ * editfns.c (Fsubst_char_in_region, Ftranslate_region):
+ Call signal_after_change for chars changed.
+ * undo.c (Fundo_more): When undoing Uchange, do signal_after_change.
+ * casefiddle.c (casify_region): Do modify_region before the change,
+ signal_after_change afterward.
+
+ * insdel.c (prepare_to_modify_buffer): Call signal_before_change.
+ (del_range, InsCStr): Call signal_after_change.
+ (signal_after_change, signal_before_change): New functions.
+
+1989-12-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c (init_display) [VMS]: Downcase terminal type.
+
+1989-12-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c: Use NEED_SIOCTL to control use of sioctl.h.
+ * m/m-mips.h, m/m-iris4d.h: Define that.
+
+ * m/m-ibmps2-aix.h (NEED_SIOCTL, HAVE_UNION_WAIT, HAVE_PTYS): Define.
+ (HAVE_SYSVIPC, HAVE_SOCKETS, X_DEFAULT_FONT): Define.
+ (sigsetmask): #undef this.
+
+1989-12-15 Joseph Arceoeaux (jla at spiff)
+
+ * lread.c (Fread_char): Catch error if read non-char.
+ (Fread_event): New subr. Return any input object.
+
+1989-12-14 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c: New variable Vx_no_window_manager.
+ (Fx_track_pointer): If bufp < 0, abort.
+
+ * xterm.c (XTread_socket): When leaving window, set x_mouse_x and
+ x_mouse_y to -1.
+
+1989-12-13 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c (XTread_socket): On ConfigureNotify events, return
+ "redraw-screen" symbol.
+ (dumpborder): Only do border stuff if x-no-window-manager non nil.
+ Also check if there is a tracking rectangle.
+ (XTupdate_begin): If there is a mouse tracking rectangle, erase
+ it.
+ * keyboard.c (read_key_sequence): Return -2 for symbols.
+ (command_loop_1): DoDsp when 'redraw-screen arrives as input.
+ For mouse events, call Fexecute_mouse_event with
+ read_key_sequence_cmd instead of Vmouse_event.
+
+1989-12-08 Joseph Arceneaux (jla at spiff)
+
+ * process.c (create_process): For not USG, properly set the
+ process group.
+
+1989-12-07 Joseph Arceneaux (jla at spiff)
+
+ * term.c (topos): Under X Windows, abort if topos_hook not
+ correct. Temporary.
+
+ * xfns.c (Fx_horizontal_line): New subr.
+
+1989-12-05 Joseph Arceneaux (jla at spiff)
+
+ * keyboard.c (Fexecute_mouse_event): Don't set Vmouse_window here
+ for X11.
+
+ * xterm.c (construct_mouse_event): Vx_mouse_grabbed now indicates
+ which keys are depressed.
+ (construct_mouse_event): Set Vmouse_window here.
+
+1989-12-04 Joseph Arceneaux (jla at spiff)
+
+ * screen.c (coordinates_in_window): New function.
+ (Fcoordinates_in_window_p): Rewritten to use above.
+
+ * dispextern.h: New element bufp for display_line structure when
+ using X windows.
+ * xdisp.c (redisplay_window): Set this to the position in the
+ buffer of the first char in this display line.
+ * dispnew.c (get_display_line): Set this to -1 here.
+
+1989-12-03 Joseph Arceneaux (jla at spiff)
+
+ * alloc: Upped NSTATICS from 200 to 256.
+
+ * xterm.c (XTread_socket): Report MotionNotify events only if
+ mouse has changed character position. Call x_read_mouse_position.
+ Set Vmouse_event here.
+ * xfns.c (x_read_mouse_position): Set new global variables
+ x_mouse_x and x_mouse_y.
+
+ * keyboard.c: Vignore_mouse_events: New variable.
+
+ * syntax.c (Fscan_sexps): Doc change.
+
+ * lread.c (Fread_char): Return only chars. If new variable
+ Vignore_mouse_events non nil, execute any mouse events which
+ appear.
+
+1989-12-01 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_track_pointer): Draw half-sized rectangles for '\n'.
+ (x_rectangle): Draw half-size if negative argument.
+
+ * xterm.c (XTread_socket): abort if garbage collecting when doing
+ mouse events.
+
+ * ymakefile: #define FLOATSUP if LISP_FLOAT_TYPE defined.
+
+ * emacs.c (main): If BSD, set pgrp to pid.
+
+1989-11-30 Joseph Arceneaux (jla at spiff)
+
+ * callint.c (Fcall_interactively): For case 'e', set varies[i] to
+ avoid entering in the command history.
+
+ * xterm.c: Removed the function x_indicate_pointer_char.
+ (XTread_socket): When leaving window, erase mouse tracking box if
+ it exists.
+ * xfns.c (Fx_track_pointer): New function, does what
+ x_indicate_pointer_char used to.
+ (x_read_mouse_position): Subtract internal_border_width.
+
+ * screen.c: No rubber-banding function for X11.
+
+ * window.c (Fmove_to_window_line): Document string fix.
+
+1989-11-29 Joseph Arceneaux (jla at spiff)
+
+ * lread.c (Fread_char): Return a Lisp_Object (directly from
+ get_char).
+
+ * keyboard.c:
+ * xterm.c: Function keys now arrive as cons cells.
+
+1989-11-27 Joseph Arceneaux (jla at spiff)
+
+ * keyboard.c (read_key_sequence): Handle Lisp_Symbols on input
+ (function keys). Also, handle these and mouse events with
+ prefixes (by ignoring the prefixes for now).
+
+ * xfns.c New variable Vx_mouse_grabbed.
+ * xterm.c (construct_mouse_event): Use it.
+ (XTread_socket): Return Lisp_Symbol for function key.
+
+ * buffer.c (reset_buffer_local_variables): Set function_key_map to
+ Qnil.
+
+1989-11-24 Joseph Arceneaux (jla at spiff)
+
+ * buffer.h: Per-buffer function key maps.
+
+ * keyboard.c (read_avail_input): Convert chars to Lisp_Objects in
+ case of stdin.
+
+1989-11-22 Joseph Arceneaux (jla at spiff)
+
+ * keyboard.c (read_key_sequence): Check type of object returned
+ from get_char. Handle mouse events (set Vmouse_event) and
+ function keys.
+ (get_char_menu_prompt): Return a Lisp_Object.
+ (Fexecute_mouse_event): No longer set Vmouse_event.
+ Vmouse_window set here.
+
+ * xterm.c (XTread_socket): KeyPress events now return
+ Lisp_Objects, as do ButtonPress events.
+ (construct_mouse_event): New function.
+ (encode_mouse_button): New function.
+
+1989-11-21 Joseph Arceneaux (jla at spiff)
+
+ * keyboard.c (kbd_buffer_store_char, kbd_buffer_get_char):
+ Store and get Lisp_Objects.
+ (get_char): Use those Lisp_Objects.
+
+ * fileio.c (Fread_filename_internal): If exactly complete, but
+ string was modified, return string.
+
+ * minibuf.c (temp_minibuf_message): Pass correct arguments to Fsit_for.
+
+1989-11-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s-386-ix.h: New file.
+
+1989-11-17 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c (dump_rectangle): Flush the X queue.
+
+1989-11-16 Joseph Arceneaux (jla at spiff)
+
+ * xmenu.c (xmenu_show): Use ButtonReleaseMask instead of
+ ButtonRelease.
+
+ * fileio.c (Fmake_directory): New subr.
+
+1989-11-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * config.h-dist (C_SWITCH_SITE, LD_SWITCH_SITE): Mention these.
+ (HAVE_X11): Renamed from X11 and defined by default.
+ It shoukld have no effect when not using X.
+
+1989-11-14 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_get_selection, x_selection_arrival): use &event
+ instead of event.
+ (x_selection_arrival): For incremental selections, loop on
+ XGetWindowProperty if one is not enough.
+
+1989-11-13 Joseph Arceneaux (jla at spiff)
+
+ * ymakefile: Just link if ../oldXMenu/libXMenu11.a already exists.
+
+1989-11-09 Joseph Arceneaux (jla at spiff)
+
+ * m/m-sparc.h: If __GNUC__ use "-O", else "-O2"
+
+1989-11-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * search.c (Fstore_match_data): A marker pointing nowhere, treat as 0.
+
+1989-11-08 Joseph Arceneaux (jla at spiff)
+
+ * search.c (Fmatch_data): fixed typo.
+
+ * insdel.c (make_gap): Use BUFFER_REALLOC instead of realloc.
+ * buffer.c (Fget_buffer_create): Use new define BUFFER_ALLOC in
+ place of malloc, and set b->data.
+ (Fkill_buffer): Use BUFFER_FREE on b->data, rather than malloc on
+ b->p1 + 1.
+ * buffer.h: New element data in buffer_text structure.
+ New define for it, bf_data.
+
+1989-11-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * marker.c (Fset_marker): Don't force POS into visible range.
+ * window.c (set_marker_restricted): New function does what
+ Fset_marker did. All calls in this file now use the new function.
+
+1989-11-07 Joseph Arceneaux (jla at spiff)
+
+ * buffer.h: Defines for allocating buffer variables.
+
+ * ralloc.c: Completely rewritten.
+
+ * alloc.c (xmalloc, xrealloc): Return 0 immediately for requests
+ of 0 size.
+
+1989-11-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * search.c (Flooking_at, Fstring_match, search_buffer):
+ Record in search_regs_from_string whether matching against a string.
+ (Fmatch_data): Save data as integers if from a string.
+
+ * s-umips.h: Now include either s-usg5-2-2.h or s-bsd4-3.h
+ and then override as needed.
+ * m-mips.h: System dependence deleted.
+ LD_SWITCH_MACHINE remains w/ options needed on all systems.
+ * m-pmax.h: A little of that (LIBS_DEBUG) moved here.
+ No need to undef LIBS_MACHINE.
+
+ * fns.c (Fload_average): FIXUP_KERNEL_SYMBOL_ADDR is now general hook.
+ * s-umips.h: Define it.
+
+ * sysdep.c: Handle BROKEN_FIONREAD.
+
+1989-11-03 Joseph Arceneaux (jla at spiff)
+
+ * config.h-dist: Mention LISP_FLOAT_TYPE, GNU_MALLOC, and REL_ALLOC.
+
+ * s/s-umips.h: New file.
+
+1989-11-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (Fopen_network_stream): Handle EINTR in connect.
+ Describe errno in err msg if connect fails.
+
+1989-11-02 Joseph Arceneaux (jla at spiff)
+
+ * vm-limit.c: New file.
+ * ralloc.c: New file.
+ * ymakefile: Take vm-limit.o into account.
+
+1989-11-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * alloc.c (staticvec): Make this a simple vector of pointers
+ rather than an alias for a vector of chars.
+
+1989-11-01 Joseph Arceneaux (jla at spiff)
+
+ * window.c: Moved some functions (save_window_save,
+ replace_window, unshow_buffer) around.
+ * search.c: Moved function place.
+ * lread.c: Moved function read_escape.
+ * unexec.c: Declarations for make_hdr, copy_text_and_data,
+ copy_sym. Declare mark_x as static void.
+ * dispextern.h: removed declaration of new_display_line.
+
+ * emacs.c: Do malloc_init if GNU_MALLOC.
+ * gmalloc.c: (malloc_init): New function.
+
+ * xfns.c (x_rectangle, Fx_draw_rectangle, Fx_erase_rectangle,
+ outline_region, Fx_countour_region, Fx_uncontour_region): New
+ subroutines for drawing rectangles and things.
+ (Fx_point_coordinates): New subr.
+
+1989-10-31 Joseph Arceneaux (jla at spiff)
+
+ * All .c and .h files: New copyright header.
+
+1989-10-30 Joseph Arceneaux (jla at spiff)
+
+ * gmalloc.c: New GNU malloc.
+
+ * emacs.c (main, Fdump_emacs): No malloc init if GNU_MALLOC.
+
+ * ymakefile: Check if GNU_MALLOC defined.
+
+1989-10-27 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_pointer_char): New subr.
+ * xterm.c (x_indicate_pointer): New procedure.
+
+ * alloc.c (Fmake_vector_from_list, make_vector_from_list): New subrs.
+
+1989-10-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xterm.c (x_term_init):
+ Negate arg to fcntl F_SETOWN if F_SETOWN_SOCK_NEG.
+ * keyboard.c (Fset_input_mode) [NO_SOCK_SIGIO]:
+ No interrupt input if using a socket.
+ * m-sequent.h: Define NO_SOCK_SIGIO, F_SETOWN_SOCK_NEG, MAIL_USE_FLOCK.
+
+1989-10-26 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c (x_handle_error_gracefully): Make sure to completely
+ release input before returning, using:
+ * xterm.h New macro TOTALLY_UNBLOCK_INPUT.
+
+ * xmenu.c (xmenu_quit): No longer use this error_handler; use
+ default one.
+
+1989-10-25 Joseph Arceneaux (jla at spiff)
+
+ * config.h-dist: Comment fix.
+
+1989-10-24 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_draw_lines, translate_vectors): New functions.
+
+1989-10-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * search.c (search_buffer): Always find null string.
+
+ * window.c (window_loop): For UNSHOW_BUFFER, don't Fset_buffer
+ unless window is the selected one.
+
+1989-10-20 Joseph Arceneaux (jla at spiff)
+
+ * xdisp.c (display_minibuf_message): Choose minibuf screen first
+ of all. Return if not visible.
+
+1989-10-19 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (x_handle_error_gracefully): New procedure to handle
+ non-fatal X errors.
+ (x_error_handler): Use it.
+ (acceptable_x_error_p): New macro.
+
+ * xfns.c (Fx_own_selection): Use second parameter SCREEN.
+
+ * xdisp.c: (message, message1): No longer displays messages
+ when using X but not yet mapped.
+
+1989-10-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-pyramid.h (NO_ARG_ARRAY): Define if using GCC.
+
+1989-10-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * vmsfns.c (process_command_input): Call clear_waiting_for_input.
+
+1989-10-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * syntax.c (scan_words): If words_include_escapes not 0,
+ treat Sescape and Scharquote like Sword.
+ (syms_of_syntax): Define Lisp variable.
+
+ * process.c (wait_reading_process_input): Get rid of kbd_count.
+ Use detect_input_pending.
+ * sysdep.c (select, read_input_waiting): Likewise.
+ (read_input_waiting): Don't read directly into kbd_buffer;
+ use kbd_buffer_store_char.
+ * keyboard.c: Don't define kbd_count.
+
+ * keyboard.c (read_key_sequence): Reject the prefix char generated
+ for a Meta char, if it finds a non-prefix definition.
+
+1989-10-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): READ_KBD==2 means
+ wait until have mouse input.
+ * xfns.c (Fx_get_mouse_event): Use that.
+ * xterm.c (mouse_event_pending_p): New subroutine.
+
+1989-10-13 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c (x_selection_arrival):
+ (x_send_incremental):
+ (x_answer_selection_request): New procedures for incremental
+ selection transfer.
+
+1989-10-12 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * lread.c (complete_filename_p): New function which replaces
+ absolute_filename_p. This one doesn't consider "~" valid.
+
+1989-10-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * buffer.c: Comment fix.
+
+1989-10-11 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c: (Fx_open_connection) New X atoms Xatom_incremental and
+ Xatom_multiple.
+
+ * xterm.h: New macros MAX_SELECTION and SELECTION_LENGTH.
+
+ * process.c (child_sig): Check pid <= 0 in case WNOHANG not defined.
+
+1989-10-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * termcap.c (tgetent, gobble_line): Always store null at end of bfr.
+ Allocate one extra byte at end to ensure space.
+ Clean up order of arithmetic when updating ptrs into buffer
+ after xrealloc.
+
+1989-10-10 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c (Fx_open_connection): Make all X Atoms here.
+
+ * xterm.c: (x_iconify_screen):
+ (x_iconify_screen): Cleaned up this code.
+ (x_term_init): Removed warpmouseondeiconify stuff.
+
+1989-10-09 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xdisp.c (DoDsp): Make sure to call unhold_window_change after
+ before all returns.
+
+ * minibuf.c (read_minibuf): Changed set_mouse_position to
+ Fset_mouse_position.
+
+ * xterm.c (XTread_socket): dumprectangle (whole screen) instead of
+ DoDsp in ConfigureNotify event.
+ (x_wm_set_size_hint): New calculations for size_hints.
+
+ * screen.c (Fset_mouse_position): No more function
+ set_mouse_position; use x_set_mouse_position directly.
+
+ * xfns.c (x_set_cursor_color): Really decode Vx_cusor_fore_pixel
+ if set. Define new cursor before freeing old. This may eliminate
+ a server bug on the Sony.
+ Also check for invisible cursors.
+ (x_set_mouse_color): Check for invisible pointers.
+ (x_resize_scrollbars): BLOCK_INPUT whilst doing operations.
+ (adjust_scrollbars): Likewise.
+
+1989-10-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m/m-hp9000s800.h (XUNMARK): Delete definition.
+ (S_IFLNK): Do not undef it.
+
+1989-10-03 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * dispnew.c (get_display_line): If screen not visible, abort.
+
+1989-10-02 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (x_make_screen_visible): Set s->visible, unset
+ s->iconified for HAVE_X11.
+
+1989-09-29 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Check screen s before proceeding for
+ MapNotify event.
+
+ * xterm.c: No longer sets the variable mouse_down_timestamp.
+ * xfns.c: (Fx_get_mouse_event) mouse_timestamp
+ (formerly mouse_down_timestamp) set here. Also, mask out upper 9
+ bits before doing XSET.
+
+1989-09-28 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c (Fx_geometry): Kludge for the case of position `-0'.
+ (Fx_get_mouse_event): Also return the time stamp as last list elt.
+ (Fx_color_display_p):
+ (Fx_defined_color):
+ (x_decode_color):
+ (defined_color): Eliminate screen argument.
+ (Fx_create_screen): No more ColorMap component to display.x.
+ * xterm.h: Likewise.
+
+1989-09-27 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c (Fx_own_selection):
+ (Fx_get_selection):
+ (x_disown_selection): new funcs, which use new variables
+ Vx_selection_value, x_begin_selection_own, mouse_down_timestamp,
+ requestor_time, requestor_window, property_name, and
+ x_begin_selection_own.
+
+ * xterm.c (XTread_socket): Only do stuff if s for FocusOut under X11.
+ SelectionClear:
+ SelectionRequest:
+ SelectionNotify: New events to handle the selection inter-client
+ communication mechanism.
+ ButtonPress: Set mouse_down_timestamp.
+
+1989-09-26 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c: New variable Vx_cursor_fore_pixel.
+
+1989-09-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lread.c (openp): Don't ! the result of `access'.
+
+1989-09-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (Fread_file_name_internal): Try to work properly
+ if dirs are specified using environment vars. Preserve use of vars.
+
+1989-09-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c: Comment fix.
+
+1989-09-18 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_get_cut_buffer): XFree the data returned by
+ XFetchBytes.
+
+1989-09-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (Fwrite_region): Reinstall #if 0 around fstat.
+
+1989-09-12 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (defined_color): New function to test if a color is
+ currently defined.
+ (x_decode_color): Use defined_color.
+ (Fx_defined_color): New subr.
+ (select_visual): Select the appropriate X11 Visual.
+ (Fx_open_connection): Use select_visual. screen_visual now
+ global and used when making emacs windows.
+ (Fx_color_display_p): New subr.
+
+1989-09-11 Joseph Arceneaux (jla at spiff)
+
+ * fileio.c (Fwrite_region): fixed typo.
+
+ * keyboard.c (Fdiscard_input): fixed typo.
+
+ * window.c (Fnext_window): fixed typos.
+
+ * alloc.c (xmalloc, xrealloc): hold_window_changes whilst doing
+ the associated operations.
+
+ * dispnew.c (init_display):
+ (Fsleep_for, Fsit_for):
+ * process.c (Faccept_process_output):
+ * keyboard.c ({clear,set}_waiting_for_input):
+ (quit_throw_to_get_char, get_char):
+ * xdisp.c (DoDsp, message, message1): Undid changes of Aug. 23
+ (see below); accept window changes most of the time.
+
+1989-09-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c: Eliminate kbd_count, and use two pointers,
+ kbd_fetch_ptr and kbd_store_ptr. Assume buffer is empty when
+ they are equal. This should eliminate timing error.
+ (kbd_buffer_store_char): Update kbd_store_ptr when storing.
+ Don't ever fill the entire buffer.
+ (kbd_buffer_get_char): Update kbd_fetch_ptr when fetching.
+ (stuff_buffered_input): Likewise.
+ (get_input_pending): Compare the two pointers.
+
+ * fileio.c (Fwrite_region): Reenable using fstat rather than stat
+ to get the modtime of the file just written, except on VMS and APOLLO.
+
+1989-09-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * emacs.c, doc.c, filelock.c: Move Emacs header includes after
+ system header includes, and #undef NULL in between.
+
+1989-08-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c [SYSV_PTYS]: If `titan', include some other files.
+
+1989-08-29 Joseph Arceneaux (jla at spiff)
+
+ * fileio.c: read-file-name replaced with new version, formerly
+ called new-read-file-name.
+
+1989-08-26 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * window.c (Fscroll_other_window): Use save-excursion (in effect)
+ to save and restore current buffer and point.
+ (window_scroll): If selected window's buffer isn't current,
+ make it current, using save-excursion to go back.
+
+1989-08-24 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * Use two variables to convey reason for synch process death,
+ to avoid consing in signal handler.
+ They are synch_process_death and synch_process_retcode.
+ * callproc.c (Fcall_process): Use both variables.
+ * process.c (child_sig): Set both variables.
+
+1989-08-24 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c (x_wm_set_size_hint): Use new ICCCM values for size_hints.
+
+1989-08-24 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * buffer.c: Doc fix.
+
+1989-08-24 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_create_screen): X11 part. Set height and width to 0
+ before calling change_screen_size.
+
+ * buffer.c (kill-all-local-variables): Changed doc string.
+
+1989-08-23 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * dispnew.c (init_display): Call hold_window_change.
+ (Fsleep_for, Fsit_for): Temporarily unhold, while waiting.
+ * process.c (Faccept_process_output): Likewise.
+ * keyboard.c ({clear,set}_waiting_for_input): Temporarily unhold.
+ (quit_throw_to_get_char, get_char): Rehold.
+ * xdisp.c (DoDsp, message, message1):
+ Unhold and rehold momentarily before any real work.
+
+ * Makefile (CPP): Use $(CC).
+
+1989-08-22 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (x_set_mouse_color): Use new variables Vx_pointer_mask,
+ Vx_pointer_shape.
+
+1989-08-21 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * alloc.c (malloc_warning): Do nothing if ignore_warnings.
+ (init_alloc_once): Set ignore_warnings while initializing allocation.
+
+ * buffer.c: Doc fix.
+
+1989-08-21 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c (x_calc_absolute_position): New function to calculate
+ positive screen position.
+ (x_set_position): Use it.
+ (x_reset_cursor): No longer exists.
+
+ * xfns.c (x_set_mouse_color): Reset the cursor even if there's no
+ X window.
+ (x_figure_window_size): Use x_calc_absolute_position.
+ (x_set_mouse_color): Rewrote this function. Always set cursor and
+ its color. If the window exists, then attach the cursor to it.
+ No longer uses x_reset_cursor.
+ (x_create_window):
+ (x_set_background):
+ (x_set_foreground): Use x_set_mouse_color instead of x_reset_cursor.
+
+1989-08-18 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * vmsfns.c: Define PRV$V_... syms if prvdef.h does not.
+
+1989-08-18 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_geometry): New subr.
+ (x_figure_window_size): Don't worry about "geometry" here anymore;
+ now done in x-win.el.
+ (x_icon): Look in parms for iconic-startup rather than in variable.
+
+1989-08-16 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (x_set_*_scrollbar): Don't destroy a scrollbar if it
+ doesn't exist. Also set scrollbar size only if actually creating
+ one.
+ (x_set_name): Don't do anything if the X window doesn't exist.
+ Set the icon name as well.
+ (x_window): Set the class hints for the window.
+
+1989-08-16 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * lread.c (Fload): Fix unterminated comment.
+
+ * scroll.c (scrolling_max_lines_saved): Replace fixed threshold of 20
+ with 1/4 of average length of lines.
+
+1989-08-13 Joseph Arceneaux (jla at spiff)
+
+ * ymakefile: Do ${make} for oldXMenu.
+
+1989-08-13 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * eval.c: Doc fix.
+
+1989-08-12 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * emacs.c (main): Check for failure opening -t device.
+ Fatal error if terminal isn't a real terminal.
+
+ * window.c (Fscroll_other_window): Let Vother_window_scroll_buffer
+ specify a buffer to scroll.
+
+1989-08-11 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * dispnew.c: Handle BROKEN_FIONREAD as in other files.
+
+1989-08-09 Joseph Arceneaux (jla at spiff)
+
+ * ../oldXMenu/Makefile: Removed all the unneccessary X stuff.
+
+1989-08-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (barf_or_query_if_file_exists): When signalling,
+ provide the expected args for a file-error.
+
+1989-08-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c: Let NEED_BSDTTY control include of bsdtty.h.
+
+ * process.c [BSD or STRIDE]: If ioctl.h fails to define O_NDELAY,
+ and we need it, try fcntl.h.
+
+ * s-bsd*.h, s-rtu.h, s-umax.h, s-unipl*.h: Define HAVE_UNION_WAIT.
+ * m-stride.h: Likewise.
+ * process.c: Decide which type to use with `wait'
+ according to HAVE_UNION_WAIT. If WAITTYPE already defined,
+ assume everything all set up for this.
+
+ * m-hp9000s300.h: Unless NOT_C_CODE or NO_SHORTNAMES,
+ define WAITTYPE and WRETCODE, and include sys/wait.h.
+
+1989-08-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * callproc.c (child_setup): Get rid of junk in #if 0.
+
+1989-08-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * abbrev.c (Fdefine_abbrev): Allow nil spec'd as expansion.
+ (Fexpand_abbrev): Eliminate abbrev length limit; use alloca.
+ Eliminate redundant tests, always true.
+ Record positions of both start and end of abbrev.
+ Handle whitespace following the abbrev, before point.
+
+ * callproc.c (Fcall_process_region): Use unwind-protect to delete
+ temp file.
+
+ * lread.c (load_unwind): Free the pointer-word malloc'd in Fload.
+
+1989-08-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * emacs.c (Fdump_emacs): Doc fix.
+
+1989-08-02 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c: Reorganized several functions to be in same order as the
+ enum list.
+ (x_set_border_color): For X11, don't set pix to -1 for
+ gray values.
+ (Fx_create_screen): Simplified this function even more.
+
+1989-07-31 Joseph Arceneaux (jla at spiff)
+
+ * keymap.c: New subrs Fuse_local_mouse_map, Fcurrent_local_mouse_map.
+
+ * xfns.c (x_set_mouse_color):
+ (x_set_cur): No need to redraw display after doing these.
+
+ (Fx_get_mouse_event): Accept motion events.
+ (x11_encode_mouse_button): Encoding a la X11, except for one
+ kludge. This is used only for motion events.
+
+ * xterm.c (XTread_socket): Handle motion eveots.
+
+1989-07-26 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_create_screen): I couldn't take it any more, the
+ ugliness of this routine offended me too deeply. It is now
+ completely rewritten for X11 and uses subroutines:
+ (x_figure_window_size)
+ (x_create_window)
+ (x_icon)
+ (x_make_gc)
+
+ (Fx_draw_rectangle):
+ (Fx_erase_rectangle): New subrs.
+
+ * m/m-intel386.h: Changes in LOAD_AVE_TYPE, LOAD_AVE_CVT, and
+ FSCALE to make loadst work correctly.
+
+1989-07-24 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fmodify_screen_parameters): Check s->output_method
+ before looping through alist.
+
+ (Fx_create_screen): Call x_default_parameter for font.
+ Don't add the scrollbar widths when making the main window: this
+ is done when the scrollbar is actually made.
+
+ (x_set_vertical_scrollbar): Set v_scrollbar_width here instead of
+ in install_vertical_scrollbar. Also, pass that function macros
+ PIXEL_WIDTH, PIXEL_HEIGHT as args.
+
+ (x_set_horizontal_scrollbar): Likewise.
+
+ * xterm.c: (x_set_window_size): Don't call the things called
+ anyway upon the ConfigureNotify event.
+ (x_set_offset): Use the screen-size lisp variables for these
+ calculations.
+
+ * xterm.h: Added the screen parameter declarations from xfns.c for
+ X11.
+
+1989-07-21 Joseph Arceneaux (jla at spiff)
+
+ * sysdep.c: Don't include sioctl.h on mips.
+
+ * buffer.c (Flist_buffers): Pass prefix as arg.
+
+ * editfns.c (Finsert_char): Insert at most 256 chars at a whack.
+
+ * xterm.c (x_draw_box): Moved cursor box right by one pixel.
+
+1989-07-20 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c: New variable x_screen_visuals, set if Fx_open_display,
+ to be used in screen-color-p.
+
+ * process.c (create_process): Don't call setpgrp_of_tty here.
+ Also, do setpgrp for USG regardless of HAVE_PTYS.
+
+ * callproc.c (child_setup): Ignore argument set_pgrp and always do
+ setpgrp_of_tty.
+ (Fcall_process): Don't call setpgrp_of_tty here.
+
+ * keyboard.c (command_loop_1): Make sure Vprefix_arg is NULL
+ before finalizing_kbd_macro_chars;
+
+1989-07-19 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_rebind_key): Completely rewrote this function for
+ X11.
+
+1989-07-13 Joseph Arceneaux (jla at spiff)
+
+ * emacs.c:
+ * process.c:
+ * unexec.c:
+ * m/m-ibmrt-aix.h: Changed IBMRTAIX to IBMAIX.
+ * sysdep.c: Likewise. Also, don't define our closedir if IBMAIX.
+ * m/m-ibmps2-aix.h: New file.
+
+1989-07-12 Joseph Arceneaux (jla at spiff)
+
+ * xdisp.c (message, message1): If using x, but haven't mapped the
+ window yet, use noninteractive output.
+
+ * dispnew.c (Fredraw_display): Don't redraw a screen which is not
+ visible.
+
+ * xterm.c (x_set_window_size): Don't DoDsp if screen isn't visible.
+
+ * xfns.c (x_set_mouse_color)
+ (x_set_border_color)
+ (x_set_cursor_color)
+ (x_set_background_color)
+ (x_set_foreground_color): Don't redraw when screen isn't visible.
+
+1989-07-11 Joseph Arceneaux (jla at gluteus)
+
+ * xterm.c (x_term_init, XTread_socket): Use ConnectionNumber for
+ both X10 and X11. This is #defined for X10.
+
+ * screen.c (Fset_screen_width, Fset_screen_height): These now take
+ a SCREEN argument.
+
+1989-07-10 Joseph Arceneaux (jla at gluteus)
+
+ * xterm.c (x_set_window_size): Call x_wm_set_size_hint.
+ (x_new_font): Don't call x_wm_set_size_hint.
+
+ * xfns.c (x_set_internal_border_width): Don't call
+ x_set_resize_hint, and call x_set_window_size after BLOCK_INPUT.
+
+ * screen.c, dispnew.c (Fset_screen_width, Fset_screen_height):
+ These functions have moved to screen.c.
+
+1989-07-07 Joseph Arceneaux (jla at sugar-bombs.ai.mit.edu)
+
+ * eval.c (Ffuncall): Handle 6 arguments. Also, print a nice error
+ message if there are more than 6 args.
+
+ * fns.c: (Fyes-or-no-p):
+ * minibuf.c: (read_minibuf_unwind):
+ (Fread_minibuffer):
+ (Fread_no_blanks_input):
+ (Fcompleting_read): Extra arg to read_minibuf.
+
+ * callint.c (Fcall_interactively):
+ * keyboard.c (Fexecute_extended_command):
+ * minibuf.c: (Fread_command):
+ (Fread_function):
+ (Fread_variable):
+ (Fread_buffer): Extra arg to Fcompleting_read.
+
+1989-07-05 Joseph Arceneaux (jla at spiff)
+
+ * minibuf.c (read_minibuf): New argument back_n is number of
+ characters to back-up point by.
+ (Fcompleting_read): Same.
+ * fileio.c: (Fnew_read_file_name): New version of Fread_file_name
+ using the above features.
+ (Finsert_file_contents): Check for negative file length.
+
+1989-07-03 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c: (x_pixel_width, x_pixel_height) New functions.
+ * screen.c: (Fscreen_pixel_size): New subr.
+
+1989-06-30 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c: Use invocation_name as argument to XGetDefaults.
+
+1989-06-29 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c (x_error_handler) #ifdef sony_news use XDefaultError
+ instead of XPrintDefaultError due to weirdness in Sony library.
+ * xterm.c: Avoid infinite raise/lower, enter/leave cycle when both
+ auto_raise and auto_lower are set by checking times between
+ consecutive Enter events.
+
+1989-06-27 Joseph Arceneaux (jla at sugar-bombs.ai.mit.edu)
+
+ * screen.c: (Fselect_screen)
+ * window.c: (Fselect_window) The previous strategy was bugging the
+ lisp stuff, so these are now rewritten.
+
+1989-06-26 Joseph Arceneaux (jla at galapas.ai.mit.edu)
+
+ * cm.c (Wcm_init): Don't check for Wcm.cm_ds, since this has been
+ removed.
+ (losecursor): This function now a #define in cm.h.
+
+ * xterm.c (x_iconify_screen): Send message to root window to do
+ this, as per latest Inter-Client Communications Conventions. This
+ is commented out until it's implemented by X. For now, do it with
+ the iconic_state hint.
+ (x_deiconify_screen): For X11, just Map the window, as per the new
+ ICCC.
+ (x_make_screen_visible): Only handle visible and iconified screen
+ elements for X10; these variables are handled in event processing
+ for X11.
+ (x_make_screen_invisible): Send an UnmapNotify event to the root
+ window to aprise the window manager of the change.
+ (XTread_socket): Catch VisibilityNotify events.
+
+1989-06-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fsplit_window): If horizontal, round left window size up.
+
+1989-06-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cm.h (cmplus): Improve formatting.
+ Use losecursor when reach end of line, if losewrap.
+
+ * cm.h: New fields to handle multi-line and multi-char motion,
+ and both max and min cost for certain operations.
+ * term.c (term_init): Init those fields.
+
+ * term.c (clear_end_of_line_raw): Don't clear last char of last line
+ if autowrap.
+
+ * abbrev.c (Finsert_abbrev_table_description): Make 2nd arg optional.
+
+1989-06-23 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c, lisp/term/x-win.el: C routine Fscreen_color_p now lisp
+ function x-color-screen-p in x-win.el.
+ (x_set_cursor_color): New method: first disallow same cursor as
+ background, then if cursor not foreground, use it as cursor
+ foreground.
+
+1989-06-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lisp.h (XPNTR): Don't define if already defined.
+
+1989-06-22 Joseph Arceneaux (jla at cream-of-wheat.ai.mit.edu)
+
+ * screen.c: New subrs Ficonify_screen, Fdeiconify_screen,
+ Fread_mouse_position, Fset_mouse_position.
+
+ * xterm.c: New functions x_deiconify_screen, x_iconify_screen.
+
+1989-06-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fsplit_window, change_window_height):
+ Enforce minimum of 2 for window_min_width and window_min_height.
+
+1989-06-22 Joseph Arceneaux (jla at galapas.ai.mit.edu)
+
+ * dispnew.c (unhold_window_change): Don't set and unset in_display
+ before and after calling change_screen_size.
+
+1989-06-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * buffer.c (Fkill_buffer): Ignore errors deleting auto-save file.
+ Delete only if delete-auto-save-files.
+
+ * data.c (Fmake_local_variable): Don't change value if unbound.
+
+1989-06-20 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * screen.c (Fselect_screen): Use x_set_mouse_position instead of
+ x_enter_screen.
+
+ * xterm.c (x_enter_screen): Deleted, now merged with
+ * xfns.c (x_set_mouse_position): If the position is negative, use
+ the center screen position.
+
+ * data.c (swap_in_symval_forwarding): Declared tem1.
+ (Fset): Changed variable name void to voide. Also, set it to a C
+ true/false, rather than Qt or Qnil.
+
+1989-06-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * eval.c (Fdefvar): Operate on default value if sym is buffer-local.
+ (Fdefconst): Likewise.
+
+ * Allow buffer-local variables to be void in one buffer
+ or in the default value.
+ * data.c (swap_in_symval_forwarding): New function.
+ (Fboundp, Fsymbol_value): Use that.
+ (default_value): New function.
+ (Fdefault_value): Use that.
+ (Fdefault_boundp): New function, uses that.
+
+1989-06-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile: New variable OLDXMENU has filename of libXMenu.a
+ as a target. Make temacs depend on it.
+
+1989-06-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile [HAVE_X11, HAVE_X_MENU]: Build oldXMenu.
+ * xmenu.c: Get XMenu.h from sibling dir.
+
+ * buffer.c (Fkill_buffer): Return t if buffer is killed.
+ Delete auto-save file if any.
+
+1989-06-09 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * window.c: initialize auto_new_screen to 0 (nil).
+
+ * screen.c (make_screen): added auto_lower to the list of screen
+ elements initialized.
+ (make_minibuffer_screen): likewise.
+
+1989-06-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fset_window_point): Don't lose if window's buffer is
+ not current.
+
+1989-06-08 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c (Fx_open_connection): Added 9 Lisp variables
+ defined by the screen and server.
+
+1989-06-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-pmax.h: New file.
+
+1989-06-08 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c: removed superfluous definition of gray_bits.
+
+1989-06-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-hp9000s300.h: Define NEED_BSDTTY unless NOMULTIPLEJOBS.
+
+1989-06-07 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * emacs.c (Fkill_emacs): If under X, call
+ Fx_close_current_connection. This has fixed the "bad file" bug.
+ * xfns.c (Fx_close_current_connection): Added this subr which for
+ the moment serves only to close the X-connection when killing emacs.
+
+1989-06-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-hp9000s800.h: Define NEED_BSDTTY here.
+ * s-hpux.h: Not here.
+
+1989-06-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s/s-hpux.h: Define NEED_BSDTTY.
+
+1989-06-06 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (x_new_selected_screen): Make the new selected_screen
+ and it's selected_window's screen be the same.
+ (x_enter_screen): Calculate the middle of the screen, and warp the
+ mouse there. Also, raise the screen before doing so.
+
+1989-06-05 Joseph Arceneaux (jla at cream-of-wheat.ai.mit.edu)
+
+ * xterm.c (x_set_window_size): If not already in DoDsp (checked
+ with variable in_display) then DoDsp here. Handles redisplay
+ after screen configuration.
+ (x_error_handler): Print out stuff about the error if we're in
+ debug mode.
+
+ * dispnew.c (change_screen_size): No longer call DoDsp here.
+
+1989-06-05 Chris Hanson (cph at kleph)
+
+ * syntax.c (Fmodify_syntax_entry): Change documentation string to
+ reflect earlier change to action of `p' syntax bit.
+
+1989-06-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lread.c (read1): Don't accept "" in middle of string.
+
+1989-05-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * search.c (Freplace_match): If \N has nothing to insert,
+ insert nothing.
+
+1989-05-29 Joseph Arceneaux (jla at gracilis.ai.mit.edu)
+
+ * xfns.c: (Fx_create_screen): If parms is nil and
+ Vx_screen_defaults isn't, then use them.
+ (Fdisplay_buffer): Call Fx_create_screen with Qnil.
+
+1989-05-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * syntax.c (scan_lists): Once within a word, treat Squote like Sword.
+
+1989-05-24 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * dispnew.c (change_screen_size): DoDsp if not pretend.
+
+1989-05-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * search.c (skip_chars): Dumb error checking for \.
+
+1989-05-22 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * screen.c (Fselect_screen): Under X, basically just warp the
+ cursor into the desired screen. The event handler will then do
+ the right thing.
+ (Frestore_screen_configuration): Don't set the mouse position.
+
+ * window.c (Fselect_window): If window's screen is not selected,
+ call Fselecte_screen.
+ (Fdisplay_buffer): Call Fx_create_screen with x-screen-parameters
+ as argument instead of nil.
+
+ * keyboard.c (clear_waiting_for_input): Don't call
+ x_new_selected_screen here.
+
+ * xterm.c (XTread_socket): Add case slots for CirculateNotify and
+ CirculateRequest events.
+
+1989-05-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * doc.c (Fsubstitute_command_keys): Evaluate \\<...> keymap
+ in proper buffer.
+
+ * keymap.c (Fapropos_internal): New Lisp function, old apropos
+ but only returns a list.
+
+1989-05-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (Fopen_network_stream): Don't set kill-without-query.
+
+1989-05-19 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (x_new_selected_screen): This now takes a struct screen
+ pointer as paramter.
+ * (XTread_socket): call x_new_selected_screen *before* dumpborder.
+
+1989-05-16 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c: (x_window_to_scrollbar): If the caller's not interested
+ in the names--passing 0 for last two parameters--just return the
+ screen pointer.
+
+ * xterm.c (x_enter_screen): Added this function for warping the
+ pointer into a screen.
+
+1989-05-16 Chris Hanson (cph at kleph)
+
+ * syntax.c (scan_lists, scan_sexps_forward): Treat characters
+ whose "prefix" bit is on as whitespace when they are encountered
+ between expressions. When they occur within expressions they are
+ treated according to their syntax code.
+
+1989-05-16 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c: (x_new_selected_screen): Don't call Fselect_screen.
+ Just do everything here.
+
+ * window.c (Fselect_window): If the screen associated with the
+ window is not selected, warp the mouse, cause an EnterNotify event
+ which then causes the proper screen to become selected. This does
+ *not* call Fselect_screen.
+
+ * screen.c (Fselect_screen): Now this is *only* a lisp subr. It
+ just calls Fselect_window on the selected window of the screen.
+
+1989-05-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c (Fsubst_char_in_region): If NOUNDO, do increment tick,
+ but maybe also increment save-tick.
+
+1989-05-15 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (x_set_window_size): Only one #ifdef HAVE_X11 due to new
+ macro in:
+ * xterm.h: New macro XChangeWindowSize for both X10 and X11.
+
+ * xfns.c (Fx_create_screen): Use XCreateWindow instead of
+ XCreateSimpleWindow to directly set some extra attributes.
+
+1989-05-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * syntax.h (SYNTAX_PREFIX): New macro.
+ * syntax.c (Fmodify_syntax_table): Handle `p'; set new flag.
+ (describe_syntax): Describe new flag.
+ (Fbackward_prefix_chars): Move back over such chars.
+
+ * lread.c (read1): Dumb errors in last change.
+
+1989-05-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lread.c (read1): Error if EOF after `?' or in string.
+
+ * sysdep.c (init_sys_modes) [IBMRTAIX]: Typo; had s for sg.
+
+1989-05-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s/s-usg5-3.h: Define HAVE_SYSVIPC?
+
+ * alloc.c (Fmake_byte_code): If purifying, purecopy all elements.
+
+ * ymakefile (LIBXMENU): Use -loldX.
+ Find libXMenu11.a in special place.
+
+1989-05-12 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c (Fx_create_screen): If user has specified
+ `x-iconic-startup' then start emacs in iconic form.
+ Look for icon position in `icon-left' and `icon-top', or use
+ window postion.
+
+ * xterm.c (x_term_init): If server doesn't respond, use fatal
+ instead of error. Also tell user about -d option.
+
+1989-05-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c (init_sys_modes, reset_sys_modes):
+ Handle TIOCGLTC even if HAVE_TERMIO.
+
+ * print.c (Qprint_escape_newlines): New variable.
+ * minibuf.c (read_minibuf): Make it t locally in minibuffers.
+
+ * fileio.c (Fcopy_file): Check for error on close.
+
+1989-05-10 Joseph Arceneaux (jla at corn-chex.ai.mit.edu)
+
+ * xfns.c (adjust_scrollbars): Don't subtract 2 from
+ h_scrollbar_height when calculating `length'.
+
+1989-05-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * eval.c (call_debugger): Set entering_debugger.
+ (find_handler_cause): Don't enter debugger if that's set.
+ (Fbacktrace): Clear it; we are presumably in the debugger.
+
+ * m/m-sps7.h: New file.
+
+1989-05-08 Joseph Arceneaux (jla at rice-chex.ai.mit.edu)
+
+ * xterm.c (XTread_socket_hook): For X11, on map and unmap events
+ check the window manager hints for iconification status.
+
+ * xterm.c (x_make_widow_icon): For X11, just request
+ iconification of the window manager.
+
+1989-05-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m/m-clipper.h: New file.
+
+1989-05-07 Joseph Arceneaux (jla at corn-chex.ai.mit.edu)
+
+ * xfns.c (adjust_scrollbars): Don't subtract 2 from
+ v_scrollbar_width when calculating `height'.
+
+ * xfns.c (x_set_foreground, x_set_border_pixel): Finished color
+ coordination. Scrollbar border, thump-arrows, and slider pixmap
+ linked with foreground color; slider border with window border.
+
+1989-05-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lread.c (read1): Handle octal integers.
+
+ * macros.c: Doc fix.
+
+ * search.c (Fstore_match_data): Allow ints instead of markers.
+
+ * keyboard.c (get_char_menu_prompt): New function; does menu prompting
+ based on current keymaps.
+
+1989-05-05 Joseph Arceneaux (jla at gracilis.ai.mit.edu)
+
+ * xfns.c (Fx_set_face): Rewrote the doc-string and renamed the
+ parameters.
+
+1989-05-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * unexec.c: New control parameters COFF_BSD_SYMBOLS, KEEP_OLD_PADDR,
+ KEEP_OLD_TEXT_SCNPTR, ADJUST_TEXT_SCNHDR_SIZE, ADJUST_TEXTBASE,
+ HEADER_INCL_IN_TEXT.
+
+ * unexec.c: Define IN_UNEXEC as flag for config.h.
+
+ * keymap.c: Fapropos, etc., deleted. (Now in Lisp code.)
+
+ * eval.c (Fcommandp): Byte code object is command if interactive slot
+ exists at all.
+
+1989-05-05 Chris Hanson (cph at kleph)
+
+ * process.c [HPUX && !NOMULTIPLEJOBS]: Include <bsdtty.h>, which
+ defines TIOCGPGRP.
+
+1989-05-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * data.c (Faref, Farray_length): Handle byte-code objects.
+ * fns.c (Flength, concat): Likewise.
+
+ * data.c (Faref, Faset, Farray_length): Rename arg VECTOR to ARRAY.
+
+ * m/m-hp9000s300.h: Undefine NOMULTIPLEJOBS.
+
+ * keyboard.c (Fcommand_execute): Treat bytecode object as function.
+
+ * callint.c (Fcall_interactively): Separate decoding of fcn
+ from handling of it.
+
+ * alloc.c (Fmake_byte_code): Renamed from Fmake_compiled_code.
+ Make it pure if Vpurify_flag is non-nil.
+ (Fpurecopy): Handle byte-code objects.
+
+ * keyboard.c (get_char): Use Fsit_for for echoing timeout, not alarm.
+ Do this before timeout for auto-save since the latter is longer.
+ (request_echo): Function deleted.
+ ({set,clear}_waiting_for_input): No need for echo_now, echo_flag.
+
+1989-05-04 Joseph Arceneaux (jla at gracilis.ai.mit.edu)
+
+ * xterm.c (x_lower_window, x_raise_window): Don't do anything if
+ the window isn't visible.
+
+ * xfns.c (x_set_foreground_color): Recolor the scrollbar windows
+ appropriately, compatible with xterm.
+
+ * xterm.c (x_reset_cursor): Do cursor recoloring.
+
+1989-05-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fns.c (Frandom): With number as arg, return value < that number.
+
+ * sysdep.c [USG, BSD4_1] (random): Call `rand' twice, to get
+ 30 bits of significance.
+
+1989-05-03 Joe Arceneaux (jla at gracilis.ai.mit.edu)
+
+ * xterm.c (x_draw_box): Use the cursor_gc.
+ * xfns.c: (x_set_cursor_color, x_create_screen): Do a better job
+ with cursor colors, and use 0 line width for the cursor_gc.
+
+1989-05-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Begin changing representation of compiled functions.
+ * lisp.h (enum Lisp_Type): New type code Lisp_Compiled, like a vector.
+ (COMPILED_*): Names for slots in those vectors.
+ * alloc.c (Fmake_compiled_code): New function.
+ * eval.c (Fcommandp, Feval, Ffuncall, funcall_lambda):
+ Handle fcns of type Lisp_Compiled.
+ (Fcommandp, Fapply): Avoid directly nested ifs.
+ * print.c (print): Handle Lisp_Compiled objects.
+ * callint.c (Fcall_interactively): likewise.
+ * doc.c (Fdocumentation): likewise.
+
+ * keyboard.c (Fopen_dribble_file): nil as arg means close it.
+
+ * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c:
+ * casefiddle.c, cmds.c, data.c, dired.c, dispnew.c, doc.c, editfns.c:
+ * eval.c, fileio.c, filelock.c, floatfns.c, fns.c, keyboard.c:
+ * keymap.c, lread.c, minibuf.c, mocklisp.c, print.c, process.c:
+ * screen.c, search.c, syntax.c, undo.c, vmsfns.c:
+ Many doc fixes.
+
+1989-04-30 Joseph Arceneaux (jla at hobbes)
+
+ * xterm.c (XTring_bell): Wasn't passing selected_screen to XTflash.
+ Fixed this.
+
+ * xterm.c (XTread_socket): Don't check if server died under
+ X11. Temporary.
+
+1989-04-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fdelete_other_windows): Bug getting top edge.
+
+1989-04-29 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c (get_char): Auto save if enough time elapses.
+ (auto_save_timeout): New Lisp variable.
+
+ * xdisp.c (try_window, try_window_id): Set w->redo_mode_line
+ if should show percentage instead of `Bot'.
+
+1989-04-29 Joe Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (x_term_init): Don't set visible bell, as it pre-empts
+ .emacs control.
+
+1989-04-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * doc.c (syms_of_doc): Make Vdoc_file_name a Lisp variable
+ named internal-doc-file-name.
+
+1989-04-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-news.h: m-news800.h renamed.
+ Removed EXPLICIT_SIGN_EXTEND and COMPILER_REGISTER_BUG.
+ Removed SEGMENT_MASK and sigmask.
+ LOAD_AVE_TYPE is now `double'; LOAD_AVE_CVT changed too.
+ Define m68000 if not defined.
+
+1989-04-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile: If COFF_ENCAPSULATE, define LD as gcc -nostdlib.
+
+ * sysdep.c: Unconditionally include sys/ioctl.h.
+
+ * m/m-mips.h [USG]: Define LIBS_TERMCAP.
+ If HAVE_X11, define HAVE_VFORK.
+
+1989-04-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m/m-altos.h: Use termcap, not terminfo.
+ Define COFF_ENCAPSULATE if using gcc.
+ Use built-in alloca if using gcc.
+ Define PURESIZE.
+
+ * lread.c (absolute_filename_p): On ALTOS, @ means absolute.
+
+ * process.c: Missing #endif.
+ * fileio.c (Finsert_file_contents): Define `p' for last change.
+ * buffer.c, floatfns.c: Typos in DEFUN doc strings.
+ * keyboard.c: Typo in DEFVAR_LISP doc string.
+
+ * window.c (Fdelete_other_windows): Fix confusion about type of W.
+
+1989-04-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile (LDFLAGS): Forgot to use LD_SWITCH_SITE.
+
+ * xterm.c (XTflash): Draw the bars here.
+ (x_invert_screen): Change to invert entire window.
+ (stufflines): Changed args to XClearArea.
+ (XTread_socket): Clean up handling of KeyPress events.
+ For LeaveWindow, ignore uninteresting ones and handle autolower.
+ For FocusIn, ignore if unknown window, and handle autoraise.
+ For MotionNotify, add real handling for X11.
+ For ConfigureNotify, count width of scroll bars.
+ Don't call change_screen_size redundantly; ignore linked expose events.
+ Update left and top pos if nec.
+ For button events, ignore if not in known window or scrollbar.
+ (x_new_selected_screen): Takes screen as arg.
+ (x_error_handler): Arg type different for X11.
+ (x_set_window_size) [HAVE_X11]: Call change_screen_size
+ before x_wm_set_size_hint.
+ (x_make_window_visible): Make scroll bars visible too, if any.
+ (x_lower_window): New fn.
+ (x_wm_set_size_hint): Take account of width of scroll bars.
+ Ior specified hint flags with those already set.
+
+ * xterm.h (HSCROLL_HEIGHT): HSCROLL_WIDTH is renamed.
+ (MAXWIDTH): Increased to 300.
+ (MAXHEIGHT): Increased to 100.
+ (DISPLAY_SCREEN_ARG): Remove parentheses.
+ (ButtonReleased, WhichMouseButton): Delete definitions.
+
+ * xmenu.c: Adapted to new X interface. X11ONLY replaced with xDISPLAY.
+ Many X11 conditionals removed.
+
+ * xfns.c (x_set_cursor_color): Special case if matches foreground.
+ (Fx_create_screen): Typo for HSCROLL_HEIGHT.
+ Use BLACK_PIX_DEFAULT, WHITE_PIX_DEFAULT.
+ Set PRETEND arg to change_screen_size.
+ Delete gray_bits; this value made global.
+ Don't call install_*_scrollbar here.
+ (x_set_horizontal_scrollbar): Define this for real.
+ (x_set_vertical_scrollbar): Corrent args to install_vertical_scrollbar.
+ (install_vertical_scrollbar): New local slider_pixmap, and set it.
+ Delete locals GC_values, temp_gc.
+ Change arrow_width, arrow_height (appears to be undefined) to 16.
+ Un-if-0 this code.
+ Use border_pixel, not foreground_pixel, for scrollbar.
+ (install_horizontal_scrollbar): Define this for real.
+ (adjust_scrollbars): Handle horizontal scrollbar.
+ Define XMoveResizeWindow as XConfigureWindow if X10 to simplify.
+ (x_resize_scrollbars): Remove #if 0 from quick-exit case.
+ Really handle horizontal scrollbar.
+ Simplify using new macro.
+ (Fx_get_mouse_event): Mostly ignore events other than buttons.
+ Use many new macros to handle X10 and X11.
+ (encode_mouse_button): New fn: encoding of which button, broken out.
+
+ * xfns.c (left_arror_cursor, etc.): New vars.
+ (x_screen_parm, init_x_parm_symbols, x_set_screen_param):
+ Define X_PARM_AUTOLOWER.
+
+ * xdisp.c (display_string, redisplay-window, DoDsp):
+ Use SCREEN_WIDTH, SCREEN_HEIGHT.
+
+1989-04-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * indent.c (compute_motion): Use SCREEN_WIDTH.
+ * dispnew.c (update_line): Use SCREEN_WIDTH.
+ (update_screen): Use SCREEN_HEIGHT.
+
+1989-04-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c: rename Vauto_new_screen_hook, Vdisplay_buffer_hook, and
+ Vtemp_buffer_show_hook to ..._function.
+
+ * keyboard.c: rename mouse_hook to mouse_event_function.
+
+ * buffer.c, buffer.h, cmds.c: blink-paren-hook and auto-fill-hook
+ renamed to -function.
+
+ * fileio.c (Finsert_file_contents): Allow quit in read.
+ (Fwrite_region): Allow quit in write.
+
+1989-04-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * doprnt.c (doprnt): Comment out %b since sprintf can't do it.
+
+ * Change X11 to HAVE_X11 everywhere.
+
+ * m-sun3.h: Define C_SWITCH_MACHINE as -fsoft.
+
+1989-04-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c: Don't define wstopsig, wtersig if already defined.
+
+ * sysdep.c [VMS] (sys_getenv): Copy the string before returning it.
+
+ * m-alliant.h: Define `vector'.
+
+1989-04-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (wait_reading_process_input) [sun]: If SIGIO failed
+ to be sent, send it by hand.
+
+1989-04-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fdelete_other_windows): recenter window to avoid scrolling.
+
+1989-04-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * indent.c: Include screen.h.
+
+ * indent.c (pos_tab_offset, Fvertical_motion): Compute internal width
+ correctly and uniformly.
+
+ * xdisp.c (try_window, try_window_id): Use exact internal width
+ to update tab_offset.
+ (try_window_id): pos_tab_offset value needs adjustment only if
+ starting a line in middle of a character.
+
+1989-04-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c [USG]: If TIOCGWINSZ defined, include sioctl.h.
+
+1989-04-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * eval.c (Fbacktrace): Set Vprint_level to 3 throughout.
+
+ * fns.c (Fload_average): nlist data structure is funny on convex.
+
+ * window.c (scroll_command): scroll at least 1 line in specd direction.
+
+ * cm.c (calccost): NTABS was off by 1 sometimes; take account of
+ the starting position modulo 8.
+
+ * fileio.c (Fexpand_file_name): Don't simplify /../ at start of name.
+
+ * callint.c: doc fixes.
+
+ * process.c (create_process):
+ On all USG systems, not just IRIS and AIX, don't pre-open pty's tty.
+ Move the setpgrp done for USG (no real change).
+ Tell child_setup to do a setpgrp.
+ * callproc.c (child_setup): New arg says whether to setpgrp.
+ Never setpgrp on USG.
+ (Fcall_process): Tell child_setup not to setpgrp.
+
+ * sysdep.c (init_sys_modes, reset_sys_modes): Don't try to hack
+ TIOCGLTC, TIOCGETC, etc. if HAVE_TERMIO.
+ Don't bother to undef these for XENIX.
+
+1989-04-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile (LIBES): Put LIBX first; it may depend on LIBS_MACHINE.
+
+ * m-sequent.h: Define HAVE_ALLOCA.
+
+1989-04-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * term.c (term_init): Can't use scroll region if no abs positioning.
+
+1989-04-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (Fopen_network_stream): close desc. if connect fails.
+
+1989-03-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * minibuf.c (Fall_completions): gcprotect ALLMATCHES and TAIL,
+ not STRING.
+
+ * keyboard.c (read_avail_input): Handle EBADSLT like EAGAIN.
+
+1989-03-29 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * term.c (term_init): Either ic or ip or im or IC => can insert chars.
+
+ * minibuf.c (read_minibuf_unwind): Ensure minibuf writable for erasure.
+
+1989-02-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-convex.h: Undefine NO_ARG_ARRAY.
+ Changed defns of DATA_SEG_BITS and XINT.
+ Define alloca for GCC compilation.
+
+1989-02-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-ibmrt-aix.h: Define BROKEN_FIONREAD.
+
+1989-02-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keymap.c (Fdefine_prefix_command): Set both value and fn defn,
+ with separate syms specified for each purpose.
+
+1989-02-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * callproc.c (Fcall_process): Open /dev/null with O_WRONLY.
+
+1989-02-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (window_scroll): Allow scrolling to very end (empty screen)
+ if that's exactly where we wanted to scroll to.
+
+1989-02-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * data.c (Fkill_local_variable): New local to simplify big stmt.
+
+1989-02-09 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xdisp.c (display_text_line): cvt chars to glyfs for overlay arrow.
+
+ * sysdep.c (init_sys_modes, child_setup_tty) [IBMRTAIX]:
+ Don't ignore BRK, and don't signal it.
+
+ * process.c (pty): An IBMRTAIX conditional.
+ (create_process): Another here.
+
+1989-02-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keymap.c (Fdefine_prefix_command): Use Ffset, not Fset.
+
+1989-02-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (Fset_visited_file_modtime): New fn.
+
+ * xfns.c (Fx_create_screen) [X10]: XCreateWindow wants pixmaps as args.
+
+1989-02-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c (Fsit_for): It accepts 3 args.
+
+1989-02-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xterm.c (XTread_socket): For X10, make EVENT an XKeyPressedEvent.
+ (x_set_resize_hint): Call XSetResizeHint.
+
+ * process.c: Declare interrupt_input.
+
+ * sysdep.c (init_sys_modes): TIOCSTART, not TCSTART.
+
+1989-01-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xterm.h (struct x_display): `GC' renamed `gc' in all field names.
+ Field `ColorMap' renamed to `color_map'.
+ (face_gc_values): face_GC_values renamed.
+
+1989-01-28 Joe Arceneaux (rms at sugar-bombs.ai.mit.edu)
+
+ * xterm.h (face_GC): Var deleted.
+ (struct x_display): New field face_GC.
+ (VSCROLL_WIDTH, HSCROLL_WIDTH): Moved here.
+ (MINWIDTH, MINHEIGHT, MAXWIDTH, MAXHEIGHT): New vars. Eliminate them!
+ (BLACK_PIX_DEFAULT): Typo in definition.
+ (WHITE_PIX_DEFAULT): Typos in definitions; was the black default.
+
+ * xterm.c: Include ioctl.h only if BSD.
+ Include termio.h otherwise.
+ (XMapWindow) [X11]: Typo in definition.
+ (METABIT): New definition; maybe not needed.
+ (hostname, id_name, invocation_name, Vcommand_line_args): New vars
+ declared for main icon title.
+ (x_debug): Init to 1 if XDEBUG defined.
+ (dumpglyfs) [X11]: Changed args to XDrawImageString.
+ If debugging, do XFlushQueue.
+ Use screen's face_gc rather than old global one.
+ (XTflash) [not BSD]: avoid `struct itimerval'; use `alarm'.
+ (events): New table of event type names.
+ (XTread_socket): EVENT is now an XEvent even on x10.
+ Translate modifier key 1 into meta-bit.
+ For EnterNotify event, don't dumpborder or x_new_selected_screen
+ if there is an x_focus_screen.
+ For LeaveNotify event, don't ignore due to nonzero subwindow.
+ For ConfigureNotify, change screen size.
+ Do `select' check for SIGHUP only if HAVE_SELECT.
+ (x_new_selected_screen): An arg, SCREEN.
+ (x_display_cursor): dumpglyfs args changed.
+ (x_draw_box): Add GC arg to XDrawRectangle; change other args.
+ (clear_cursor): Change args to XClearArea.
+ (dumpborder): check x_input_screen, not selected_screen.
+ (x_text_icon): For X11, new arg to XGetDefault.
+ Cast values stored in icon_label.
+ (x_term_init): Hair to calculate name for icon.
+ Don't init_sigio unless SIGIO defined.
+ Call Fset_input_mode.
+ For X11, new arg to XGetDefault.
+ Set _Xdebug if debugging.
+ (x_new_font) Use XGetFont.
+ Get GC values from the screen structure.
+ (x_reset_cursor): Don't call XRecolorCursor.
+ (x_set_window_size): Call x_wm_set_size_hint, not x_set_size_hint.
+ (x_set_resize_hint): For X11, call x_wm_set_size_hint.
+ (x_wm_set_size_hint, x_wm_set_window_state, x_wm_set_icon_pixmap):
+ (x_wm_set_icon_position): New fns for X11.
+
+ * xfns.c: For X11, include Xutil.h
+ (VSCROLL_WIDTH): Moved to xterm.h.
+ (face_GC): Don't declare it.
+ (id_name): Declare this.
+ (x_decode_color): Check `white' and `black' first of all.
+ (x_set_foreground_color) [X11]: Reset foreground and background.
+ (x_set_background_color) [X11]: Missing arg to XSetWindowBackground.
+ (x_set_cursor_color) [X11]: Reset foreground and background.
+ (x_read_mouse_position) [X11]: Changed call to XQueryPointer.
+ (x_set_mouse_position) [X11]: Add args to XWarpPointer.
+ (Fx_create_screen): Set some temporary geometry parms at the beginning.
+ For X11, changed setup of iconidentity, and implement rubber-banding.
+ For X11, implement merging individual geometry parms.
+ For X11, changed args to XCreateSimpleWindow.
+ For X11, call x_wm_set_size_hint.
+ Specify name when creating icon.
+ Don't call XSetForeground, XSetBackground before making border tile.
+ New var `cursor_bits'. Init the screen's GC's.
+
+ * screen.c (Frubber_band_rectangle): For X11, just return nil.
+
+1989-01-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * buffer.c (Fbuffer_modified_tick): New fn.
+
+ * window.c (Fnext_window): Accept 3 args from Lisp.
+
+1989-01-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c (sys_suspend): Handle case of SIGTSTP but not BSD.
+
+1989-01-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c (init_sys_modes): Do TIOCSTART if def, like TCXONC.
+
+1989-01-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): New 2nd arg is extra usecs.
+ All callers changed.
+ * dispnew.c (Fsit_for, Fsleep_for): New 2nd arg says 1st arg
+ counts in milliseconds.
+
+ * buffer.c (Fkill_all_local_variables): Implement permanent locals.
+
+1989-01-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keymap.c (get_keyelt): Allow indirection within (STRING . DEFN).
+
+1989-01-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): If select returns there
+ is kbd input, but detect_input_pending can't find it, signal SIGIO.
+ This may avoid the X loop-on-logout bug.
+
+ * process.c (wait_reading_process_input): Flush fix_screen_hook.
+ * termhooks.h, term.c: likewise.
+
+ * xdisp.c (Fredraw_display): Don't do set_terminal_modes.
+ * dispnew.c (Fredraw_screen): likewise.
+
+ * eval.c (Fcond): If no args, return nil.
+
+1989-01-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * eval.c (Fbacktrace_frame): Require one arg. Return nil if too high.
+
+1989-01-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * minibuf.c (read_minibuf): Set Vminibuf_scroll_window before
+ switching windows.
+
+ * xterm.c (XTread_socket): If no HAVE_SELECT, wait for input
+ if new arg WAITP is non0. Do this by not bothering to test for
+ presence of input before reading some.
+ Check for dead connection only if new arg EXPECTED is nonzero.
+ All callers changed (keyboard and sysdep).
+
+ * Simplify keyboard input.
+ * keyboard.c (read_avail_input): Don't assume buffer is empty.
+ Don't call get_input_pending; do FIONREAD here.
+ Don't do FIONREAD if read_socket_hook, just tell it don't wait.
+ Arg EXPECTED is passed to read_socket_hook.
+ (input_available_signal): Use read_avail_input.
+ (gobble_input): Use read_avail_input; arg EXPECTED passed along.
+ (get_input_pending): let gobble_input do the work.
+
+ * VMS keyboard input should have interrupt_input nonzero.
+ * keyboard.c (Fset_input_mode, init_keyboard): [VMS] Always set
+ interrupt_input to 1.
+ (get_input_pending): Special case deleted.
+
+1989-01-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (auto_save_1): Always make auto-save file owner-writable.
+
+ * eval.c (Fbacktrace_frame): New fn.
+
+ * buffer.h: Define `fieldlist' field in a buffer.
+ * buffer.c (Fregion_fields): Return list of fields overlapping
+ specified region.
+ (syms_of_buffer): New variable buffer-field-list.
+ (reset_buffer): Clear the fieldlist.
+ (init_buffer_once): Set up default and flag for buffer-field-list.
+ * insdel.c (prepare_to_modify_buffer): If check_protected_fields,
+ call Fregion_fields to detect error.
+ Delete buffer_modify_hook.
+
+ * callint.c (Fcall_interactively): Bind `command-debug-status'
+ for each interactive command.
+
+ * keyboard.c (command_loop_1): Count # commands read.
+ (num_input_keys): New Lisp variable.
+
+ * m/m-gould.h, m/m-ibmrt-aix.h, m/m-sequent.h, m/m-sparc.h,
+ m/m-sun3.h, m/m-symmetry.h: Define A_TEXT_SEEK.
+ * unexec.c (copy_text_and_data): Don't check A_TEXT_OFFSET,
+ just A_TEXT_SEEK.
+ * unexconvex.c: Likewise.
+
+ * unexconvex.c: machine/*.h unconditionally.
+
+ * process.c (pty): Delete RTU, HPUX, IRIS alternatives to
+ PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF.
+ * s/s-hpux.h: Define PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF.
+ * s/s-rtu.h: Likewise.
+ * s/s-iris*.h: Define PTY_TTY_NAME_SPRINTF.
+
+ * sunfns.c (Fsun_change_cursor_icon): Avoid ambiguity in eval order.
+
+1989-01-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * data.c (Fdefault_value): If var set up with default value as current,
+ take the current value slot, more up to date than the default slot.
+
+1989-01-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c (init_display): don't handle SIGWINCH if using X.
+
+ * fileio.c (Fdo_auto_save): If file has shrunk, turn off auto-save.
+ This avoids duplicate messages and allows M-x auto-save to turn it on.
+
+ * lread.c (Fload): Look in Vafter_load_alist.
+ (syms_of_load): Define after-load-alist.
+
+1989-01-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dired.c (Fdirectory_files): 4th arg NOSORT non-nil means don't sort.
+
+ * syntax.c (scan_lists): Change Sendcomment case so that
+ ignoring comments works even for newline-terminated comments.
+
+ * minibuf.c (read_minibuf): Default Vminibuf_scroll_window
+ to the window that was selected.
+
+1989-01-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fns.c (do_yes_or_no_p): Typo, call2 => call1.
+
+ * eval.c (Fbacktrace): Each frame item should have a newline.
+
+ * emacs.c (Fkill_emacs): Don't run hook if noninteractive.
+
+ * eval.c: Define Vrun_hooks.
+ (syms_of_eval): Initialize Vrun_hooks.
+
+ * indent.c (Fmove_to_column): Use del_range; Fdelete_backward non ex.
+
+ * ymakefile (objs, floatfns.o): Re-add this file.
+ (LIBX): Install X11 case.
+
+ * ymakefile (LIB_GCC): Now a cpp macro, like all other LIB_...
+ Define null if not using GCC.
+
+ * lread.c (unreadchar): New function to unread a char
+ by stuffing it back into its stream. Now unread chars
+ work properly between multiple reads.
+ (UNREAD): Now calls that function.
+ (readchar): Don't us `unrch'; variable deleted.
+ (various): Don't initialize `unrch'.
+ (readevalloop): No need to save and restore `unrch'.
+ (read1): Don't unread a -1.
+
+ * keymap.c (get_keyelt): If keymap defn is (STRING . FOO),
+ remove just FOO. Will help HierarKey.
+
+1989-01-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * unexmips.c [IRIS_4D]: Don't include fcntl.h.
+ (unexec): Look for LIT8, LIT4 sections iff they are defined.
+
+ * buffer.c (Fkill_all_local_variables): Force redisplay of mode lines.
+
+1989-01-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * emacs.c (main): Do the setpgrp before handling -t.
+
+ * keyboard.c (Fsuspend_emacs): Use run-hooks to run suspend-hook
+ and suspend-resume-hook.
+
+ * buffer.c (Fkill_buffer): Execute kill-buffer-hooks
+ with buffer to be killed as current buffer.
+
+ * buffer.c (count_modified_buffers): ModExist renamed.
+
+ * emacs.c (Fkill-emacs): Execute kill-emacs-hook.
+
+ * fileio.c (auto_save_1): Set auto_save_mode_bits from visited file.
+ (Fwrite_region) [not VMS]: If auto-saving, write file with that mode.
+
+ * fileio.c (Fwrite_region): If START is a string, write that string.
+
+1989-01-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lisp.h (XMARKBIT, XSETMARKBIT): If mark bit is sign bit,
+ use sign-test for XMARKBIT; value is then 1 or 0.
+ Make XSETMARKBIT test 2nd arg for nonzeroness only.
+
+ * m/m-mips.h: Last batch of changes are only for USG.
+ (XMARKBIT, XSETMARKBIT): Deleted; the new default ones are good.
+
+ * editfns.c (Fformat): Use princ for %s.
+ New format %S converts everything (even strings) with prin1.
+ * doprnt.c (doprnt): Treat %s like %S.
+
+ * print.c (Fprin1_to_string): Opt 3nd arg non-nil does princ.
+
+1988-12-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * data.c (Fstring_to_int): Correct max # args.
+
+1988-12-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile (LIBES, LIB_GCC): If using GCC, link with gnulib.
+
+1988-12-29 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c: Many doc improvements.
+
+1988-12-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lisp.h (CHECK_NATNUM): New macro.
+
+ * indent.c (Fmove_to_column): 2nd arg t means indent till spec'd column
+ or change tab to spaces if necessary.
+
+ * m/m-iris4d.h: (conditionally) delete DEFAULT_ENTRY_ADDRESS
+ and change START_FILES and LIB_STANDARD.
+
+ * s/s-iris3-6.h: Define sigblock as no-op.
+
+ * m/m-mips.h: Cancel defn of VIRT_ADDR_VARIES, `static'.
+ Undef SIGIO. Define BROKEN_FIONREAD.
+ Define various HAVE_... flags a la BSD.
+ Add options, libraries for linking and compilation.
+
+ * unexmips.c (unexec): Handle additional optional sections now likely.
+ New scheme for recording what sections there are.
+ Make handling of the LIT8,LIT4 sections conditional (not on IRIS).
+
+ * fns.c (do_yes_or_no_p): New interface to Lisp function yes-or-no-p.
+ Allows the user to redefine that function.
+ All callers of Fyes_or_no_p changed.
+
+ * data.c (Fmakunbound): Don't allow nil or t as arg.
+
+ * m/m-orion105.h (LOAD_AVE_TYPE): Now `long'.
+
+1988-12-27 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c (unhold_window_change):
+ Don't signal SIGWINCH. Instead, do pending size-changes here,
+ while holding any new size-changes that arrive, so they become
+ pending. Loop around to get the new pending ones.
+ (change_screen_size): Clear any previous pending size-change.
+
+ * search.c (place): Was clipping to (1- (point-max)) by mistake.
+
+1988-12-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fdelete_window): Give all this window's space
+ to one adjacent sibling.
+
+1988-12-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keymap.c (describe_alist): Don't lose on non-cons-cell alist elts.
+ (Fwhere_is_internal): Don't fail to step down the alist.
+ (Faccessible_keymaps): Considerable confusion in alist case.
+
+ * lread.c (Feval_current_buffer, Feval_region):
+ Save and restore point as a marker, not a number.
+ Don't restore it at all if printflag is t.
+
+ * print.c (float_to_string): Mostly rewritten; output format
+ is now a printf %-spec.
+ (Qfloat_output_format): Doc changed to match.
+
+1988-12-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile (obj): Include floatfns.o.
+ * data.c (syms_of_data): Fix typo Snumberp_or_marker_p.
+
+ * Allow keymaps to have other keymaps as tails.
+ Thus, one keymap can inherit from another.
+ * keymap.c (Fwhere_is_internal): Ignore non-cons elements of alist.
+ (Faccessible_keymaps): Support symbols as alist indices.
+ Ignore alist elements that aren't conses.
+
+ * m/m-sun386.h (LDAV_SYMBOL): Define as "avenrun" with no underscore.
+
+ * lread.c (read_escape): Support ANSI C `\x...' hex escapes.
+
+ * bytecode.c (Fbyte_code): fix jump operators for change in `pc'.
+
+1988-12-21 Joe Arceneaux (jla at gracilis.ai.mit.edu)
+
+ * ymakefile: Commented #endif LISP_FLOAT_TYPE. Also changed
+ the code pertaining to X11 to use the same files as X10.
+
+ * bytecode.c (Fbyte_code): Declared unsigned char *pc.
+
+1988-12-19 Joe Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c: Finished a first cut of the X11 version.
+
+1988-12-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c (select): `buf' is now unsigned char.
+
+1988-12-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m/m-elxsi.h: Don't define WORD_MACHINE or CANNOT_DUMP.
+ Do define symbols for load average.
+ Define COFF and ADJUST_EXEC_HEADER.
+
+1988-12-16 Joe Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * sink.h,sinkmask.h: Same file now works for both X10 and X11.
+ * xterm.c,xfns.c (x_text_icon) Can now take new name as parameter.
+
+1988-12-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m/m-is386.h: No need to undef HAVE_PTYS, HAVE_SOCKETS, SYSV_PTYS
+ since s-usg5-3.h no longer defines them.
+
+1988-12-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * bytecode.el (Fbyte_code): Cache the pointer in the string
+ to avoid recalculating it at each fetch.
+ Also turn off the error check for stack overflow/underflow.
+
+1988-12-14 Joe Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c: Made the first cut for X11 version.
+ * xterm.c: (x_reset_cursor) Did the X11 version.
+
+1988-12-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c (Fexecute_mouse_event): Set Vmouse_event. Doc fix.
+ Run Vmouse_hook at the end.
+ (syms_of_keyboard): Define var `mouse-hook'.
+
+1988-12-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * term.c (insert_glyfs): Typo, was fetching G twice.
+
+1988-12-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keymap.c (describe_buffer_bindings): Print mouse bindings too.
+ (describe_map): If have a chartab, use mouse-describe-key for prefixes.
+ * keymap.c (describe_{map,map_tree,alist}, describe_vector):
+ Extra arg mapping chars to their names. Calls changed.
+ * syntax.c (describe_syntax_1): Call changed.
+
+ * keymap.c (Vglobal_mouse_map): Make it exist unconditionally.
+
+ * keymap.c (apropos1): Clean up.
+ Do where-is-internal only if there is a function definition.
+ Use mouse-describe-key to turn mouse key sequences into strings.
+ (Fwhere_is): Check the mouse map too;
+ (Fwhere_is_internal): New arg is global map to use.
+ All callers changed in keypad.c and doc.c.
+ (where_is_string): New fn cvts result of Fwhere_is_internal to string.
+
+1988-12-09 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * emacs.c (stack_bottom): New variable, set in main.
+ * alloc.c (Fgarbage_collect): Save a copy of the entire stack contents.
+
+1988-12-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c (Funix_umask, Funix_sync): New functions.
+
+ * process.c (Fsignal_process): New function.
+
+1988-12-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c (Fsubst_char_in_region): Fix typo in when to un-modify buf.
+
+1988-12-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (create_process): Take the usg's setpgrp and the close-and
+ -open of the tty outside the TIOCNOTTY conditional, since TIOCNOTTY
+ is always missing outside BSD. Now the TIOCNOTTY conditional controls
+ only the TIOCNOTTY.
+
+1988-12-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lread.c (Feval_current_buffer, Feval_region):
+ If there is an error, don't restore original point.
+
+ * s-hpux.h (SHORT_CAST_BUG): Define this, for HPUX version 6.2.
+
+ * ymakefile (THIS_IS_YMAKEFILE): Define macro to tell m- files
+ to do special things.
+
+ * m/m-ns16000.h: (LOAD_AVE_TYPE, etc.): Don't define them if USG.
+ * m/m-ns16000.h [USG]: Define various macros differently.
+ (munnari!sibyl.eleceng.ua.oz.au!ian@uunet.uu.net).
+
+ * sysdep.c (reset_sys_modes): Don't output a CR here.
+ * term.c (reset_terminal_modes): Do it here, but first
+ do a newline if it's a magic cookie terminal.
+
+ * sysdep.c (sys_suspend) [USG]: Use `nice' to set subshell pri. to 0.
+
+ * sysdep.c (TIOCSETN) [USG]: Use TCSETAW, not TCSETA.
+
+ * sysdep.c (setpriority) [USG]: No longer a no-op; use `nice'.
+
+ * keymap.c (Fwhere_is_internal): New 4th arg inhibits looking thru
+ indirect definitions--so you can search for one.
+
+ * alloc.c, fns.c, search.c: Doc fix.
+
+1988-12-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (read_process_output): Insert with insert_before_markers.
+
+ * filelock.c (lock_file_1, lock_superlock):
+ If USG, use chmod instead of fchmod.
+
+ * environ.c (Fsetenv): Doc fix.
+
+1988-11-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * eval.c (do_autoload): Verify FUNNAME is a symbol.
+
+1988-11-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (Fread_file_name): New arg specifies initial minibuf cntnts.
+ * callint.c (Fcall_interactively): Calls changed.
+
+1988-10-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * insdel.c (make_gap): Error if buffer size exceeds range of Lisp int.
+
+1988-10-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fsplit_window): Prevent error in Fset_window_buffer.
+
+ * sysdep.c (gettimeofday): Store -1 thru tzp so caller knows invalid.
+
+ * xdisp.c (message): Pass 0 as new arg to doprnt.
+ * callint.c (Fcall_interactively): Likewise.
+ * editfns.c (format1):
+ * doprnt.c (doprnt): Allow 0 as FORMAT_END arg meaning null-terminated.
+
+1988-10-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c: If UNIPLUS, include ioctl.h.
+
+ * sysdep.c (utime): Use new flag IRIS_UTIME, not IRIS.
+ * s-iris*.h: Define that flag.
+
+1988-10-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * term.c (term_init): If have `im' capability, permit ins/del char
+ even without `ic'.
+
+1988-10-03 Richard Stallman (rms at corn-chex.ai.mit.edu)
+
+ * m/m-hp9000s300.h: Conditionals for BSD vs HPUX.
+
+ * ymakefile: Look for C_SWITCH_SITE, LD_SWITCH_SITE.
+
+1988-09-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c (Fformat): Allow nulls in the format.
+ * doprnt.c (doprnt): likewise. End of format string is new arg.
+
+1988-09-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m/m-7300.h: Undefine SHORTNAMES. Supposedly newer Unix now.
+
+ * print.c (print): Support new var print_length.
+ (syms_of_print): Define Lisp var print-length.
+ * eval.c (Fbacktrace): Print unevalled form with print_length = 3.
+
+ * Makefile (tags): Add TAGS as alternate target.
+ Process the files in ../lisp/term.
+
+1988-09-27 Richard Stallman (rms at corn-chex.ai.mit.edu)
+
+ * doprnt.c (doprnt): Handle %-20s.
+ * editfns.c (Fformat): Likewise (make enough space for it).
+
+ * minibuf.c (do_completion): If get "Complete but not unique" twice
+ in a row, display all completions. New var last_exact_completion.
+
+1988-09-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+* * dispnew.c (baud_rate): Now a Lisp variable, not a function.
+ * termcap.c (tputs) [emacs]: Use baud_rate as the speed.
+
+1988-09-19 Richard Stallman (rms at gluteus.ai.mit.edu)
+
+ * window.c (Fset_window_configuration): Set deleted windows' buffer
+ to nil, via new function delete_all_subwindows.
+ * window.c (Fset_window_buffer): Reject deleted windows.
+ * window.c (init_window_once): Init the ->buffer fields
+ to satisfy error check in Fset_window_buffer.
+
+* * xmenu.c (Fx_popup_menu): 1st arg is now ((X Y) WINDOW).
+
+ * process.c (child_sig): If synch process terminates, clear
+ synch_process_pid and record synch_process_death.
+* * callproc.c (Fcall_process): return synch_process_death.
+ Always set synch_process_pid and do it with SIGCHLD masked off.
+ * sysdep.c (wait_for_termination) [subprocesses and not VMS]:
+ Use alarms to check every second whether synch_process_pid is 0.
+
+1988-09-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xdisp.c (redisplay_window): If window-point is outside restriction
+ then correct it in the window.
+ * window.c (Fdelete_buffer): Don't change buffer's point to a value
+ outside its restriction.
+
+ * sysdep.c (init_sys_modes) [MULTI_SCREEN]: Set Vterminal_screen's
+ garbaged bit.
+
+1988-09-16 Richard Stallman (rms at corn-chex.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_get_char): VMS now uses same code as Unix.
+
+ * vmsproc.c: New file for VMS only.
+ * callproc.c [VMS]: Omit Fcall_process and child_setup_tty.
+ * emacs.c (main) [VMS]: Call init_vmsproc and syms_of_vmsproc.
+
+ * lread.c (OBARRAY_SIZE): Change slightly to 509 (prime).
+
+* * keyboard.c, dispnew.c, term.c, xterm.c (meta_flag): MetaFlag renamed.
+ * keyboard.c (Fset_input_mode): 3rd arg sets meta_flag.
+ (syms_of_keyboard): Variable meta-flag deleted.
+ * sysdep.c (init_sys_modes): Don't override parity settings
+ if meta_flag is 0.
+
+1988-09-15 Richard Stallman (rms at corn-chex.ai.mit.edu)
+
+* * search.c (Fsearch_forward, etc.): All buffer-search functions
+ return new the value of point if they succeed.
+
+1988-09-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cmds.c (Fnewline): Correct test of ARG1 to inhibit auto-fill.
+
+1988-09-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fdelete_window): Put nil as buffer of the deleted window.
+ This makes select-window get an error earlier.
+
+1988-09-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * search.c (search_buffer, string_match, looking_at):
+ Report matcher stack overflow as error, not just failure to match.
+
+ * data.c (Fmake_local_variable): Add local variable to simplify
+ too-complex expression.
+
+ * fileio.c (Fdo_auto_save): No "file has shrunk" msg if < 5000 chars.
+
+See ChangeLog.2 for earlier changes.
diff --git a/src/ChangeLog.4 b/src/ChangeLog.4
new file mode 100644
index 00000000000..28534dea959
--- /dev/null
+++ b/src/ChangeLog.4
@@ -0,0 +1,6903 @@
+1994-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Version 19.25 released.
+
+ * xdisp.c (redisplay): Limit prev change to pause != 0.
+
+ * keyboard.c (command_loop_1): Allow direct output for insert
+ if have display table but it says nothing for this char code.
+ Don't allow it if char code has a glyph with a face code.
+
+ * process.c (create_process): Get a pty for any non-nil
+ Vprocess_connection_type value.
+
+1994-05-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/bsd386.h (TABDLY, TAB3): Defined.
+ (SYSV_SYSTEM_DIR): Defined.
+
+ * unexhp9k800.c (roundup): Undef before defining.
+
+ * xdisp.c (redisplay): If have window change at end, redisplay again.
+
+ * lread.c (defvar_bool, defvar_int, defvar_lisp, defvar_lisp_nopro):
+ Delete third arg DOC.
+
+ * s/hpux8.h (LD_SWITCH_SYSTEM): Delete the -L options.
+ (LD_SWITCH_X_DEFAULT): Put them here instead.
+
+ * Makefile.in.in (LD_SWITCH_X_DEFAULT): Define if not defined.
+ (LIBX): Use LD_SWITCH_X_DEFAULT.
+
+ * xterm.c (x_iconify_frame): Call x_set_offset,
+ if x_make_frame_visible would do so.
+ (x_make_frame_visible): Don't call x_set_offset if frame is iconic.
+ (XTread_socket): For ConfigureNotify, if wm decorations exist,
+ set NorthWestGravity.
+
+ * Makefile.in.in (mostlyclean): Don't mention xmakefile*.
+
+ * emacs.c (main): In batch mode, don't set the pgrp.
+
+1994-05-27 Paul Eggert (eggert@twinsun.com)
+
+ * callproc.c (child_setup): If PWD is set, set it in the child so that
+ it points at the child's working directory.
+
+1994-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m/mips4.h (C_DEBUG_SWITCH) [not __GNUC__]: Add -Wf option.
+
+ * s/hpux9.h (C_SWITCH_SYSTEM): Defined.
+
+ * keyboard.c [HAVE_X_WINDOWS]: Include xterm.h.
+
+ * xterm.c (x_is_vendor_fkey): Function deleted.
+ (XTread_socket, case KeyPressed): Don't clear the vendor-specific bit.
+ Pass thru almost any vendor-specific keysym.
+
+ * s/linux.h (HAVE_XRMSETDATABASE): Define if not defined.
+
+1994-05-27 Paul Eggert (eggert@twinsun.com)
+
+ * editfns.c (difftm): Don't store a long value into an int variable.
+
+1994-05-26 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * fileio.c (Finsert_file_contents): Check for beginning of file.
+
+1994-05-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * systime.h: Make previous change limited to HPUX.
+
+1994-05-26 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * systime.h: If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
+
+1994-05-25 Morten Welinder (terra@diku.dk)
+
+ * msdos.c (output_string): New function.
+ (internal_flush): Use output_string for faster screen update.
+ (internal_flush): Clear to end of line by writing a string of
+ spaces.
+
+1994-05-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (Vx_sensitive_text_pointer_shape):
+ Renamed from Vx_cross_pointer_shape.
+ (syms_of_xfns): Provide Lisp var x-sensitive-text-pointer-shape.
+
+ * xmenu.c (menu_item_equiv_key): Look for equiv keys both before
+ and after one stage of symbol function indirection.
+
+ * xterm.c (note_mouse_movement): Use frame's window in XQueryPointer.
+ Special case if mouse isn't on that window.
+ (note_mouse_highlight): Handle negative args and too-large args.
+
+ * lread.c (openp): Don't use O_RDONLY.
+
+1994-05-24 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * search.c (Freplace_match): Improve capitalization heuristics.
+
+ * minibuf.c (Fminibuffer_complete_word): GCPRO completion and tem.
+
+ * undo.c (Fprimitive_undo): GCPRO next and list.
+ Check argument type before calling XINT.
+
+1994-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (verify_overlay_modification): GCPRO tail and overlay.
+ Avoid copying tail twice.
+
+1994-05-24 Andreas Schwab (schwab@informatik.uni-dortmund.de)
+
+ * keymap.c (describe_map): Fix the call to Fequal.
+
+1994-05-24 Morten Welinder (terra@diku.dk)
+
+ * msdos.c (do_visible_bell): Renamed from visible_bell to avoid
+ potential conflict with variable of the same name. Caller changed.
+ (internal_flush): Code for audio bell inserted.
+ * s/msdos.h (INTERNAL_TERMINAL): Allow audio bell.
+
+ * msdos.c (dos_rawgetc): Doc fix. Make C-, S-, and M- modifiers
+ independent. Make modifiers work with mouse. Improve C-S-<ascii>
+ handling by using look-up tables. Fix kp-decimal problem.
+
+1994-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Version 19.24 released.
+
+ * s/hpux8.h (LD_SWITCH_SYSTEM): Put back -Xlinker for GCC.
+
+ * Makefile.in.in (LIBXT): Move -lXmu before -lXt.
+
+ * term.c (update_end): Undo previous change.
+
+ * frame.c (other_visible_frames): No longer static.
+
+ * window.c (window_loop): Fix test of dedicated flag in prev change.
+
+ * window.c (window_loop, UNSHOW_BUFFER case):
+ Put prev change in #ifdef MULTI_FRAME.
+
+ * keyboard.c (menu_bar_one_keymap):
+ When there's no item string, use Qnil.
+ Don't ever put `undefined' into the list of definitions.
+
+1994-05-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (window_loop, UNSHOW_BUFFER case): Kill a special frame.
+
+ * xterm.c (x_set_window_size): If cursor outside new size, mark it off.
+ * dispnew.c (change_frame_size): Keep cursor coords in range.
+
+ * s/linux.h (HAVE_GETTIMEOFDAY, HAVE_MKDIR, HAVE_RMDIR)
+ (HAVE_XSCREENNUMBEROFSCREEN): Define these if not already defined.
+
+1994-05-22 Morten Welinder (terra@diku.dk)
+
+ * unexec.c [MSDOS]: Don't include files from the dos extender
+ and debugger. Use the <coff.h> that was put in the right place
+ a couple of djgpp versions ago. Consequently, use `unsigned short'
+ for `word16' and `unsigned long' for `word32'.
+
+1994-05-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (note_mouse_highlight): Handle case of highlight extending
+ past end of window.
+ (fast_find_position): Fix bugs when no text on screen
+ and when the mouse is on an empty line.
+
+ * s/hpux9shr.h: New file.
+
+ * s/hpux8.h (LD_SWITCH_SYSTEM): Add conditionals for HPUX_USE_SHLIBS.
+ Delete explicit -Xlinker in GCC case.
+
+ * unexhp9k800.c: Include config.h.
+ [HPUX_USE_SHLIBS]: Include dl.h.
+ (brk_on_dump): New variable.
+ (unexec): Set brk_on_dump.
+ (copy_file): Change buffer size to 8192.
+
+ * window.c (change_window_height): Test for DELTA too small
+ only after making it smaller based on maxdelta.
+
+1994-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fdelete_directory): Allow dir names as well as file names.
+
+ * Makefile.in.in (${etc}DOC): Ignore error from rm.
+ (MSDOS_SUPPORT): New variable.
+ (lisp): Use MSDOS_SUPPORT.
+
+ * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Commented out.
+
+1994-05-20 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xfns.c (x_set_background_color): Set scroll bar backgrounds.
+
+1994-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_wm_set_window_state) [USE_X_TOOLKIT]: Use XtSetValues.
+ (x_iconify_frame) [USE_X_TOOLKIT]: New code for invisible window case.
+ (XtNinitialState) [USE_X_TOOLKIT]: New #define.
+ (x_make_frame_invisible): Mostly combine toolkit/non-toolkit cases,
+ in the process fixing a dumb bug.
+
+1994-05-20 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
+
+ * lread.c (openp): Only lusers assume that O_RDONLY == 0.
+
+1994-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile.in.in (UNEXEC_ALIAS): New variable, used
+ to make the unex...o target.
+
+ * xfaces.c (Fset_face_attribute_internal): Always return valid data.
+
+ * textprop.c (syms_of_textprop): Set up Lisp fn get-char-property.
+
+1994-05-19 Andreas Schwab (schwab@issan.informatik.uni-dortmund.de)
+
+ * fileio.c (Finsert_file_contents): Declare buffer as unsigned
+ char. When comparing with file size convert same_at_start to
+ distance to buffer start. If the file matches the buffer
+ contents truncate the buffer to the size of the file.
+
+1994-05-19 Jim Blandy (jimb@totoro.bio.indiana.edu)
+
+ * keyboard.c (read_char_minibuf_menu_prompt): Don't forget to
+ initialize nobindings.
+
+1994-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile.in.in (ORDINARY_LINK): Define by default
+ if __GNU_LIBRARY__ and not LINUX.
+
+ * s/isc4-0.h (EXTRA_INITIALIZE): Definition deleted.
+
+ * s/isc3-0.h (EXTRA_INITIALIZE): Define here.
+
+ * keyboard.c (lispy_function_keys): Add `backtab'.
+
+ * frame.c (syms_of_frame): Set up frame-first-window as Lisp fn.
+
+ * indent.c: Add "args" to dummy definition of compute-motion.
+
+ * sysdep.c [BROKEN_TIOCGWINSZ]: Undef TIOCSWINSZ too.
+
+ * Makefile.in.in (FRAME_SUPPORT): Add menu-bar.el.
+
+ * dispnew.c: Include errno.h.
+
+ * widget.c (EmacsFrameSetCharSize): Once again preserve x and y pos,
+ but not the same way as before.
+
+ * xmenu.c (other_menu_bar_item_p): Return 0 if no menu bar.
+
+ * fileio.c (Fwrite_region): Set update_mode_lines.
+
+ * xmenu.c (xmenu_show): Don't look in menubar for core.height
+ if no menu bar.
+
+ * xterm.c (x_iconify_frame): Fix error messages.
+
+1994-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (PENDING_OUTPUT_COUNT): If __GNU_LIBRARY__,
+ use GNU_LIBRARY_PENDING_OUTPUT_COUNT if defined.
+
+ * keyboard.c (lispy_function_keys): Add various kp- keys for X11R6.
+
+ * fileio.c (syms_of_fileio): Doc fix.
+
+ * s/linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Both definitions
+ renamed from PENDING_OUTPUT_COUNT.
+
+ * process.c (create_process): Don't complain about error
+ from TIOCSETD.
+
+ * window.c (Fset_window_buffer): Fix dedicated window error call.
+ (window_loop, case UNSHOW_BUFFER): Clear dedicated flag.
+
+ * fileio.c (Finsert_file_contents): Declare `buffer' as unsigned char.
+
+ * dispnew.c: Include systime.h after xterm.h.
+
+ * m/tek4300.h (WORDS_BIG_ENDIAN): Define this, not BIG_ENDIAN.
+
+ * emacs.c (syms_of_emacs), config.h.in:
+ EMACS_CONFIGURATION renamed from CONFIGURATION.
+
+1994-05-17 Andreas Schwab (schwab@issan.informatik.uni-dortmund.de)
+
+ * eval.c (Fbacktrace): Properly nest parentheses.
+ (Fbacktrace_frame): Don't bomb on invalid frame number.
+
+1994-05-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Fix test for valid display table entry,
+ for backwards motion.
+
+ * Makefile.in.in (ALL_LDFLAGS): Add LDFLAGS.
+ (MAKE): Don't override a previous value of MAKE set by configure.
+
+ * dispnew.c (update_frame): Fix test of outq and baud_rate.
+
+ * emacs.c (shut_down_emacs): Don't call intern.
+
+1994-05-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Version 19.23 released.
+
+1994-05-17 Morten Welinder (terra@diku.dk)
+
+ * msdos.c (gettimeofday): New function substituting the library
+ function of the same name.
+ (init_gettimeofday): New function.
+ (init_environment): Call init_gettimeofday after possibly
+ setting TZ environment variable.
+ * msdos.h: Add template for init_gettimeofday.
+
+1994-05-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * buffer.c (fix_overlays_in_range): New function.
+ * editfns.c (Ftranspose_regions): Call it. Also update point as
+ if it were a marker.
+
+1994-05-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xmenu_show): Completely ignore nameless panes
+ except for the first pane. Ignore named panes too if KEYMAPS.
+
+ * widget.c (setup_frame_gcs): Move cursor_bits variable out of
+ setup_frame_gcs and rename to setup_frame_cursor_bits.
+
+ * eval.c (syms_of_eval): Doc fixes.
+
+1994-05-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_display_box_cursor): Preserve mouse highlight
+ if the old cursor was in it.
+
+ * editfns.c (Fcurrent_time_zone): Add cast.
+
+ * s/bsd386.h (LOCALTIME_CACHE): Defined.
+
+ * m/pmax.h (LOCALTIME_CACHE): Define, if not OSF1.
+
+ * xfns.c (validate_x_resource_name): Don't let Vx_resource_name
+ have invalid characters.
+
+1994-05-14 Morten Welinder (terra@diku.dk)
+
+ * msdos.c (crlf_to_lf): Fix off-by-one condition.
+
+1994-05-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (bind_polling_period): Never decrease polling_period.
+
+ * fileio.c (Fdo_auto_save): Save listdesc as an integer, only if open.
+ (do_auto_save_unwind): Corresponding changes.
+
+ * keyboard.c (echo): Don't echo motion events.
+
+ * fileio.c (Fcopy_file): Close output before setting its times.
+ Close both before discarding the unwind protects.
+
+1994-05-13 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * buffer.c (Foverlay_lists): Doc fix.
+ (Fnext_overlay_change): Doc fix.
+
+1994-05-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket): For button events, clear compose_status.
+
+ * Makefile.in.in (LIBXTR6): New variable. Test HAVE_X11XTR6.
+ (LIBXT): Use it.
+ * config.h.in (HAVE_X11XTR6): Add #undef.
+
+ * editfns.c (save_excursion_restore): Don't run activate-mark-hook
+ if mark position is unchanged.
+
+ * emacs.c (main): PRIO_PROCESS renamed to SET_EMACS_PRIORITY.
+ * callproc.c (child_setup): PRIO_PROCESS renamed to SET_EMACS_PRIORITY.
+ Don't call nice if emacs_priority is positive.
+ * sysdep.c (sys_subshell): PRIO_PROCESS renamed to SET_EMACS_PRIORITY.
+ Don't call nice if emacs_priority is positive.
+
+1994-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile.in.in: Handle Motif and Open-look.
+ (LIBW): New variable.
+ (LIBXT): Use it.
+
+ * process.c (POLL_FOR_INPUT): Define, if appropriate.
+
+1994-05-12 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xdisp.c (display_text_line): Fix check for end of buffer.
+
+1994-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (dumpglyphs): For cursor foreground, try the
+ face's background before the face's foreground.
+ (XTread_socket): Call note_mouse_movement for EnterNotify.
+
+ * process.c (Fopen_network_stream):
+ Call bind_polling_period; later unbind the binding.
+
+ * keyboard.c (syms_of_keyboard): Set up Qpolling_period.
+ (bind_polling_period): New function.
+
+ * callproc.c (init_callproc): Never set Vdata_directory based on
+ the executable's location. But maybe set it from source dir.
+
+1994-05-11 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * systty.h [__GNU_LIBRARY__]: Include <termios.h>.
+
+1994-05-11 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
+
+ * xmenu.c (xmenu_show): New var mb_item. Use it to determine the
+ menubar item that led to the menu.
+ (Fx_popup_menu): Suppress duplicate test case in the way to determine
+ whether the menu is handling a menu bar click.
+
+1994-05-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (Frename_buffer): Reject empty string as new name.
+
+1994-05-10 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * process.c (exec_sentinel): Don't deactivate the mark.
+ Check for asynch buffer switch.
+
+1994-05-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/bsd4-2.h (BSD): Define as 42.
+ (BSD4_2): Define as 1. This makes it like bsd4-3.h.
+
+ * floatfns.c: Don't declare logb if it is a macro.
+
+1994-05-10 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * keyboard.c (read_char): Preserve echo area on asynch buffer switch.
+
+1994-05-10 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * dispnew.c [__GNU_LIBRARY__]: Redefine PENDING_OUTPUT_COUNT even
+ if already defined.
+
+1994-05-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Finsert_file_contents) [MSDOS]: Ignore the replace feature.
+
+ * buffer.c (syms_of_buffer): Doc fix.
+
+ * keyboard.c (syms_of_keyboard): Doc fix.
+
+1994-05-10 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * keyboard.c (safe_run_hooks): New function, extracted from
+ command_loop_1. Bind inhibit_quit.
+
+1994-05-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (string_width): Deleted.
+
+ * xterm.c (x_set_window_size) [USE_X_TOOLKIT]:
+ Preserve the main widget's x and y position.
+
+1994-05-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (process_send_signal): If PREFER_VSUSP,
+ use VSUSP instead of VSWTCH.
+ * s/sco4.h (PREFER_VSUSP): Defined.
+ * s/irix5-0.h (PREFER_VSUSP): Defined.
+
+ * fileio.c (Fdo_auto_save): Write a list of all auto save file names.
+ (Vauto_save_list_file_name): Specify file name to put them in.
+ (syms_of_fileio): Set up Lisp var.
+
+1994-05-07 Morten Welinder (terra@diku.dk)
+
+ * callproc.c [MSDOS]: Rename Vbinary_process to Vbinary_process_output.
+ (syms_of_callproc) [MSDOS]: Rename lisp variable binary-process to
+ binary-process-output.
+ (Fcall_process, syms_of_callproc) [MSDOS]: Use new names.
+ (Vbinary_process_input) [MSDOS]: New variable.
+ (syms_of_callproc) [MSDOS]: Declare binary-process-input.
+ (Fcall_process_region) [MSDOS]: Bind binary-process-input temporarily
+ to buffer-file-type.
+ (init_callproc) [MSDOS]: Don't add lib-src as the wrapped binaries
+ are in bin.
+
+1994-05-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (Qbuffer_file_type): Var deleted.
+ * callproc.c (Qbuffer_file_type): Var added.
+
+ * keyboard.c (read_char): Don't test do_mouse_tracking;
+ instead, do prepare_menu_bars only if commandflag > 1.
+ (read_char): Do call add_command_key for mouse-movement events.
+ Test detect_input_pending, not EVENT_QUEUES_EMPTY, for kbd menus.
+ But don't test either one for mouse menus.
+
+ * undo.c (record_delete): Record the old point value
+ only right after a boundary.
+
+1994-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/dgux5-4r3.h: Use dgux5-4r2.h under new name.
+
+ * puresize.h (PURESIZE): Increase to 235000 and 205000.
+
+1994-05-06 Morten Welinder (terra@diku.dk)
+
+ * s/msdos.h: Define NO_MATHERR.
+ * floatfns.c: Don't guard DOMAIN && SING && OVERFLOW check by
+ an #ifndef MSDOS.
+
+1994-05-06 Francesco Potorti` (pot@cnuce.cnr.it)
+
+ * m/delta.h: (SYSTEM_MALLOC): deleted. The problem isn't there.
+
+1994-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_set_offset): Set gravity and size hint
+ before moving the window.
+
+ * keyboard.c (make_lispy_event): Ignore mouse events for deleted frame.
+
+ * xterm.c (XTread_socket):
+ For ReparentNotify, use x_top_window_to_frame.
+ Also recompute frame position using x_real_positions.
+ For ConfigureNotify, don't ignore send_events.
+ Also recompute frame position using x_real_positions.
+
+1994-05-05 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * window.c: Use PT, not point.
+ (Fdelete_other_windows): Do nothing if w->start is outside region.
+ Don't temporarily move point when recomputing window position.
+
+1994-05-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_real_positions): New function.
+
+ * keyboard.c (make_lispy_movement): Don't call pixel_to_glyph_coords
+ if FRAME is 0.
+
+ * xterm.c (x_set_offset): Update XNegative and YNegative for new pos.
+ (x_calc_absolute_position): Clear XNegative and YNegative.
+
+ * xrdb.c (x_load_resources) [USE_X_TOOLKIT]: Don't call XrmInitialize.
+
+ * keymap.c (describe_map): Ignore bindings for all except
+ symbols and integers.
+
+ * unexelfsgi.c (unexec): Handle debugging info properly.
+
+ * s/freebsd.h: Don't use netbsd.h. Do all those things right here.
+
+1994-05-05 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xmenu.c (Fx_popup_menu): Restore accidentally-deleted call to
+ mouse_position_hook.
+ (xmenu_show): Disallow empty menus.
+
+1994-05-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (last_point_position_buffer): New variable.
+ (command_loop_1): Set it.
+ * undo.c (record_delete): Test it.
+ * commands.h (last_point_position_buffer): Declared.
+
+ * Makefile.in.in: Put in a separator for where to start cpp procssing.
+ Above that, use Make-style comments.
+ This goes with changes in ../configure.in.
+
+1994-05-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/isc4-0.h (NEED_SIOCTL, ISC4_0): Declared.
+
+ * sysdep.c: Test ISC4_0 along with TIOCGWINSZ.
+
+ * process.c (wait_reading_process_input): Don't call prepare_menu_bars
+ unless we are going to redisplay for a garbaged frame.
+ (read_process_output): Call prepare_menu_bars if waiting for input.
+ (exec_sentinel): Call prepare_menu_bars if waiting for input.
+
+ * s/dgux5-4r3.h, s/dgux5-4r2.h: Renamed from ..4R..
+
+ * eval.c (error): Fix logic in call to xmalloc/xrealloc.
+
+ * xterm.c (x_make_frame_invisible): Use XWithdrawWindow again.
+
+ * s/sol2.h, s/sol2-3.h (LD_SWITCH_SYSTEM):
+ Use ./prefix-args, not -Xlinker directly.
+
+1994-05-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_set_cursor_color): Fix typo.
+
+ * xselect.c (x_own_selection): Catch errors around XSetSelectionOwner.
+
+ * buffer.c (syms_of_buffer): Doc fix.
+
+ * xdisp.c (display_text_line): Since HPOS is negative, avoid
+ writing before the beginning of the charstarts line.
+
+ * minibuf.c (read_minibuf): Clear previous_echo_glyphs.
+
+1994-05-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dired.c (file_name_completion_stat): Use both lstat and stat.
+
+1994-05-02 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xterm.c (show_mouse_face): Fix test for cursor in highlighted area.
+ (note_mouse_highlight): Reorder test for simplicity.
+ (note_mouse_highlight, show_mouse_face, clear_mouse_face,
+ x_destroy_window): Use row/col instead of buffer position to keep
+ track of highlighted area.
+
+1994-05-02 Francesco Potorti` (pot@cnuce.cnr.it)
+
+ * m/delta.h: (SYSTEM_MALLOC): Defined, since GNU malloc does not work.
+ (BCOPY_UPWARD_SAFE): Defined to 0 for the Green Hills compiler.
+
+1994-05-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (create_process): Undo April 19 setsid change.
+
+1994-05-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.h (struct x_display): New field size_hint_flags.
+ * xfns.c (Fx_create_frame): Set the size_hint_flags field.
+ Don't call x_calc_absolute_position.
+ * xterm.c (x_calc_absolute_position): Use size_hint_flags.
+ New FLAGS arg deleted. Callers changed.
+
+ * xfns.c (x_figure_window_size): Handle `-' for top or left.
+ (Fx_parse_geometry): Handle one element at a time.
+ Give `-' when appropriate.
+ (x_figure_window_size): Allow just height or just width.
+
+ * xterm.c (x_wm_set_size_hint): Don't try to handle negative positions.
+ (x_calc_absolute_position):
+ New arg FLAGS. Use XNegative and YNegative.
+ (x_set_offset): Pass new arg.
+
+ * xfns.c (x_figure_window_size): Set USPosition only if user-position
+ is non-nil; otherwise, if pos is specified, set PPosition.
+ Likewise for USSize and PSize.
+ (Fx_create_frame): Use XNegative and YNegative to set win_gravity.
+ [USE_X_TOOLKIT] (x_window): Use XNegative and YNegative
+ to set win_gravity. Pass new arg to x_calc_absolute_position.
+
+ * editfns.c (Ftranspose_regions): Take addresses only after move gap.
+ Cast result of alloca. Use xmalloc instead, for large objects.
+ Always copy the middle portion directly; never put it in temp.
+ Always move the gap to START1 or END2, whichever is nearer.
+
+ * keyboard.c (Ftrack_mouse): Call prepare_menu_bars at the start.
+ (read_char): Don't call prepare_menu_bars if doing mouse tracking.
+
+1994-04-30 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * puresize.h (PURESIZE) [MULTI_FRAME]: Increase to 232000.
+
+1994-04-30 Paul Reilly (pmr@churchy.gnu.ai.mit.edu)
+
+ * s/dgux5-4R3.h: new file.
+
+ * s/dgux5-4R2.h: new file.
+
+ * s/dgux.h (SVR4): Make conditional on ELF environment.
+ (INTERRUPT_INPUT, ORDINARY_LINK): Set by default.
+ (C_COMPILER, LINKER and MAKE_COMMAND): Remove.
+
+ * process.c (IN_ADDR, NUMERIC_ADDR_ERROR): Made conditional on
+ HAVE_BROKEN_INET_ADDR.
+
+1994-04-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (record_asynch_buffer_change): Block SIGIO.
+ (force_auto_save_soon): Call record_asynch_buffer_change.
+
+ * emacs.c (memory_warning_signal): Call force_auto_save_soon.
+
+ * keyboard.c (force_auto_save_soon): New function.
+
+ * process.c (Fopen_network_stream): Retry the connect if EADDRINUSE.
+ Ignore EISCONN.
+
+1994-04-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * eval.c (init_eval): Initialize when_entered_debugger to -1.
+
+1994-04-29 Jim Blandy (jimb@totoro.bio.indiana.edu)
+
+ * data.c (Ffset, Ffmakunbound): Signal an error if SYM is nil or t.
+
+1994-04-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * data.c, floatfns.c, lread.c [MSDOS]: Re-enable some #undef's.
+
+1994-04-29 Karl Fogel (kfogel@phylo)
+
+ * editfns.c (Ftranspose_regions): New function.
+ (transpose_markers): Helper func for above.
+ (syms_of_frame): Call defsubr for Stranspose_regions.
+
+1994-04-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.h (x_mouse_grabbed): Declared.
+ * xmenu.c (xdialog_show): Clear x_mouse_grabbed.
+
+ * frame.c (Fframe_live_p): Alternative defn for not MULTI_FRAME.
+ (syms_of_frame): Call defsubr for it.
+
+ * process.c: Doc fixes.
+
+ * xterm.c (x_wm_set_size_hint): Always set PWinGravity.
+ Rename the args. Compute x and y fields from negative positions.
+ Use XGetWMNormalHints if X11R4 or newer.
+ (x_make_frame_visible): Call x_set_offset only if not USE_X_TOOLKIT.
+ (x_make_frame_invisible): Call x_wm_set_size_hint.
+ (x_set_offset): Pass 0 as 3rd arg to x_wm_set_size_hint.
+ (x_set_window_size): Likewise. Set win_gravity field here if nec.
+
+ * xfns.c (Fx_create_frame): Pass 0 as 3rd arg to x_wm_set_size_hint.
+ (x_figure_window_size): Fix typo setting XNegative.
+
+ * minibuf.c (Fminibuffer_complete): Add third arg to Fset_window_start.
+
+ * buffer.c (init_buffer_once): Initialize buffer_file_type field right.
+
+ * m/dos386.h (HAVE_MOUSE): Defined.
+ (PURESIZE): Increase value.
+
+ * xdisp.c (decode_mode_spec): Fix handling of `%t'.
+
+ * msdos.c, dosfns.c: Finish downcasing mouse_init1, mouse_off,
+ mouse_check_moved, mouse_pressed, mouse_released, mouse_on, mouse_init.
+
+ * dispnew.c (update_frame): Fix previous change:
+ Unconditionally bzero at the end.
+
+1994-04-29 Morten Welinder (terra@diku.dk)
+
+ * msdos.c (visible_bell): Now static. Make the asm volatile.
+ Don't expect register %gs to survive calls to other functions
+ (just to be safe, %gs will survive at present).
+
+ * keyboard.c (make_lispy_movement): if HAVE_MOUSE then include
+ the mouse handling code.
+ * msdos.c (glyph_to_pixel_coords, pixel_to_glyph_coords) new
+ functions imitating those in xterm.c.
+
+ * s/msdos.h (getppid): Definition deleted.
+
+ * msdos.c (dos_rawgetc): Key numbers are biased by 0xff00.
+
+ * dosfns.c (Fmode25, Fmode4350): Clean up the coding and return
+ a well-defined value.
+ (syms_of_dosfns): Doc fix.
+
+1994-04-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * keymap.c (Fsingle_key_description): Undo previous change.
+ (describe_map): Skip string entries.
+
+ * minibuf.c (do_completion): Initialize vars before gcpro.
+
+1994-04-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (update_frame): Move those assignments even farther down.
+
+ * xterm.c (x_wm_set_size_hint): Don't set PMaxSize.
+ Don't touch win_gravity field if no PWinGravity.
+
+1994-04-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * print.c: Doc fixes.
+
+ * keymap.c (describe_map_tree, describe_buffer_bindings): gcpro stuff.
+ (describe_buffer_bindings): Delete unused code.
+
+1994-04-28 Per Abrahamsen (abraham@research.att.com)
+
+ * keymap.c (Fsingle_key_description): Accept strings as keys since
+ the buffer menu uses them.
+
+1994-04-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (update_frame): Move assignments to current_frame
+ and desired_frame.
+
+ * floatfns.c (logb): Test HPUX, not hpux.
+
+ * s/sunos4-1.h (LIBS_SYSTEM): #if 0'd.
+
+ * xmenu.c (Fx_popup_menu): Doc fix.
+
+ * xfns.c (x_window) [USE_X_TOOLKIT]: Call XSetWMHints.
+
+1994-04-28 Michael D. Ernst (mernst@monozygote.research.microsoft.com)
+
+ * fileio.c (inhibit-file-name-handers): Correct documentation.
+
+1994-04-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Only top window cares about LeaveNotify.
+
+ * frame.c (Fframe_parameters) [!MULTI_FRAME]: Unstub it again.
+
+1994-04-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (syms_of_emacs): Doc fix.
+
+ * callproc.c (child_setup): Test PRIO_PROCESS, as in sys_subshell.
+
+ * m/hp800.h: Renamed from hp9000s800.h.
+ (hp9000s800): Undo previous change.
+
+ * process.c (create_process): If vfork fails, close forkin and forkout.
+
+1994-04-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_make_frame_visible): Use XtMapWidget, not XtPopup.
+
+ * m/hp9000s800.h (hp800): Define this instead of hp9000s800.
+
+ * Makefile.in.in (mostlyclean): Remove liblw.a.
+
+ * lread.c (read1): Allow `\C- ' and `\C-?'.
+
+1994-04-27 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * unexmips.c (unexec): Cast pointers.
+ Fix error message.
+
+ * Makefile.in.in: Use C-style comments.
+
+ * frame.c (Fframe_parameters) [!MULTI_FRAME]: Replace with stub.
+ (Fframe_parameters, Fmodify_frame_parameters) [!MULTI_FRAME]:
+ Remove extra docstring.
+
+1994-04-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sunos4-0.h (LD_SWITCH_SYSTEM): Undo previous change.
+
+ * xterm.c (XTread_socket, case ClientMessage): Don't call
+ XSetInputFocus if event is not for an existing frame.
+
+ * xmenu.c (xmenu_show, xdialog_show):
+ If we unread some events, set interrupt_input_pending.
+
+ * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Never pass motion
+ events to the toolkit.
+
+ * CONFIGURATION now comes via config.h.
+ * Makefile.in.in (emacs.o): Use the default .c.o command.
+ (configuration): Make variable deleted.
+ * config.h.in (CONFIGURATION): Add #undef.
+
+ * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Undo previous change.
+ (x_wm_set_size_hint): Do set max_height, max_width, and PMaxSize flag.
+
+1994-04-26 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * process.c (create_process) [HAVE_TERMIOS && LDISC1]: Use tcsetattr.
+
+1994-04-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * alloc.c (mark_object, case frame): Mark menu_bar_vector field.
+
+1994-04-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Vunread_command_events):
+ Renamed from unread_command_events.
+ All uses changed.
+ * command.h (Vunread_command_events): Renamed.
+ * lread.c (read_filtered_event): Use Vunread_command_events.
+ * minibuf.c (temp_echo_area_glyphs): Use Vunread_command_events.
+
+ * keyboard.c (read_char): Don't use menus if we have events waiting.
+
+ * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Let toolkit handle
+ menu bar click.
+
+1994-04-25 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * insdel.c: Use PT, not point.
+ (gap_left, gap_right, adjust_markers): Make these functions static.
+ (adjust_point): New function.
+ (insert_1, insert_from_string_1, del_range_1): Use it.
+
+ * xterm.c (x_term_init): Add explicit cast.
+ (XTmouse_position): Don't use last_mouse_frame if it's dead.
+ (XTread_socket): Ditto.
+
+ * textprop.c (F*_property_change): Typecheck limit argument.
+
+1994-04-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (syms_of_xdisp): Set up Qmenu_bar_update_hook.
+ (update_menu_bar): Run that hook.
+ Fix failure to update menu bar when w->update_mode_line was nil.
+
+ * frame.h (struct frame): New fields menu_bar_vector and
+ menu_bar_items_used.
+ * frame.c (make_frame): Initialize fields menu_bar_vector and
+ menu_bar_items_used.
+
+ * keyboard.c (menu_bar_item): Put a list of keymaps into the third
+ slot of an item in menu_bar_items_vector.
+
+1994-04-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Finsert_file_contents): Fix accessing buffer_file_type
+ since it is t or nil. Change to handle t or nil as value
+ of find-buffer-file-type.
+
+ * buffer.c (Fkill_all_local_variables): Doc fix.
+
+1994-04-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (create_process): Use SETUP_SLAVE_PTY only if pty_flag.
+ Likewise for child_setup_tty.
+
+ * window.c (Fselect_window): Use Fselect_frame.
+
+ * frame.c (Fset_frame_selected_window): New function.
+ (syms_of_frame): Set up Lisp function.
+
+ * lisp.h (Vascii_canon_table, Vascii_eqv_table): Declared.
+
+ * buffer.c (reset_buffer_local_variables): Use Vascii_eqv_table
+ and Vascii_canon_table.
+
+ * window.c: Implement special frames for specified buffers.
+ (Vspecial_display_buffer_names, Vspecial_display_regexps)
+ (Vspecial_display_function): New variables.
+ (syms_of_window): Set up Lisp variables.
+ (Fdisplay_buffer): Handle them.
+
+1994-04-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile.in.in (alloca.o): Use config_h.
+ (config_h): Use M_FILE and S_FILE.
+ (S_FILE, M_FILE): New variables hold names of config files.
+
+ * fileio.c (syms_of_fileio): New Lisp var inhibit-file-name-operation.
+ (Ffind_file_name_handler): Obey that variable. Use new meaning
+ for inhibit-file-name-handlers.
+
+ * config.h.in (HAVE_LIBRESOLV): Add #undef.
+ * s/sunos4-1.h (LIBS_SYSTEM): Test HAVE_LIBRESOLV, not HAVE_RES_INIT.
+ Do not test HAVE_GETHOSTNAME.
+
+ * s/sunos4-1.h (LIBS_SYSTEM): Invert the HAVE_RES_INIT condition.
+
+1994-04-22 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * fileio.c (Ffind_file_name_handler): New argument OPERATION.
+ All callers changed.
+
+1994-04-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (max_process_desc): New variable.
+ (wait_reading_process_output): Don't look for process output
+ beyond that many bits.
+ (create_process, Fopen_network_stream, deactivate_process): Update it.
+ (init_process): Initialize it.
+
+ * frame.c (Fmouse_pixel_position, Fset_mouse_pixel_position):
+ New functions.
+ (syms_of_frame): Set up Lisp functions.
+
+ * xterm.c (x_set_mouse_pixel_position): New function.
+
+1994-04-21 Simon Leinen (simon@lia.di.epfl.ch)
+
+ * process.c (send_process): If fpathconf fails, use 250.
+
+1994-04-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (init_cmdargs): Check only for etc and lib-src subdirs
+ when setting Vinstallation_directory.
+ (syms_of_emacs): Make Lisp vars invocation-name, invocation-directory
+ and installation-directory.
+
+ * lread.c (init_lread): Maybe put build-time Lisp dirs on load-path.
+
+ * callproc.c (init_callproc): Set Vdoc_directory like Vdata_directory.
+
+ * lread.c (init_lread): Improve warning message.
+
+ * xterm.c (x_make_frame_visible): Args to x_set_offset were swapped.
+
+1994-04-20 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xterm.h (x_top_window_to_frame): Declare this function.
+
+1994-04-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fns.c: Doc fixes.
+
+ * Makefile.in.in (TAGS): Split off included tags file lisp/TAGS.
+ (../lisp/TAGS): New target uses recursive make.
+ (ctagsfiles, lisptagsfiles): New variables.
+
+ * xfns.c (x_window): Test FRAME_EXTERNAL_MENU_BAR
+ to decide on calling initialize_frame_menubar.
+
+1994-04-20 Francesco Potorti` (pot@fly.cnuce.cnr.it)
+
+ * m/delta.h (HAVE_SOCKETS): defined if HAVE_INET_SOCKETS is defined.
+
+1994-04-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * frame.c (Fmodify_frame_parameters, Fframe_parameters):
+ Define even if not MULTI_FRAME.
+
+ * config.h.in (HAVE_INET_SOCKETS): Add #undef.
+
+ * xterm.c (XTread_socket): Delete the non-NEW_SELECTIONS code
+ and simplify the toolkit conditional for those cases.
+
+ * xterm.c (XTread_socket, case ClientMessage):
+ Always use x_window_to_frame.
+
+ * xfns.c (x_top_window_to_frame): New function.
+
+1994-04-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (create_process): Call setsid only if pty_flag.
+
+ * xterm.c (x_make_frame_invisible): Explicitly clear visible and
+ iconified flags, as well as the async flags.
+
+1994-04-19 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * keymap.c (describe_map): Merge with describe_map_2.
+ (describe_map_tree, describe_map): Skip keymaps we've seen before.
+
+ * keyboard.c (read_avail_input): Don't retry read.
+
+1994-04-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Vlast_event_frame): Define unconditionally.
+ (syms_of_keyboard): Always make the Lisp var.
+
+ * Makefile.in.in (${etc}DOC): Delete redundant version.el from cmd.
+
+1994-04-19 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * keyboard.c (read_avail_input): Test EINTR, not EAGAIN.
+ Write loop as a do-while.
+
+ * puresize.h (PURESIZE) [!MULTI_FRAME]: Increase to 200000.
+
+1994-04-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Call XSetInputFocus.
+
+1994-04-18 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * config.h.in: (EMACS_INT, EMACS_UINT): Omit if NOT_C_CODE.
+
+1994-04-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * mem-limits.h (get_lim_data): Handle NO_LIM_DATA.
+
+ * xterm.c (x_make_frame_invisible) [USE_X_TOOLKIT]: Use XtPopdown.
+ (XTread_socket): Call _XEditResCheckMessages only if HAVE_X11R5.
+
+ * m/convex.h (CRT0_DUMMIES): Ignore one arg.
+ (LIBS_TERMCAP): Use the system's termcap.
+
+ * process.c (create_process): Fix previous change.
+
+1994-04-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (Xatom_editres_name): Declared.
+ (Fx_open_connection): Initialize it.
+ * xterm.c (Xatom_editres_name): Variable defined.
+ (XTread_socket): Handle that kind of message.
+ (x_term_init): Specify -name option in XtAppInitialize.
+
+ * xterm.c (Qface, Qmouse_face): Supply missing Lisp_Object.
+
+ * config.h.in (EMACS_INT, EMACS_UINT): New typedefs.
+
+ * casetab.c (set_case_table): Handle nil for EQV with non-nil CANON.
+ (Fcase_table_p): Accept nil for EQV with non-nil CANON.
+
+ * keyboard.c (read_avail_input): Test both aix386 and _BSD.
+
+ * window.c (set_window_width):
+ Don't delete root window for being too narrow.
+
+ * xterm.c (dumpglyphs): When HL=2, check explicitly for using
+ the frame's default font or not.
+
+ * keyboard.c (read_char_x_menu_prompt): Don't check for value = nil
+ if value was originally a cons.
+
+ * xmenu.c (xmenu_show): Fix typo in last change.
+
+1994-04-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * frame.c (Fmouse_position): Don't clip.
+ * keyboard.c (make_lispy_movement): Don't clip.
+
+1994-04-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/netbsd.h: Add NO_SHARED_LIBS conditional.
+ * s/freebsd.h: Rewrite to use netbsd.h and define NO_SHARED_LIBS.
+
+ * keyboard.c (read_avail_input): Fix previous change--test _BSD.
+
+ * data.c (Fsetq_default): Doc fix.
+
+ * eval.c (Fsetq): Doc fix.
+
+ * Makefile.in.in (configuration): Use SET_MAKE to get
+ the value of $(MAKE).
+
+1994-04-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.h (map_prompt): Declared.
+
+ * xmenu.c (xmenu_show): Don't cons on subprefix_stack[j] if nil.
+
+ * keyboard.c (read_avail_input): Don't generate SIGHUP of aix386;
+ only on other AIX systems.
+
+ * xterm.c (XTread_socket):
+ For UnmapNotify, use x_any_window_to_frame.
+
+ * process.c (create_process): Test TIOCSETD along with NTTYDISC.
+
+ * frame.c (Fset_frame_position): Pass new arg to x_set_offset.
+
+ * xterm.c (x_set_offset): New arg CHANGE_GRAVITY.
+ (x_make_frame_visible): Pass new arg.
+
+ * xfns.c (Fx_create_frame): Delete excess args to x_wm_set_size_hint.
+
+ * xterm.c (x_wm_set_size_hint): Args spec_x and spec_y deleted.
+ (x_set_offset, x_set_window_size): Don't pass those args.
+
+ * fileio.c (Finsert_file_contents): Fix test for unchanged file.
+
+ * xterm.c (x_destroy_window): Just clear out mouse_face... vars.
+
+ * keyboard.c (syms_of_keyboard): Init and staticpro system_key_syms.
+ (modify_event_symbol): Use the cdr of the alist entry.
+ Whenever value is nil, intern a new symbol.
+
+ * Makefile.in.in (LIBX): Put LIBXT after LD_SWITCH_X_SITE.
+
+1994-04-15 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xdisp.c (fix_glyph) [HAVE_X_WINDOWS]: When glyph face is 0, use
+ the computed face as given.
+
+ * keyboard.c (read_avail_input): Fix comment delimiter.
+
+ * m/pmax.h (C_SWITCH_X_MACHINE): add -DNeedVarargsPrototypes=0.
+
+1994-04-14 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * scroll.c (calculate_scrolling): Add explicit casts.
+
+1994-04-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_wm_set_size_hint): Use win_gravity from frame.
+
+ * xterm.h (x_display): New field win_gravity.
+ * xfns.c (Fx_create_frame): Set win_gravity field.
+
+ * xfns.c (x_window, both versions):
+ Don't call x_calc_absolute_position.
+ * xterm.c (x_make_frame_visible): Call x_set_offset.
+
+ * xterm.c (x_make_frame_visible): Don't call XMapSubwindows.
+ (x_iconify_frame): Likewise.
+
+ * s/isc4-0.h (LIBS_SYSTEM): Defined.
+
+ * keyboard.c (make_lispy_event): Put mouse event code
+ into MULTI_FRAME conditional.
+
+ * xfns.c (Fx_list_fonts): Error if non-X frame used.
+
+ * xdisp.c (update_menu_bar): Take frame as arg.
+ (update_menu_bars): Function deleted.
+ (prepare_menu_bars): Call update_menu_bar; do it for all frames.
+ Simplify computation of all_windows; ignore irrelevant criteria.
+
+ * xterm.h (HAVE_X11R4): If we define HAVE_X11R5, define this too.
+
+ * xterm.c (pending_autoraise_frame): New variable.
+ (x_new_focus_frame): Don't autoraise here; just set that var.
+ (XTread_socket): Raise that frame here.
+
+1994-04-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (inherited_pgroup): Conditionalize on BSD_PGRPS.
+
+ * s/netbsd.h (TABDLY): Defined.
+
+ * doc.c, fileio.c, unexsunos4.c [HAVE_UNISTD_H]: Include unistd.h.
+
+ * dired.c (Ffile_attributes): Cast st_size to int.
+
+ * xmenu.c (last_menu_bar_item_end): New variable.
+ (xmenu_show): Set that var.
+ (other_menu_bar_item_p): Return 0 if mouse is not in any menu bar item.
+
+ * keymap.c (describe_map_tree): Fix call to Flookup_key.
+
+ * xfns.c (x_window): Don't call initialize_frame_menubar
+ if no menu bar.
+ (Fx_create_frame): Default menu-bar-lines parm before calling x_window.
+
+1994-04-13 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * dispnew.c (Vglyph_table): Doc fix.
+
+ * frame.c (Fmouse_position) [MULTI_FRAME]: Use pixel_to_glyph, not
+ glyph_to_pixel. Skip the conversion if args are nil.
+ [!MULTI_FRAME]: All results are nil. Remove extra docstring.
+
+ * window.c (Fnext_window, Fprevious_window, Fdisplay_buffer): Test
+ MULTI_FRAME when frame-walking.
+ (Fset_window_configuration): Only call X fns if HAVE_X_WINDOWS.
+
+ * fns.c (Fy_or_n_p, Fyes_or_no_p): Test HAVE_X_MENU in popup code.
+
+1994-04-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * indent.c (compute_motion): Do not abort if window shows some
+ other buffer.
+ (Fcompute_motion): Use whatever buffer is current.
+
+1994-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/bsd4-2.h (BSD): Give it a number as definition.
+
+ * s/sol2-3.h: Fix #include file name.
+
+ * xterm.c (x_destroy_window): Call clear_mouse_face if necessary.
+
+ * xmenu.c (xmenu_show, xdialog_show): Add casts in assignments
+ to widget_value fields from string contents.
+ (dispatch_dummy_expose): Cast arg to XtDispatchEvent.
+ [!USE_X_TOOLKIT] (xmenu_show): Right-justify char equivalents.
+ Use alloca for concatenated strings, if alloca is fast.
+
+ * lisp.h (Fprocess_send_eof, Foverlay_get): Declared.
+
+ * keymap.c (Fkey_binding): Declare accept_default.
+
+ * sysdep.c (sys_siglist) [sun]: Check SIGFREEZE and SIGTHAW defined.
+
+1994-04-12 Per Bothner (bothner@cygnus.com)
+
+ Provide a hook for elisp to signal a changed window size
+ to a process inferior.
+ * sysdep.c (set_window_size): New function.
+ * process.c (Fset_process_window_size): New function.
+
+1994-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * eval.c (specbind): Use find_symbol_value.
+
+ * xfaces.c (frame_update_line_height): Don't call x_set_window_size.
+ Return 1 if line_height changed.
+ (Fset_face_attribute_internal): Call x_set_window_size here if nec.
+ * xterm.c (x_new_font): Always call x_set_window_size.
+
+ * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Use XtTranslateCoords.
+
+ * process.c (send_process): Test pty_flag field for nil, not 0.
+
+1994-04-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sunos4-0.h (LD_SWITCH_SYSTEM): Alternate definition if __GNUC__.
+
+ * callproc.c: If we include fcntl.h, define INCLUDED_FCNTL.
+ * systty.h: Check for INCLUDED_FCNTL already defined.
+
+ * xterm.c (x_wm_set_size_hint): If PROMPTING is 0,
+ copy the old win_gravity field.
+ If USPosition is set, don't set PWinGravity.
+
+ * keyboard.c (read_avail_input): Separate local var n_to_read
+ so that reading doesn't clobber that info when it sets nread.
+
+ * s/isc4-0.h (LIBS_SYSTEM): Defined.
+
+ * emacs.c (main): Fix typo in prev. change.
+
+ * Makefile.in.in (temacs): Include ${ALL_LDFLAGS} within
+ the call to YMF_PASS_LDFLAGS.
+
+1994-04-11 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * keyboard.c (make_lispy_event): Initialize item.
+
+ * indent.c (vmotion): Use minibuf_prompt_width despite window-start.
+
+ * print.c (printchar, strout): Use FRAME_PTR, not struct frame *.
+
+ * frame.c (Fmouse_position) [!MULTI_FRAME]: Declare col and row.
+
+1994-04-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (make_lispy_movement): Conditionalize on MULTI_FRAME.
+ (kbd_buffer_get_event): Call make_lispy_movement only if MULTI_FRAME.
+
+ * xselect.c (x_decline_selection_request): Call XFlushQueue.
+
+ * eval.c (Fsetq): Doc syntax fix.
+ * print.c (syms_of_print): Doc syntax fix.
+ * editfns.c (Fuser_real_login_name): Doc syntax fix.
+ * data.c (Fsetq_default, Fmake_local_variable): Doc syntax fix.
+
+1994-04-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_wm_set_size_hint): If change_gravity is 0,
+ just don't set the gravity.
+
+1994-04-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (dumpglyphs): Clear any extra pixel rows below the text.
+
+ * xfns.c (x_figure_window_size): Don't call x_calc_absolute_position.
+ (x_window): Separate into two alternative definitions.
+ Call x_calc_absolute_position here.
+
+ * widget.c (EmacsFrameSetCharSize): Do not attempt to preserve
+ the window position.
+
+ * xfns.c (Fx_list_fonts): Doc fix.
+
+ * buffer.c (Vafter_change_functions, Vbefore_change_functions):
+ New variables.
+ (syms_of_buffer): Set up Lisp vars.
+ * buffer.h (Vafter_change_functions, Vbefore_change_functions):
+ Declared.
+
+ * insdel.c (before_change_functions_restore):
+ (after_change_functions_restore): New functions.
+ (signal_before_change): Handle Vbefore_change_functions.
+ (signal_after_change): Handle Vafter_change_functions.
+
+ * cmds.c (internal_self_insert): Test Vafter_change_functions,
+ Vbefore_change_functions.
+
+ * xfaces.c (frame_update_line_height): Check param_faces[i] not null.
+
+ * emacs.c (main): Handle EXTRA_INITIALIZE.
+
+ * s/isc4-0.h: New file.
+
+ * keymap.c (get_keymap): Pass 1 as ERROR to get_keymap_1.
+ (get_keyelt): New arg AUTOLOAD means load keymaps indirected thru.
+ All callers changed; most pass 0.
+ (Fdefine_key, Flookup_key): Load all the keymaps we look in.
+
+ * editfns.c (make_buffer_string): Copy properties whenever we
+ have some, even if they don't change.
+
+ * xterm.c (x_display_box_cursor): Explicitly clear full height of line.
+ (dumpglyphs): New arg just_foreground. Callers changed.
+ (x_set_window_size): Call XSync.
+
+ * xterm.c (note_mouse_highlight): Do nothing if buffer has changed.
+
+ * xterm.c (x_new_font): Fix setting line_height.
+
+ * Support fonts of different heights, using tallest as line height:
+
+ * xfaces.c (frame_update_line_height): New function.
+ (Fset_face_attribute_internal): Call that.
+
+ * xterm.c (x_new_font): If frame is new, set line_height field.
+ Otherwise call frame_update_line_height.
+
+ * xterm.h (struct x_display): New field line_height.
+ (VERTICAL_SCROLL_BAR_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW)
+ (CHAR_TO_PIXEL_ROW): Use line_height field.
+
+ * xterm.c (stufflines, scraplines, dumprectangle, x_do_pending_expose)
+ (pixel_to_glyph_coords, x_draw_box, clear_cursor, x_display_bar_cursor)
+ (x_set_resize_hint, x_set_mouse_position, x_wm_set_size_hint)
+ (XTclear_end_of_line, redraw_previous_char): Use line_height field.
+ * xfns.c (x_char_height): Use line_height field.
+ * widget.c (get_default_char_pixel_size): Use line_height field.
+ * dispnew.c (update_line): Use line_height field.
+ * xmenu.c (Fx_popup_menu): Use line_height field.
+
+1994-04-09 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * indent.c (Fvertical_motion): Use window arg, not selected_window.
+
+1994-04-08 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu)
+
+ * xterm.c (show_mouse_face): Change the mouse cursor accordingly.
+
+ * xterm.h (cross_cursor): New field for struct x_display.
+
+ * xfns.c (syms_of_xfns): Define Vx_cross_pointer_shape.
+ (Vx_cross_pointer_shape): New variable.
+ (Vx_cross_pointer_shape): Create a mouse face cursor for the mouse-face
+ properties.
+
+1994-04-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (Fx_popup_dialog): Doc fix.
+ (list_of_items): Handle nil in item list as left/right boundary.
+ (push_left_right_boundary): Record the boundary.
+ (xmenu_show): Disregard a boundary if any.
+ (xdialog_show): Really obey a boundary.
+
+1994-04-07 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * intervals.h (Qintangible): New symbol, replacing Qhidden.
+ * textprop.c (syms_of_textprop): Initialize it.
+ * intervals.c (set_point): Skip past intangible regions.
+
+ * term.c (system_uses_terminfo): New variable.
+ (syms_of_term): New function, to initialize it.
+ * emacs.c (main): Call syms_of_term.
+
+ * termhooks.h (enum event_kind): Add buffer_switch_event.
+ * keyboard.c (kbd_buffer_get_event): Make it lispy.
+ (record_asynch_buffer_change): New. Store it in the event queue.
+ * process.c (read_process_output): If buffer changes, record that fact.
+
+ * minibuf.c (Vminibuffer_exit_hook): New variable.
+ (read_minibuf): Run hook when exiting minibuffer.
+
+ * xdisp.c (copy_part_of_rope): Replace non-glyph with 0.
+
+ * insdel.c (insert_1): New function, extracted from insert.
+ (insert_from_string_1): Likewise, taken from insert_from_string.
+ (insert, insert_from_string): Call the new functions.
+ (insert_before_markers, insert_from_string_before_markers): Adjust
+ the markers before calling the after-change function.
+
+1994-04-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * scroll.c (struct matrix_elt): Use int, not short.
+ Use unsigned char for insertcount and deletecount.
+ (INFINITY): Increase to 1000000.
+
+1994-04-06 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * minibuf.c (Fminibuffer_prompt_width): Undo previous change.
+ * xdisp.c (display_text_line): minibuffer_prompt_width is a
+ distance, not an absolute position.
+
+ * editfns.c (Fformat): Reword confusing error message.
+ * doprnt.c (doprnt): Likewise.
+
+ * eval.c (Fsetq): Doc fix.
+
+1994-04-05 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xdisp.c (display_string): Allow for hpos < 0 when clearing array.
+
+ * indent.c (vmotion): Don't use minibuf_prompt_width if
+ window-start has suppressed the prompt.
+
+ * minibuf.c (Fminibuffer_prompt_width): Allow for negative value.
+
+ * buffer.c (Fget_buffer_create): Disallow empty string.
+
+ * keymap.c (describe_buffer_bindings): Move XSYMBOL to after SYMBOLP.
+ Exclude trailing null in string copies.
+
+ * indent.c (compute_motion): Add window argument. All callers changed.
+
+ * minibuf.c (do_completion): gcpro some things.
+
+ * minibuf.c, xdisp.c: Use PT, not point.
+
+1994-04-04 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * textprop.c (Fget_char_property): Doc fix.
+
+ * dired.c (file_name_completion): Honor completion-regexp-list.
+
+ * search.c (Freplace_match): Don't capitalize unless all matched
+ words are capitalized.
+
+ * buffer.c (verify_overlay_modification): Run modification-hooks
+ for any deletion that intersects the overlay.
+
+1994-04-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fdo_auto_save): Don't turn off auto save mode.
+ Instead, store -1 in b->save_length. And don't auto save
+ if there is -1 there.
+
+ * xterm.c (note_mouse_highlight): Temporarily widen the buffer.
+
+ * xdisp.c (display_text_line): Rename startp to leftmargin.
+ Use that, not p1start, when checking for char off left edge.
+
+ * dispnew.c (verify_charstarts): Handle truncation of lines.
+
+ * xdisp.c (mark_window_display_accurate, redisplay):
+ Set window_end_valid to the buffer displayed, not Qt.
+ * xterm.c (note_mouse_highlight): Check window still shows that buffer.
+
+1994-04-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (show_mouse_face): Turn off cursor only if it's
+ in the area being manipulated.
+ (XTupdate_begin): Don't turn off highlight if we aren't updating
+ the window that it is in.
+
+ * buffer.c (overlays_at): Fix previous change.
+
+ * lisp.h (gc_in_progress): Declared.
+
+ * xterm.c (note_mouse_highlight): Do nothing if gc_in_progress.
+ Set mouse_face_deferred_gc when that case arise.
+ (XTframe_up_to_date): If mouse_face_deferred_gc, redo highlighting.
+
+ * xdisp.c (display_text_line): Properly handle charstarts for hscroll,
+ and for continuation in mid character.
+ (message2): Call frame_up_to_date_hook.
+
+ * xterm.c (undefer_mouse_highlight, defer_mouse_highlight): New fns.
+ * alloc.c (Fgarbage_collect): Call ..._mouse_highlight.
+
+ * buffer.c (overlays_at): Use XGCTYPE.
+
+ * buffer.h (OVERLAY_POSITION): Use XGCTYPE.
+
+ * xmenu.c (Fx_popup_dialog): If POSITION is t, use selected frame.
+
+1994-04-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (redisplay): do_verify_charstarts controls whether to
+ call verify_charstarts.
+ Fix one-off when checking for the last line.
+
+ * xterm.c (note_mouse_highlight): Reject out-of-range pos value
+ before it causes an error.
+
+ * dispnew.c (verify_charstarts): Count right for continued lines.
+ (direct_output_for_insert): Add charstarts entry after the new char.
+ Use the right point value for the inserted character.
+
+ * xdisp.c (display_text_line): Always store in charstart
+ even if at endp. When clearing charstart, do the whole width.
+
+ * dispnew.c (scroll_frame_lines): When updating charstarts,
+ treat all columns alike--don't zero out any.
+ Fix end tests of loops over i.
+ (adjust_window_charstarts): Fix typo.
+
+ * xterm.c (fast_find_position): Always return coords within the window.
+
+ * xdisp.c (redisplay): Call verify_charstarts.
+
+ * dispnew.c (verify_charstarts): New function.
+
+ * xdisp.c (redisplay): Don't call adjust_window_charstarts
+ if on last text line of window.
+
+ * xterm.c (note_mouse_highlight): Handle disable_mouse_highlight.
+
+1994-04-01 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * buffer.c (list_buffers_1): Set buffer contents, then mode.
+
+1994-04-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (scroll_frame_lines): Fix previous changes.
+
+1994-04-01 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu)
+
+ * xterm.c (x_wm_set_size_hint): Add USE_X_TOOLKIT conditional and call
+ XtGetValues to get the width and the height of the Emacs frame.
+
+ * xdisp.c (update_menu_bar): Pass 0 to set_frame_menubar.
+
+ * widget.c (EmacsFrameSetCharSize): Clean up code.
+ Replace XtVaSetValues by XtSetValues.
+
+1994-04-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (construct_menu_click, construct_mouse_click):
+ Use XSET when setting result->x and result->y.
+
+ * xmenu.c (xmenu_show): Undo part of March 11 change:
+ Do call lw_destroy_all_widgets at the end.
+
+ * dispnew.c (scroll_frame_lines): Typo in previous change.
+ Arg POS_ADJUST replaced with arg NEWPOS.
+ * xdisp.c (try_window_id): Pass new arg to scroll_frame_lines.
+
+ * xdisp.c (redisplay): In previous change, handle case where
+ no newline follows.
+
+ * xterm.c (note_mouse_highlight): Use the value from sort_overlays.
+ Make the window's buffer current temporarily.
+ window_end_pos is relative to Z, not ZV.
+
+1994-03-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (adjust_window_charstarts): New function.
+ (direct_output_for_insert): Call it.
+ (make_frame_glyphs): If EMPTY, don't leave junk in ->total_charstarts.
+
+ * xdisp.c (redisplay): Call adjust_window_charstarts
+ to update the charstarts of following lines.
+
+1994-03-31 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * callproc.c (child_setup): Check out==err when relocating fds.
+
+1994-03-31 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu)
+
+ * xfns.c (x_window) [USE_X_TOOLKIT]: When doing geometry management,
+ don't compute the size of the menubar if there is no menubar.
+
+1994-03-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket, MotionNotify and LeaveNotify cases):
+ If not in any frame, call clear_mouse_face.
+
+1994-03-31 Frederic Pierresteguy (fp@geech.gnu.ai.mit.edu)
+
+ * xterm.h: Define HAVE_X11R4 if AIX3_2 is defined.
+
+ * xfns.c (x_window) [USE_X_TOOLKIT]: New args window_prompting and
+ minibuffer_only.
+ Don't pass top_pos and left_pos to XtCreatePopupShell.
+ Call initialize_frame_menubar before creating the Emacs frame if it is
+ not the minibuffer. Call XtManageChild for the menubar widget if any.
+ Compute some geometry management.
+ (Fx_create_frame): Pass window_prompting and minibuffer_only to
+ x_window.
+ Don't call x_wm_set_size_hint.
+ Don't call initialize_frame_menubar.
+
+ * xmenu.c (set_frame_menubar): New arg, first_time.
+ Don't update the menubar the first time it is created via x_window.
+ (initialize_frame_menubar): Pass 1 to set_frame_menubar.
+
+ * widget.c (set_frame_size): Dont compute any geometry management.
+
+1994-03-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_term_init): Set frame_up_to_date_hook.
+ (XTframe_up_to_date): New function.
+ * termhooks.h (frame_up_to_date_hook): Declared.
+ * term.c (frame_up_to_date_hook): Defined.
+ * xdisp.c (redisplay): Call frame_up_to_date_hook.
+
+1994-03-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * scroll.c (do_scrolling): Handle charstarts like glyphs.
+
+ * dispnew.c (scroll_frame_lines): Handle charstarts like glyphs.
+ (direct_output_for_insert): Likewise.
+ (preserve_other_columns): Likewise.
+
+ * systty.h (INCLUDED_FCNTL): Define, if include fcntl.h.
+ * xterm.c [INCLUDED_FCNTL]: Don't include fcntl.h again.
+
+1994-03-30 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * minibuf.c (Fminibuffer_prompt, Fminibuffer_prompt_width): New funcs.
+
+1994-03-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * indent.c (Fcompute_motion): Doc fix.
+ (Fcompute_motion): Don't use XFASTINT on possibly-negative coords.
+
+1994-03-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (update_line): Update charstarts like glyphs.
+
+1994-03-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * systime.h (EMACS_TIME_NEG_P): Cast to signed.
+
+1994-03-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (XTupdate_begin): Turn off mouse face display, and defer it.
+ (XTupdate_end): Undefer.
+ (mouse_face_defer): New variable.
+ (mouse_face_mouse_frame, mouse_face_mouse_x, mouse_face_mouse_y):
+ New variables.
+
+ * xfaces.c (compute_char_face): New arg MOUSE.
+ (Qmouse_face): New variable.
+ (syms_of_xfaces): Initialize Qmouse_face.
+ * xterm.c (dumpglyphs): Handle HL = 3 by using mouse_face_face_id.
+ (note_mouse_movement): Check for mouse face.
+ (show_mouse_face, fast_find_position): New functions.
+ (clear_mouse_face): New functions.
+ (mouse_face_beg, mouse_face_end, mouse_face_face_id): New variables.
+ (mouse_face_window): New variable.
+ (syms_of_xterm): Init and staticpro it.
+
+ * xdisp.c (display_text_line): Pass new arg to compute_char_face.
+ Fill in charstarts array.
+ (display_string): Clear part of charstarts array.
+
+1994-03-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * window.c (Fwindow_width): Delete unnecessary variable declarations.
+
+ * indent.c (Fcompute_motion): Typecheck all arguments.
+
+1994-03-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (display_text_line): Fill in charstart values.
+
+ * dispextern.h (struct frame_glyphs): New fields charstarts
+ and total_charstarts.
+ * dispnew.c (make_frame_glyphs):
+ Initialize charstarts, total_charstarts.
+ (free_frame_glyphs): Free those fields.
+
+1994-03-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xdisp.c (display_text_line): Handle selective display at window edge.
+
+ * dired.c (file_name_completion): Don't step on dirname.
+
+ * xterm.c (x_find_modifier_meanings): Skip zero entries.
+
+1994-03-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dired.c (file_name_completion): Protect things from GC.
+
+ * buffer.c (verify_overlay_modification):
+ Copy TAIL before a hook, in case the hook recenters the overlay lists.
+
+ * s/dgux.h (LIBS_SYSTEM): Commented out.
+
+1994-03-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Vinhibit_file_name_handlers): New var.
+ (syms_of_fileio): Set up Lisp var.
+ (Ffind_file_name_handler): Obey the variable.
+
+ * minibuf.c (Vcompletion_regexp_list): New var.
+ (syms_of_minibuf): Set up Lisp var.
+ (Ftry_completion, Fall_completions):
+ Limit possible completions to strings matching those regexps.
+
+ * search.c (Freplace_match): Doc fix.
+
+1994-03-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * minibuf.c (read_minibuf): Return val via unbind_to.
+
+1994-03-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * commands.h (this_command, last_command): Declared.
+
+ * minibuf.c (Fminibuffer_complete): Scroll the completion window
+ in some cases.
+
+ * print.c (debug_print): New function.
+ * .gdbinit (pr): Use debug_print.
+
+1994-03-25 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * frame.c (Fframe_first_window): New function.
+
+1994-03-24 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * editfns.c (Fformat): Validate number and type of arguments.
+
+ * xmenu.c (xmenu_show): Enable asynchronous events.
+
+ * keymap.c (Fwhere_is_internal): Skip duplicate keybindings.
+
+ * xfns.c (x_report_frame_params): Sample visibility.
+ (x_get_arg): Use downcased string in compare.
+
+ * process.c (status_notify): Use assignment, not initialization.
+ * textprop.c (add_properties, remove_properties): Ditto.
+ * window.c (unshow_buffer, window_loop, Fdisplay_buffer): Ditto.
+ * xdisp.c (x_consider_frame_title, decode_mode_spec): Ditto.
+ * xfns.c (x_set_frame_parameters, x_get_arg, x_window,
+ Fx_create_frame, Fx_create_frame): Ditto.
+ * xselect.c (x_get_local_selection, x_handle_selection_request): Ditto.
+ * xterm.c (x_window_to_scroll_bar, x_new_font): Ditto.
+
+1994-03-24 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_create_frame): Add USE_X_TOOLKIT conditional around the
+ call to initialize_frame_menubar.
+
+1994-03-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * intervals.c (verify_interval_modification): For insertion in
+ middle of an interval, use the same criterion as between intervals
+ for whether read-only forbids it.
+
+1994-03-23 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * alloc.c (make_event_array): Use assignment, not initialization.
+ * buffer.c (sort_overlays, Fmake_overlay): Ditto.
+ * callint.c (check_mark, Fcall_interactively): Ditto.
+ * callproc.c (call_process_cleanup, getenv_internal): Ditto.
+ * cmds.c (internal_self_insert): Ditto.
+ * data.c (store_symval_forwarding, Fsymbol_value): Ditto.
+ * fileio.c (Finsert_file_contents): Ditto.
+ * filelock.c (lock_file): Ditto.
+ * frame.c (next_frame, prev_frame, other_visible_frames,
+ Fdelete_frame): Ditto.
+ * intervals.c (adjust_intervals_for_insertion,
+ merge_properties_sticky, delete_interval): Ditto.
+ * keymap.c (access_keymap, store_in_keymap, Fcopy_keymap,
+ Fdefine_key, Faccessible_keymaps, Fwhere_is_internal): Ditto.
+ * lread.c (read_filtered_event, intern): Ditto.
+ * minibuf.c (read_minibuf): Ditto.
+ * msdos.c (run_msdos_command): Ditto.
+
+ * sysdep.c (reset_sys_modes): Turn off O_NDELAY.
+
+ * window.c (Fscroll_up, Fscroll_down, Fscroll_other_window): Doc fix.
+
+ * frame.c (do_switch_frame): Common code for Fselect_frame and
+ handle_switch_frame.
+
+ * xfns.c (x_get_focus_frame): New function.
+
+1994-03-23 Frederic Pierresteguy (fp@geech.gnu.ai.mit.edu)
+
+ * xmenu.c (update_frame_menubar): Function renamed from
+ update_one_frame_psheets.
+ (initialize_frame_menubar): New function.
+ (set_frame_menubar): Call menu_bar_items when items is NIL.
+
+ * xfns.c (Fx_create_frame): Call initialize_frame_menubar.
+
+1994-03-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (reset_buffer): Init auto_save_failure_time slot.
+
+1994-03-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c: (where_is_string, Fwhere_is): Deleted.
+ (syms_of_keymap): Corresponding changes.
+
+1994-03-22 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * keymap.c (Fdefine_key): Check for non-events in keyvector.
+
+ * minibuf.c (read_minibuf): Don't redirect focus unless minibuf is
+ on another frame.
+
+ * lread.c (read1): Check for invalid modifier bits in a string.
+ (unreadchar): Don't back up the pointer when unreading EOF.
+
+1994-03-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * callproc.c (Fcall_process): Make sure to close descriptors.
+ (call_process_cleanup): Always close descriptor.
+
+1994-03-22 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * widget.c (set_frame_size): Put #if 0 around a lot of useless code.
+ Compute explicitely the geometry of the toplevel widget.
+ Call XtSetValues not XtVaSetValues.
+
+1994-03-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (__do_global_ctors, __do_global_ctors_aux)
+ (__do_global_dtors): Don't define if GCC_CTORS_IN_LIBC.
+ (__CTOR_LIST__, __DTOR_LIST__): Likewise.
+
+1994-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (init_keyboard): Don't handle SIGINT if using X.
+
+1994-03-21 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * keyboard.c (add_command_key): Use assignment, not initialization.
+ (command_loop_1, read_char, kbd_buffer_store_event,
+ kbd_buffer_get_event, make_lispy_event, make_lispy_movement,
+ apply_modifiers_uncached, parse_modifiers, apply_modifiers,
+ reorder_modifiers, read_key_sequence): Ditto.
+
+1994-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * data.c (Qwholenump): New variable.
+ (syms_of_data): Set and gcpro Qwholenump.
+ * lisp.h (Qwholenump): Declared.
+ (CHECK_NATNUM): Use Qwholenump.
+
+1994-03-21 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * keymap.c (Fcopy_keymap): Account for menus and equiv-key cache.
+ (Fkeymapp): Doc fix.
+
+1994-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * data.c (Fstring_to_number): Doc fix.
+
+1994-03-20 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * data.c (Fmake_local_variable): Void variables stay void.
+
+1994-03-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * alloca.c, alloca.s, gmalloc.c: Make them symlinks again.
+
+ * fns.c (Fy_or_n_p, Fyes_or_no_p): Call Fx_popup_dialog the new way.
+ (Fyes_or_no_p): Always display just one dialog box
+ whether or not USE_X_TOOLKIT.
+
+1994-03-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xdialog_show): Delete args x, y.
+ (Fx_popup_dialog): Don't pass those args; don't compute them.
+ Second arg is now just one pane. Lots of simplification.
+ Always start by decoding POSITION arg to get a frame.
+ [! USE_X_TOOLKIT]: Put the menu in middle of that frame.
+
+ * s/freebsd.h (HAVE_TERMIOS, NO_TERMIO): Defined.
+
+ * Makefile.in.in (emacs): rm emacs before the ln.
+ (tagsfiles): Accept capital letters.
+
+ * process.c (wait_reading_process_input, both versions): Don't call
+ redisplay_preserve_echo_area unless do_display.
+
+ * emacs.c (syms_of_emacs): Don't initialize Vinstallation_name
+ and Vinstallation_directory.
+
+ * fns.c (Fyes_or_no_p) [USE_X_TOOLKIT]: Display just one menu.
+
+ * xmenu.c (Fx_popup_dialog, Fx_popup_menu): Require 2 args.
+ (Fx_popup_dialog): Don't fail to set X, Y from POSITION.
+ (xdialog_show): Call lw_modify_all_widgets properly.
+ Generate dialog's name at run time to specify number of buttons.
+ Report error if too many buttons to handle or if multiple panes.
+
+1994-03-18 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * lisp.h (MAKE_GLYPH, GLYPH_CHAR, GLYPH_FACE): Handle termcap
+ frames as well as X.
+ (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE): New macros.
+ * xdisp.c (fix_glyph): Handle termcap frames as well as X.
+ (display_text_line, copy_part_of_rope, display_mode_line): Ditto.
+ * dispnew.c (direct_output_for_insert): Ditto.
+ * xterm.c (dumpglyphs): Use the fast macros.
+
+1994-03-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (list_of_items): Arg to push_menu_item was missing.
+
+1994-03-18 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * Makefile.in.in (LIBXT): Add -lXext.
+
+1994-03-18 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * s/netbsd.h (LD_SWITCH_SYSTEM): Undo previous change.
+
+1994-03-17 Jim Blandy (jimb@totoro.bio.indiana.edu)
+
+ * indent.c (compute_motion): Doc fixes.
+
+1994-03-17 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * Makefile.in.in (X_WINDOWS_SUPPORT): New macro.
+ (lisp): Include X_WINDOWS_SUPPORT. Also add version.el; it is no
+ longer changed by building.
+
+1994-03-17 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * process.c (create_process): Skip the ioctl if fd is -1.
+
+ * lread.c (openp, Fload): GCPRO some things.
+ * callproc.c (Fcall_process): Ditto.
+ * process.c (Fstart_process): Ditto.
+
+ * s/netbsd.h (LD_SWITCH_SYSTEM, HAVE_WAIT_HEADER): Define these.
+
+1994-03-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * data.c (Fchar_or_string_p, Fintegerp, Fnatnump): Doc fix.
+
+ * minibuf.c (read_minibuf): Disallow trailing junk.
+
+1994-03-16 Morten Welinder (terra@diku.dk)
+
+ * fileio.c (Ffile_modes) [MSDOS]: set exec-bit based on file suffix.
+ * s/msdos.h: use bcopy when moving gap.
+
+1994-03-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * fns.c (Frandom): Eliminate bias in random number generator.
+
+ * floatfns.c (FLOAT_TO_INT, FLOAT_TO_INT2, range_error2): New macros.
+ (ceiling, floor, round, truncate): Use them.
+
+1994-03-15 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xdisp.c (redisplay): Don't consider minibuffer name for frame title.
+ (update_menu_bar): Delete unused second argument. Callers changed.
+
+ * fileio.c (Frename_file, Fcopy_file, Fadd_name_to_file,
+ Fmake_symbolic_link): Fix typo in previous change.
+
+ * s/netbsd.h (LOCALTIME_CACHE): Define this symbol.
+
+1994-03-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Frename_file): Use RETURN_UNGCPRO when run handler.
+ (Fcopy_file, Fadd_name_to_file, Fmake_symbolic_link): Likewise.
+
+1994-03-15 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xdisp.c (message1): Call message2 instead of duplicating code.
+
+1994-03-14 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * floatfns.c (Flogb): Check for 0.0. Emulate logb if needed.
+
+ * xterm.c (x_scroll_bar_expose): Don't make the right border thicker.
+ * xterm.h (VERTICAL_SCROLL_BAR_RIGHT_BORDER): Change from 3 to 2.
+
+ * frame.c (terminal-frame) [! MULTI_FRAME]: Create this variable.
+
+ * minibuf.c (read_minibuf): Make minibuffer frame visible when
+ minibuffer activated.
+
+ * frame.c (Fhandle_switch_frame): Ignore switch to dead frame.
+
+ * fileio.c (Fread_file_name): Delete docstring of second version.
+ * frame.c (framep, selected-frame, frame-char-height, frame-char-width,
+ frame-pixel-height, frame-pixel-width, set-frame-height,
+ set-frame-width, set-frame-size): Ditto.
+
+ * buffer.c (buffer-display-table, buffer-undo-list): Ditto.
+
+ * xdisp.c (redisplay_window): Avoid dividing negative numbers.
+ * window.c (window_scroll, Fmove_to_window_line): Ditto.
+ * search.c (search_buffer): Avoid boolean/integer confusion.
+
+ * dispnew.c (Fredraw_frame) [! MULTI_FRAME]: Make noninteractive.
+
+1994-03-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (Fx_popup_dialog, Fx_popup_menu): Handle case where
+ mouse_position_hook doesn't store anything.
+
+1994-03-14 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * widget.c (EmacsFrameSetCharSize): Set the values of left_pos and
+ top_pos to the values of the toplevel widget coordinates.
+
+1994-03-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (Fx_popup_dialog) [! USE_X_TOOLKIT]: Call Fx_popup_menu.
+
+ * indent.c (Fvertical_motion): New optional arg WINDOW.
+ * window.c (Fdelete_other_windows): Pass new arg to Fvertical_motion.
+ (window_scroll, Frecenter, Fmove_to_window_line): Likewise.
+
+ * fileio.c (Finsert_file_contents): Don't let same_at_end be less
+ than same_at_start.
+
+1994-03-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * puresize.h (PURESIZE): Reduce to 230000.
+
+1994-03-11 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * floatfns.c (Fexpt): Delete extraneous `for' statement.
+
+ * process.c (get_process): Allow arg to be a buffer object.
+
+ * xdisp.c (x_consider_frame_title): New function, extracted from
+ display_mode_line.
+ (redisplay): Update frame title on iconified frames.
+
+1994-03-11 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xdialog_show): New function to handle the display of dialog
+ boxes.
+ (Fx_popup_dialog): New function.
+ (dialog_selection_callback): New function.
+ (xmenu_show) [USE_X_TOOLKIT]: Don't call lw_destroy_all_widgets at the
+ end.
+ Do the work of construct_mouse_click in the ButtonRelease case.
+
+ * Makefile.in (LIBXT): Add -lXext to the list.
+
+ * widget.c (EmacsFrameSetCharSize): Call XawPanedSetRefigureMode.
+ Call XtSetValues not XtVaSetValues.
+
+ * fns.c (Fyes_or_no_p): Call Fx_popup_dialog instead of Fx_popup_menu.
+ (Fy_or_n_p): Likewise.
+
+1994-03-10 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * filelock.c (lock_superlock): Synchronize NFS cache.
+
+ * search.c (Fre_search_forward, Fre_search_backward): Doc fix.
+
+1994-03-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * indent.c (compute_motion): Initialize prev_hpos.
+
+ * keyboard.c (command_loop_1): On entry, set this_command
+ after running Vpost_command_hook.
+
+ * puresize.h (PURESIZE): Increment to 240000.
+
+ * xmenu.c (Fx_popup_menu): If POSITION is nil,
+ don't require an open X connection.
+ (single_keymap_panes, keymap_panes, menu_item_enabled_p):
+ New arg NOTREAL.
+ (Fx_popup_menu): Pass new arg (1 if POSITION is nil).
+ (menu_item_enabled_p): If NOTREAL, always return t.
+
+ * xmenu.c (single_keymap_panes) [!USE_X_TOOLKIT]:
+ Append > to item_string if submenu.
+
+1994-03-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c [USE_X_TOOLKIT]: Display submenus in Xt style.
+ (menu_items): Record where submenus start and end.
+ (menu_items_submenu_depth): New variable.
+ (init_menu_items): Init it.
+ (push_submenu_start, push_submenu_end): New functions.
+ (grow_menu_items): New function.
+ (push_menu_pane, push_menu_item): Use it.
+ (push_menu_pane): Increment menu_items_n_panes only if depth is 0.
+ (single_keymap_panes) [USE_X_TOOLKIT]: Record submenus in menu_items.
+ (xmenu_show) [USE_X_TOOLKIT]: Give submenus to toolkit.
+
+ * xdisp.c (display_mode_line): Highlight partial-width mode lines
+ for a non-termcal frame.
+
+ * lisp.h (GLYPH_MODE_LINE_FACE): New macro.
+
+ * callproc.c: Don't kill remaining processes if child exits.
+ (call_process_exited): New variable.
+ (Fcall_process): Set it.
+ (call_process_cleanup): Test it.
+
+1994-03-09 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * window.c (Fselect_window): Undo previous minibuffer patch.
+ * callint.c (Fcall_interactively): Don't select an active minibuffer.
+
+1994-03-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (window_loop): Delete MULTI_FRAME
+ conditional within the loop, spuriously added in prev change.
+ Don't ignore invisible or iconified frames for GET_BUFFER_WINDOW;
+ instead, let Fnext_window skip them if appropriate.
+
+1994-03-08 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * window.c (Fselect_window): Don't select an inactive minibuffer.
+
+1994-03-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fdisplay_buffer): If pop_up_frames != 0,
+ consider just visible frames when looking for existing window.
+
+ * undo.c (syms_of_undo): staticpro pending_boundary.
+
+1994-03-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * process.c (send_process) [_PC_MAX_CANON]: Also test #ifdef
+ HAVE_FPATHCONF before trying to use fpathconf.
+ * config.h.in: Add #undef HAVE_FPATHCONF.
+
+ * term.c (term_get_fkeys_data): Variable removed.
+ (term_get_fkeys_define_1, term_get_fkeys_define): Functions removed.
+ (term_get_fkeys_address): New variable, to pass arg through
+ condition-case.
+ (term_get_fkeys): Set that to ADDRESS; just do condition-case
+ around call to term_get_fkeys_1, ignoring all errors.
+ (term_get_fkeys_1): New function, containing body of term_get_fkeys.
+ Don't use term_get_fkeys_define_1; call Fdefine_key directly.
+
+1994-03-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fprevious_window, Fnext_window): ALL_FRAMES = visible
+ means consider only visible frames.
+ (window_loop): Likewise for FRAMES.
+ (Fget_buffer_window, Fget_largest_window, Fget_lru_window): Doc fix.
+ (Fdelete_windows_on): Doc fix.
+
+ * frame.c (next_frame, prev_frame): If MINIBUF is `visible',
+ consider only visible frames.
+ (Fnext_frame, Fprevious_frame): Doc fix.
+ (syms_of_frame): Staticpro Qvisible.
+ * lisp.h (Qvisible): Declared.
+
+1994-03-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * indent.c (Fcompute_motion): New function.
+
+ * window.c (Fwindow_width): Doc fix.
+
+1994-03-07 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * doprnt.c (doprnt): Do the right thing for negative size spec.
+
+ * minibuf.c (temp_echo_area_glyphs): Use quit_char, not C-g.
+ (Fminibuffer_complete, Fminibuffer_complete_word): Doc fix.
+ (get_minibuffer): Make name buffer large enough.
+
+ * window.c (Fscroll_other_window): Doc fix.
+
+1994-03-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * alloc.c (mark_object): Add no-op cast.
+
+ * eval.c (error): Use doprnt. Make buffer larger as necessary.
+
+ * casefiddle.c (operate_on_word): Don't move point; store in *NEWPOINT.
+ (Fupcase_word, Fdowncase_word, Fcapitalize_word):
+ Set point after changing case. Rename opoint to beg.
+
+ * undo.c (pending_boundary): New variable.
+ (syms_of_undo): Initialize it.
+ (Fundo_boundary): Use pending_boundary.
+ (record_insert, record_delete, record_property_change):
+ Set pending_boundary.
+
+1994-03-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * vmsproc.c: Include config.h, lisp.h, buffer.h, process.h, commands.h,
+ errno.h and file.h.
+ (write_to_vms_process): Change =- to -=.
+ (create_process): Set status field instead of obsolete flags field.
+ (child_sig): Likewise.
+
+ * emacs.c (shut_down_emacs): Set Vrun_hooks to nil.
+ * minibuf.c (read_minibuf): Don't call Vrun_hooks if it is nil.
+ * keyboard.c (command_loop_1, read_key_sequence, Fcommand_execute):
+ Don't call Vrun_hooks if it is nil.
+ * editfns.c (save_excursion_restore): Don't call Vrun_hooks if nil.
+ * buffer.c (Fkill_buffer, Fkill_all_local_variables):
+ Don't call Vrun_hooks if it is nil.
+
+ * fileio.c (Fdo_auto_save): Doc fix.
+
+ * lisp.h (ARRAY_MARK_FLAG): Define here.
+ * alloc.c (ARRAY_MARK_FLAG): Not here.
+
+1994-03-04 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Fix misplaced assignment of
+ last_point_position.
+
+1994-03-04 Paul Eggert (eggert@twinsun.com)
+
+ * data.c (isnan): New macro.
+ (float_arith_driver): min and max yield NaN if any argument is a NaN.
+
+1994-03-04 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (update_one_frame_psheets): Call EmacsFrameSetCharSize to
+ force the paned widget to resize to the right value.
+ (xmenu_show): No need to check a second time whether the mouse has
+ moved to another menu bar item. This slows down execution.
+
+ * widget.c (EmacsFrameSetCharSize): Don't call XtMakeResizeRequest. Use
+ XtVaSetValues for geometry management.
+
+1994-03-04 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * xmenu.c [USE_X_TOOLKIT] (xmenu_show): Pass display to
+ XtWindowToWidget.
+
+1994-03-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * search.c (skip_chars): Treat `-' as alias for space, if syntaxp.
+
+ * fileio.c (Finsert_file_contents): Pass del_range_1 two ends,
+ not a length.
+
+1994-03-03 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * process.h (chan_process): Don't specify size.
+
+1994-03-03 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fread_file_name): Do the right thing when
+ insert-default-directory is nil.
+ Allow for doubled dollar signs in dir when computing pos.
+
+ * commands.h: New variable last_point_position.
+ * keyboard.c (command_loop_1): Set it to the value of point.
+ * undo.c (record_delete): Save this value in the undo record,
+ rather than the current value of point.)
+
+ * buffer.c (Fget_file_buffer): Doc fix.
+
+ * s/aix3-2.h (C_SWITCH_SYSTEM): Increase maxmem when using IBM's
+ compiler.
+
+1994-03-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (chan_process, Vprocess_alist): No longer static.
+ * process.h (chan_process, Vprocess_alist): Declared.
+
+ * puresize.h (PURESIZE) [MULTI_FRAME]: Incremented to 230000.
+
+ * minibuf.c (Fdisplay_completion_list): Restore original buffer
+ before running completion-setup-hook.
+
+ * frame.c (Fdelete_frame): Don't initialize a Lisp_Object.
+ Clean up line breaks.
+
+ * process.c: Include unistd.h.
+ (pty_max_bytes): New variable.
+ (send_process): Send an eof after each pty_max_bytes bytes.
+
+ * keyboard.c (menu_bar_items): When moving an item to the end,
+ shift all the following ones forward one slot.
+
+1994-03-02 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_list_fonts): Avoid confused increment of info.
+
+ * syntax.c (Fforward_comment): Do the right thing at eob.
+
+1994-03-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (menu_bar_items): Accept old vector as arg.
+ Return a vector.
+ (menu_bar_one_keymap, menu_bar_item): Associated changes.
+ (make_lispy_event): Use FRAME_MENU_BAR_LINES as vector.
+ * frame.c (make_frame): Init menu_bar_items field to 0.
+ * xdisp.c (update_menu_bar): Change call to menu_bar_items.
+ (display_menu_bar): Use FRAME_MENU_BAR_LINES as vector.
+ * xmenu.c (map_event_to_object, set_frame_menubar):
+ Use FRAME_MENU_BAR_LINES as vector.
+
+1994-03-01 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * s/aix3-2.h: Use -g with the native compiler.
+ * s/aix3-2-5.h: New file. Use -O with the native compiler.
+
+1994-03-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * lisp.h (struct handler): New field chosen_clause.
+ * eval.c (Fsignal): Record the clause in chosen_clause.
+ (Fcondition_case, internal_condition_case): Look there.
+ (internal_condition_case_1): Look there.
+
+ * fileio.c (Finsert_file_contents): If undo_list was t, leave it t.
+
+ * alloc.c (memory_signal_data): No longer static.
+ (syms_of_alloc): Stick Qerror onto memory_signal_data.
+ * lisp.h (memory_signal_data): Declare it.
+ * eval.c (Fsignal): If DATA is memory_signal_data, don't add to it.
+
+1994-02-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * alloc.c (memory_full): Use new variable memory_signal_data with
+ precomputed value instead of trying to build it after memory is
+ already exhausted.
+
+1994-02-28 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
+
+ * xmenu.c (xmenu_show): Test XtWindowToWidget before inserting into
+ the event_queue.
+
+ * xterm.c (XTread_socket): For case ClientMessage and
+ Xatom_wm_delete_window, use x_any_window_to_frame.
+
+1994-02-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sol2-3.h (LD_SWITCH_SYSTEM): New definitions, with #undef.
+
+ * insdel.c (del_range_1): New function.
+ (del_range): Use it.
+ * fileio.c (Finsert_file_contents): Use del_range_1.
+
+1994-02-26 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * keyboard.c (Fsuspend_emacs): New variable cannot-suspend forces
+ a subshell even if the system seems to support job control.
+ * sysdep.c (sys_subshell): New function, split from sys_suspend.
+
+1994-02-25 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * window.c (Fset_window_configuration): Allow for menu-bar-lines
+ to have changed since the configuration was created.
+
+1994-02-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Vsystem_key_alist): Renamed from Vvendor_key_alist.
+ (syms_of_keyboard): Rename Lisp var to system-key-alist.
+
+1994-02-25 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * buffer.h (OVERLAY_POSITION): Don't check which buffer it points to.
+
+ * lisp.h: Delete extra backslash on last line of macro.
+
+ * xdisp.c (display_text_line): Allow for invisible overlays in
+ next_invisible lookahead.
+ * indent.c (compute_motion): Likewise.
+
+1994-02-25 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * widget.c (EmacsFrameSetCharSize): Set coordinates values to the
+ toplevel widget.
+
+ * xterm.c (XTread_socket): For case ConfigureNotify, call
+ x_any_window_to_frame.
+ [USE_X_TOOLKIT]: Call XTranslateCoordinates for case ConfigureNotify
+ when send_event is 0 and when the event is relative to toplevel widget.
+
+ * widget.c (EmacsFrameSetCharSize): Call check_frame_size and update
+ vertical_scroll_bar_extra.
+ Call SET_FRAME_GARBAGED.
+
+1994-02-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * lread.c (Fload): Cast the args to stat.
+
+1994-02-24 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xdisp.c (try_window): Add #ifdef USE_TEXT_PROPERTIES around call
+ to Fget_text_property.
+
+ * textprop.c (Fget_char_property): New function.
+ * buffer.c (sort_overlays): Allow for null window.
+ * xdisp.c (try_window, display_text_line): Use Fget_char_property
+ to test for invisibility.
+ * indent.c (compute_motion, vmotion): Likewise.
+ * dispnew.c (direct_output_forward_char): Likewise.
+
+1994-02-24 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_window): Call XChangeWindowAttributes with the standard
+ event set to make all these events reach the Emacs frame.
+
+1994-02-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (Fx_popup_menu): Allow t as position, meaning use mouse pos.
+
+ * fns.c (Fy_or_n_p): Use a popup menu if reached via mouse command.
+ (Fyes_or_no_p): Likewise.
+
+ * unexelf.c (ELF_BSS_SECTION_NAME): New macro (config.h may override).
+ (unexec): Use it.
+
+1994-02-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (Fkill_buffer): Call the Vkill_buffer_query_functions.
+ (syms_of_buffer): Make Lisp var for kill-buffer-query-functions.
+
+1994-02-22 Karl Heuer (kwzh@geech.gnu.ai.mit.edu)
+
+ * lisp.h: New variable Vdoc_directory.
+ * doc.c (get_doc_string, Snarf_documentation): Use it.
+ * callproc.c (syms_of_callproc, init_callproc_1): Initialize it.
+ * paths.h.in: Define PATH_DOC for default doc-directory.
+
+1994-02-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (make_lispy_movement, make_lispy_event):
+ In non-scrollbar mouse case, return coords in pixel units.
+
+ * frame.c (Fmouse_position): Convert to glyph units.
+
+ * xterm.c (construct_mouse_click): Don't convert to glyph units.
+ (XTmouse_position): Don't convert to glyph units.
+ * msdos.c (mouse_get_pos): Don't convert to glyph units.
+
+ * fileio.c (Finsert_file_contents): If REPLACE, always do lseek.
+ Exit main loop if INSERTED reaches TOTAL.
+
+1994-02-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (XTmouse_position): Use x_any_window_to_frame.
+
+1994-02-22 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
+
+ * emacs.c: Move extern declarations to top of file.
+
+1994-02-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (make_lispy_event): For menu bar event in USE_X_TOOLKIT
+ case, convert x position to glyphs after map_event_to_object.
+ Call window_from_coordinates later on.
+
+ * xmenu.c (menu_item_equiv_key): Cached equiv-key data is a sublist.
+ * keymap.c (get_keyelt): Cached equiv-key data is now a sublist.
+
+ * xterm.c (x_had_errors_p): New function.
+ (construct_menu_click): Move function after pixel_to_glyph_coords.
+
+ * xmenu.c: Most of file rewritten.
+ (menu_items, menu_items_*): New variables.
+ (MENU_ITEMS_*): New macros.
+ (init_menu_items, discard_menu_items, push_menu_pane, push_menu_item)
+ (finish_menu_items): New functions.
+ (menu_item_enabled_p): New function.
+ (keymap_panes, single_keymap_panes): Major rewrite; most args changed.
+ (list_of_panes, list_of_items): Major rewrite; most args changed.
+ (Fx_popup_menu): Major rewrite. Now independent of display mechanism.
+ No more conditionals here.
+ (set_menu_items, free_menu_items): Functions deleted.
+ (xmenu_show): Both versions rewritten to work from menu_items
+ and to do all the conditionalized things that were in Fx_popup_menu.
+ (unread_menu_bar_button, other_menu_bar_item_p): New functions.
+ (check_mouse_other_menu_bar): New function.
+
+ * xterm.c [!USE_X_TOOLKIT] (x_any_window_to_frame):
+ Define as x_window_to_frame.
+
+1994-02-20 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * unexsunos4.c: Move config.h after system includes.
+
+ * syswait.h [BSD]: #undef WCOREDUMP before defining it.
+
+1994-02-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * frame.c (Fframe_visible_p): Do FRAME_SAMPLE_VISIBILITY first.
+
+ * xterm.c (XTread_socket--cases KeyPress, EnterNotify, LeaveNotify)
+ (cases FocusIn, FocusOut): Use x_any_window_to_frame.
+
+ * xfns.c (x_window_to_frame): Add parens for clarity.
+
+ * xmenu.c: Find and display keyboard equivalents of menu items.
+ (menu_item_equiv_key): New function.
+ (single_keymap_panes): Call it. Properly skip help-string if any.
+ Rename item2 to item_string.
+ GCPRO some things.
+ (menu_item_equiv_key): Use either VECTORP or STRINGP, not both.
+
+ * keymap.c (get_keyelt): Discard keyboard equivalents stored in a
+ menu keymap element.
+
+1994-02-18 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * widget.c (get_default_char_pixel_size): Clean up code.
+ Remove code inside #if 0 directive.
+
+ * xmenu.c (popup_selection_callback): Clean up code. Remove code inside
+ #if 0 directive.
+ (popup_down_callback): Likewise.
+
+1994-02-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (restore_point_unwind): New function.
+ (Finsert_file_contents): In REPLACE case, set point and restore it.
+
+ * gnu.h (gnu_bits): Use unsigned char.
+
+ * bitmaps/*.xbm: Use unsigned char, not char.
+
+ * window.c (unshow_buffer): Unconditionally set last_window_start.
+
+1994-02-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fdelete_other_windows): Don't call Frecenter;
+ do it by hand and avoid setting w->force_start.
+
+ * xterm.c (dumpglyphs): Try various alternatives for foreground color
+ of a glyph with the cursor on it.
+
+ * dosfns.c, msdos.c, widget.c: Use <...> for config.h.
+
+ * fileio.c (Finsert_file_contents): New arg REPLACE.
+ New feature to replace buffer contents with file contents.
+
+1994-02-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * systty.h (EMACS_TTY_TABS_OK): Alternate definition if no TABDLY.
+
+ * s/bsd4-2.h, s/dgux.h, s/rtu.h, s/umax.h (BSD_PGRPS): Defined.
+ * s/netbsd.h, s/bsd386.h (BSD_PGRPS): Add #undef.
+ * sysdep.c (init_sys_modes, reset_sys_modes): Test BSD_PGRPS.
+ (narrow_foreground_group, widen_foreground_group): Define if BSD_PGRPS.
+
+ * sysdep.c (child_setup_tty): Use IUCLC, OLCUC, NLDLY only if defined.
+
+ * emacs.c (main): Test BSD_PGRPS, not BSD.
+
+ * s/netbsd.h (TAB3): Defined.
+ (NEED_ERRNO, NO_TERMIO, HAVE_TERMIOS, HAVE_UNION_WAIT): Defined.
+
+ * sysdep.c (init_sys_modes): IEXTEN is in c_lflag, not c_iflag.
+
+ * unexmips.c (unexec): Add cast to result of `sbrk'.
+
+1994-02-15 Chris Hanson (cph@klia.ai.mit.edu)
+
+ * s/newsos5.h: Include usg5-4.h.
+ (LIBS_SYSTEM, LINKER, START_FILES, LIB_STANDARD):
+ Definitions moved here.
+
+ * m/news-risc.h [NEWSOS5] (C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH)
+ (LD_SWITCH_MACHINE): Definitions moved here.
+
+ * m/mips.h: NEWSOS5 conditional deleted.
+ [NEWSOS5] (START_FILES, LIB_STANDARD, C_DEBUG_SWITCH)
+ (C_OPTIMIZE_SWITCH, LD_SWITCH_MACHINE): Definitions moved away.
+
+1994-02-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_parse_geometry): Don't call check_x.
+
+ * sysdep.c (sys_write): If any bytes were written, return how many.
+
+ * xterm.c (XTread_socket): Do not assume that select returning
+ immediately with no events implies a hangup.
+
+1994-02-14 Karl Heuer (kwzh@geech.gnu.ai.mit.edu)
+
+ * xterm.h (check_x): Declare it.
+ * xfns.c (check_x): Make it global.
+ (Fx_parse_geometry, Fx_list_fonts, Fx_close_current_connection):
+ call check_x.
+
+ * xmenu.c (Fx_popup_menu): Likewise.
+ * xselect.c (Fx_own_selection_internal, Fx_get_selection_internal,
+ Fx_disown_selection_internal, Fx_rotate_cut_buffers_internal,
+ Fx_selection_exists_p, Fx_get_cut_buffer_internal,
+ Fx_store_cut_buffer_internal, Fx_selection_owner_p): Likewise.
+
+ * indent.c (indented_beyond_p): New function.
+ (compute_motion, vmotion): Use it to treat blank lines specially
+ in selective display.
+ * xdisp.c (try_window_id, display_text_line): Likewise.
+
+1994-02-13 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * s/netbsd.h (BROKEN_START, TEXT_START): Don't define.
+ (HAVE_TEXT_START): Define this instead.
+ * sysdep.c (start_of_text): Don't define #ifdef HAVE_TEXT_START.
+
+1994-02-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (decode_mode_spec): Support %+.
+
+ * keyboard.c (command_loop_1):
+ On entry, set last_command to this_command.
+
+ * term.c (term_init): If no `se', use `me';
+ if no `me' either, don't use standout mode at all.
+
+1994-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile.in.in (${libsrc}make-docfile): Don't pass ../arch-lib
+ as target to submake.
+
+1994-02-11 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
+
+ * sysdep.c [USG]: Fix conditional includes.
+
+ * m/convex.h, m/ibmps2-aix.h, m/ibmrs6000.h, m/tekxd88.h,
+ s/386bsd.h, s/bsd386.h, s/dgux.h, s/irix3-3.h, s/linux.h,
+ s/netbsd.h, s/usg5-4.h: Delete HAVE_SETSID; configure checks for
+ that.
+
+ * xrdb.c (gethomedir): Look at LOGNAME before USER.
+
+ * editfns.c (Fuser_real_login_name): Doc fix.
+
+1994-02-11 Paul Eggert (eggert@twinsun.com)
+
+ * editfns.c (init_editfns): Look at LOGNAME before USER.
+ * fileio.c (Fsubstitute_in_file_name): Remove long-dead code
+ that looked at USER before LOGNAME.
+
+1994-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (syms_of_buffer): Doc fix.
+
+ * xdisp.c (decode_mode_spec): Implement `P'.
+
+1994-02-11 Charles Hannum (mycroft@duality.gnu.ai.mit.edu)
+
+ * s/netbsd.h (KERNEL_FILE, LDAV_SYMBOL): Undefine and leave them
+ that way.
+ (LIBS_TERMCAP): Define. Native libtermcap is better than the Emacs
+ version, and knows the correct path.
+ (N_PAGSIZ, N_BSSADDR, N_TRELOFF): Don't redefine if they already
+ exist (i.e. under NetBSD >0.9).
+
+1994-02-11 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * s/netbsd.h (SYSV_SYSTEM_DIR): Define.
+ (BROKEN_START, TEXT_START, START_FILES, UNEXEC, RUN_TIME_REMAP):
+ Define to use unexsunos4.
+ (N_PAGSIZ, N_BSSSADDR, N_TRELOFF): Define so unexsunos4.c compiles.
+
+1994-02-11 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_set_menu_bar_lines) [USE_X_TOOLKIT]: Dont Call
+ XtDestroyWidget but free_frame_menubar.
+ Undo previous changes.
+ * xterm.c (x_destroy_window) [USE_X_TOOLKIT]: Call free_frame_menubar.
+ * xmenu.c (free_frame_menubar) [USE_X_TOOLKIT]: New function to destroy
+ the X Widget instance of the menubar.
+
+ * widget.c (EmacsFrameResize): Don't call XTranslateCoordinates. Code
+ removed.
+
+ * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Return Qnil when val is null.
+
+1994-02-11 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fexecute_extended_command): Copy this_command_keys
+ as a vector, not a string.
+
+1994-02-10 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Add a DEFVAR for command-hook-internal.
+ (command_loop_1): Use it for post-command-hook.
+
+1994-02-10 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * process.c (sys_siglist): Protect decl with #ifndef
+ SYS_SIGLIST_DECLARED.
+ * config.h.in: Add #undef SYS_SIGLIST_DECLARED.
+
+1994-02-10 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
+
+ * lread.c (read_filtered_event): Retry read_char after a buffer change.
+ * keyboard.c (read_char, read_char_minibuf_menu_prompt,
+ read_key_sequence): Likewise.
+
+ * dispnew.c (buffer_posn_from_coords): Take hscroll into account.
+ * window.c (Fpos_visible_in_window_p): Likewise.
+
+ * editfns.c (Fmessage): Copy the text to be displayed into a
+ malloc'd buffer.
+
+1994-02-10 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xmenu_show): Test again event.xmotion.x_root in the
+ MotionNotify case.
+
+1994-02-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * vmsdir.h: File renamed from dir.h.
+ * ndir.h, fileio.c: Use new name vmsdir.h.
+
+1994-02-09 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
+
+ * alloc.c (Fgarbage_collect): Save and restore echo_area_glyphs_length.
+ * fileio.c (Fdo_auto_save): Likewise.
+
+ * buffer.c (Fkill_all_local_variables): Run change-major-mode-hook.
+
+ * xterm.c (x_display_cursor, process_expose_from_menu): Block input.
+
+ * editfns.c (difftm): Simplify return expression.
+
+ * m/news.h (CRT0_DUMMIES): Definition deleted.
+
+ * alloc.c (mark_object): Fetch obj from *objptr at loop, not at
+ the gotos.
+
+1994-02-09 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * Implement a Motif behavior for the menubar. Now, if you move the
+ pointer on another menubar item while displaying the contents of a
+ selected menubar item, the current pulldown menu is closed and the new
+ one corresponding to the new pointed item is displayed.
+ * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Clean up code.
+ Handle the MotionNotify events in the XEvent loop.
+
+1994-02-08 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
+
+ * xfaces.c (compute_char_face): Extract overlay-sorting code as a
+ separate function, which is now in buffer.c.
+ * buffer.c (sort_overlays): New function, extracted from xfaces.c.
+
+1994-02-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * print.c (print): If print_escapes_newlines, print '\f' as "\\f".
+ (syms_of_print): Update docstring.
+
+1994-02-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (Fprocess_kill_without_query): Doc fix.
+
+1994-02-07 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_make_frame_invisible): Add USE_X_TOOLKIT conditional.
+
+1994-02-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_set_window_size): New arg CHANGE_GRAVITY.
+ (x_new_font): Pass CHANGE_GRAVITY arg to x_set_window_size.
+ (x_wm_set_size_hint): New arg CHANGE_GRAVITY.
+ (x_set_offset, x_set_window_size):
+ Pass CHANGE_GRAVITY arg to x_set_window_size.
+ * xfns.c (x_set_internal_border_width, x_set_vertical_scroll_bars):
+ Pass CHANGE_GRAVITY arg to x_set_window_size.
+ (Fx_create_frame): Pass CHANGE_GRAVITY arg to x_wm_set_size_hint.
+ * frame.c (Fset_frame_height, Fset_frame_width, Fset_frame_size):
+ Pass CHANGE_GRAVITY arg to x_set_window_size.
+
+ * frame.c (other_visible_frames):
+ New function; code taken from Fdelete_frame.
+ (Fdelete_frame): Use it.
+ (Fmake_frame_invisible): Use it. New arg FORCE.
+ * xfns.c (x_set_visibility): Pass new arg to Fmake_frame_invisible.
+
+ * xdisp.c (fix_glyph): New function.
+ (display_text_line, display_string): Use fix_glyph.
+
+ * xfaces.c (init_frame_faces): Clear FRAME_N_COMPUTED_FACES
+ and FRAME_SIZE_COMPUTED_FACES.
+
+1994-02-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (copy_rope): Function deleted.
+ (copy_part_of_rope): Merge the glyph's face using compute_glyph_face.
+ Take frame as additional arg.
+ (display_text_line): Use copy_part_of_rope always, not copy_rope.
+ Pass the frame as arg.
+ (display_string): Likewise.
+
+ * xfaces.c (compute_glyph_face): New arg CURRENT_FACE
+ specifies face to merge with.
+
+ * emacs.c (main) [AIX]: Don't handle signal 20, 21 or 22.
+ Call signal 24 by name (SIGXCPU).
+
+ * eval.c (internal_condition_case_1): New function.
+ * lisp.h (internal_condition_case_1): Declared.
+ * keyboard.c (menu_bar_item): Use internal_condition_case_1.
+ (menu_bar_item_1): New function.
+ * xmenu.c (single_keymap_panes): Use internal_condition_case_1.
+ (single_keymap_panes_1): New function.
+
+1994-02-04 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
+
+ * intervals.c (verify_interval_modification): When checking
+ read-only, allow for the case that stickiness might be t instead
+ of a list.
+
+ * data.c (fmod): Implement it on systems where it's missing, using
+ drem if available.
+
+1994-02-04 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Remove the #if 0 directives
+ and reverse one to avoid the flickering of the menubar.
+
+1994-02-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (Fwhere_is_internal): Take just one keymap arg.
+ (where_is_string): Pass Voverriding_local_map for that arg.
+ * doc.c (Fsubstitute_command_keys): Pass keymap as that arg
+ to Fwhere_is_internal. Init keymap from Voverriding_local_map.
+
+1994-02-03 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
+
+ * intervals.c (merge_properties_sticky): Preserve original order
+ of properties.
+
+1994-02-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/hpux8.h (X_IO_BUG): Defined.
+
+ * fileio.c (Fwrite_region):
+ If FILENAME has no handler, see if VISIT has one.
+
+ * search.c (scan_buffer): New arg ALLOW_QUIT.
+ (find_next_newline): Pass new arg.
+ * xdisp.c (display_count_lines): Pass new arg to scan_buffer.
+ * syntax.c (find_defun_start): Pass new arg to scan_buffer.
+ * cmds.c (Fforward_line): Pass new arg to scan_buffer.
+
+1994-02-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Add X_IO_BUG conditional.
+
+ * xdisp.c (display_menu_bar): Pass explicit max arg to display_string.
+ (display_string): New arg OBEY_WINDOW_WIDTH. All callers changed.
+
+1994-02-02 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_iconify_frame): Fix misbalanced
+ BLOCK_INPUT/UNBLOCK_INPUT.
+
+ * xdisp.c (try_window_id): Don't pass value beyond ZV to
+ compute_motion.
+ * window.c (Fpos_visible_in_window_p): Return nil if POS > ZV.
+
+ * sysdep.c (get_system_name): Remove restriction on hostname size.
+ * lisp.h (get_system_name): Declared.
+ * xterm.c (x_term_init): Use get_system_name instead of gethostname.
+ * xrdb.c (x_get_customization_string): Use get_system_name instead
+ of gethostname.
+
+1994-02-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_get_event): Pass 1 to read_avail_input.
+
+1994-02-01 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
+
+ * config.h.in (HAVE_FMOD): Add another #undef.
+ * data.c (Fmod): Use HAVE_FMOD.
+
+1994-02-01 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_set_menu_bar_lines): Test also menubar_widget before
+ calling XtDestroyWidget.
+
+1994-02-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (dumpglyphs): Don't crash for invalid face code.
+
+1994-01-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * undo.c (record_first_change): Check for buffer-undo-list = t.
+ Make an undo boundary if appropriate. Set last_undo_buffer.
+ (record_property_change): Use BUFFER, not current_buffer,
+ when testing undo_list.
+
+1994-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * widget.c: Don't declare arg types in decls or fn definitions.
+
+ * syntax.h (SYNTAX_MATCH, SYNTAX): Fix non-GNUC definitions.
+
+ * widget.h (EmacsFrameSetCharSize): Don't declare arg types.
+
+ * Makefile.in.in (configuration): Change # comment to C comment.
+
+1994-01-29 Karl Heuer (kwzh@mole.gnu.ai.mit.edu)
+
+ * keymap.c (currrent_minor_maps): Scale by sizeof when allocating
+ objects.
+
+ * buffer.c (Fkill_all_local_variables): Follow symbol forwarding.
+
+1994-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * callproc.c: Include stdio.h.
+ (init_callproc): Put non-ex-dir warnings on stderr.
+
+ * lread.c (init_lread): Put non-ex-dir warnings on stderr.
+
+1994-01-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * lread.c (init_lread): Put non-ex-dir warnings on stderr.
+ * callproc.c: Include stdio.h.
+ (init_callproc): Put non-ex-dir warnings on stderr.
+
+1994-01-28 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_set_window_size): Add USE_X_TOOLKIT conditional. Call
+ EmacsFrameSetCharSize and return.
+
+ * xterm.c (x_term_init): Cast to (char **) before assignment to argv.
+
+1994-01-27 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (make_lispy_event): Add USE_X_TOOLKIT conditional and
+ test FRAME_EXTERNAL_MENU_BAR.
+ (map_event_to_object) [USE_X_TOOLKIT]: Declare and use it.
+
+1994-01-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_set_mouse_position): Don't raise the frame.
+
+ * s/sunos4-0.h [__GNUC__] (MKDIR_PROTOTYPE): Defined.
+
+ * sysdep.c (mkdir): Use MKDIR_PROTOTYPE if defined.
+
+1994-01-26 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu)
+
+ * xterm.h [USE_X_TOOLKIT]: Don't include Xaw/Box.h.
+
+ * xdisp.c (update_menu_bar): Add USE_X_TOOLKIT conditional and test
+ FRAME_EXTERNAL_MENU_BAR.
+
+1994-01-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile.in.in (widgetobj): New variable.
+ (otherobj): Use widgetobj.
+ (XOBJ): Undo previous change.
+
+1994-01-25 Francesco Potorti` (pot@cnuce.cnr.it)
+
+ * m/delta.h (HAVE_BCOPY): undef'd for efficiency.
+ (bcopy, bzero, bcmp): define'd for efficiency.
+ (GAP_USE_BCOPY, BCOPY_DOWNWARD_SAFE): define'd for GHc compiler.
+
+1994-01-24 Francesco Potorti` (pot@cnuce.cnr.it)
+
+ * m/delta.h (HAVE_RANDOM, BROKEN_FIONREAD): Defined if X is used.
+ (HAVE_XSCREENNUMBEROFSCREEN): Defined if X is used.
+ (LIB_X11_LIB, LIBX11_SYSTEM): Override only if X is used.
+ (USG_SHARED_LIBRARIES): Undefine only if X is used.
+
+1994-01-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fns.c (Fconcat): Doc fix.
+
+1994-01-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Properly gcpro fkey_map while
+ using keytran_map.
+
+ * fns.c (Fassq, Fassoc): Doc fixes.
+
+ * data.c (Faset): Doc fix.
+
+1994-01-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (display_menu_bar): Add USE_X_TOOLKIT conditional.
+ (redisplay_window) [USE_X_TOOLKIT]: Test FRAME_EXTERNAL_MENU_BAR.
+ (update_menu_bar) [USE_X_TOOLKIT]: Call set_frame_menubar.
+
+ * widget.c: Include X11/ObjectP.h.
+
+ * keyboard.c (syms_of_keyboard): New Lisp var command-hook-internal.
+ (command_loop_1): Use it when running the command hooks.
+
+ * Makefile.in.in (LWLIB_OPTIONS): Define if not defined.
+ (LIBXT): New variable.
+ (LIBX): Use LIBXT.
+ (widget.o): New target.
+ (XOBJ) [USE_X_TOOLKIT]: Add widget.o.
+
+ * xmenu.c: Find lwlib.h and xlwmenuP.h in ../lwlib.
+ * xfns.c: Find lwlib.h in ../lwlib.
+
+ * widgetprv.h: Renamed from widgetP.h.
+
+ * Makefile.in.in (lwlibdir): New variable.
+ ($(OLDXMENU)) [USE_X_TOOLKIT]: Alternate rule.
+ (OLDXMENU) [USE_X_TOOLKIT]: Alternate value.
+ (really-lwlib): New rule.
+
+ * xterm.h [USE_X_TOOLKIT]: Include StringDefs.h, IntrinsicP.h,
+ CoreP.h, StringDefs.h, Xaw/Box.h.
+ * xterm.c: Don't include them.
+
+ * xrdb.c (search_magic_path): Fix logic testing for empty path element.
+
+1994-01-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_wm_set_size_hint): Swap southeast and northwest.
+
+ * xrdb.c (S_ISDIR): Define if not defined.
+ (file_p): Use S_ISDIR.
+
+ * xterm.c (XTupdate_end): No need to test updating_frame.
+ * term.c (update_end): Clear updating_frame before calling hook.
+
+ * fileio.c (double_dollars): New function.
+ (Fread_file_name_internal): Use double_dollars.
+ (Fread_file_name): Likewise.
+
+ * textprop.c (Fprevious_property_change): Move back at least 1 char.
+ (Fprevious_single_property_change): Likewise.
+ * textprop.c: Doc fixes.
+
+ * xfns.c (store_class_hints): Function deleted.
+
+ * intervals.c (graft_intervals_into_buffer): Fix one-off
+ comparing lengths of over and under.
+
+ * keyboard.c (read_key_sequence): Don't call echo_truncate
+ the first time through.
+
+1994-01-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sunos4-1-3.h: Add #undef SYSTEM_MALLOC.
+
+ * xfns.c (Fx_create_frame): Bind x-resource-name to explicit title.
+ (Qx_resource_name): Declared.
+ (syms_of_xfns): Set up Qx_resource_name.
+
+ * xmenu.c: Reshuffle functions; put new ones in #ifdef USE_X_TOOLKIT.
+ (Fx_popup_menu): Add USE_X_TOOLKIT conditional around new decls.
+
+ * xterm.c: Put new functions in #ifdef USE_X_TOOLKIT.
+
+ * xdisp.c (truncate_echo_area): New function.
+ * keyboard.c (echo_truncate): Call truncate_echo_area.
+
+1994-01-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * config.h.in: Add #undef for USE_X_TOOLKIT.
+
+ * xfns.c (x_window): Fix error message.
+
+1993-01-18 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
+
+ * Support use of X toolkit.
+ (USE_X_TOOLKIT): New macro to conditionalize the use of Xt.
+ * widget.c, widgetP.h, widget.h: New files.
+ * frame.h (struct frame): New field external_menu_bar.
+ (FRAME_EXTERNAL_MENU_BAR): New macro.
+ * xterm.h (struct x_display): New fields widget, column_widget,
+ edit_widget, menubar_widget.
+ (x_any_window_to_frame): Declared.
+ * lisp.h (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID):
+ New macros.
+ * xfns.c (x_any_window_to_frame): New function.
+ (x_window_to_frame, x_window): Handle USE_X_TOOLKIT.
+ (x_set_icon_type, x_set_menu_bar_lines, x_set_name): Likewise.
+ (store_class_hints, hack_wm_protocols): New function.
+ * xmenu.c (string_width): New function.
+ (event_is_in_menu_item, map_event_to_object): Likewise.
+ (set_menu_items, free_menu_items, popup_selection_callback): Likewise.
+ (popup_down_callback, free_menubar_widget_value_tree): Likewise.
+ (update_one_frame_psheets, set_frame_menubar): Likewise.
+ (Fx_popup_menu, xmenu_show): Handle USE_X_TOOLKIT.
+ * xterm.c (construct_mouse_click): New function.
+ (process_expose_from_menu): Likewise.
+ (XTread_socket, x_set_offset, x_set_window_size): Handle USE_X_TOOLKIT.
+ (x_raise_frame, x_lower_frame, x_make_frame_visible): Likewise.
+ (x_iconify_frame, x_destroy_window, x_wm_set_window_state): Likewise.
+ (x_term_init): Likewise.
+
+ * xmenu.c (dispatch_dummy_expose): New function.
+ (XMenu_xpos, XMenu_ypos): Change the values of the constant assignment.
+ (xmenu_show): Change the way to make the menubar to redraw itself by
+ generating a dummy expose event.
+
+ * xterm.c (x_term_init): Pass argv, argc to XtAppInitialize with the
+ display_name value.
+
+1994-01-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/linux.h: Don't include stdio.h.
+
+ * dispnew.c: Include stdio.h before config.h.
+
+ * emacs.c (init_cmdargs): Set Vinstallation_directory.
+ (syms_of_emacs): staticpro it.
+ * lisp.h (Vinstallation_directory): Declared.
+ * lread.c (init_lread): Use Vinstallation_directory.
+ * callproc.c (init_callproc): Use Vinstallation_directory.
+
+ * fileio.c (Ffile_symlink_p): Doc fix.
+
+ * keyboard.c (Voverriding_local_map): New variable.
+ (syms_of_keyboard): Set up Lisp variable.
+ (read_key_sequence, menu_bar_items): Handle Voverriding_local_map.
+
+ * keymap.c (Fkey_binding): Handle Voverriding_local_map.
+ (describe_buffer_bindings): Likewise.
+
+1994-01-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * config.h.in (LD_SWITCH_X_SITE_AUX): Add #undef.
+ * s/sol2.h (LD_SWITCH_SYSTEM): Use LD_SWITCH_X_SITE_AUX.
+
+ * floatfns.c (Fffloor, Ffceil, Ffround, Fftruncate): New functions.
+ (syms_of_floatfns): Turn them on.
+
+1994-01-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): If there's an error in the
+ post-command-hook or pre-command-hook, leave that hook nil.
+
+ * s/sco4.h (BSTRING): Don't define it here.
+
+1994-01-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile.in.in (xterm.o): Depends on syssignal.h.
+
+1994-01-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * sysdep.c (sys_siglist) [sun]: Additional Sun-specific signal names.
+
+1993-01-12 Thomas Horsley (tahorsley@csd.harris.com)
+
+ * cxux-crt0.s: New file.
+
+ * emacs.c (main) [USG5 and INTERRUPT_INPUT]: Call setpgrp.
+
+ * m/nh3000.h: New file for the Night Hawk 3000 series hardware defs.
+
+ * m/nh4000.h: New file for the Night Hawk 4000 & 5000 series hardware.
+
+ * s/cxux.h: New file for the CX/UX operating system used by Night
+ Hawks.
+
+ * s/cxux7.h: New file.
+
+ * sysdep.c (request_sigio, unrequest_sigio): Add new versions of
+ these routines for the CX/UX operating system.
+ (sys_signal) [SA_RESTART]: Set this flag.
+
+ * xterm.c: Include syssignal.h.
+
+1994-01-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (sigchld_handler, status_message):
+ Handle a NULL in sys_siglist.
+
+1994-01-11 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * buffer.c (syms_of_buffer): Don't do (put 'erase-buffer 'disabled t).
+ (keys_of_buffer): Do it here instead.
+
+1994-01-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * lread.c (Fload): Record descriptor numbers on load_descriptor_list.
+ (load_descriptor_unwind, close_load_descs): New function.
+ (syms_of_lread): Init and staticpro load_descriptor_list.
+ (init_lread): Clear load_descriptor_list.
+
+ * callproc.c (child_setup): Call close_load_descs.
+
+ * eval.c (Fcondition_case): Allow a list of condition names
+ in a handler.
+ (find_handler_clause): Likewise.
+ (Fsignal): Rename 1st arg to error_symbol.
+ (Fcondition_case): Doc fix.
+
+ * process.c (read_process_output): Supply second arg to unbind_to.
+ (exec_sentinel): Likewise.
+
+1994-01-11 (afs@hplb.hpl.hp.com)
+
+ * keyboard.c (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
+ New functions made by dividing up read_char_menu_prompt.
+ (read_char): Call read_char_minibuffer_menu_prompt before the sit_for
+ if X menus are not going to be used.
+ (read_char_minibuf_menu_prompt): Correct access to keymaps for
+ menus when not using X menus. Only store character read in a keyboard
+ macro if it is not the menu help character.
+
+1994-01-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (create_process): Set line discipline only if pty_flag.
+
+ * search.c (set_search_regs): New subroutine.
+ (search_buffer): Use set_search_regs.
+ Record beginning and end after matching null string.
+
+1994-01-09 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * mem-limits.h: Include <sys/types.h> before <sys/resource.h>.
+
+ * process.c: Don't declare sys_nerr. Don't declare sys_errlist
+ unless #ifdef VMS. Declare strerror instead.
+ (wait_reading_process_input): Call strerror instead of using
+ sys_errlist.
+
+1994-01-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_sync): Block input.
+
+ * buffer.h (struct buffer): New field auto_save_failure_time.
+
+ * fileio.c (Fdo_auto_save): If auto save times out,
+ don't try again for 20 minutes.
+ (Fclear_buffer_auto_save_failure): New function.
+ (Fset_buffer_auto_saved): Clear auto_save_failure_time.
+
+ * xfns.c (x_sync): New function.
+ * frame.c (Fdelete_frame): Call x_sync.
+
+1994-01-09 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * sysdep.c: Restore big block of #ifdef and #include lines for
+ fcntl.h and friends, apparently accidentally removed in revision
+ 1.70 (Jan 5 changes).
+
+1994-01-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * callproc.c (child_setup): Don't declare PID `register'; we later
+ take its address.
+
+ * config.h.in: Add #undef HAVE_STRERROR.
+ * sysdep.c [! VMS]: Don't declare sys_errlist here.
+ [! HAVE_STRERROR] (strerror): New function.
+ (dup2): Use strerror instead of sys_errlist.
+ * fileio.c: Don't declare sys_errlist; declare strerror instead.
+ (err_str): Macro removed.
+ (Finsert_file_contents, Fwrite_region): Call strerror instead of
+ err_str.
+ (report_file_error): Call strerror instead of using sys_errlist.
+ * emacs.c (main): Call strerror instead of using sys_errlist.
+ * callproc.c: Don't declare sys_errlist; declare strerror instead.
+ (relocate_fd): Call strerror instead of using sys_errlist.
+ * unexenix.c: Don't declare sys_errlist; declare strerror instead.
+ (fatal_unexec): Call strerror instead of using sys_errlist.
+ * unexmips.c: Likewise.
+
+1994-01-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * frame.c (Fdelete_frame): Do FRAME_SAMPLE_VISIBILITY before
+ testing visibility of a frame.
+
+ * emacs.c (main): Don't call setpgrp if !initialized.
+
+ * Makefile.in.in (${etc}DOC): Put back ${lisp} accidentally deleted.
+
+ * keymap.c (describe_map_tree): New arg NOMENU.
+ (describe_buffer_bindings): Pass new arg.
+ * doc.c (Fsubstitute_command_keys): Pass new arg to describe_map_tree.
+
+1994-01-08 Morten Welinder (terra@diku.dk)
+
+ * keyboard.c (interrupt_signal) [MSDOS]: write explicit CRs since
+ stdout has been made binary. Start at the top of the screen since
+ the internal terminal otherwise will write "below the screen."
+
+1994-01-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile.in.in (emacs): Don't run inc-vers.el.
+
+ * config.h.in: Handle HAVE_BCMP.
+ (BSTRING): Don't define unless HAVE_BCMP.
+
+1994-01-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/msdos.h (getppid): Define as macro.
+
+ * dired.c (DIRENTRY_NONEMPTY): New macro; two definitions.
+ (Fdirectory_files, file_name_completion): Use it.
+
+1993-01-05 Morten Welinder (terra@diku.dk)
+
+ * buffer.c, buffer.h [MSDOS]: New buffer-local variable:
+ buffer-file-type to handle DOS newlines.
+
+ * callproc.c (syms_of_callproc) [MSDOS]: New lisp variable:
+ binary-process.
+ (init_callproc) [MSDOS]: Initialize binary-process.
+ [MSDOS]: Declare binary-process.
+ [MSDOS]: Include <fcntl.h>, <sys/stat.h>, <sys/param.h>,
+ and <errno.h> needed for the next changes.
+ (Fcall_process) [MSDOS]: Create temporary file for process output.
+ Run the subprocess using `run_msdos_command' instead of forking.
+ Arrange for cleanup to erase temporary file.
+ (Fcall_process) [not subprocesses]: Barf if zero buffer argument.
+ (call_process_cleanup) [MSDOS]: Close and erase temporary file
+ instead of the pid-stuff.
+ (Fcall_process_region) [MSDOS]: Create temporary file in $TMP or
+ $TEMP.
+ (Fchild_setup) [MSDOS]: #if 0, as it is not used.
+
+ * cmds.c (keys_of_cmds) [MSDOS]: Chars 0200 to 0237 self-insert.
+
+ * data.c (Frem) [MSDOS]: use `fmod', not `drem'. Put in config.h?
+
+ * dired.c [MSDOS]: #include <dirent.h> instead of <sys/dir.h>. Avoid
+ some external definitions.
+ (Ffile_attributes) [MSDOS]: Set execute bits from file name.
+ (Ffile_name_all_completions) [FILE_SYSTEM_CASE]: Convert
+ case of file name as as indicated by conditional.
+
+ * emacs.c (main) [MSDOS]: Call init_environment. Set file types to
+ binary for all files. Call init_dosfns.
+ (fatal_error_signal) [MSDOS]: Uncomment sigblock.
+
+ * fileio.c [MSDOS]: #include "msdos.h" and <sys/param.h> needed for
+ the following changes.
+ (Ffile_name_directory, Fexpand_file_name) [FILE_SYSTEM_CASE]: Apply
+ case conversion if defined.
+ (Ffile_name_directory, Ffile_name_nondirectory, file_name_as_directory,
+ directory_file_name, Fexpand_file_name, Fsubstitute_in_file_name,
+ expand_and_dir_to_file) [MSDOS]: Drive letter support.
+ (Fexpand_file_name) [MSDOS]: Support for multiple default directories.
+ (Ffile_writeable_p) [MSDOS]: Don't call access with file name ending
+ in a slash.
+ (Finsert_file_contents) [MSDOS]: Determine file type by name (call
+ find-buffer-file-type) and change CR+LF to LF if it is a text file.
+ (Fwrite_region) [MSDOS]: Use text/binary mode as specified by
+ buffer_file_type.
+ (syms_of_fileio) [MSDOS]: Set Qfind_buffer_file_type.
+ (Fsubstitute_in_file_name) [MSDOS]: Ignore case in environtment
+ variable.
+
+ * floatfns.c [MSDOS]: Don't define HAVE_MATHERR.
+
+ * keyboard.c [MSDOS]: #include <dos.h> and <time.h>, but not
+ <sys/ioctl.h>.
+ (read_avail_input) [MSDOS]: Work around `ioctl'. Also read through
+ dos_keyread for better keyboard support.
+ (interrupt_signal) [MSDOS]: Don't claim we can core dump.
+ (kbd_buffer_store_event): Cast a pointer to avoid a compiler warning.
+
+ * lread.c [MSDOS]: Use text mode for all files but ".elc" files.
+ (complete_file_name) [MSDOS]: Drive letter support.
+
+ * mem-limits.h [MSDOS] (get_lim_data): Use go32 call.
+
+ * sysdep.c [MSDOS]: #include <dos.h>, "dosfns.h", "msdos.h", and
+ <sys/param.h> needed for the following changes, but not <sys/ioctl.h>
+ (discard_tty_input) [MSDOS]: Do it by reading till no more keys
+ available.
+ (init_baud_rate) [MSDOS]: Assume highest possible speed.
+ (sys_suspend) [MSDOS]: Save default directory. Call via system, not
+ via fork.
+ (emacs_get_tty, emacs_set_tty) [MSDOS]: Don't do anything.
+ (init_sys_modes) [MSDOS]: Use raw mode.
+ (get_frame_size) [MSDOS]: Get from bios.
+ (reset_sys_modes) [MSDOS]: Back to cooked mode.
+ (start_of_text) [MSDOS]: Reference _tstart.
+ (select) [MSDOS]: Don't use signals, use sleeping.
+ (init_sys_modes) [MSDOS]: Initialize internal terminal.
+
+ * systty.h [MSDOS]: don't #include <sgtty.h>. We haven't got it.
+ Declare dummy main field. Don't ever use TABs.
+
+ * termcap.c (tgetent) [INTERNAL_TERMINAL]: Fake internal terminal
+ without reading any files.
+ (valid_file_name, tgetent) [MSDOS]: Drive letter support.
+ (tgetent) [MSDOS]: Use text mode for database.
+
+ * unexec.c [MSDOS]: Don't #include <a.out.h>, but use other headers.
+ (make_hdr) [MSDOS]: Cast a pointer for bzero.
+ (write_segment) [EFAULT]: Check for before using.
+ (adjust_lnnoptrs) [MSDOS]: Use provided descriptor.
+ (adjust_lnnoptrs): Return 0 if ok.
+
+ * xdisp.c (decode_mode_spec) [MSDOS]: Let 't' expand to 'T' for
+ text mode or 'B' for binary mode.
+ (decode_mode_spec) [not subprocesses]: Don't access Fprocess_status.
+
+ * s/msdos.h, m/dos386.h: New files (for MSDOS).
+ * dosfns.c, dosfns.h: New files (for MSDOS).
+ * msdos.c, msdos.h: New files (for MSDOS).
+
+1994-01-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sunos4-1.h (SUNOS_LOCALTIME_BUG): #if 0'd.
+
+ * print.c (strout, printchar): Use proper frame for minibuffer.
+
+ * keyboard.c (read_avail_input): Args to `kill' were backwards.
+ (kbd_buffer_get_event): If deleting last frame, call Fkill_emacs.
+
+ * fns.c (Fmapconcat): Doc fix.
+
+ * s/sco4.h (bcopy, bzero, bcmp): Defined.
+
+1994-01-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_list_fonts): Don't fail to init `tail'.
+
+1994-01-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c: Don't include syntax.h.
+ * Makefile.in.in (buffer.o): Don't depend on syntax.h.
+
+ * syntax.h (enum syntaxcode): Add Sinherit.
+ (RAW_SYNTAX, RAW_SYNTAX_MATCH, SYNTAX_CHOOSE_TABLE): New macros.
+ (SYNTAX, SYNTAX_MATCH, SYNTAX_COMSTART_FIRST, SYNTAX_COMSTART_SECOND)
+ (SYNTAX_COMEND_FIRST, SYNTAX_COMEND_SECOND, SYNTAX_PREFIX)
+ (SYNTAX_COMMENT_STYLE): Handle Sinherit.
+ Alternative definitions if __GNUC__.
+
+ * syntax.c (describe_syntax): Handle Sinherit.
+ (syntax_code_spec, syntax_spec_code): Add entry for @ and Sinherit.
+
+ * Makefile.in.in (temacs): Delete redundant use of LDFLAGS.
+
+1994-01-02 Ulrich Mueller (ulm@vsnhd1.cern.ch)
+
+ * sysdep.c (get_system_name): If the official name of the host is
+ not a fully qualified domain name, then try to find one in the
+ list of alternate names.
+
+1994-01-02 Rick Sladkey (jrs@world.std.com)
+
+ * intervals.h (NULL_RIGHT_CHILD, NULL_LEFT_CHILD):
+ Assume children must be intervals, never strings or buffers.
+
+ * intervals.c (rotate_right, rotate_left): Simplify
+ total_length calculation. Minimize pointer dereferencing.
+ (balance_an_interval): Remove recursive rebalancing.
+ Rebalance precisely when imbalanced. If a rotation is done,
+ rebalance only the node which may have become unbalanced.
+ Iterate until the current node is balanced.
+ (balance_possible_root_interval): New function.
+ (balance_intervals): Move the interation into rebalance_an_interval.
+ (balance_intervals_internal): New subroutine of balance_intervals.
+ (split_interval_right, split_interval_left): Speed up by
+ not checking LEAF_INTERVAL_P.
+ (split_interval_right, split_interval_left, find_interval,
+ adjust_intervals_for_insertion, graft_intervals_into_buffer):
+ Add dynamic rebalancing anywhere a node may become unbalanced.
+ (graft_intervals_into_buffer, copy_intervals): No longer
+ any need to do a full rebalance as the tree stays balanced.
+
+1994-01-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fwrite_region): Don't change START and END from nil
+ until after checking for a magic handler.
+
+ * .gdbinit: Delete `show env TERMCAP'.
+
+ * process.c (read_process_output): Use clip_to_bounds when moving
+ to the process marker.
+
+ * keyboard.c (modify_event_symbol): New arg NAME_ALIST.
+ Allow SYMBOL_TABLE to be an alist.
+ (Vvendor_key_alist): New variable.
+ (syms_of_keyboard): Initialize it.
+ (make_lispy_event): Handle vendor-specific keysyms.
+ (lispy_function_keys): Delete `remove' and th HP keysyms.
+
+ * xterm.c (XTread_socket): temp_buffer and temp_index deleted.
+ Put all vendor-specific keys into the buffer.
+ (x_is_vendor_fkey): Function deleted.
+ (XTread_socket): Don't call it.
+
+ * Makefile.in.in (SOME_MACHINE_OBJECTS): New var.
+ (${etc}DOC): Use SOME_MACHINE_OBJECTS,
+ not OBJECTS_MACHINE or OBJECTS_SYSTEM.
+ Don't depend on SOME_MACHINE_OBJECTS.
+
+ * dired.c (file_name_completion_stat): If have symlinks, use lstat.
+
+1993-12-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (Qget_file_buffer): New variable.
+ (syms_of_buffer): Set up Qget_file_buffer.
+ (Fget_file_buffer): For magic file names, run the handler.
+
+ * fileio.c (Finsert_file_contents): Don't run after change hook
+ if inserted is 0.
+ Avoid setting modtime or buffer-file-name field if ran a handler.
+
+ jrs:
+ * s/linux.h (PENDING_OUTPUT_COUNT): Two alternate definitions
+ for different versions of stdio.h.
+
+1993-12-30 Morten Welinder (terra@diku.dk)
+
+ * frame.c: Always include termhooks.h.
+ [! MULTI_FRAME] (Fmouse_position): New definition.
+ [! MULTI_FRAME] (syms_of_frame): Add mouse-position.
+
+1993-12-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * doc.c (Fsubstitute_command_keys): Fix previous change.
+
+1993-12-30 Lawrence R. Dodd (dodd@roebling.poly.edu)
+
+ * minibuf.c (read_from_minibuffer): Rename arg initial_input
+ to initial_contents.
+
+1993-12-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * editfns.c (Femacs_pid): New function.
+ (syms_of_editfns): Define it for Lisp.
+
+ * keyboard.c (read_avail_input): Turn O_NDELAY off on DGUX as on USG.
+
+ * minibuf.c (Fall_completions): Allow completions that start with space
+ if the input starts with space.
+
+ * Makefile.in.in (LDFLAGS): Define as empty.
+ (ALL_LDFLAGS): Define as LDFLAGS used to be defined.
+ (temacs): Use ALL_LDFLAGS.
+
+ * xfns.c (Fx_create_frame): Add to Vframe_list before making visible.
+
+1993-12-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (describe_command): If binding is a kbd macro, say so.
+
+1993-12-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (main) [AIX]: Call putenv.
+
+ * s/linux.h (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Defined.
+
+ * keyboard.c (lispy_accent_codes): Cope if an XK symbol is undefined.
+ (make_lispy_event): Define i.
+
+ * termhooks.h (struct input_event): FIx typo in previous change.
+
+ * xterm.c (XTflash): Use EMACS_GET_TIME.
+ (XTread_socket): Make proper junk values to pass to select.
+
+1993-12-25 Jerry Frain (jerry.frain@tivoli.com)
+
+ * s/usg5-4.h (bcopy): Use memmove instead of memcpy.
+
+ * systime.h (EMACS_GET_TIME) [USG5_4]: Give gettimeofday just one arg.
+
+1993-12-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * alloc.c (Fmemory_limit): No longer interactive.
+
+1993-12-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Test of whether disp tab elt
+ was a vector was backwards.
+
+ * fileio.c (Fwrite_region): If handler, don't mess with modtime.
+ (Finsert_file_contents): Likewise.
+
+ * config.h.in: Add #undef HAVE_SETSID.
+
+ * process.c (create_process) [NTTYDISC]: Set the tty line discipline.
+
+ * callproc.c: Include systty.h.
+ (child_setup): Use EMACS_SET_TTY_PGRP.
+ * Makefile.in.in (callproc.o): Depend on systty.h and syssignal.h.
+
+ * xdisp.c (redisplay_window): Before altering lpoint,
+ make sure the buffer it pertains to is the one being displayed.
+
+ * syntax.c (Fmodify_syntax_entry): Doc fix.
+
+1993-12-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (Fopen_network_stream): Turn off SIGIO while connecting.
+
+1993-12-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (lispy_accent_codes): New variable.
+ (make_lispy_event): Use that to handle lots of dead accent keys.
+
+ * xterm.c (XTread_socket): Handle a bunch more dead keys.
+
+1993-12-22 Francesco Potorti` (pot@cnuce.cnr.it)
+
+ * m/delta.h (BROKEN_CLOSEDIR): added because closedir is interruptible.
+ (HAVE_UNISTD_H): deleted because configure takes care of it.
+ (C_SWITCH_MACHINE): added optimisation options for gnu cc.
+
+1993-12-17 Mike Long (mike.long@analog.com)
+
+ * s/vms.h (TERMCAP_NAME): Defined.
+ * s/netbsd.h (TERMCAP_NAME): Defined.
+ These correspond with changes in termcap.c.
+
+1993-12-17 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Don't offset keysym here.
+ Special handling for "dead accent" keysyms.
+ * keyboard.c (make_lispy_event): Offset the event code here.
+ Special handling for "dead accent" keysyms.
+
+ * keyboard.c (quit_throw_to_read_char): Don't switch frames if
+ internal_last_event_frame is not a frame.
+
+ * termhooks.h (struct input_event): `code' is now an int.
+ * xterm.c (construct_mouse_click, x_scroll_bar_handle_click)
+ (XTread_socket): `code' of an event is now an int.
+ * keyboard.c (kbd_buffer_store_event, make_lispy_event)
+ (stuff_buffered_input): `code' of an event is now an int.
+
+ * s/sol2-3.h: New file.
+ * xfns.c (Fx_list_fonts): Handle BROKEN_XLISTFONTSWITHINFO.
+
+1993-12-16 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * xterm.c (pixel_to_glyph_coords): New arg NOCLIP. Callers changed.
+
+ * keyboard.c (make_lispy_movement): If we have a frame but pos is not
+ in a window, return an event with the frame.
+
+ * xterm.c (XTread_socket): For MotionNotify, if x_mouse_grabbed,
+ use last_mouse_frame.
+ (construct_mouse_click): Set last_mouse_frame.
+ (XTmouse_position): If x_mouse_grabbed, use last_mouse_frame.
+
+ * xdisp.c (message): Use message2, not message1.
+
+1993-12-15 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * xfns.c (Fx_create_frame): Add frame to Vframe_list.
+ * frame.c (make_terminal_frame): Add frame to Vframe_list.
+ (make_frame): Don't add to frame list here.
+
+ * window.c (Fdisplay_buffer): If pop_up_frames, pass t to
+ Fget_buffer_window.
+
+ * Makefile.in.in (configuration): New variable.
+ (emacs.o): Define macro CONFIGURATION.
+ * emacs.c (syms_of_emacs): Define Lisp var system-configuration.
+
+ * xdisp.c (display_string): Fix truncation-criterion after main loop
+ for termination due to LENGTH.
+ * window.h (echo_area_glyphs_length): Declared.
+ * print.c (printchar, strout): Set echo_area_glyphs_length.
+
+ * keyboard.c (read_key_sequence): Don't return if in middle
+ of possible function-key-map sequence, if the bindings were all
+ found by case conversion.
+
+ * lisp.h: Use WORDS_BIG_ENDIAN, not BIG_ENDIAN.
+ (Qmenu_bar): Declared.
+
+ * process.c (Fprocess_status): Use get_process, not Fget_process.
+
+ * s/dgux.h (SYSTEM_TYPE): Make it dgux.
+
+ * m/sun2.h (OTHER_FILES): Use ${libsrc} as dir.
+
+1993-12-15 Michal Jankowski (michalj@fuw.edu.pl)
+
+ * insdel.c (del_range): Second argument in call to
+ offset_intervals is 'from', not 'point'.
+
+1993-12-14 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * emacs.c (memory_warning_signal): New function.
+ (main): Handle SIGDANGER, if defined.
+
+ * minibuf.c (minibuffer_auto_raise): Really define it.
+
+ * process.c [BROKEN_O_NONBLOCK]: Undefine O_NONBLOCK.
+
+1993-12-14 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * dispnew.c (update_frame): Only call sleep (outq / baud_rate) if
+ baud_rate >= OUTQ. Calling sleep (0) causes a gratuitous delay on
+ some systems.
+
+1993-12-13 Andreas Luik (luik@kepler.isa.de)
+
+ * xterm.c (x_calc_absolute_position): Borderwidth must be doubled
+ before subtracting from width to get correct value.
+
+ * xfns.c (Fx_create_frame): Fix order of arguments of
+ x_wm_set_size_hint call. This corrects handling of +x-y and -x+y
+ geometry specifications.
+
+1993-12-12 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * xdisp.c (echo_area_glyphs_length): New variable.
+ (message1): Set it.
+ (message2): New function.
+ (display_string): New arg LENGTH.
+ (echo_area_display): Pass new arg to display_string.
+ (redisplay_window): Likewise.
+ (display_text_line): Likewise.
+ (display_menu_bar): Likewise.
+ (display_mode_element):
+
+ * editfns.c (Fmessage): Use message2.
+
+ * keyboard.c (set_waiting_for_input): Code testing echo_flag deleted.
+ (echo_flag, echo_now): Vars deleted.
+
+ * keyboard.c (read_key_sequence): Bind case_converted at top level.
+ Clear it at replay_sequence.
+ (follow_key): Never clear *CASE_CONVERTED.
+
+1993-12-11 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * xselect.c (x_get_foreign_selection): Use x_catch_errors.
+
+ * fileio.c (Fmake_symbolic_link): Do expand FILENAME if starts with ~.
+
+ * keymap.c (Fwhere_is_internal): Doc fix.
+
+ * buffer.c (Fbuffer_disable_undo): Make arg optional.
+
+1993-12-11 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * unexsunos4.c [! MAP_FILE] (MAP_FILE): Define to zero.
+ (unexec): Remove unused variable BUF.
+ Use MAP_FILE bit in mmap call.
+ (run_time_remap): Use MAP_FILE bit in mmap call.
+
+1993-12-09 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * insdel.c (modify_region): Call record_first_change if necessary.
+
+ * emacs.c (main): Don't handle SIGDANGER.
+
+ * minibuf.c (minibuffer_auto_raise): New variable.
+ (syms_of_minibuf): Set up Lisp var.
+ (read_minibuf): Maybe raise the minibuffer's frame.
+
+1993-12-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * dispnew.c (PENDING_OUTPUT_COUNT) [__GNU_LIBRARY__]: Alternate
+ definition for the GNU C library. I changed this in version 18 in
+ 1991, but the change never got propagated.
+
+1993-12-07 (pmr@legacy.pajato.com)
+
+ * s/dgux.h (SYSV4_PTYS): Remove.
+ (SIGNALS_VIA_CHARACTERS): Defined.
+
+ * process.c (create_process): Delete SYSV4_PTYS code.
+ (deactivate_process): Likewise.
+
+1993-12-06 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * doc.c (Fsubstitute_command_keys): Ignore menu bar bindings.
+
+ * s/sunos4-1.h (LIBS_SYSTEM): Use -lresolv if HAVE_RES_INIT
+ is not defined and HAVE_GETHOSTNAME is defined.
+
+ * keyboard.c (syms_of_keyboard): Define Lisp var track-mouse.
+
+ * keyboard.c (follow_key): New arg case_converted.
+ (read_key_sequence): Pass the new arg.
+ If key has a binding via case-conversion, that does not prevent
+ use of function_key_map.
+
+1993-12-05 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * m/pmax.h (SET_CHILD_PTY_PGRP): Defined.
+
+ * process.c (create_process) [SET_CHILD_PTY_PGRP]: Do ioctls
+ to set the pgrp of the pty.
+
+1993-12-04 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * xfns.c (XSetWMProtocols): New function, defined conditionally.
+
+ * config.h.in (HAVE_XSETWMPROTOCOLS): Add #undef.
+
+ * intervals.c (graft_intervals_into_buffer): If SOURCE is null
+ and TREE is null, no need to call Fset_text_properties.
+
+ * dispnew.c (Fsit_for): Call prepare_menu_bars.
+ * keyboard.c (read_char): Call prepare_menu_bars.
+ * xselect.c (x_handle_selection_clear): Call prepare_menu_bars.
+ * vmsproc.c (Fcall_process): Call prepare_menu_bars.
+ * sysdep.c [VMS] (wait_for_kbd_input): Call prepare_menu_bars.
+ * process.c (wait_reading_process_input): Call prepare_menu_bars.
+ * callproc.c (Fcall_process): Call prepare_menu_bars.
+ * keyboard.c (tracking_off): Call prepare_menu_bars.
+ * xdisp.c (update_menu_bar, update_menu_bars): New functions.
+ (prepare_menu_bars): New function.
+ (redisplay_window): Don't update menu bar here.
+ (display_menu_bar): Assume item list already updated.
+
+1993-12-02 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * editfns.c (Fsubst_char_in_region): Move the NOUNDO hacking code
+ after the modify_region call.
+
+1993-12-01 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * eval.c (Fmacroexpand): For an autoload definition,
+ check the 4th elt, not the car of the 4th elt.
+
+ * m/mips4.h (C_DEBUG_SWITCH): Delete -systype bsd43; not needed.
+
+ * regex.c (regex_compile) [!MATCH_MAY_ALLOCATE]: If fail_stack.stack
+ is nonzero, leave it alone.
+
+ * fileio.c (Fread_file_name): If defalt is nil and user tries to use
+ it, signal an error.
+
+ * lisp.h (DEFUN_ARGS_MANY, DEFUN_ARGS_UNEVALLED, DEFUN_ARGS_0,...):
+ New macros.
+ (DEFUN) [__STDC__]: Use those macros.
+
+ * doc.c (Fdocumentation_property): 3 args is maximum.
+
+ * callproc.c (Fgetenv): One arg is maximum.
+
+1993-11-30 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * dispnew.c (direct_output_forward_char):
+ Give up if in truncated text at end of line.
+
+ * process.c (create_process): The test to avoid closing forkin
+ is now conditional on #ifndef SIGNALS_VIA_CHARACTERS.
+
+ * xdisp.c (redisplay_window): Don't alter lpoint when w is
+ selected window in a non-selected frame.
+
+1993-11-30 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * Makefile.in.in [__GNUC__ > 1]: Maybe define LINKER_WAS_SPECIFIED.
+ [LINKER_WAS_SPECIFIED] (YMF_PASS_LDFLAGS): Define as identity.
+
+ * m/mips4.h (NO_MODE_T): Defined.
+
+1993-11-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Version 19.22 released.
+
+ * m/tek4300.h (NO_MODE_T): Defined.
+
+1993-11-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (deactivate_process) [SVR4_PTYS]:
+ If subtty is not nil, close it.
+
+ * keyboard.c (kbd_buffer_get_event): For delete-window-event,
+ do count iconified frames.
+
+ * xfns.c (x_window): Call XSetWMProtocols.
+
+ * keyboard.c (kbd_buffer_get_event): If user destroys the last frame,
+ exit before calling Fdelete_frame.
+
+ * s/irix5-0.h (SYSTEM_TYPE): Make it "irix".
+
+ * sysdep.c (closedir): Test BROKEN_CLOSEDIR, not INTERRUPTIBLE_CLOSE.
+
+1993-11-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_avail_input): Undo Nov 18 change.
+
+ * lread.c (readevalloop): Get error if buffer being eval'd is killed.
+
+ * s/irix3-3.h (SETPGRP_RELEASES_CTTY): Defined.
+ * s/irix5-0.h (IRIX5, SETPGRP_RELEASES_CTTY): Defined.
+ * process.c (create_process): Do setpgrp for USG regardless of IRIX.
+ (process_send_signal) [IRIX5]: For SIGTSTP, use VSUSP, not VSWTCH.
+ * callproc.c (child_setup): Test SETPGRP_RELEASES_CTTY, not IRIX.
+ (init_callproc): Fix previous change.
+
+ * s/sunos4-1-3.h [!SYSTEM_MALLOC] (MEMMOVE_MISSING): Defined.
+
+ * keyboard.c (quit_throw_to_read_char):
+ Look at internal_last_event_frame only if MULTI_FRAME.
+
+ * m/ibmrt.h (HAVE_FTIME): Deleted (autoconf does it).
+
+ * m/hp9000s800.h (bcopy, bzero, bcmp): If HAVE_BCOPY, don't #define.
+
+ * s/sco4.h (LIBS_SYSTEM): Always define this one way or another.
+ Include -lPW in it.
+
+ * intervals.c (merge_properties_sticky): Declared.
+
+ * regex.c (MAX, MIN): Undef before defining.
+
+ * frame.c (Fhandle_switch_frame, Fredirect_frame_focus): Declared.
+
+ * m/delta.h (HAVE_RANDOM, HAVE_XSCREENNUMBEROFSCREEN, BROKEN_FIONREAD):
+ Add definitions.
+ (LIB_X11_LIB, LIBX11_SYSTEM): Add override definitions.
+ (USG_SHARED_LIBRARIES): Add #undef.
+
+ * sysdep.c (init_baud_rate): Avoid referring to sg uninitialized.
+
+1993-11-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (main) [AIX]: Don't handle signals 23, SIGAIO, SIGPTY.
+
+ * indent.c (Fmove_to_column): Increments for control characters
+ were too low by 1.
+
+ * process.c (Fdelete_process): Fix paren error.
+
+ * sysdep.c (closedir): Pass on the value from sys_closedir.
+ Do use this definition, if INTERRUPTIBLE_CLOSE.
+
+1993-11-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sco4.h (LIBX11_SYSTEM): Override the definition.
+
+ * xterm.c (XTread_socket): Really handle Xatom_wm_window_moved events.
+
+ * s/irix5-0.h (SIGNALS_VIA_CHARACTERS): Defined.
+
+ * fileio.c (Finsert_file_contents): Don't call signal_after_change
+ if we did not call prepare_to_modify_buffer.
+
+ * editfns.c (make_buffer_string): Don't copy intervals
+ if we don't really have any properties.
+
+ * lisp.h: Declare Fnext_single_property_change
+ and Fnext_property_change.
+
+ * s/sco4.h (HAVE_GETTIMEOFDAY): Define only if HAVE_SOCKETS.
+ Fix up conditionals changed recently.
+
+ * editfns.c (Finsert_buffer_substring):
+ Pass graft_intervals_into_buffer the current buffer.
+
+ * intervals.c (graft_intervals_into_buffer): New arg LENGTH.
+ If source has no intervals, set dest properties to nil.
+ * editfns.c (Finsert_buffer_substring): Pass new arg.
+ * insdel.c (insert_from_string): Likewise.
+
+ * callproc.c (init_callproc): Maybe add ../lib-src to exec-path
+ and maybe store it in exec-directory.
+ Mabe put ../etc into data-directory.
+ (init_callproc_1): Part of init_callproc is split out.
+ * emacs.c (main): Call init_callproc and init_callproc_1.
+
+1993-11-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * editfns.c (Fsubst_char_in_region): Call modify_region only if
+ a change has to be made. Call signal_after_change just once, at end.
+
+ * lread.c (OBARRAY_SIZE): Increase from 509.
+
+ * xrdb.c (search_magic_path): Fix colon-colon case.
+
+ * textprop.c (Ftext_property_not_all):
+ For trivial yes, return start, not Qt.
+
+ * xselect.c (Fx_disown_selection_internal): When making the fake
+ event for x_handle_selection_clear, use SELECTION_EVENT_... macros.
+
+1993-11-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sunos4-1-3.h (HAVE_TERMIOS, BSD_TERMIOS): Deleted.
+
+ * systty.h (EMACS_GET_TTY_PGRP, EMACS_SET_TTY_PGRP):
+ If HAVE_TERMIOS and BSD_TERMIOS, don't use tc[sg]etpgrp.
+
+ * xfns.c (x_set_frame_parameters): Call check_frame_size
+ before Fset_frame_size and Fset_frame_position.
+
+ * termhooks.h (delete_window_event): New event kind.
+ * xterm.c (XTread_socket): Generate delete_window_event's.
+ * keyboard.c (kbd_buffer_get_event): Handle delete_window_event's.
+
+ * s/sco4.h [HAVE_SOCKETS] (HAVE_XSCREENNUMBEROFSCREEN): Defined.
+
+ * keymap.c: Doc fix.
+
+ * window.c (window_loop, case DELETE_BUFFER_WINDOWS):
+ Select a new buffer only if w is selected window.
+
+ * hftctl.c: Include config.h. Include sys/signal.h before config.h.
+ (sav_alrm): Use SIGTYPE.
+ (FUNC): Typedef deleted.
+
+ * Makefile.in.in (hftctl.o): New rule.
+
+ * process.c (wait_reading_process_input):
+ Use -1 to mean wait_channel is empty.
+ Start process loop with descriptor 0 if keyboard_descriptor is not 0.
+ (make_process): Initialize descriptors to -1.
+ (Fdelete_process): -1 means empty, in infd.
+ (deactivate_process): Likewise.
+ (process_send_signal): Likewise.
+ (kill_buffer_processes): Likewise.
+ (sigchld_handler): Likewise.
+ (status_notify): Likewise.
+ (close_process_descs): Likewise.
+ (create_process): Likewise.
+ (Fopen_network_stream): Likewise.
+ (send_process): Likewise.
+ (Fprocess_send_eof): Likewise. Use XINT when closing outfd.
+ (Fset_process_filter): Use XINT to get infd value.
+ (wait_reading_process_input): Likewise.
+
+ * process.c (wait_reading_process_input): When bypassing select,
+ clear Available.
+
+ * sysdep.c (getwd): If getcwd returns 0, we return 0.
+ (getwd for VMS): Likewise.
+
+1993-11-20 Paul Reilly (pmr@legacy.pajato.com)
+
+ * s/dgux.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
+ Defined (copied from usg5-4.h).
+ (FIRST_PTY_LETTER): Deleted.
+
+1993-11-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * frame.c (Fmake_frame_visible): Doc fix.
+
+ * textprop.c (Ftext_property_not_all): Swap t and nil values in
+ the case where there are no intervals.
+ (Fprevious_single_property_change, Fprevious_property_change)
+ Extra arg LIMIT. Return value was off by 1.
+ (Fnext_single_property_change, Fnext_property_change):
+ Extra arg LIMIT.
+ (Fnext_single_property_change): Require at least 2 args.
+ * indent.c (compute_motion):
+ Pass new arg to Fnext_single_property_change.
+ * xfaces.c (compute_char_face): Accept new arg LIMIT.
+ Pass Fnext_single_property_change its new arg LIMIT.
+ * xdisp.c (display_text_line): Pass new arg to compute_char_face
+ and to Fnext_single_property_change.
+ * dispnew.c (direct_output_for_insert):
+ Pass new arg to compute_char_face.
+
+ * keyboard.c (follow_key): When downcasing, downcase just the
+ basic part of the character, and preserve the modifier bits.
+
+1993-11-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): If we get a quit, and current buffer
+ has changed, replay it to get proper keymap.
+ (quit_throw_to_read_char): Switch frames to the frame the quit was in.
+
+1993-11-19 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * buffer.c (Frename_buffer): When the current buffer is already
+ named NAME, don't short-circuit and just return unless UNIQUE is
+ nil. This makes passing UNIQUE=t equivalent to (rename-buffer
+ (generate-new-buffer-name NAME)). This is useful way to rename
+ the buffer automatically so you can create another with the
+ original name.
+
+1993-11-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (quit_throw_to_read_char): Select the frame
+ which the quit char was typed in.
+
+ * s/linux.h (HAVE_UNISTD_H): No need to define here.
+
+ * buffer.c (Flist_buffers): Always return a value.
+
+ * minibuf.c (read_minibuf): History list always gets strings,
+ not Lisp objects made by read.
+
+1993-11-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_avail_input): Don't set nread to -1
+ if we loop around in the loop that calls read.
+
+ * sysdep.c (read_input_waiting): read_socket_hook
+ delivers events, not characters. Make buf smaller
+ in the case where we actually call read itself.
+
+ * ralloc.c (r_alloc_init): Explicitly use real_morecore
+ to allocate the entire incomplete page.
+
+ * frame.c (Fmake_frame_visible): Use FRAME_SAMPLE_VISIBILITY.
+
+ * s/dgux.h (FIRST_PTY_LETTER): Defined.
+
+1993-11-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (Fkey_binding): Doc fix.
+
+ * cmds.c (keys_of_cmds): Make 0377 self-inserting.
+
+1993-11-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Version 19.21 released.
+
+ * doprnt.c (doprnt): Cast the value alloca returns.
+
+ * gmalloc.c [HPUX8]: Include unistd.h earlier on.
+
+ * s/sunos4shr.h (GNU_MALLOC, REL_ALLOC): Don't define if
+ already defined.
+
+ * s/hpux8.h (LD_SWITCH_SYSTEM) [hp9000s700]: Add -L/lib/pa1.1.
+
+ * Makefile.in.in (extraclean): Prevent wildcard from starting comment.
+ (distclean): Do delete Makefile and Makefile.in.
+
+1993-11-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * systty.h [BSD_TERMIOS]: Under NL0, NL1..., ECHO, NOFLSH, TOSTOP,
+ FLUSHO and PENDIN.
+ * s/sunos4-1-3.h (BSD_TERMIOS): Defined.
+
+ * regex.c (re_set_registers): Use `regoff_t *' when casting 0.
+
+ * Makefile.in.in: Delete spurious CFLAGS=-g.
+
+ * s/sco4.h (HAVE_GETTIMEOFDAY): Don't define if already defined.
+
+ * keyboard.c (read_avail_input): Make cbuf 1 char shorter.
+
+1993-11-14 Paul Reilly (pmr@legacy.pajato.com)
+
+ * s/dgux.h (INTERRUPT_INPUT): Undefined.
+ (BROKEN_FIONREAD): Defined to work around a problem in DGUX
+ whereby emacs will stop on a background write when invoked from a
+ job control shell for the first time in a session.
+ (FIRST_PTY_LETTER): Undefined.
+ (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Defined
+ to use all the available PTYs in a COFF environment.
+ (LINKER): Removed "-nostdlib" from to be compatible with a prior
+ mod removing "/lib/crt0.o" from the LIBS_SYSTEM define.
+ (LIBS_SYSTEM): Delete /lib/crt0.o.
+
+1993-11-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Increase length of copy_buffer to 81.
+
+ * lread.c (read1): If token has a \, don't treat it as a number.
+
+1993-11-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (IN_ADDR, NUMERIC_ADDR_ERROR): New macros (two versions).
+ (Fopen_network_stream): Use them.
+
+ * doprnt.c: Include config.h.
+
+ * keyboard.c (read_avail_input) [no FIONREAD]: On DGUX, as on USG,
+ read input with O_NDELAY.
+
+ * s/dgux.h (SYSTEM_MALLOC): Turned off.
+ (NO_TERMIO): Defined.
+ (BROKEN_FASYNC): Turned off.
+
+ * buffer.c (Foverlay_put): Don't call redisplay_region
+ if overlay has no buffer.
+
+1993-11-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (get_process): Add `static' to definition.
+
+ * xterm.c (XTmouse_position): Delete test inserted Nov 10.
+
+ * fileio.c (syms_of_fileio): Fix missing \n\'s.
+
+ * keyboard.c (Fread_key_sequence): Split the doc string with "".
+
+ * textprop.c (Fprevious_single_property_change): Fix missing \n\.
+ (Fnext_single_property_change): Likewise.
+
+1993-11-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Version 19.20 released.
+
+ * callproc.c (Fcall_process): Clear synch_process_death and
+ synch_process_retcode before the vfork.
+
+ * xterm.c (XTmouse_position): Undo roland's change.
+ Fix bug in bfox change.
+
+1993-11-10 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * unexec.c [! HPUX]: Don't declare sbrk at all, so as not to
+ conflict with system headers.
+
+ * xterm.c (XTmouse_position): First arg is FRAME_PTR, not
+ FRAME_PTR *.
+
+1993-11-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/convexos.h: New file.
+
+1993-11-10 Brian Fox (bfox@mole.gnu.ai.mit.edu)
+
+ * Makefile.in.in (intervals.o): Depend on puresize.h.
+
+ * intervals.c (create_root_interval): Check to see if PARENT is in
+ pure memory. If so, we cannot write it.
+ (includes): Add "puresize.h" so we get the definition of CHECK_IMPURE.
+
+ * xterm.c (XTmouse_position): If the passed in frame is not an
+ Xwindow frame, don't do anything.
+
+ * frame.c (Fraise_frame): Do like the documentation says, and make
+ the frame visible first.
+
+ * systty.h (EMACS_GETPGRP): New macro hides argument passing to
+ system getpgrp. Reinstate some semblance of control over this
+ macros behaviour by paying attention to GETPGRP_NO_ARG.
+ * sysdep.c (sys_suspend): Use EMACS_GETPGRP macro.
+ * emacs.c (main): Use EMACS_GETPGRP macro.
+ (shut_down_emacs): Use EMACS_GETPGRP macro.
+
+ * alloc.c (make_pure_string): If we USE_TEXT_PROPERTIES, set the
+ interval of the pure string to NULL_INTERVAL.
+
+ * syswait.h: Treat convex like hpux.
+
+ * search.c (Fskip_chars_backward, Fskip_chars_forward): Doc fix.
+
+1993-11-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * syntax.c (Fforward_comment): On backward scan, exit inner loop
+ after we reach beginning of a comment.
+ Check the SYNTAX_COMMENT_STYLE of a one-character comment ender.
+ (scan_lists): Check the SYNTAX_COMMENT_STYLE
+ of a one-character comment ender.
+
+ * sysdep.c (read_input_waiting): Don't mess with meta bit
+ if read_socket_hook is nonzero.
+
+ * sysdep.c (LPASS8, LNOFLSH): Move definitions earlier.
+ (child_setup_tty): Turn on LPASS8.
+
+ * search.c (skip_chars): Finish reenabling checks for buffer bounds.
+ Use XINT, not XFASTINT, when testing.
+
+ * fileio.c (Fwrite_region): Fix minor bugs in POS arg to awrite.
+
+ * xterm.c (syms_of_xterm): Initialize last_mouse_scroll_bar.
+
+1993-11-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c, editfns.c: Doc fix.
+
+1993-11-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * sysdep.c (child_setup_tty): Make the pty handle 8-bit characters.
+
+1993-11-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/linux.h [TERM]: Alternate definitions of LIBS_MACHINE
+ and C_SWITCH_MACHINE.
+
+ * process.c [TERM]: Include client.h.
+ (Fopen_network_stream): Handle TERM.
+
+1993-11-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_new_font): xmalloc arg was 1 too small.
+
+1993-11-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sunos4-1-3.h (HAVE_TERMIOS): Defined.
+
+1993-10-25 Brian Fox (bfox@albert.gnu.ai.mit.edu)
+
+ * process.c (Fopen_network_stream): Cast arg to inet_addr to (char *).
+
+ * search.c (Freplace_match): Fix argument names to match doc string.
+ (Fmatch_beginning): Fix doc string to match argument name.
+
+ * floatfns.c: Declare `logb' only if HAVE_LOGB is defined.
+
+ * fileio.c (Fcopy_file): Don't allow the copying of anything other
+ than regular files or symlink files.
+
+1993-10-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Arg prompt is now a Lisp object.
+ Pass it to functions found in function-key-map and key-translation-map.
+ (Fread_key_sequence, command_loop_1): Calls changed.
+
+1993-10-22 Brian Fox (bfox@albert.gnu.ai.mit.edu)
+
+ * config.h.in: Add #undef HAVE_UNISTD_H so configure can edit it
+ correctly.
+
+1993-10-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (status_notify): Don't read from process if filter is t.
+ (Fset_process_filter): Set or clear bit in input_wait_mask when nec.
+
+1993-10-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * data.c [hpux 7] (_MAXLDBL, _NMAXLDBL): New macro definitions.
+
+1993-10-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Allow function in key-translation-map
+ just as in function-key-map.
+
+1993-10-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (Fdelete_overlay, Foverlay_put): Use marker_position,
+ not OVERLAY_POSITION, to get args for redisplay_region.
+
+ * fileio.c (Fcar_less_than_car): Fix typo in previous change.
+
+1993-10-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * floatfns.c [hpux 7] (_MAXLDBL, _NMAXLDBL): New macro definitions.
+
+ * fileio.c (Vafter_insert_file_functions): New variable.
+ (Vwrite_region_annotate_functions): New variable.
+ (Qcar_less_than_car): New variable.
+ (Fcar_less_than_car): New function.
+ (syms_of_fileio): Make Lisp variables and function available.
+ staticpro Qcar_less_than_car.
+ (a_write, build_annotations): New functions.
+ (Fwrite_region): Call them.
+ (Finsert_file_contents): Run the Vafter_insert_file_functions.
+
+1993-10-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sco4.h (SYSTEM_TYPE): Put into #if 0.
+ (BSTRING): Define only if HAVE_BCOPY.
+
+1993-10-08 Brian Fox (bfox@albert.gnu.ai.mit.edu)
+
+ * search.c (skip_chars): Re-instate the check against the end of
+ the buffer, ignoring cryptic comment.
+
+1993-10-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Allow function-key-map to have a
+ function as the binding; call the function and use its value.
+
+1993-10-04 Brian J. Fox (bfox@ai.mit.edu)
+
+ * minibuf.c (Fminibuffer_complete_word): GCPRO1 `completion'
+ during calls to Ftry_completion.
+
+ * keyboard.c (read_key_sequence): Don't declare first_event; it is
+ no longer used. Change "#if 0" for first_event reading to
+ "#if defined (GOBBLE_FIRST_EVENT)".
+
+1993-10-03 Brian J. Fox (bfox@ai.mit.edu)
+
+ * lisp.h: Doc fix.
+
+ * minibuf.c (read_minibuf): Rewrite change of Sep 14. Save the
+ return value on the history list provided in the form that the
+ value is returned, iff the value is not equal to the front of the
+ history list.
+
+1993-10-03 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * Makefile.in: File removed. It is now generated by ../configure.
+
+ * Makefile.in.in (LIBES): Add $(GNULIB_VAR) again at end. This
+ change to ymakefile was mysteriously lost. Were any others lost
+ too?
+
+1993-10-02 Brian J. Fox (bfox@ai.mit.edu)
+
+ * minibuf.c (Fread_no_blanks_input): Change DEFUN to allow 2nd arg
+ to be optional. The code was already written correctly.
+
+1993-09-30 Brian J. Fox (bfox@ai.mit.edu)
+
+ * systty.h: If POSIX and HAVE_UNISTD_H are defined, and unistd.h
+ hasn't already been included, include it.
+
+ * s/linux.h (POSIX_SIGNALS): Comment fix.
+
+1993-09-30 Brian Fox (bfox@albert.gnu.ai.mit.edu)
+
+ * Makefile.in.in (ALL_CFLAGS): Make sure that `.' is searched
+ before `${srcdir}' when looking for include files.
+
+1993-09-28 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * termhooks.h (enum event_kind): Doc fix.
+
+1993-09-27 Brian Fox (bfox@ai.mit.edu)
+
+ * ymakefile: Merged into Makefile.in.in.
+
+ * Makefile.in.in: New file. Now ../configure creates Makefile.in
+ from Makefile.in.in, and creates Makefile from Makefile.in.
+ ymakefile no longer exists, and xmakefile is never created.
+
+1993-09-24 Brian Fox (bfox@ai.mit.edu)
+
+ * textprop.c (validate_plist): Add declaration for `list'
+ argument.
+
+ * frame.c (Fhandle_switch_frame): Doc fix.
+
+1993-09-25 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * puresize.h: [MULTI_FRAME]: Increase PURESIZE to 220000.
+
+1993-09-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sunos4-1.h (LIBS_SYSTEM): Use -lresolv if it seems appropriate.
+
+ * config.h.in: Add #undef HAVE_RES_INIT.
+
+1993-09-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m/mips4.h (LIB_STANDARD): Add a second -lc after crtn.o.
+
+1993-09-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * pwd.h: File deleted.
+
+ * intervals.c (graft_intervals_into_buffer): New arg INHERIT.
+
+ * editfns.c (Finsert_buffer_substring): Pass extra arg to
+ graft_intervals_into_buffer.
+ * insdel.c (insert_from_string): Likewise. New arg INHERIT.
+ (insert_from_string_before_markers): New arg INHERIT.
+
+ * search.c (Freplace_match): Call Finsert_and_inherit.
+
+ * editfns.c (Finsert_and_inherit): New function.
+ (Finsert_and_inherit_before_markers): New function.
+ (Finsert, Finsert_before_markers): Pass new arg to insert_from_string*.
+ * minibuf.c (Fminibuffer_complete_word):
+ Pass new arg to insert_from_string*.
+ * doc.c (Fsubstitute_command_keys): Pass new arg.
+ * abbrev.c (Funexpand_abbrev, Fexpand_abbrev): Pass new arg.
+
+ * s/aix3-2.h (AIX3_2): Defined.
+ * m/ibmrs6000.h (LIBS_MACHINE): Include -lrts, -liconv only if AIX3_2.
+
+ * xterm.h (HAVE_X11R4): If AIX, do not define HAVE_X11R4.
+
+1993-09-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * sysdep.c (bzero, bcopy, bcmp): Don't define as functions
+ if they are defined as macros.
+
+1993-09-11 Roland McGrath (roland@baalperazim.gnu.ai.mit.edu)
+
+ * lread.c, callproc.c, filelock.c: Include <paths.h>, not "paths.h".
+
+1993-09-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/linux.h (LIBS_MACHINE): Make definition empty.
+
+1993-09-10 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * Support configuring in a different directory when ${srcdir} has
+ already been configured.
+ * frame.c, xfns.c, xdisp.c, casetab.c, cm.c, casefiddle.c, xterm.c,
+ xrdb.c, eval.c, doc.c, lread.c, callint.c, cmds.c, term.c, fns.c,
+ data.c, alloc.c, unexconvex.c, fileio.c, indent.c, bytecode.c,
+ sunfns.c, xmenu.c, buffer.c, textprop.c, marker.c, print.c,
+ emacs.c, dispnew.c, syntax.c, undo.c, mocklisp.c, scroll.c,
+ search.c, ralloc.c, unexaix.c, unexec.c, unexenix.c, unexmips.c,
+ unexsunos4.c, vmsfns.c, vmsmap.c, dired.c, xselect.c, floatfns.c,
+ filelock.c, sysdep.c, abbrev.c, minibuf.c, xfaces.c, callproc.c,
+ insdel.c, intervals.c, process.c, vm-limit.c, window.c,
+ vmsgmalloc.c, keymap.c, editfns.c, keyboard.c, macros.c, vmstime.c:
+ Include <config.h> instead of "config.h".
+ * ymakefile (ALL_CFLAGS): Put -I. before -I${srcdir}.
+ * Makefile.in (xmakefile): Use -I. in cpp run.
+
+ * Makefile.in (clean): Use rm -f.
+
+ * s/netbsd.h: New file.
+ * ymakefile (LIBES): Add $(GNULIB_VAR) again at end.
+
+1993-09-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * sysdep.c (stuff_char): Use input_fd.
+ (narrow_foreground_group, widen_foreground_group, init_sys_modes)
+ (init_baud_rate, init_sigio, request_sigio, unrequest_sigio): Likewise.
+ (change_input_fd): New function.
+
+ * process.c (keyboard_descriptor): New variable.
+ (wait_reading_process_input, init_keyboard): Use it.
+ Also call change_input_fd.
+ (change_keyboard_wait_descriptor): New function.
+ * xterm.c (x_term_init): Call change_keyboard_wait_descriptor,
+ instead of dup2. Use the existing X desc number in fcntl calls.
+ * xterm.c (XTread_socket): Don't forget to clear out `mask'.
+
+1993-09-08 Francesco Potorti` (pot@cnuce.cnr.it)
+
+ * filelock.c (fill_in_lock_short_file_name): Fix the crc
+ generation algorithm.
+
+1993-08-19 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * textprop.c (F{next,previous}_single_property_change): Doc fix.
+
+1993-09-15 Brian Fox (bfox@ai.mit.edu)
+
+ * data.c: Add declaration for atof if not predefined.
+
+ * xfns.c (XScreenNumberOfScreen): Move assignments out of
+ declarations for (dpy, dpyscr).
+
+ * sysdep.c (sys_write): Keep trying to write out the data until
+ all of the data is written, or until we receive an error which is
+ not an interrupted write.
+
+1993-09-14 Brian Fox (bfox@ai.mit.edu)
+
+ * keyboard.c (Qextended_command_history): New variable prevents
+ sharing of M-x command history with other commands that read
+ values in the minibuffer.
+
+ * doprnt.c (doprnt): Use a fixed buffer to store the format
+ specification, but only if we are sure it will fit. Otherwise,
+ use alloca to get enough space. Don't allow negative size
+ specifications to core dump; instead, treat them as positive
+ ("%-20d" == "%20d").
+
+ * minibuf.c (read_minibuf): Don't add history item if it is
+ string-equal to the most recent history item.
+
+1993-07-09 Karl Berry (karl@cs.umb.edu)
+
+ * dired.c (file_name_completion): Install case-preserving
+ changes from Emacs 18 for completion_ignore_case.
+ (completion_ignore_case): Declare.
+
+1993-09-01 Brian Fox (bfox@ai.mit.edu)
+
+ * window.c (Fdelete_windows_on): Fix DEFUN to allow optional
+ second argument to appear.
+
+1993-08-30 Brian Fox (bfox@ai.mit.edu)
+
+ * ymakefile (alloc.o): Remove explicit compilation rule, since it
+ is identical to the default rule, and `$<' doesn't work in
+ explicit rules in all "make"s.
+
+1993-08-27 Brian Fox (bfox@ai.mit.edu)
+
+ * gmalloc.c (safe_bcopy): Compile if MEMMOVE_MISSING is defined,
+ but only if we aren't compiling for emacs.
+
+ * sysdep.c (read_input_waiting): If the user specifies
+ `meta-flag', then notice characters with high-bit set.
+
+ * Added fixes from Karl Berry for ISC-2.2.
+ * s/isc2-2.h (MEMMOVE_MISSING): Define.
+ (SIGNALS_VIA_CHARACTERS): Define.
+ (LIB_STANDARD): Do not include -lcposix.
+ (C_SWITCH_SYSTEM) [__GNUC__]: Do not use -traditional.
+
+1993-08-17 Brian Fox (bfox@ai.mit.edu)
+
+ * alloca.c: Invert sense of conditional for entire file (GNUC >=
+ 2). Added `#else'.
+
+ * xterm.c (x_wn_set_size_hint): Make recent window gravity
+ addition depend on "PWinGravity" being `#defined'.
+
+1993-08-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Version 19.19 released.
+
+ * Makefile.in (mostlyclean): Don't delete emacs here.
+ (clean): Delete emacs and emacs-* here.
+ (distclean): Don't delete emacs-* here.
+
+ * xselect.c (struct property_change): New field `arrived'.
+ (expect_property_change): Return struct property_change *.
+ Clear `arrived'.
+ (unexpect_property_change): Take one as argument.
+ (wait_for_property_change): Take one as argument.
+ If `arrived' is set, don't wait.
+ (wait_for_property_change_unwind): Corresponding changes.
+ (receive_incremental_selection): Corresponding changes.
+ (x_reply_selection_request): Corresponding changes.
+ (property_deleted_p): Function deleted.
+
+ * xselect.c (x_handle_selection_clear): Redisplay.
+
+ * search.c (compile_pattern): Cast result of re_compile_pattern.
+
+ * emacs.c (init_cmdargs): Check openp result for 1, not != 0.
+
+ * xterm.c (x_wm_set_size_hint): New args spec_x and spec_y.
+ Set the window gravity. All callers changed.
+ * xfns.c (Fx_create_frame): Pass the new args to x_wm_set_size_hint.
+
+ * xmenu.c (Fx_popup_menu): Adjust coords so they are relative
+ to the inner window.
+
+ * syswait.h: New file.
+ * sysdep.c, process.c: Include it.
+ * ymakefile (sysdep.o, process.o): Depend on syswait.h.
+
+ * process.c (wait_reading_process_input): Exit without waiting
+ if wait_for_cell is already non-nil.
+
+ * sysdep.c (mkdir, rmdir): Use wait_for_termination to wait.
+ Redirect descriptors 0...2 to /dev/null.
+
+ * emacs.c (__CTOR_LIST__): Don't declare it on Linux.
+
+ * filelock.c (getpwuid): Declare it as in xrdb.c.
+ (init_filelock): Don't use return value of strcpy.
+
+ * fns.c (internal_equal): Typo in previous change.
+
+ * xfns.c (x_set_frame_parameters): Don't die if just one of
+ height and width was set. Likewise left and top.
+
+ * textprop.c (property_change_between_p): Test NULL_INTERVAL_P
+ in loop, before looking at next->position.
+
+ * intervals.c (adjust_intervals_for_insertion): If inserting in middle
+ of interval that is sticky in neither direction, don't copy props.
+ (merge_properties_sticky): Handle non-list as front-sticky or
+ rear-nonsticky property.
+
+1993-08-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fns.c (internal_equal): All markers in no buffer are equal.
+
+1993-08-13 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * config.h.in: Added #undef HAVE_XSCREENNUMBEROFSCREEN.
+
+1993-08-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (XScreenNumberOfScreen): New function.
+
+ * m/tek4300.h (C_DEBUG_SWITCH, SYSTEM_MALLOC): Defined.
+
+ * m/iris4d.h (START_FILES, LIB_STANDARD): Don't define if USG5_4.
+ (DEFAULT_ENTRY_ADDRESS): Likewise.
+ (UNEXEC): Use unexelfsgi.o if USG5_4.
+
+ * s/irix5-0.h (C_SWITCH_MACHINE): Deleted.
+
+1993-08-13 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
+
+ * m/dpx2.h: Delete conditionals for HAVE_X_WINDOWS and HAVE_SOCKETS.
+
+1993-08-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m/iris4d.h (C_ALLOCA): Don't define it.
+
+ * keyboard.c (kbd_buffer_store_event): Use bcopy to copy
+ a selection request event.
+
+ * unexnext.c (get_data_region): Add cast to avoid warning.
+
+1993-08-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (prefix-args, filemode.o, lastfile.o): Dep on $(config_h).
+
+ * floatfns.c (Flogb): Error at run time if not supported.
+
+ * ymakefile (emacs.o): Depend on process.h and syssignal.h.
+ * emacs.c: Include process.h.
+ (init_cmdargs): Use EXEC_SUFFIXES.
+
+ * s/irix5-0.h: Include alloca.h if appropriate.
+ Fix the #include file name.
+ (ULIMIT_BREAK_VALUE, GETPGRP_NO_ARG, NO_MATHERR): New macros.
+ (LIB_STANDARD): #undef it.
+
+ * frame.c (Fdelete_frame): Add parens for clarity.
+
+ * keyboard.c (read_char): Never start echoing if -batch.
+
+ * minibuf.c (Qread_file_name_internal): New var.
+ (syms_of_minibuf): Set it up and protect it.
+ (Fminibuffer_complete_word): When completing a file name,
+ expand envvar references.
+
+ * xterm.c (XTread_socket): Make copy_buffer unsigned.
+
+ * s/usg5-4-2.h (HAVE_GETHOSTNAME): #if 0'd.
+
+1993-08-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/hpux8.h (LD_SWITCH_SYSTEM): Delete the -L options.
+
+ * termhooks.h (enum event_kind): Delete final comma.
+ (meta_modifier): Delete final comma.
+ * window.c (enum window_loop): Delete final comma.
+ * xfns.c (enum resource_types): Delete final comma.
+
+ * m/ibmrs6000.h (BIG_ENDIAN): Don't actually define it.
+
+ * window.c (Frecenter): Preserve point in the buffer we change it in.
+
+ * cmds.c (Fnewline): If we don't do the first SET_PT,
+ clear flag, so we don't do the second SET_PT.
+
+ * keyboard.c (make_lispy_event): Clear all but 0377 in event->code.
+
+ * xselect.c (receive_incremental_selection): Use bcopy, not memcpy.
+
+ * m/tek4300.h (BIG_ENDIAN): Provide a value that matches the system.
+
+ * config.h.in: Add #undef HAVE_FTIME.
+
+ * ymakefile (ALL_CFLAGS): Use C_SWITCH_X_SITE before
+ C_SWITCH_X_SYSTEM and C_SWITCH_X_MACHINE.
+
+ * s/hpux8.h (C_SWITCH_X_SYSTEM): Define instead of C_SWITCH_SYSTEM.
+
+1993-08-11 Shane Hartman (shane@nugget.spr.com)
+
+ * buffer.c (verify_overlay_modification): Initialize endpos.
+
+ * keymap.c (describe_buffer_bindings): Declare shadow just once.
+
+1993-08-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_calc_absolute_position): For negative coords, take
+ account of added width from window manager's outer window.
+
+ * term.c (term_get_fkeys_define_1, term_get_fkeys_define):
+ New functions.
+ (term_get_fkeys): Use them.
+
+ * m/tekxd88.h: Renamed from tekXD88.h.
+ (LIB_X11_LIB, LIBX11_SYSTEM): Make #undefs unconditional.
+
+ * systty.h: Handle NO_TERMIO in principal HAVE_TERMIOS case.
+
+ * xrdb.c (x_get_customization_string): Don't use value of strcpy.
+
+ * floatfns.c (Fexpt): Use IN_FLOAT2.
+
+1993-08-10 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
+
+ * m/dpx2.h (HAVE_TCATTR): Macro #defined.
+ (HAVE_CLOSEDIR): #undef to allow use of closedir in sysdep.c.
+ (SIGTSTP): Commented #undef to allow use of ^Z in shell-mode.
+ (SIGNALS_VIA_CHARACTERS): #defined.
+
+1993-08-09 Paul Eggert (eggert@twinsun.com)
+
+ * data.c (Fmod): New function; result is always same sign as divisor.
+ (syms_of_data): Add Smod.
+ * emacs.c (main): Invoke syms_of_floatfns even if LISP_FLOAT_TYPE
+ isn't defined, since `(floor A B)' is now needed for integers.
+ * floatfns.c (syms_of_floatfns): Likewise.
+ (Ffloor): Optional second operand specifies divisor, as in Common Lisp.
+
+1993-08-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * unexelf.c (unexec): Add casts for some comparisons.
+ (PATCH_INDEX): Likewise.
+
+1993-08-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Version 19.18 released.
+
+ * term.c (term_init): Improve error messages (give sh commands).
+
+ * xterm.c (struct font_info): New structure.
+ (x_font_table): Use struct font_info as elements.
+ (x_new_font): Corresponding changes.
+ Use XListFonts, not XListFontsWithInfo.
+ Use XFreeFontNames, not XFreeFontInfo.
+ Compare fonts by name, not by fid.
+ If already_loaded is 0, that counts as "yes".
+
+ * minibuf.c (Qminibuffer_setup_hook, Vminibuffer_setup_hook): New vars.
+ (syms_of_minibuf): Set them up.
+ (read_minibuffer): Run the hook, if not empty.
+
+ * dispnew.c (direct_output_forward_char): Fix previous change:
+ verify position is in range before calling Fget_text_property,
+ and calculate position properly.
+
+ * s/bsd4-2.h, s/bsd4-3.h, s/umax.h, s/rtu.h, s/dgux.h (HAVE_VFORK):
+ Defined.
+
+ * ymakefile (alloc.o): Don't use DEBUG_MOLE.
+ (DEBUG_MOLE): Deleted.
+ * gnu-hp300: File deleted.
+
+ * .gdbinit: Don't put -q in args.
+ Don't unset TERM and TERMCAP--show them instead.
+
+ * alloc.c (mark_object): Declare ptr volatile, or don't use it
+ after a recursive call. Delete the aborts if ptr is clobbered.
+
+ * fileio.c (expand_and_dir_to_file): Use Fdirectory_file_name.
+
+1993-08-08 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * config.h.in (HAVE_LOGB, HAVE_FREXP): Add #undefs for the
+ configuration script to edit.
+ * floatfns.c (Flogb): Use HAVE_LOGB and HAVE_FREXP, instead of
+ assuming that all USG systems have FREXP.
+
+1993-08-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (Vinvocation_directory): New var.
+ (init_cmdargs): Set up its value.
+ (Finvocation_directory): New function.
+ (main): Call init_buffer, init_callproc and init_cmdargs
+ before init_lread.
+ (syms_of_emacs): Install the function, and protect the variable.
+ * lisp.h (Vinvocation_directory): Declared.
+ * lread.c (init_lread): Normally put Vinvocation_directory
+ at end of Vload_path, if not present already.
+
+1993-08-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (set_poll_suppress_count): New function.
+ * eval.c (unwind_to_catch): Call set_poll_suppress_count.
+
+ * xterm.c (x_term_init): Set the hooks before we call Fset_input_mode.
+ * keyboard.c (Fset_input_mode): Start polling, if appropriate.
+ At the beginning, stop polling.
+ Remove period from error message.
+ (stop_polling, start_polling): Check for interrupt_input.
+ (POLL_FOR_INPUT): Define whether or not target supports SIGIO.
+
+ * m/ibm370aix.h (HAVE_VFORK, INTEL386, aix386): Add #undef.
+
+1993-08-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * eval.c (do_autoload): Don't report autoload failure
+ if the autoload definition now is a different one.
+
+ * m/ibm370aix.h: Total rewrite; includes ibmps2-aix.h.
+
+ * m/ibmps2-aix.h (SYSTEM_TYPE): Don't redefine it here.
+
+ * syntax.c: Doc fix.
+
+1993-08-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fns.c (Fyes_or_no_p): Use Qyes_or_no_p_history.
+ (syms_of_fns): Set up Qyes_or_no_p_history.
+
+ * fileio.c (expand_and_dir_to_file): Remove final / by copying abspath.
+
+ * data.c (Frem): Don't accept floats, just ints and markers.
+
+ * m/vax.h [BSD4_2] (HAVE_FTIME): Defined.
+
+1993-08-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m/7300.h (CRT0_COMPILE): Add -O and -Demacs.
+ * ymakefile (CRT0_COMPILE): Add missing #endif.
+
+1993-08-03 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ Changes for 3b1 suggested by Andy Fyfe <andy@scp.caltech.edu>
+ * 7300.h [__GNUC__]: #define HAVE_ALLOCA.
+ [not __GNUC__]: #define SWITCH_ENUM_BUG, C_ALLOCA, and STACK_DIRECTION.
+ (HAVE_SYSVIPC, USE_UTIME): #define these.
+ (memmove): We don't have this; call safe_bcopy.
+ (CRT0_COMPILE): #define this, so we always use the system's cc.
+ * config.h.in: Add #undefs for HAVE_MKDIR and HAVE_RMDIR, for
+ configure to edit.
+ * sysdep.c [not HAVE_MKDIR] (mkdir): New function, taken from tar,
+ for use on systems lacking the mkdir function.
+ [not HAVE_RMDIR] (rmdir): New function, taken from tar, for use on
+ systems lacking the rmdir function.
+ * ymakefile (crt0.o): Replace the compiler and switches with the
+ symbol CRT0_COMPILE.
+ (CRT0_COMPILE): If the system and machine description files have
+ left this undefined, then define it to do the same as the old
+ crt0.o rule used to.
+
+1993-08-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * sysdep.c (vfork): Move this outside the USG conditional.
+
+1993-08-02 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * frame.c (Fprevious_frame): New function, for parity with
+ Fnext_frame.
+ (syms_of_frame): Add defsubr for Sprevious_frame.
+
+1993-08-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xdisp.c (display_menu_bar): Redisplay all lines occupied by the
+ menu bar, not just the first.
+
+1993-08-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Use XFASTINT to convert value
+ of Flength to an int.
+
+ * buffer.c (Fmove_overlay): Avoid initializer for Lisp_Object vars.
+ (verify_overlay_modification): Declare ostart, oend as Lisp_Object.
+
+ * frame.c (Fset_frame_position): Doc fix.
+
+1993-08-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * From daveg@synaptics.com:
+ * keyboard.c (last_mouse_button): Renamed from button_up_button.
+ (last_mouse_x, last_mouse_y): Likewise.
+ (button_down_time): Replaces button_up_time.
+ (make_lispy_event): Set button_down_time.
+ Detect and report double-down and double-drag events.
+ (apply_modifiers_uncached): Put `double' or `triple' first.
+ (read_key_sequence): Convert unbound double-drag/down to drag/down.
+
+ * fileio.c (Finsert_file_contents): Don't call prepare_to_modify_buffer
+ if inserting zero characters.
+
+ * syntax.c: Doc fix.
+
+1993-07-31 Gregor Schmid (schmid@fb3-s7.math.tu-berlin.de)
+
+ Handle `sticky' text properties.
+ * intervals.c (adjust_intervals_for_insertion): Handle insertion
+ between two unlike intervals via merge_properties_sticky.
+ (merge_properties_sticky): New function.
+ (graft_intervals_into_buffer): Leave handling of `sticky'-ness to
+ adjust_intervals_for_insertion, then merge properties of the
+ inserted text onto the old ones.
+ (textget_direct): New function.
+ (set_point): Fix calculating of fromprev.
+ (verify_interval_modification): Check for `read-only' property
+ and take its `sticky'-ness into account.
+ * intervals.h (MERGE_INSERTIONS): Define as 1.
+ (FRONT_STICKY): Add real definition.
+ (END_NONSTICKY): New macro.
+ (END_STICKY): Deleted.
+ (textget_direct, Qfront_sticky, Qrear_nonsticky): Declared.
+ * textprop.c (Qfront_sticky, Qrear_nonsticky): New variables.
+ (syms_of_textprop): Set them up.
+
+ Change display code to handle the `invisible' text property.
+ * dispnew.c (direct_output_for_insert): Fail if character
+ just inserted has text properties.
+ (direct_ouput_forward_char): Fail if moving near invisible chars.
+ * indent.c (compute_motion): Compute correctly for invisible text.
+ (vmotion): Take care of invisible newlines.
+ * intervals.c (set_point): Ignore `invisible' property
+ unless property value is `hidden'.
+ * intervals.h (Qhidden): Declared.
+ * textprop.c (Qhidden): New variable.
+ (syms_of_textprop): Set up Qhidden.
+ * xdisp.c (try_window): Handle invisible newline at end of buffer.
+ (display_text_line): Don't display invisible text.
+
+1993-07-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * indent.c (Fmove_to_column): After we split a tab, make sure
+ to set last_known... consistently.
+
+ * editfns.c (save_excursion_restore): Never make the buffer visible.
+
+ * s/isc3-0.h: Don't mention dir `s/' in #include.
+
+1993-07-30 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * config.h.in (HAVE_AIX_SMT_EXP): New #undef for configure to edit.
+ * m/ibmrs6000.h (LD_SWITCH_MACHINE): Don't mention
+ /usr/lpp/X11/bin/smt.exp unless HAVE_AIX_SMT_EXP is #defined.
+
+ * config.h.in (HAVE_BCOPY): Add an #undef for this.
+ (BSTRING): #define this iff HAVE_BCOPY is #defined here. Ignore what
+ the system-description files say. They don't always make fine
+ enough distinctions between systems, and sometimes the bcopy
+ routines are available only with X windows.
+
+ * config.h.in (HAVE_XSCREENRESOURCESTRING): New #undef for
+ configure to edit.
+ * xrdb.c (get_user_db): Test it to decide whether or not to try to
+ retrieve the screen-dependent resources.
+
+ * xfns.c (Fx_open_connection): Test the CPP symbol
+ HAVE_XRMSETDATABASE to decide whether or not to call
+ XrmSetDatabase.
+
+ * xfns.c (x_set_background_color): Change the foreground color of
+ the cursor, too.
+
+1993-07-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * editfns.c (syms_of_editfns): Just staticpro Vuser...name
+ and Vsystem_name; don't make them Lisp variables.
+
+ * xselect.c (prop_location_identifier): Was named prop_location_tick.
+ (property_change_reply_identifier): Renamed from ...-tick.
+ (struct prop_location): Field `identifier' renamed from `tick'.
+ Various functions changed accordingly.
+ (x_handle_selection_request): Delete local struct var `reply'.
+
+ * xselect.c (wait_for_property_change_unwind): New function.
+ (wait_for_property_change): Add unwind protect.
+
+1993-07-29 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * xfns.c (syms_of_xfns): Don't staticpro Vx_resource_name;
+ DEFVAR_LISP takes care of that, and it's deadly to staticpro a
+ variable containing a string twice.
+
+ * window.c (check_frame_size): Include the menu bar height in the
+ minimum frame height.
+
+ * ymakefile (DEBUG_MOLE): Don't put parens around the command we
+ run to detect the GNU hp300 machines. If the make is still
+ somehow using csh, it complains about the parens.
+
+1993-07-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * frame.c (Fdelete_frame): New arg FORCE allows deletion
+ of last non-invisible frame.
+
+ * s/usg5-4.h (bzero, bcmp, bcopy): New macros.
+ (LIB_STANDARD): Don't include libucb.a.
+
+1993-07-28 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * xfns.c (syms_of_xfns): Use DEFVAR_LISP, not DEFVAR_INT, for
+ Vx_pointer_shape.
+
+1993-07-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * cmds.c (Fnewline): Disable the "insert one position before"
+ optimization if it would screw up text property behavior.
+ * textprop.c (property_change_between_p): New function.
+
+1993-07-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (command_loop_1):
+ Call Qrecompute_lucid_menubar only if defined.
+
+ * emacs.c (decode_env_path): Strip trailing slashes if there are any.
+
+ * unexec.c (make_hdr): Use & in call to bzero.
+
+ * xfns.c (Fx_rebind_key, Fx_rebind_keys): Functions deleted.
+
+ * syntax.c (scan_sexps_forward): Delete extra Fcdr when analyzing
+ OLDSTATE.
+
+ * xterm.c (x_iconify_frame): Handle case where frame was invisible.
+
+ * s/hpux8.h (OLDXMENU_OPTIONS): Definition deleted.
+
+ * ymakefile (really-oldXMenu): Pass down C_SWITCH_X_SYSTEM.
+
+ * m/delta88k.h [USG5_4] (LIBX11_SYSTEM): Don't redefine in this case.
+
+ * search.c (search_buffer): If n is 0, just return POS.
+
+1993-07-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/usg5-4.h (BROKEN_TIOCGETC, BROKEN_TIOCGWINSZ): Add #undefs.
+
+ * window.c (Fset_window_buffer): Clear window_end_{pos,valid}.
+
+ * dispnew.c (Fsleep_for): If arg is 0, return right away.
+
+1993-07-26 Francesco Potorti` (pot@spiff.gnu.ai.mit.edu)
+
+ * m/delta.h (SWITCH_ENUM_BUG): Defined only for AT&T's pcc.
+ (BSTRING): Deleted because they are stubs to the memory funcs.
+ (memmove): Defined as safe_bcopy since memcpy is not safe.
+ (HAVE_X_WINDOWS): Does not conditionally define anything any more.
+ Added support fo the GNU C compiler bundled with R3V7.
+
+1993-07-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * puresize.h [MULTI_FRAME] (PURESIZE): Increased to 210000.
+
+1993-07-25 Sam Dooley (dooley@watson.ibm.com)
+
+ * keyboard.c (kbd_buffer_store_event): Apply all the modifiers bits
+ before testing for quit_char and stop_character. Don't alter
+ event->code, though.
+
+1993-07-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xselect.c (wait_for_property_change): Eventually time out with error.
+ (x_reply_selection_request): XFlushQueue and UNBLOCK_INPUT
+ before calling wait_for_property_change.
+ (x_get_window_property): Simplify input blocking/unblocking.
+ Don't delete the property here.
+ (receive_incremental_selection): Delete property here.
+ Call XSelectInput to enable and disable PropertyChangeMask.
+ (x_get_window_property_as_lisp_data): And here.
+
+ * process.c (wait_reading_process_input): Undo last two changes:
+ when wait_for_cell, do not check the keyboard.
+
+ * filelock.c: Fix typo in previous change.
+
+ * xselect.c (lisp_data_to_selection_data): New arg NOFREE_RET.
+ For a string, just return its data's address.
+ (x_handle_selection_request): Pass new arg.
+ If value comes back 1, don't call xfree.
+
+ * xfns.c (MAXREQUEST): Defined.
+ (Fx_server_max_request_size): New function.
+ (syms_of_xfns): Set it up.
+
+ * window.c (Fwindow_end): Don't assume WINDOW shows the current buffer.
+
+ * s/386bsd.h (LOCALTIME_CACHE): Defined.
+ (HAVE_SETSID): Defined.
+ (LIB_STANDARD): Override, adding $(GNULIB_VAR).
+
+ * emacs.c (main): Test LOCALTIME_CACHE.
+
+ * filelock.c (getpwuid): Declare at top level, and not if __386bsd__.
+
+ * keyboard.c (interrupt_signal): Tell Fdo_auto_save not to print msg.
+ Print "Auto-save done" here.
+
+ * fileio.c (Fdo_auto_save): Temporarily clear Vquit_flag.
+
+ * xfns.c (Fx_create_frame): Typo in previous change.
+
+1993-07-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * .gdbinit (xscrollbar): Fix typo specifying doc string.
+
+ * process.c (Fprocess_status): Use Fget_process, to avoid error
+ if unknown process name.
+
+ * xfaces.c (face_name_id_number): Use assq_no_quit, not Fassq.
+
+1993-07-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Run post-command-hook first thing.
+
+ * xterm.c (redraw_previous_char): New function.
+
+ * xfns.c (Fx_create_frame): Don't look for default font
+ if the caller has specified a valid font. Try several
+ alternative font patterns.
+
+1993-07-23 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * mem-limits.h: [_LIBC]: Define BSD4_2.
+
+1993-07-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sco4.h (HAVE_SOCKETS): Define, if HAVE_INET_SOCKETS.
+
+ * sunfns.c: Fix comment syntax. Put back the comment
+ saying that we don't maintain this file.
+
+ * xterm.c (XTread_socket) [! HAVE_X11R5]:
+ Check for XK_Mode_switch and XK_Num_Lock, if defined.
+
+ * m/hp9000s300.h (TEXT_START) [__GNUC__]: Define as 0.
+
+ * intervals.h (Vinhibit_point_motion_hooks): Declared.
+ * textprop.c (syms_of_textprop): Set up Lisp var.
+ * intervals.c (set_point): Test it.
+
+1993-07-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/irix5-0.h (PTY_OPEN): Use sigaction, not sigsetmask.
+
+ * s/386bsd.h (DECLARE_GETPWUID_WITH_UID_T): Declared.
+ * xrdb.c (getpwuid): Test DECLARE_GETPWUID_WITH_UID_T.
+
+ * process.c (Fget_buffer_process): Delete doc string from
+ second alternative definition.
+
+1993-07-22 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * ralloc.c (ALIGNED, ROUNDUP):
+ Use `unsigned long int' instead of `unsigned int' for
+ casting addresses and sizes. It matters on the 64-bit Alpha.
+
+ * mem-limits.h [_LIBC]: Just include <sys/resource.h>, and skip
+ hairy #ifdef mess.
+
+1993-07-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fread_key_sequence): Doc fix.
+ (read_key_sequence): Handle Vkey_translation_map.
+ (kbd_buffer_get_event): Discard an event whose kind is no_event.
+
+ * buffer.c (syms_of_buffer): Lisp var doc fixes.
+
+ * m/att3b.h (NO_MODE_T): Defined.
+
+ * intervals.c (graft_intervals_into_buffer): When TREE is null,
+ pass buffer as 2nd arg to reproduce_tree.
+
+1993-07-21 Paul Eggert (eggert@twinsun.com)
+
+ * print.c (float_to_string): Don't use uninitialized pointer `cp'.
+ Set width to -1 at lose: and other places.
+ Default to .17g, not .20g.
+
+1993-07-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (Qmodification_hooks, Qinsert_in_front_hooks)
+ (Qinsert_behind_hooks): Moved here.
+ (syms_of_buffer): Lisp vars set up here.
+ * textprop.c: No longer here.
+
+ * alloc.c (compact_strings): Add USE_TEXT_PROPERTIES conditional.
+
+ * intervals.h (Ftext_property_not_all): Fix typo in decl.
+
+ * s/sunos4-1.h (SUNOS_LOCALTIME_BUG): Defined.
+
+ * frame.c (Fdelete_frame): Allow deletion if there is some other
+ visible (perhaps iconified) frame. Also allow deleting terminal frame
+ if there are X frames.
+
+ * s/sunos4shr.h (memmove): Defined.
+
+ * m/att3b.h (memmove): Defined as macro.
+
+1993-07-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile.in (xmakefile): Use CFLAGS after C_SWITCH_SYSTEM.
+
+ * xfns.c (validate_x_resource_name): Call make_string properly.
+
+ * m/next.h (X_NOT_POSIX): Defined.
+
+ * s/sol2.h (BROKEN_TIOCGETC, BROKEN_TIOCGWINSZ): Add #undefs.
+
+ * s/isc3-0.h (memmove): Delete extra parens in the safe_bcopy call.
+
+ * m/ibmrs6000.h (LD_SWITCH_MACHINE): Add -bI:/usr/lpp/X11/bin/smt.exp.
+
+1993-07-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * eval.c (Fwhile): If mocklisp, test for nonzeroness.
+
+ * s/sunos4shr.h (SYSTEM_MALLOC): Add #undef.
+ (GNU_MALLOC, REL_ALLOC): Defined.
+
+1993-07-19 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu)
+
+ * ymakefile: config.h is in current directory, not ${srcdir}.
+
+1993-07-18 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * Version 19.17 released.
+
+ * xfns.c (Fx_create_frame): Block input around call to
+ x_new_font. Test if the return value is a string, not if it's
+ nil; x_new_font can return things besides nil and strings, to
+ indicate error conditions.
+
+ * window.c [not MULTI_FRAME] (Fdelete_windows_on): Set FRAME
+ argument to Qt, instead of trying to typecheck it.
+
+ * ymakefile (config_h): Set this to ${srcdir}/config.h; all the
+ source dependencies mention $(config_h), but until now it never
+ had a value.
+
+ * xfns.c (Fx_open_connection): Don't trust HAVE_XRMSETDATABASE;
+ use XrmSetDatabase only when HAVE_X11R5 is defined.
+
+ * dispnew.c (direct_output_for_insert): By the time this function
+ is called, we have already inserted the character into the buffer;
+ the proper buffer position to pass to compute_char_face is point
+ - 1, not point.
+
+1993-07-17 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * Makefile.in (C_SWITCH_SYSTEM): New variable, set by top-level
+ Makefile.
+ (xmakefile): Pass it to the C preprocessor.
+
+ * window.c (Fdelete_windows_on): New optional argument FRAME; if
+ nil, delete windows on all frames. If t, delete windows on the
+ selected frame only. If a frame, delete windows on that frame
+ only.
+
+ * intervals.c (split_interval_left, split_interval_right): Change
+ OFFSET argument of these functions to be origin 0, not origin 1.
+ This is what all the callers currently want.
+ * intervals.c, textprop.c: All callers changed.
+
+ * textprop.c (Ftext_property_not_all): Renamed from
+ Ftext_property_all, and changed sense of return value, so that it
+ returns useful information if not all characters have properties
+ EQ to value. Now all the existential and universal questions can
+ be asked.
+
+ * textprop.c (syms_of_textprop): Don't forget defsubr for
+ Stext_property_all.
+
+ * textprop.c (Ftext_property_any, Ftext_property_all): Use EQ to
+ compare property values, not Fequal.
+
+ * xterm.c (x_term_init): Adjust message printed when we can't
+ connect to the X server.
+
+ * xfns.c (Vx_resource_name): Renamed from Vxrdb_name, and made a
+ lisp-visible variable, so lisp/term/x-win.el can set it. Doc it
+ for "internal use only"; no need for NEWS entry.
+ (validate_x_resource_name): New function.
+ (Fx_get_resource): Doc fix. References to Vxrdb_name renamed. Call
+ validate_x_resource_name.
+ (x_window): References to Vxrdb_name renamed. Call
+ validate_x_resource_name.
+ (Fx_open_connection): References to Vxrdb_name renamed. Instead
+ of setting and validating its value here, just call
+ validate_x_resource_name.
+ (syms_of_xfns): Add DEFVAR_LISP for Vx_resource_name.
+
+1993-07-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Vhelp_menu_bar_map): Deleted.
+ (menu_bar_items): Move elts for events in Vmenu_bar_final_items to end.
+ (syms_of_keyboard): Corresponding changes.
+
+1993-07-15 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Consistently use the mark bit of the root interval's parent field
+ to say whether or not the interval tree has been visited (and skip
+ it when revisited), and the mark bit of the plist field to say
+ whether or not that interval has been visited (and abort if
+ revisited); don't try to use the plist mark bit for both
+ meanings.
+ * alloc.c (mark_interval_tree): Don't test if the interval tree
+ has already been visited here; let the MARK_INTERVAL_TREE macro do
+ that; avoid function call overhead. Mark the interval tree as
+ having been visited by setting TREE->parent's mark bit.
+ (MARK_INTERVAL_TREE): If the tree has been visited (according to
+ I->parent's mark bit), don't call mark_interval_tree.
+ (gc_sweep): Rebalance the interval trees of those large strings
+ which are still alive. This also clears the mark bits of those
+ trees' root intervals' parent fields.
+ (compact_strings): Rebalance the interval tree of each small
+ strings which is still alive. This also clears the mark bits of
+ that tree's root interval's parent field. Since the string has
+ moved, update the root interval's parent pointer to contain the
+ new address.
+ * lisp.h (struct interval): Doc fix; explain the roles of the mark
+ bits of the parent and plist members.
+
+ * termhooks.h: In order to avoid declaring struct input_event
+ (which contains Lisp_Objects) in those .c files which need access
+ to the terminal hooks but don't #include lisp.h (like cm.c), test
+ to see if the macro CONSP is #defined. We used to test XINT, but
+ config.h will #define that everywhere on systems that use tailored
+ tagging schemes.
+
+ * window.c (Fnext_window, Fprevious_window): Put these docstrings
+ in comments; the strings are too long for some C compilers.
+
+ * s/hpux9.h: Doc fix.
+
+1993-07-15 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * ymakefile (DEBUG_MOLE): New variable; a shell expression which
+ expands to -DDEBUG_MOLE on HP 9000/300's in the domain
+ gnu.ai.mit.edu, and the empty string on all other machines.
+ (alloc.o): Cite ${DEBUG_MOLE}, so DEBUG_MOLE is #defined when
+ compiling on mole.
+
+1993-07-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_char_menu_prompt): If the user rejects a menu,
+ return t. This makes read_char also return t.
+ (read_key_sequence): If read_char returned t, return -1.
+ (Fread_key_sequence): If read_key_sequence returned -1, quit.
+ (command_loop_1): If read_key_sequence returned -1, loop around.
+
+1993-07-15 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (menu_bar_one_keymap): If the key's binding is the
+ symbol `undefined', don't try to take that symbol's cdr before
+ passing it to menu_bar_item; pass the `undefined' binding itself,
+ so menu_bar_item can remove bindings for the same key from result.
+
+1993-07-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (Fbuffer_local_variables): For local var that is unbound,
+ put just the symbol in the result, not a cons of (symbol . value).
+
+ * keyboard.c (Qdisabled_command_hook): New variable.
+ (Vdisabled_command_hook): Deleted.
+ (syms_of_keyboard): Corresponding changes.
+ (Fcommand_execute): Use Qdisabled_command_hook.
+
+ * alloc.c (mark_object) [DEBUG_MOLE]: Add abort at beginning.
+
+ * keyboard.c (Vhelp_menu_bar_map): New var.
+ (syms_of_keyboard): Set up Lisp var for it.
+ (menu_bar_items): Use Vhelp_menu_bar_map.
+
+1993-07-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * textprop.c (Ftext_property_any, Ftext_property_all): New
+ functions, from David Gillespie.
+ * intervals.h (Ftext_property_any, Ftext_property_all): Declare them.
+
+ * keyboard.c (read_key_sequence): Accept both strings and vectors
+ as bindings in function-key-map.
+ * keymap.c (Vfunction_key_map in syms_of_keymap): Doc fix.
+
+ * keyboard.c (Fsuspend_emacs): Pass selected_frame as the first
+ argument to change_frame_size, not 0. This function may be called
+ in an Emacs compiled with multi-frame support.
+
+1993-07-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xterm.c (XTread_socket, UnmapNotify case): Add missing comment
+ terminator.
+
+ * intervals.c (graft_intervals_into_buffer): Properly compute
+ length of buffer.
+
+1993-07-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * minibuf.c (Fdisplay_completion_list): Run completion-setup-hook.
+
+1993-07-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * textprop.c (Qinsert_in_front_hooks, Qinsert_behind_hooks): New vars.
+ (syms_of_textprop): Set them up.
+ * lisp.h (Qinsert_in_front_hooks, Qinsert_behind_hooks): Declared.
+ (Qmodification_hooks): Declared.
+
+ * intervals.c (verify_interval_modification):
+ For insertion, run the insert-in-front-hooks and insert-behind-hooks,
+ not the modification-hooks.
+ * buffer.c (verify_overlay_modification): New function.
+ (call_overlay_mod_hooks): New function.
+ * insdel.c (prepare_to_modify_buffer): Call that.
+
+ * keyboard.c (Qundefined): New variable.
+ (syms_of_keyboard): Set up Qundefined.
+ (menu_bar_items): Don't reverse the items.
+ Process the maps in reverse order.
+ (menu_bar_item): If definition is `undefined',
+ delete any menu bar item already made, and don't make one.
+
+1993-07-12 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * print.c (float_to_string): Distinguish between a precision of
+ zero and an omitted precision. Do allow %.0f to produce strings
+ containing no decimal point or exponent.
+ (syms_of_print): Doc fix for float-output-format.
+
+ * xfns.c (x_set_frame_parameters): Don't set the frame's size and
+ position unless those parameters are actually specified in ALIST.
+
+ * syntax.c (Fmodify_syntax_entry): Doc fix.
+
+1993-07-12 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
+
+ * xterm.c, sysdep.c (F_SETOWN_BUG): Defined.
+ * m/dpx2.h: New file.
+
+1993-07-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * textprop.c (set_properties): Call modify_region.
+ (remove_properties): Call modify_region before record_property_change.
+ (add_properties): Likewise.
+
+1993-07-10 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xrdb.c: Implement search for app-defaults directory and
+ localized default databases, along with some other functionality
+ provided by Xt.
+ #include <stdio.h>, since we call sprintf.
+ [emacs] (malloc, realloc, free): #define these to xmalloc,
+ xrealloc, and xfree.
+ (x_get_string_resource, file_p): Add forward declarations for
+ these.
+ (x_customization_string): New variable.
+ (x_get_customization_string): New function.
+ (gethomedir): Return malloc'ed space of the right size, instead of
+ writing into a fixed-size buffer; this means that our callers do
+ not impose an arbitrary limit on file name length.
+ (magic_file_p): Rewrite of decode_magic; actually do the
+ substitutions, instead of expanding all %-escapes to "". Support
+ the customization string. Return 0 or the expanded file name,
+ instead of just zero or one. Allocate the space for the expanded
+ file name ourselves, instead of writing into a fixed-size buffer
+ passed to us; this removes an arbitrary limit.
+ (search_magic_path): Rewrite of magic_searchpath_decoder. Return
+ 0 or the expanded file name, instead of just zero or one.
+ Allocate the space for the expanded file name ourselves, instead
+ of writing into a fixed-size buffer passed to us; this means that
+ our callers do not impose an arbitrary limit on file name length.
+ (get_system_app): Changed to work with search_magic_path.
+ (get_user_app): Rewritten to work with search_magic_path, and not
+ to assume that the values of XAPPLRESDIR is a single directory.
+ (get_user_db): Properly use the new version of gethomedir.
+ (get_environ_db): Remove arbitrary limit on length of host name.
+ (x_load_resources): Take a new argument, myname. Call get_user_db
+ early to obtain the customization string.
+ Changes to stand-alone testing code.
+ * xfns.c (Fx_open_connection): Set Vxrdb_name early, and pass it
+ to x_load_resources.
+
+ * keymap.c (syms_of_keymap): Doc fix.
+
+1993-07-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): If wait_for_cell, do call
+ swallow_events and do_pending_window_change when appropriate.
+
+1993-07-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * editfns.c (region_limit): Declare Vmark_even_if_inactive.
+
+ * callint.c (syms_of_callint):
+ Fix DEFVAR_LISP for Vmark_even_if_inactive to use right
+ Lisp symbol name (without V prepended).
+
+1993-07-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * callint.c (check_mark): Don't check mark-active unless in
+ transient-mark-mode.
+ For inactive mark, signal mark-inactive instead of error with a
+ message.
+ * editfns.c (region_limit): Don't error if Vmark_even_if_inactive
+ is set.
+ When the mark is inactive and that is a no-no, signal
+ mark-inactive instead of using error with a message.
+ * data.c (syms_of_data): Staticpro Qmark_inactive.
+ * data.c: Define Qmark_inactive.
+ (syms_of_data): Initialize it.
+ * lisp.h: Declare Qmark_inactive.
+
+1993-07-07 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * editfns.c (Fformat): Since floats occupy two elements in the
+ argument list passed to doprnt, we must use separate indices for
+ the array of arguments passed to Fformat, and the array of
+ arguments to be passed to doprnt.
+
+ * .gdbinit: Add size to geometry spec.
+ Specify sevenbit-strings in set print.
+ (xfloat): New command.
+
+1993-07-06 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * Version 19.16 released.
+
+ * ymakefile [not ORDINARY_LINK && __GNUC__ && __GNUC__ > 1 && not
+ LIB_GCC] (LIB_GCC): Use "$(CC)" instead of "gcc".
+
+1993-07-06 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * textprop.c (copy_text_properties): Pass a copy of POS to
+ validate_interval_range; that function increments its arguments,
+ which isn't what we want.
+
+ * fns.c (Fsubstring, concat): Pass all six arguments to
+ copy_text_properties.
+
+ * intervals.c (find_interval): Doc fixes, computation of
+ tree->position rearranged for clarity.
+
+ * intervals.c (find_interval): Consistently treat POSITION as an
+ actual buffer position, i.e. origin 1. The old code seemed
+ undecided on this point. Treat the end of the buffer as being
+ part of the rightmost interval.
+ (adjust_intervals_for_insertion): Consistently treat POSITION as
+ origin 1.
+ (interval_deletion_adjustment): The exception: FROM should be
+ origin zero here. Consistently treat it as such. Simplify code
+ which shrinks and possibly deletes intervals.
+ (adjust_intervals_for_deletion): Treat start as origin 1; our
+ caller does.
+ (set_point): Use buffer positions throughout, not a mix of buffer
+ posns and origin zero posns.
+ (get_local_map): Remove special case for POSITION at end of buffer;
+ find_interval handles that case correctly.
+ (verify_interval_modification): Remove special case for START at
+ end of buffer.
+ * textprop.c (validate_interval_range): End-of-buffer/string
+ positions no longer need special handling.
+
+ * intervals.c (make_new_interval): #if 0 this out. Nobody calls it.
+
+ * textprop.c (copy_text_properties): New function, from David
+ Gillespie.
+ * intervals.h: Declare copy_text_properties.
+ * fns.c: #include "intervals.h".
+ (Fsubstring): Copy text properties to result string.
+ (concat): Copy text properties to result string.
+ * ymakefile (fns.o): Note that this depends on INTERVAL_SRC.
+
+ * print.c: Get rid of extra space at the end of print syntax for
+ strings with intervals.
+ [USE_TEXT_PROPERTIES] (print): Don't print a space before the
+ interval property lists.
+ [USE_TEXT_PROPERTIES] (print_interval): Print a space before this
+ internal's properties, not after.
+
+ * m/pmax.h (C_SWITCH_X_MACHINE): Set this to
+ "-DNeedFunctionPrototypes=0", to avoid lossage in DEC X11 header
+ files.
+ * ymakefile (really-oldXMenu): Pass C_SWITCH_X_MACHINE to the
+ oldXMenu make.
+
+ * doc.c (Fsubstitute_command_keys): Pass all five arguments to
+ describe_map_tree.
+
+1993-07-05 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ Compare the values of text properties using EQ, not Fequal.
+ * intervals.c (intervals_equal): Call EQ, not Fequal.
+ * textprop.c (interval_has_all_properties, add_properties): Same.
+
+ * textprop.c (validate_interval_range): Don't increment both
+ *begin and *end if they point to the same thing.
+ (validate_plist): Call QUIT while scanning LIST.
+
+ * intervals.c (intervals_equal): Test the return value of Fequal
+ against Qnil, not 0.
+
+ * keyboard.c (Vdouble_click_time): Renamed from double_click_time,
+ and made a Lisp_Object instead of an int.
+ (make_lispy_event): If Vdouble_click_time is t, impose no time
+ limit on double-clicks.
+ (syms_of_keyboard): DEFVAR_LISP (not DEFVAR_INT)
+ Vdouble_click_time (not double_click_time), and adjust doc string
+ to say that `nil' means no double clicks, and `t' means no time
+ limit.
+
+1993-07-04 Jim Blandy (jimb@churchy.gnu.ai.mit.edu)
+
+ * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): New
+ accessors.
+
+ * s/sunos4-1.h (LIBS_SYSTEM): Don't link against -lresolv; that's
+ only needed for misconfigured systems.
+
+1993-07-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (describe_map_tree): When inserting TITLE, mention PREFIX.
+ Insert newline at end, if inserted anything else.
+ (describe_buffer_bindings): Corresponding changes.
+ For minor mode maps, build up a title string,
+ then let describe_map_tree insert it.
+
+ * eval.c (Fsignal): Clarify error message.
+
+1993-07-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_char): After Fgarbage_collect, call redisplay.
+
+1993-07-03 Jim Blandy (jimb@churchy.gnu.ai.mit.edu)
+
+ * frame.c (Fredirect_frame_focus): Allow redirection of focus of
+ dead frames.
+
+ * s/sunos4-1.h (LIBS_SYSTEM): Make this be -lresolv, so we get the
+ versions of gethostbyname and such that use the DNS.
+
+1993-07-03 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * fileio.c (Frename_file):
+ After prompting for ok-if-already-exists, pass only nil or
+ t to copy-file, never an integer.
+
+1993-07-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (Faccessible_keymaps): Doc fix.
+
+1993-07-02 Jim Blandy (jimb@churchy.gnu.ai.mit.edu)
+
+ * textprop.c (set_properties): Don't try to make undo records if
+ OBJECT is a string.
+
+1993-07-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): When inserting `menu-bar' prefix,
+ modify the position field to prevent doing so twice.
+ Do all these forms of event expansion after replayed events also.
+ Set last_real_key_start before each key.
+ Use last_real_key_start in criterion for being the first event.
+
+ * process.c (wait_reading_process_input): Do include the keyboard
+ in the select, if read_kbd was a cons cell.
+
+1993-07-01 Jim Blandy (jimb@churchy.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket): When handing non-synthetic
+ ConfigureNotify events, don't refer to the parent window
+ descriptor.
+
+ * textprop.c (set_properties): Add undo records to remove entirely
+ new properties. Only record old property values for those
+ properties whose values have changed.
+
+1993-07-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * callint.c (Vmark_even_if_inactive): New var, with Lisp variable.
+ (check_mark): Use it.
+
+1993-07-01 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xfaces.c [XOS_NEEDS_TIME_H]: #undef USG while #including
+ <X11/Xos.h>, so that file doesn't try to define struct timeval and
+ struct timezone.
+
+ * xterm.c (frame_highlight, frame_unhighlight): Don't test
+ Vx_no_window_manager. BLOCK_INPUT around the border manipulation
+ calls.
+
+1993-06-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Initialize event_found to zero, and
+ pass a zeroed timeout to select, not a null pointer; the latter
+ means "wait forever".
+
+ * s/hpux8.h (random, srandom): No need to define these to be
+ foo_random and foo_srandom; autoconf should autodetect when the
+ real random functions are available.
+
+ * xdisp.c (redisplay): If we're not already showing the region,
+ then don't disable the single-line optimizations just because the
+ mark isn't where we last displayed it.
+
+1993-06-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Doc fix.
+ (Vhelp_char): Renamed from help_char.
+ (Vprefix_help_command): New Lisp variable.
+ (read_key_sequence): Use that, for help char after prefix key.
+
+ * keyboard.c (kbd_buffer_get_event):
+ Clear f before calling mouse_position_hook.
+
+ * emacs.c, callproc.c (PRIO_PROCESS): Definition deleted.
+
+ * vm-limit.c (check_memory_limits): Make data_size and five_percent
+ unsigned long.
+
+1993-06-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_get_event): Correctly generate
+ switch-frame events when reading mouse motion events.
+
+1993-06-29 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xterm.c: Add CPP tangle from process.c to get definitions for
+ FD_SET, etcetera.
+ (XTread_socket): Use those macros when testing for dropped connection.
+
+1993-06-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * alloc.c (mark_object): Add aborts in Lisp_Symbol case.
+
+ * keymap.c (describe_map_tree): Insert key_heading here.
+ New arg TITLE.
+ (describe_buffer_bindings): Corresponding changes.
+
+ * process.c (wait_reading_process_input): Use SIGIO only if defined.
+
+ * keymap.c (shadow_lookup): New function.
+ (describe_map_2): Call it. SHADOW is now a list of maps.
+ (describe_vector): Likewise.
+ (describe_map): SHADOW is now a list of maps.
+ (describe_map_tree): Likewise.
+ (describe_buffer_bindings): Build suitable list to pass as SHADOW.
+ (Faccessible_keymaps): New arg PREFIX. Callers changed.
+ (describe_map_tree): New arg PREFIX.
+ (Fdescribe_bindings): New arg PREFIX.
+ Pass to describe_buffer_bindings along with buffer.
+ (describe_buffer_bindings): Extract PREFIX and pass along.
+
+1993-06-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (describe_map_2): Cleanups.
+ Check there's no previous definition in same keymap.
+
+1993-06-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (read_char): Don't do idle autosaves if we're not
+ interactive.
+
+1993-06-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_create_frame): Check for internalBorder resource, as
+ well as internalBorderWidth.
+
+ * xterm.c (XTread_socket): Remove #if 0''s around code which tests
+ for dropped connection (i.e. sigio but no events).
+
+1993-06-22 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (menu_bar_items, read_key_sequence): Use
+ current_global_map, not global_map; the latter is only meant to be
+ used for initial_define_key.
+ * commands.h: Doc fix.
+
+ * commands.h (Vglobal_mouse_map): Removed; unused.
+ * xfns.c (Vglobal_mouse_map): Same.
+
+ * buffer.c (list_buffers_1): Make desired_point a lisp object; set
+ it to nil, unless we find the current buffer.
+ (Flist_buffers): Don't try to set point in the buffer list unless
+ list_buffers_1 actually returns an integer. Don't use a full
+ save_excursion; just save and restore the buffer.
+
+ Separate parameter faces (those created and modified by the user)
+ from the computed faces (the combinations created by
+ compute_char_face), so that we don't waste global face id's.
+ * xterm.h (struct x_display): Replace the fields faces and n_faces
+ with fields param_faces, n_param_faces, computed_faces,
+ n_computed_faces, and size_computed_faces.
+ (FRAME_FACES, FRAME_N_FACES): Replaced by...
+ (FRAME_COMPUTED_FACES, FRAME_N_COMPUTED_FACES, FRAME_PARAM_FACES,
+ FRAME_N_PARAM_FACES): New macros.
+ * xfaces.c: Doc fixes.
+ (init_frame_faces): Call new_computed_face to create entries for
+ the default and mode line faces. Use the FRAME...PARAM_FACES
+ macros.
+ (free_frame_faces): Use the FRAME...PARAM_FACES and
+ FRAME...COMPUTED_FACES macros. Don't use the copy flag; all
+ parameter faces have real X resources, and all computed faces just
+ have copies. Free both the parameter and computed face arrays.
+ (new_computed_face): New function.
+ (intern_computed_face): Renamed from intern_frame_face; callers
+ changed. Call new_computed_face.
+ (ensure_face_ready, compute_char_face, compute_glyph_face): Use the
+ FRAME...PARAM_FACES macros.
+ (recompute_basic_faces): Use the FRAME...PARAM_FACES and
+ FRAME...COMPUTED_FACES macros. Produce the computed faces by
+ starting with the base faces and merging in the parameter faces.
+ (Fset_face_attribute_internal): Use the FRAME...PARAM_FACES
+ macros. Just call recompute_basic_faces if the default or mode
+ line faces have changed.
+ * xfns.c (Fx_list_fonts): Use the FRAME...PARAM_FACES macros.
+ * xterm.c (dumpglyphs): Use the FRAME...COMPUTED_FACES macros.
+ * dispextern.h (struct face): Remove the copy member. This is no
+ longer necessary; all computed faces are copies, and no parameter
+ faces are.
+
+ * xfaces.c (face_vector, nfaces, nfaces_allocated): Make these
+ static.
+
+ * xdisp.c (redisplay_window): Remember to compute end relative to
+ the start of the visible region, too.
+
+1993-06-21 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xrdb.c (get_user_db): Remember to free the screen-local resource
+ string after we've merged its data into db.
+
+ * keyboard.c (make_lispy_event): Added detection of double-click
+ and triple-click events.
+ (parse_modifiers_uncached, apply_modifiers_uncached): Same.
+ (read_key_sequence): Coerce double-clicks to clicks, and triple-clicks
+ to double-clicks or clicks, by analogy with drag events.
+ (double_click_time): Added variable.
+ * termhooks.h: Added multi-click event modifier bits.
+
+1993-06-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * textprop.c (Fremove_text_properties, Fadd_text_properties):
+ Really do next_interval when skipping the first interval.
+
+1993-06-20 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_open_connection): Remember to block input while
+ calling x_load_resources.
+ * xrdb.c: Undo change of June 19th; it was a BLOCK_INPUT problem,
+ not a server-specific bug.
+
+ * alloc.c (Fgarbage_collect): If the minibuffer is active, don't
+ display the "...done" message; allow the minibuffer to show again.
+
+ * config.h.in (HAVE_LONG_FILE_NAMES): Add an #undef, for autoconf
+ to chew on. Re-arrange macros to reflect the ordering of the
+ corresponding macros in configure.in, to facilitate this kind of
+ checking.
+
+1993-06-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * version 19.15 released.
+
+1993-06-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * puresize.h (PURESIZE): Up this to 205000 for MULTI_FRAME Emaces,
+ and 190000 for non-MULTI_FRAME Emaces.
+
+ * xfaces.c (recompute_basic_faces): This shouldn't be declared static.
+
+ * xrdb.c (get_user_db): Some NCD xterms seem to hang in
+ XScreenResourceString. Consult the ServerVendor and VendorRelease
+ variables to see if we're talking to such a server.
+
+ * xterm.c (XTread_socket): Never treat a modifier key as a
+ non_ascii_keystroke.
+
+ * emacs.c (Fkill_emacs): Pass third argument to shut_down_emacs.
+ * lisp.h (shut_down_emacs): Doc fix.
+
+1993-06-18 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * frame.c (Fmake_frame_visible): Make this interactively callable;
+ frames can accept input while iconified, so it makes sense to put
+ this on a key.
+
+ * xfaces.c: Add forward declaration for recompute_basic_faces.
+
+ * fileio.c (Fset_visited_file_modtime): We're only passing two
+ arguments to the file name handler; use call2, not call3.
+
+ Changes for Irix 4.0, tested this time:
+ * s/irix4-0.h: Get rid of our fake definitions for setpgrp and
+ getpgrp.
+ * callproc.c (Fcall_process): Go ahead and use the USG calling
+ convention for setpgrp.
+ * ymakefile (pre-crt0.o): Add rule for this. Perhaps it will help
+ separate-source-directory compilation.
+ * emacs.c (shut_down_emacs): Some USG systems #define
+ EMACS_HAVE_TTY_PGRP; call getpgrp as appropriate for such systems.
+ * sysdep.c (sys_suspend): Call getpgrp as appropriate for USG and
+ non-USG.
+
+ * sysdep.c (rename): Make arguments const. autoconf #defines
+ const away on systems which don't have it; any system with
+ prototypes will declare the arguments const (the ones to which I
+ have access do); and systems without prototypes won't notice.
+
+ * process.c [IRIX] (create_process): Don't put child in process
+ group zero before opening the tty; Irix is like USG in this
+ regard.
+
+ * s/isc2-2.h, s/linux.h, s/usg5-4.h, m/alliant-2800.h, m/convex.h,
+ m/pfa50.h: Remove #definition of HAVE_CLOSEDIR; autoconf figures
+ this out.
+
+ * xfns.c: Always #include "bitmaps/gray.xbm"; the bitmaps seem to
+ be missing on some systems, and there's no point in having
+ configure check; it should work fine to always use our copy.
+
+ * minibuf.c (Fread_minibuffer): Add missing semicolon after
+ CHECK_STRING macro.
+
+1993-06-17 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * Version 19.14 released.
+
+1993-06-17 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * m/iris4d.h (LIB_STANDARD): Do *not* include -lbsd. We are
+ now calling the BSD[sg]etpgrp functions directly, so this library
+ is not needed; it just provides the BSD[sg]etpgrp functions under
+ the [sg]etpgrp names.
+
+ * callproc.c [IRIX] (child_setup): Don't call setpgrp this time.
+ It's already been called up in Fcall_process, and create_process.
+
+ * callproc.c (Fcall_process, child_setup): If IRIX is #defined,
+ call setpgrp with arguments, even if USG is #defined.
+ * process.c [IRIX] (create_process): Don't call setpgrp before
+ opening the pty. Call it after doing the TIOCNOTTY ioctl.
+
+ * xfaces.c (compute_base_face): Initialize the face's stipple.
+ Although we don't use this feature now, face_eql notices it.
+
+ * xfaces.c (compute_base_face): Set cached_index to an invalid
+ index, to avoid an unnecessary comparison.
+
+ * keyboard.c (read_key_sequence): Don't confuse mock input with
+ function-key-map expansion, and continue reading mock events when
+ the current sequence is unbound.
+
+ * keyboard.c (read_key_sequence): After providing a prefix symbol
+ for a mouse event, modify the mouse event to indicate that that
+ won't need to be done again, by putting the event's position
+ symbol in a list.
+
+ * keyboard.c (read_key_sequence): When returning mock input which
+ has run off the end of the current maps, make sure the events get
+ echoed, and make it into this-command-keys.
+
+ * keyboard.c (read_key_sequence): When re-reading a previously
+ read mouse click which requires a prefix symbol, make sure to set
+ last_real_key_start appropriately, so we can properly drop
+ button-down events.
+
+1993-06-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (really-oldXMenu): Pass C_SWITCH_MACHINE down.
+
+ * intervals.c (verify_interval_modification): Don't just test
+ Qread_only prop; use INTERVAL_WRITABLE_P.
+
+ * syntax.c (scan_lists, Fforward_comment): #if 0 the code
+ to treat two-character comment enders with a special shortcut.
+
+1993-06-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * config.h.in (HAVE_CLOSEDIR): Add an #undef for autoconf to
+ change.
+ * sysdep.c (closedir): Only define this if autoconf can't find
+ HAVE_CLOSEDIR. If we're running under solaris (defined (sun) &&
+ defined (USG5_4)), then don't free the buffer separately.
+
+ * keyboard.c (read_key_sequence): If we add events to a key
+ sequence that didn't come from the input stream (e.g. `mode-line'
+ prefixing a mouse click, or an expansion from function-key-map),
+ and end up with a sequence that runs off the end of the current
+ maps, return the entire key sequence, not just the initial portion
+ which was bound or unbound.
+
+ * xdisp.c (redisplay_window): Do not subtract one from start
+ before passing it to the set_vertical_scroll_bar_hook.
+
+ * lisp.h (CHECK_LIST, CHECK_STRING, CHECK_CONS, CHECK_SYMBOL,
+ CHECK_VECTOR, CHECK_BUFFER, CHECK_WINDOW, CHECK_LIVE_WINDOW,
+ CHECK_PROCESS, CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER,
+ CHECK_NUMBER_COERCE_MARKER, CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT,
+ CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY): Wrap a do
+ ... while (0) around these compound statements to make them
+ syntactically equivalent to a single statement.
+
+1993-06-16 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * editfns.c (Finsert_buffer_substring): Doc fix.
+
+1993-06-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ Don't let the 'B' interactive spec default to buffers viewed in
+ any visible frame.
+ * buffer.c (Fother_buffer): Pass Qt as the second argument
+ to Fget_buffer_window.
+ * window.c (window_loop): In GET_BUFFER_WINDOW case, ignore
+ non-visible frames.
+ (Fget_buffer_window): Change doc string to mention that passing Qt
+ for the FRAME argument returns windows on visible frames only.
+
+ Changes for correct pgrp behavior; approach suggested by Bob
+ Glickstein <bobg@zindigo.z-code.com>:
+ * m/iris4d.h (LIB_STANDARD): Do list -lbsd here.
+ * s/irix4-0.h (getpgrp, setpgrp): #define these to call BSDgetpgrp
+ and BSDsetpgrp.
+ (GETPGRP_NO_ARG): Don't #define this.
+ * emacs.c (main): Don't test GETPGRP_NO_ARG.
+ * sysdep.c (sys_suspend): Don't test GETPGRP_NO_ARG.
+
+ * Makefile.in (CPP): New variable, set by the top-level Makefile.
+
+ * m/delta88k.h (HAVE_GETTIMEOFDAY): Don't #define this; autoconf
+ takes care of that.
+ (LIBS_SYSTEM): Don't attempt to #define this if we already have a
+ definition of LIB_SYSTEM from s/usg5-4.h.
+
+ * unexec.c [HPUX] (sbrk): This returns a void *.
+
+ * window.c (check_frame_size): Allow minibuffer-only frames to be
+ one line high.
+
+ * frame.c (store_frame_param): Fix error message punctuation.
+
+ * callproc.c [IRIX] (child_setup): Don't set the pgroup.
+
+ * s/isc3-0.h (memmove): #define this to call safe_bcopy.
+
+ * buffer.c (list_buffers_1): Return the desired point.
+ (Flist_buffers): Put point there in the buffer summary.
+
+ Bring mumbleclean targets into conformance with GNU coding standards.
+ * Makefile.in (mostlyclean): New target.
+ (clean): Just call mostlyclean. Get rid of ../etc/DOC too.
+ (distclean): Use clean to do most of the work.
+ Get rid of ../etc/DOC-* too.
+ (realclean): New target.
+
+ * xdisp.c (redisplay_window): Do not subtract BEGV to compute
+ the scroll bar handle's end.
+
+1993-06-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xmenu_show): Store 0 in *ERROR at the beginning.
+
+ * fileio.c (Finsert_file_contents): Two new args, BEG and END.
+
+ * intervals.c (adjust_intervals_for_insertion): By default, copy
+ properties from before the insertion.
+
+1993-06-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * syntax.c (scan_sexps_forward): Set state.comstart to before the
+ comment starter, not after.
+
+ * xmenu.c (Fx_popup_menu): Call keymap_panes right in one-keymap case.
+
+1993-06-14 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * s/linux.h (LIBS_MACHINE, HAVE_SYSVIPC): Set the former to -lipc,
+ and #define the latter.
+
+ * xdisp.c (display_text_line): Use temporary variable.
+
+1993-06-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fdelete_window): Handle deleting a parent of the
+ selected window.
+
+1993-06-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fset_visited_file_modtime): Don't give the handler
+ the filename as an argument.
+
+ * syntax.c (scan_lists, Fforward_comment): Pass 0 as commentstop arg
+ to scan_sexps_forward.
+ (scan_sexps_forward, char_quoted): Now static.
+ (describe_syntax, describe_syntax_1): Now static.
+
+ * undo.c (Fprimitive_undo): Rename arg to N to avoid conflict.
+
+ * window.c (Fdelete_window): Mostly undo last change.
+ Don't initialize `frame' in the declaration.
+
+ * Make prefix keys work with keymap inheritance
+ by creating an inheritance structure for each subkeymap
+ that we create in the inheriting keymap.
+ * keymap.c (access_keymap): New arg NOINHERIT. All calls changed.
+ (define_as_prefix): New function.
+ (Fdefine_key): Use them.
+
+1993-06-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (shut_down_emacs): New arg STUFF. Stuff input here.
+ (Fkill_emacs, fatal_error_signal): Pass new arg.
+ * xterm.c (x_connection_closed): Pass new arg.
+
+ * dired.c (Ffile_attributes): Give -1 as size if size won't fit.
+
+ * intervals.c (set_point): When moving over invis chars,
+ don't screw up at end of buffer.
+
+ * eval.c (call5, call6): New functions.
+ (call1, call2, call3, call4): Renumber the args.
+ * lread.c (Fload): Use call5.
+ * fileio.c (Fcopy_file): Pass all the args to the handler.
+ (Fwrite_region): Use call6.
+ (Frename_file): Look for handler for newname.
+ (Fadd_name_to_file): Pass arg ok_if_already_exists to handler.
+ (Fmake_symbolic_link): Likewise.
+ (Ffile_newer_than_file_p): Check both file names for handler.
+
+1993-06-12 John Hughes (john@moonlite.CalvaCom.fr)
+
+ * term.c (term_get_fkeys): Use `prior', not `previous', for %8/kP.
+
+1993-06-12 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * sysdep.c (child_setup_tty): Remove duplicate settings for VQUIT
+ and VINTR.
+
+ * sysdep.c [ultrix] (init_sys_modes): Don't set LLITOUT; it
+ disables the meta key.
+
+ * frame.c (Fmouse_position, Fset_mouse_position): Doc fix.
+
+ * xfns.c [! HAVE_X11R5] (Fx_rebind_key): Recognize that
+ XK_Mode_switch and XK_Num_Lock are modifier keysyms too.
+
+ * xterm.c (XTset_vertical_scroll_bar): Use double type for
+ intermediate results in scaling.
+
+1993-06-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * undo.c (syms_of_undo): Set up Qinhibit_read_only.
+ (Fprimitive_undo): Sometimes bind inhibit-read-only to t.
+
+ * minibuf.c (read_minibuf): Set and use mini_frame only if MULTI_FRAME.
+
+ * xdisp.c (echo_area_display): Use XFASTINT on ->height.
+ (copy_rope, copy_part_of_rope): Access *f as Lisp_Object.
+
+ * window.c (Fdelete_window): Make `frame' a FRAME_PTR and use as such.
+
+ * undo.c (record_delete): Always use XFASTINT on sbeg.
+ (Fprimitive_undo): Add missing `else'. Add USE_TEXT_PROPERTIES
+ conditional for calling Fput_text_property. Use XINT on high, low.
+
+ * process.c (start_process_unwind): Use XINT.
+
+ * syntax.c (Fset_syntax_table): Add XFASTINT.
+
+1993-06-12 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xterm.c (x_error_quitter, x_io_error_quitter): Remove calls to
+ abort. We can always run Emacs with _Xdebug set to 1.
+
+ * ymakefile (really-oldXMenu): Remember backslash to extend command.
+
+ * keyboard.c (read_key_sequence): When we generate a prefix symbol
+ for a mouse event, store the actual mouse event in
+ unread_command_events, so we don't lose it if the symbol isn't
+ bound to a prefix.
+
+ * config.h.in (HAVE_XRMSETDATABASE, HAVE_RANDOM, HAVE_LIBXBSD):
+ Add #undefs for these.
+ Dyke out code requesting -lXbsd and HAVE_RANDOM for XFREE386.
+ * xfns.c (Fx_open_connection): Test HAVE_XRMSETDATABASE instead of
+ NO_XRM_SET_DATABASE; the latter isn't used any more.
+ * m/delta88k, m/tekXD88.h, s/linux.h, s/usg5-4-2.h (HAVE_RANDOM):
+ Dyke out these #definitions; to avoid conflict with autoconf.
+
+ * ymakefile (really-oldXMenu): Explicitly pass CC, CFLAGS, and
+ MAKE to the oldXMenu make.
+
+ * window.c (Fprevious_window): Use FRAME_HAS_MINIBUF_P to decide
+ if the frame has a minibuffer; FRAME_MINIBUF_WINDOW points to the
+ surrogate on minibufferless frames, not nil.
+
+1993-06-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_char): Set c properly as a Lisp int.
+ (command_loop_1): Delete spurious use of XINT on c, a char.
+
+ * frame.c: Doc fixes.
+
+ * data.c (cons_to_long): Declare top, bot as Lisp_Object.
+
+ * floatfns.c (Fexpt): New local `val' for making integer to return.
+
+ * keymap.c (Fcopy_keymap): Check Fkeymapp value with NILP.
+ (get_keymap_1): Add missing semicolon.
+ (describe_vector_princ): Align to column 16.
+
+ * emacs.c (main) [GETPGRP_NO_ARG]: Really pass no arg to getpgrp.
+
+1993-06-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (XTmouse_position): Don't set *f at all unless we win.
+
+ * process.c (read_process_output): Don't deactivate the mark.
+ Do restore Vdeactivate_mark, so that no one else deactivates it.
+
+ * buffer.c (Fgenerate_new_buffer_name): GENTEMP is the value to
+ compare against IGNORE.
+
+1993-06-11 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ Interact properly with shells lacking job control (sh, rc, es...)
+ * sysdep.c [BSD] (inherited_pgroup): New variable.
+ (narrow_foreground_group, widen_foreground_group): New functions.
+ (init_sys_modes): Call narrow_foreground_group.
+ (reset_sys_modes): Call widen_foreground_group.
+ * emacs.c [BSD] (inherited_pgroup): Add extern declaration.
+ [BSD] (main): Set inherited_pgroup, and put ourselves in our own
+ pgroup.
+
+1993-06-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (syms_of_xfns): Don't set up Qicon.
+ (Qicon): Declaration deleted.
+ * frame.h (Qicon): Declared.
+
+ * frame.c (Fmouse_position): Set up defaults before calling the hook.
+
+1993-06-11 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xdisp.c (redisplay_window): Don't call try_window_id if the
+ window isn't starting at the beginning of the line.
+
+ * window.c (Fprevious_window): Typo.
+
+1993-06-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (alloca.o): Delete allocatem.c, not allocax.c.
+
+ * textprop.c (Fset_text_properties): No special case for props = nil.
+
+ * xfns.c (Fx_list_fonts): If names is 0, just return nil.
+
+1993-06-11 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xterm.c (x_new_font): If font_names is zero, that's all the
+ indication we get that no matches were found.
+
+ * s/isc3-0.h (LIB_X11_LIB): #undef this, to remove the value
+ inherited from usg5-3.h; ISC doesn't have libX11_s.
+ (LIBX11_SYSTEM): Link against the static -lc, not -lc_s.
+
+1993-06-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * lread.c (Fload): Forward all 4 args to magic-name handler.
+
+1993-06-10 Shane Hartman (shane@nugget.spr.com)
+
+ * window.c (Fscroll_left): Make argument optional.
+ (Fscroll_right): Ditto.
+
+1993-06-10 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * search.c (Flooking_at, Fstring_match, fast_string_match,
+ search_buffer): Don't block input while calling searching and
+ matching functions. These functions may not call malloc under
+ Emacs anyway, and we need to be able to check for C-g.
+
+ * xrdb.c (get_user_db): Get the screen-specific database too.
+
+ * syntax.c (scan_lists, Fforward_comment): Call scan_sexps_forward
+ with the proper number of arguments.
+
+ * sysdep.c: Remove clause for DGUX support of FASYNC; add clause
+ to #undef FASYNC if BROKEN_FASYNC is #defined.
+
+ * filelock.c: Test HAVE_LONG_FILE_NAMES, not SHORT_FILE_NAMES, to
+ interface nicely with autoconf.
+ * m/delta.h: Don't #define SHORT_FILE_NAMES; autoconf does this
+ for us.
+
+ * s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
+ (BSD4_4, SVR4, HAVE_SETSID, HAVE_UNIX_DOMAIN): #define these.
+ (FIRST_PTY_LETTER): This is 'r', not 'p'.
+ (HAVE_TERMIO, SIGNALS_VIA_CHARACTERS): Don't #define these.
+ (HAVE_TERMIOS): #define these instead.
+ (XREBINDKEYSYM): Don't #define.
+ Test THIS_IS_YMAKEFILE instead of MAKING_MAKEFILE.
+ (sigmask, sigpause): #undef these after #including <signal.h>.
+ (LD_SWITCH_SYSTEM, START_FILES, LIBS_SYSTEM, LIB_GCC): #define
+ these to avoid problems with /lib/crt0.o.
+ (C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH): #define these.
+
+ * s/dgux.h (BROKEN_FASYNC): #define this.
+
+ * fileio.c (Frename_file): Pass all arguments to the file name handler.
+ * eval.c (call4): New function.
+
+1993-06-09 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * s/linux.h (SIGNALS_VIA_CHARACTERS): Don't #define this.
+
+ * process.c (sigchld_handler): Add cast, to avoid warnings on Linux.
+ (Fopen_network_stream): Cast the second argument to connect, to
+ avoid warnings on any system that provides prototypes for connect.
+
+ * xdisp.c (display_text_line): Handle case where line ends in a
+ continuation character but we never actually displayed any buffer
+ text (due to minibuffer prompt).
+
+ * xterm.c (x_is_vendor_fkey): New function.
+ (XTread_socket): Call it to recognize vendor-specific function keys.
+
+ * s/dgux.h: Move #definition of SYSTEM_MALLOC outside of
+ MAKING_MAKEFILE conditional. No harm.
+
+ * xfaces.c (init_frame_faces): Remove assumption that the selected
+ frame must be an X frame whenever there is already an X frame.
+
+1993-06-08 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * alloc.c (emacs_blocked_malloc, emacs_blocked_realloc): Cast the
+ return values of malloc and realloc, to placate compilers.
+
+1993-06-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fprevious_window): When changing frames,
+ use the new frame's minibuffer if any.
+
+ * intervals.h (INTERVAL_WRITABLE_P): Fix backwards tests.
+
+ * m/tekXD88.h: Rewrite by author.
+
+1993-06-08 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * Version 19.13 released.
+
+ * ymakefile (C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH): Remove these;
+ people shouldn't edit this file to choose optimization and
+ debugging switches anyway. ../configure will set CFLAGS to an
+ appropriate default, which they will be able to override.
+ * Makefile.in (xmakefile): Don't try to turn -g and -O in
+ CFLAGS into C_DEBUG_SWITCH and C_OPTIMIZE_SWITCH. CFLAGS should
+ be the sole source of such switches, so that setting CFLAGS
+ controls them completely.
+
+1993-06-07 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * config.h.in (HAVE_LIBDNET): New macro, to be defined by
+ ../configure.
+ * m/pmax.h (LIBS_MACHINE): Only put "-ldnet" here if HAVE_LIBDNET
+ is #defined.
+
+1993-06-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (syms_of_fileio): Set up Qset_visited_file_modtime.
+ (Fset_visited_file_modtime): Use the proper operation.
+
+ * sysdep.c (init_baud_rate) [HAVE_TERMIOS]: Use cfgetospeed.
+
+ * systty.h: Add NO_TERMIO conditional.
+
+ * textprop.c (Fadd_text_properties): Don't treat the initial
+ interval specially, aside from splitting off the part starting
+ where we want to start changing things.
+ (Fremove_text_properties): Likewise.
+ For ending interval, split it left as in Fadd_text_properties.
+ (Fset_text_properties): Don't set starting interval if it goes
+ past END. Instead, split it left and set the left part.
+
+ * keymap.c (Fdescribe_vector): Use current buf, not standard-output.
+ (describe_vector_princ): Add newline at end.
+
+ * keymap.c (store_in_keymap, access_keymap): Use CHAR_META
+ when clearing excess high bits.
+
+ * s/dgux.h (INTERRUPTIBLE_*): Fix spelling of macros.
+
+ * s/hpux9.h (SYSTEM_MALLOC, GNU_MALLOC, REL_ALLOC): Definition and
+ #undefs deleted.
+
+ * keymap.c: Doc fix.
+
+ * buffer.c (Fdelete_overlay): Do nothing if overlay already deleted.
+ Bind inhibit-quit to t.
+ (Fmove_overlay): Properly handle changing buffers, or no prev buffer.
+ Bind inhibit-quit to t.
+
+ * lread.c (syms_of_lread): Set up Qload.
+ (Fload): Handle magic file names.
+
+1993-06-07 Shane Hartman (shane@nugget.spr.com)
+
+ * xterm.c (x_caught_error_message): Change type to char* from char*[].
+ (X_CAUGHT_ERROR_MESSAGE_SIZE): New macro.
+ (x_error_catcher): Corresponding changes.
+ (x_catch_errors): Corresponding changes.
+ (x_check_errors): Do not free x_caught_error_message.
+ (x_uncatch_errors): Set x_caught_error_message to 0 after freeing it.
+
+1993-06-06 Paul Eggert (eggert@twinsun.com)
+
+ * uaf.h (uaf$v_thursday): Fix misspelling of "thursday".
+
+ * floatfns.c (Fceiling): Fix spelling of "ceiling".
+
+1993-06-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile [__GNUC__ >= 2] (LIB_GCC): Delete spurious -L.
+
+ * m/tekXD88.h (HAVE_RENAME): Deleted.
+
+ * data.c (Ffset): Delete special check for t and nil.
+
+ * xfaces.c (same_size_fonts): Compare only the width.
+
+ * dispnew.c: Include lisp.h earlier (before termhooks.h).
+
+ * editfns.c (Fcurrent_time_zone): Add alternative for !HAVE_TM_ZONE.
+ * systime.h [HAVE_TZNAME]: Declare tzname if not macro.
+ * config.h.in (HAVE_TZNAME): Add #undef.
+
+1993-06-06 Nobuyuki Hikichi (hikichi@sra.co.jp)
+
+ * m/news-risc.h (NO_MODE_T): Defined.
+ (LINKER): Add #undef.
+
+1993-06-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (access_keymap, store_in_keymap): Discard meaningless
+ high bits of a character event.
+
+1993-06-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * lisp.h: Don't declare malloc or realloc.
+
+ * xfns.c [EMACS_BIT_MAPS]: Include gray.xbm from ./bitmaps.
+
+ * xterm.c (x_new_font): Don't give up right away if XListFontsWithInfo
+ finds no fonts--try XLoadQueryFont anyway.
+
+ * xfns.c (Fx_open_connection): Make `data' unsigned char.
+
+ * window.c (Fset_window_configuration): If a window is supposed
+ to have a buffer, always give it one.
+
+ * xmenu.c (Fx_popup_menu): Error if we don't get a window
+ or a frame somehow.
+
+ * puresize.h: Test MULTI_FRAME, not HAVE_X_WINDOWS.
+
+ * frame.c (Frubber_band_rectangle): Deleted.
+ (syms_of_frame): Don't defsubr it.
+
+ * xselect.c (x_get_foreign_selection): Handle x_selection_timeout
+ as milliseconds, not as seconds.
+ (syms_of_xselect): Doc fix to match.
+
+ * m/mips4.h (MIPS2): Comment out define.
+ (LIB_STANDARD): Delete -lisode.
+
+1993-06-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * syssignal.h [POSIX] [!__GNUC__] (sys_sigmask): Add declaration.
+
+ * alloc.c (make_event_array): Ignore bits above CHAR_META.
+
+ * frame.c [!MULTI_FRAME] (Fframep): New dummy definition.
+ (syms_of_frame): Defsubr that.
+
+ * buffer.c (syms_of_buffer): Set up Lisp var inhibit-read-only.
+ * lisp.h (Vinhibit_read_only): Declared.
+ * buffer.c (Fbarf_if_buffer_read_only): Check Vinhibit_read_only.
+ * cmds.c (Fnewline): Use Fbarf_if_buffer_read_only.
+
+ * intervals.h (INTERVAL_VISIBLE_P): Use textget.
+ (INTERVAL_WRITABLE_P): Use textget.
+ Check Vinhibit_read_only.
+
+ * window.c (syms_of_window): Always defvar pop-up-frames
+ and pop-up-frame-function.
+
+ * process.c (read_process_output): Deactivate the mark.
+ Save and restore Vdeactivate_mark.
+
+ * xfns.c (x_set_menu_bar_lines_1): Adjust just the uppermost child
+ in a vertical split. Adjust the hight counter to the top.
+ (x_set_menu_bar_lines): Don't change overall frame height.
+
+1993-06-04 Francesco Potorti` (pot@cnuce.cnr.it)
+
+ * filelock.c (MAKE_LOCK_PATH): If SHORT_FILE_NAMES allocates
+ different space and calls fill_in_lock_short_file_name.
+ (fill_in_lock_short_file_name): New function for 14-chars hashed
+ file names. Replaces fill_in_lock_file_name if SHORT_FILE_NAMES.
+
+1993-06-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * sysdep.c (wait_for_termination): Fix sigpause in POSIX_SIGNALS case.
+
+ * xterm.c (x_catch_errors): Fill in missing array size in cast.
+
+ * Makefile.in (xmakefile): Depend on ../config.status.
+
+ * buffer.c (init_buffer): Init default-directory of minibuffer.
+
+ * m/iris4d.h (LIB_STANDARD): Delete -lbsd.
+
+ * keyboard.c (read_key_sequence): Reset fkey_map when we find
+ something at the end of Vfunction_key_map.
+
+ * m/ibmrt-aix.h (HAVE_FTIME): Defined.
+
+ * emacs.c (syms_of_emacs): Doc fix.
+
+ * keyboard.c (read_char_menu_prompt): Now static. Add declaration.
+
+ * dispnew.c (Fredraw_display): Redraw all visible frames.
+ (redraw_garbaged_frames): New function.
+ * xdisp.c (redisplay, echo_area_display): Use redraw_garbaged_frames.
+
+ * dispnew.c (do_pending_window_change): No need to clear
+ FRAME_NEW_HEIGHT/WIDTH. Do test width != 0.
+
+ * xterm.c (x_wm_set_size_hint): Handle XGetNormalHints returning 0.
+
+ * xfns.c (x_set_frame_parameters): Process all parms in reverse order.
+
+ * frame.h (FRAME_MINIBUF_WINDOW): Use minibuffer_window.
+
+1993-06-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * sysdep.c (init_sys_modes): Disable VLNEXT char.
+ Also VWERASE, VREPRINT, VDISCARD.
+
+ * xfaces.c: Test XOS_NEEDS_TIME_H, not HPUX, for including time.h.
+ * s/sol2.h, s/hpux.h (XOS_NEEDS_TIME_H): Defined.
+
+1993-06-02 Francesco Potorti` (pot@cnuce.cnr.it)
+
+ * ymakefile (alloca.o): Use temp names allocax.o, allocax.s
+
+ * m/delta.h (MOTOROLA_DELTA): Defined.
+ (HAVE_SYSVIPC, BAT68K, BAT_ALLOCA): Deleted--obsolete.
+ (STACK_DIRECTION, HAVE_X_WINDOWS): Deleted--configure knows.
+ (C_SWITCH_MACHINE): Set to -ga if using the Green Hills compiler.
+ (LIB_STANDARD, LIB_MATH): Defined to the 68881 versions.
+ (LIBS_SYSTEM): -lbsd brings sigblock and sigsetmask.
+ (sigsetmask): Undefined--it is in -lbsd.
+ (LDAV_SYMBOL): Undefined--we have no such thing.
+ (KERNEL_FILE): Defined to "/sysV68".
+ (BSTRING, HAVE_SELECT, HAVE_UNISTD_H, HAVE_TIMEVAL): Defined.
+ (SIGNALS_VIA_CHARACTERS): Defined.
+ (memmove): Defined as memcpy--we have no memmove.
+ (SIGIO, INTERRUPT_INPUT): Undefined--not yet tested.
+ (SHORT_FILE_NAMES, CLASH_DETECTION): Defined.
+
+1993-06-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Version 19.12 released.
+
+ * term.c (term_get_fkeys): Use correct names for F10 and up.
+ Use the key sequence, not the termcap cap name, in Fdefine_key.
+
+ * intervals.c (copy_intervals): Don't adjust total_length at the end.
+ Set lengths of subintervals properly.
+ (balance_intervals): Balance left as well as right.
+
+1993-06-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (syms_of_keymap): Add missing 2nd arg to Fcons.
+
+1993-06-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * x/esix5-4.h: Redone by Joe Kelsey.
+
+ * xterm.c (x_new_font): Take out last change.
+
+ * s/386bsd.h (BSD4_2): Defined.
+
+ * fileio.c (Fwrite_region): Don't fsync if autosaving.
+
+ * s/irix4-0.h (GETPGRP_NO_ARG): Defined.
+ * emacs.c (shut_down_emacs): Handle GETPGRP_NO_ARG.
+ * sysdep.c (sys_suspend): Handle GETPGRP_NO_ARG.
+
+ * fileio.c [HPUX9]: Don't include errnet.h.
+
+ * hftctl.c (hft_alrm): Don't return a value.
+ Always declare to return void.
+
+ * floatfns.c [!FLOAT_CHECK_ERRNO] (IN_FLOAT): New definition.
+ (Flog): Fix argument of `log'.
+
+ * m/pmax.h (KERNEL_FILE): New override definition.
+
+ * keyboard.c (read_key_sequence) [!USE_TEXT_PROPERTIES]: Fix typo.
+ (menu_bar_items) [!USE_TEXT_PROPERTIES]: Likewise.
+
+ * s/isc3-0.h: #undef C_SWITCH_SYSTEM.
+
+ * xselect.c (Fx_store_cut_buffer_internal): Handle empty string right.
+
+ * xfaces.c (init_frame_faces): Don't look at selected_frame
+ unless it is an X frame.
+
+ * xfns.c (x_window): Use Vxrdb_name for res_name field.
+ Delete the shortname stuff.
+
+ * m/pmax.h (LIBS_MACHINE): Defined.
+
+ * Version 19.11 released.
+
+1993-06-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_set_menu_bar_lines): Use FRAME_NEW_HEIGHT and ..._WIDTH.
+
+ * m/sparc.h [__GNUC__ >= 2]: Don't include alloca.h.
+
+ * xterm.c (x_new_font): If XListFontsWithInfo finds nothing,
+ try to load the font anyway.
+
+ * ymakefile (emacs): Don't run inc-vers if ../lisp is read-only.
+ (C_SWITCH_SITE_1): New make variable.
+ (really-oldXMenu): Pass C_SWITCH_X_SITE_1 as C_SWITCH_X_SITE.
+ Use C_SWITCH_SITE_1 to pass C_SWITCH_SITE.
+
+ * s/386bsd.h: New file.
+
+1993-05-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fns.c (internal_equal): Don't let ints be equal to floats.
+
+ * print.c (float_to_string): Skip `-' like digits when ensuring
+ result looks like a float.
+
+ * data.c (Frem): Fix result sign properly.
+
+ * xrdb.c [__bsdi__]: ALternate decls of getpwuid and getpwnam.
+
+ * emacs.c (main) [BSD]: Delete the setpgrp (both times).
+
+ * m/ibmrs6000.h (NLIST_STRUCT): Defined.
+
+ * ymakefile (GETLOADAVG_OBJ): New macro.
+ (obj): Use that.
+
+ * s/bsd386.h: New file.
+
+ * term.c (term_get_fkeys): If not initialized, init Vfunction_key_map.
+
+ * m/ibmrs6000.h: Delete ! __GNUC__ conditional.
+ (LD_SWITCH_MACHINE): Defined.
+ (ORDINARY_LINK): Defined unconditionally.
+
+ * dispnew.c (update_frame): Make preempt_count positive.
+ Defend against negative baud_rate.
+ * scroll.c (calculate_scrolling): Defend against negative baud_rate.
+
+ * mem-limits.h [__bsdi__]: Define BSD4_2.
+
+ * xfns.c (x_window): In XSetClassHint, use a shortened version
+ of the frame name.
+
+ * s/hpux8.h (C_SWITCH_SYSTEM): Fix typo in X11R5 dirname.
+
+ * xterm.c (XTread_socket, case KeyPress) [HPUX]: Test IsModifiedKey.
+
+ * keyboard.c (kbd_buffer_get_event):
+ Shorten the first MULTI_FRAME conditional.
+
+ * s/usg5-4-2.h (HAVE_VFORK): Deleted.
+
+1993-05-31 James Clark (jjc@jclark.com)
+
+ * xselect.c (x_reply_selection_request): Call XFlushQueue.
+
+ * window.c (Fset_window_buffer): Set window's force_start to Qnil.
+
+1993-05-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * syntax.c (Fforward_comment): Set point to where scan stops,
+ thus moving acros whitespace. When moving fwd, treat Sendcomment
+ as whitespace; likewise for Scomment when moving back.
+ (scan_sexps_forward): New arg COMMENTSTOP.
+ (Fparse_partial_sexp): Likewise.
+
+ * xfns.c (Fx_create_frame): Use bitmapIcon, not iconType.
+
+1993-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * data.c (float_arith_driver): Detect division by zero in advance.
+ (arith_driver, Frem): Likewise.
+
+ * xfns.c (Fx_list_fonts): Handle 0 for FRAME_FACES (f) [face_id]->font.
+
+ * print.c (Fwith_output_to_temp_buffer): Doc fix.
+
+ * sysdep.c (wait_for_termination): Delete LINUX conditionals.
+
+ * s/linux.h (HAVE_TCATTR): Deleted.
+ (BSD): Don't define.
+ (read, write, open, close): Defined.
+ (INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, INTERRUPTIBLE_IO): Defined.
+ (C_SWITCH_SYSTEM): Defined.
+
+ * xterm.c: Include systty.h; don't mess with FIONREAD.
+ Don't include termio.h dorectly.
+
+ * intervals.c (interval_deletion_adjustment): Delete unreachable abort.
+
+ * fns.c (Fyes_or_no_p): Delete unreachable UNGCPRO.
+
+ * keyboard.c (lispy_function_keys): Add `remove' key.
+
+1993-05-30 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * buffer.c (Fgenerate_new_buffer_name): Doc fix.
+
+1993-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile.in (clean): Delete libXMenu11.a.
+
+1993-05-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * m/mips.h (KERNEL_FILE): Set this to "/unix".
+ * m/mips4.h (MIPS2): Go ahead and define this.
+ (C_DEBUG_SWITCH): Add -DMips and -g3, and up Olimit to 2000.
+
+1993-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (main) [AIX _I386]: Don't handle SIGIOINT.
+
+ * lisp.h (UCHAR): Don't define if _UCHAR_T.
+
+ * m/ibmps2-aix.h (HAVE_GETTIMEOFDAY): Deleted.
+ (HAVE_SETSID, HAVE_TERMIOS): Defined.
+ (HAVE_TERMIO): Add #undef.
+ (SIGNALS_VIA_CHARACTERS): Defined.
+ (C_DEBUG_SWITCH): Make definition empty.
+ (LIBS_DEBUG): Defined.
+ (BROKEN_TIOCGWINSZ, LIB_X11_LIB): Add #undef.
+
+ * sysdep.c (child_setup_tty) [AIX SIGNALS_VIA_CHARACTERS]: Install
+ something usefull in the VQUIT and VINTR.
+ (emacs_set_tty): Try only 10 times to call tcsetattr.
+ Don't use memcmp to test what it did.
+
+ * systty.h [HAVE_TERMIOS _AIX _I386]: Include termios before termio.
+
+ * dispnew.c (buffer_posn_from_coords): Since COL is already
+ window-relative, don't subtract window_left.
+
+1993-05-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xfaces.c (unload_color): Don't #include <X11/Intrinsic.h>,
+ <X11/StringDefs.h>, or <X11/Xmu/Drawing.h>. Just write out
+ "unsigned long" instead of using the "Pixel" typedef; it's in the
+ protocol, so it's not likely to change.
+
+ * hftctl.c (hft_alrm): Declare and define this to return void, not
+ int; the AIX #include files have prototypes for it.
+
+ * s/aix3-2.h (LIBS_SYSTEM): Remove -lIM and -liconv from here...
+ * m/ibmrs6000.h (LIBS_MACHINE): They're already here. Doc fix.
+
+ * Makefile.in (SUBMAKEFLAGS): Remember to propagate MAKE.
+
+1993-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sunos4-1-3.h: Delete the #undef of SYSTEM_MALLOC.
+
+ * systty.h [IRIX4]: Include unistd.h.
+
+ * s/irix4-0.h (IRIX4): Defined.
+ (IRIS_UTIME): #undef this.
+
+ * xfns.c (Fx_open_connection) [NO_XRM_SET_DATABASE]:
+ Don't call XrmsSetDatabase.
+
+ * xfaces.c: Fix HPUX conditional syntax.
+
+ * s/hpux8.h (random, srandom): Defined.
+
+ * s/usg5-4-2.h: Don't specify s/ dir in #include.
+ * s/usg5-4-2.h (PTY_TTY_NAME_SPRINTF): Defined.
+ (HAVE_SYSV_SIGPAUSE): #undef this.
+
+ * sysdep.c (wait_for_termination): Add POSIX_SIGNALS alternative.
+
+1993-05-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xfaces.c (init_frame_faces): We have to make sure that face ID's
+ are valid on all frames or no frames; make sure F has allocated
+ faces for any face valid on the selected frame.
+
+ * s/hpux9.h: New file; don't use the GNU allocator. Hope we fix
+ this soon.
+
+See ChangeLog.3 for earlier changes.
diff --git a/src/ChangeLog.5 b/src/ChangeLog.5
new file mode 100644
index 00000000000..ae4322ae5a4
--- /dev/null
+++ b/src/ChangeLog.5
@@ -0,0 +1,7145 @@
+1995-06-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Version 19.29 released.
+
+ * xfns.c (Fx_display_grayscale_p): Return t or nil.
+ Return t for color displays.
+
+ * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Increased to 68000.
+
+ * xdisp.c (decode_mode_spec) [!MULTI_FRAME]: Handle %F properly.
+
+1995-06-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_key_sequence): Don't use Vprefix_help_command
+ for the first character in a key seq.
+
+ * ntinevt.c (map_virt_key): Mark some additional chars as valid ASCII.
+
+ * ntterm.c (ctrl_c_handler): Ignore CTRL_BREAK_EVENT signals.
+
+1995-06-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * sysdep.c (rmdir): Fix up Aug 19 1993 change that wasn't done right.
+
+ * ntproc.c (win32_wait): Massage retval into what is expected in Unix.
+
+ * process.c (sigchld_handler): Change XSETFASTINT to XSETINT.
+
+ * keyboard.c (Freset_this_command_lengths): New function.
+ (before_command_key_count, before_command_echo_length)
+ (before_command_restore_flag): New variables.
+ (add_command_key): If requested, reset the lengths.
+ (command_loop_1): Record current lengths before reading cmd.
+ (read_char): Update the recorded length before echoing.
+
+ * xfns.c (Fx_create_frame): Fix last arg to x_get_arg for Qdisplay.
+
+ * s/linux.h (LIB_GCC): Fix previous change.
+ If we redefine it later, #undef it first.
+
+1995-06-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (quit_throw_to_read_char): Turn off the error check
+ testing poll_suppress_count.
+
+ * s/linux.h (LIB_GCC): Define here, overriding Makefile.in.in,
+ so as to use C_SWITCH_X_MACHINE.
+
+1995-06-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * m/alpha.h (SYSTEM_MALLOC): Definition deleted.
+
+ * keymap.c (Vdefine_key_rebound_commands): New variable.
+ (syms_of_keymap): Set up Lisp var.
+ (Fdefine_key): Put new definition onto Vdefine_key_rebound_commands.
+
+ * xmenu.c (menu_item_equiv_key): Do reconsider a command that had
+ no equivalent before, if it is in Vdefine_key_rebound_commands.
+
+ * data.c (Flocal_variable_if_set_p): New function.
+ (syms_of_data): Call defsubr.
+
+ * xdisp.c (display_text_line): Fill in charstart for end of buffer.
+
+1995-06-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * puresize.h [MULTI_FRAME] (BASE_PURESIZE): Increase to 315000.
+
+ * frame.c (Fdelete_frame): Use do_switch_frame directly.
+ (do_switch_frame): No longer static.
+ * window.c (Fset_window_configuration): Use do_switch_frame directly.
+ * keyboard.c (quit_throw_to_read_char): Use do_switch_frame directly.
+ * lisp.h (do_switch_frame): Declared.
+
+1995-06-16 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * frame.c [MULTI_FRAME] (Fignore_event): New function.
+ [MULTI_FRAME] (keys_of_frame): Bind iconify-frame and
+ make-frame-visible to it.
+
+1995-06-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * .gdbinit: Use long, not EMACS_INT.
+ Do `set main' to make gdb_valbits etc. available.
+
+ * frame.h (struct frame): New field icon_name.
+ * xterm.h (struct x_display): icon_name deleted.
+ * xfns.c (x_report_frame_params, x_set_icon_type, x_set_icon_name)
+ (x_set_name, x_icon, Fx_create_frame): Use moved icon_name field.
+ * alloc.c (mark_object): Mark icon_name field.
+
+1995-06-15 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * keyboard.h (struct kboard): Add Voverriding_terminal_local_map.
+ * keyboard.c (init_kboard): Initialize it.
+ (syms_of_keyboard): Defvar it.
+ (read_key_sequence, menu_bar_items):
+ Check Voverriding_terminal_local_map before Voverriding_local_map.
+ * doc.c (Fsubstitute_command_keys): Likewise.
+ * keymap.c (Fkey_binding, describe_buffer_bindings): Likewise.
+
+ * xdisp.c (Qoverriding_terminal_local_map): New variable.
+ (syms_of_xdisp): staticpro it.
+ (update_menu_bar): If we bind overriding-local-map, also bind
+ overriding-terminal-local-map.
+
+ * frame.c (Fhandle_switch_frame): Preserve prefix arg.
+ * keyboard.c (command_loop_1): In special handling for commands
+ that create a prefix arg, don't handle commands that merely
+ preserve one that was previously created.
+
+ * .gdbinit ($valmask): Use EMACS_INT, not int.
+
+ * lisp.h (enum pvec_type): Don't use trailing comma.
+
+1995-06-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * m/alpha.h (malloc, realloc): If not _MALLOC_INTERNAL,
+ always use void *.
+
+1995-06-15 Geoff Voelker <voelker@cs.washington.edu>
+
+ * callproc.c (call-process-region) [DOS_NT]: Use IS_DIRECTORY_SEP.
+ (call-process-region) [WINDOWSNT]: Use proper temp file template.
+
+ * ntproc.c (win32_spawnve): Accept program names without executable
+ suffixes.
+
+ * makefile.nt (TRES) [MSVCNT11]: Use emacs.res, and don't compile it.
+
+1995-06-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * m/alpha.h (LD_SWITCH_MACHINE): Don't define it.
+ (malloc, realloc): If non-ANSI C, declare value as char *.
+
+1995-06-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * sysdep.c (emacs_set_tty): Swap TCSETAF and TCSETAW.
+ Rename arg waitp to flushp.
+
+1995-06-14 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * callint.c (Fprefix_numeric_value): Fix type check.
+
+ * keyboard.c (command_loop_1): Clear prefix arg (undo Feb 1 change).
+
+1995-06-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * data.c (Flocal_variable_p): Fix backwards logical operator.
+
+1995-06-14 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * m/intel386.h: If NOT_C_CODE, don't include alloca.h.
+ [!__GNUC__] (C_SWITCH_MACHINE): Disable this; it seems to confuse cpp.
+
+1995-06-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.c (Fdelete_frame): If the minibuf window was selected,
+ make that remain so.
+
+ * process.c (status_notify): Undo May 18 change.
+ Set update_tick at the beginning not at end.
+
+ * buffer.c (Fprevious_overlay_change): Check for overlays that
+ end at POS.
+
+1995-06-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (syms_of_xfns): Initialize Vx_no_window_manager. Doc fix.
+
+1995-06-13 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * m/ibmrs6000.h (LIBS_MACHINE): Use -lpthreads, not -lpthread.
+ * config.h.in (HAVE_LIBPTHREADS): Add #undef.
+
+1995-06-12 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * mem-limits.h [_LIBC] (start_of_data): Define to &__data_start
+ for GNU libc.
+
+1995-06-11 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * xmenu.c (frame_vector_add_frame): Don't forget to store
+ the longer vector.
+
+ * xterm.h (struct x_display): New field asked_for_visible.
+ * xterm.c (x_make_frame_visible): Test and set asked_for_visible.
+
+ * widget.c (EmacsFrameSetCharSize): Manually alter the height
+ and width of the outer widget (and the width of the column widget)
+ carefully using deltas.
+ Set update_hints_inhibit nonzero while updating.
+ Then call update_wm_hints explicitly.
+ (update_wm_hints): Use 0 for min_rows, min_cols.
+ Do nothing if update_hints_inhibit is nonzero.
+
+ * xterm.c: Include widget.h.
+ (x_wm_set_size_hint) [USE_X_TOOLKIT]:
+ Get the size from the outer widget.
+ Copy the base and minimum sizes from the old hint.
+
+ * xfns.c [USE_X_TOOLKIT] (x_window): If using Motif,
+ add some extra to sizes, for consistent behavior.
+
+1995-06-10 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * dispnew.c (Fframe_or_buffer_changed_p): Calculate vector size right.
+ Add hysteresis when making it larger. Fill it up reliably
+ and check at the end for overflowing it.
+ (syms_of_display): Make frame_and_buffer_state initially with 20 elts.
+
+ * keyboard.c (read_char_minibuf_menu_prompt):
+ If the char to type doesn't match the prompt string,
+ show the char explicitly.
+
+1995-06-10 Geoff Voelker <voelker@cs.washington.edu>
+
+ * ntterm.c,ntproc.c,nt.c: Include config.h before stdio.h.
+
+1995-06-09 Geoff Voelker <voelker@cs.washington.edu>
+
+ * makefile.nt (TEMACS): Depend upon $(BLD).
+ (temacs): Remove $(BLD) dependency.
+
+1995-06-09 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * xterm.c (x_get_keysym_name): New function.
+ * keyboard.c (modify_event_symbol): Mask out high bits here,
+ and only for certain purposes. table_size now unsigned.
+ (modify_event_symbol) [HAVE_X_WINDOWS]: Use x_get_keysym_name.
+ (make_lispy_event): Don't mask high bits here.
+ Supply -1 as table_size for system-specific keys.
+
+ * xdisp.c (update_menu_bar): Use set_buffer_internal_1 to switch bufs.
+ Run the hooks in the proper buffer.
+ Normally bind overriding-local-map to nil.
+ (Qoverriding_local_map): New variable.
+ (syms_of_xdisp): staticpro it.
+
+1995-06-09 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * keyboard.h (struct kboard): New member system_key_syms.
+ * alloc.c (mark_kboards): Mark it.
+ * keyboard.c (system_key_syms): Deleted; now part of struct kboard.
+ (make_lispy_event): Use the struct member.
+ (init_kboard): Initialize it.
+ (syms_of_keyboard): Delete initialization and staticpro.
+
+ * Makefile.in.in (SOURCES): Makefile isn't source; Makefile.in.in is.
+
+1995-06-08 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * keyboard.c (Fevent_convert_list): Renamed from
+ convert_event_type_list.
+ (syms_of_keyboard): defsubr it.
+ * keymap.c (Flookup_key, Fdefine_key): Use Fevent_convert_list.
+
+ * xmenu.c (xmenu_show): Do call lw_destroy_all_widgets.
+ (xdialog_show): Likewise.
+ (popup_get_selection): Don't call it here.
+
+ * search.c (Freplace_match): Fix check for valid reg in string replace.
+ Do the right thing with backslash.
+
+ * keyboard.c (Vhelp_event_list): New var.
+ (syms_of_keyboard): Set up Lisp var.
+ (help_char_p): New function.
+ (read_char, echo_char, read_key_sequence): Use help_char_p.
+
+ * keyboard.h (Vlucid_menu_bar_dirty_flag): Declare this variable.
+ (Qrecompute_lucid_menubar, Qactivate_menubar_hook): Likewise.
+
+ * keyboard.c (read_key_sequence): Don't run activate-menubar-hook
+ or call recompute-lucid-menubar.
+
+ * xdisp.c (update_menu_bar): Run activate-menubar-hook
+ and call recompute-lucid-menubar.
+
+1995-06-08 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * commands.h (last_command): Declaration deleted.
+ * keyboard.h (struct kboard): New member Vlast_command.
+ * keyboard.c (last_command): Var deleted; now part of struct kboard.
+ (init_kboard): Initialize it.
+ (syms_of_keyboard): Defvar it.
+ (command_loop_1): Make last_command be kboard-local.
+ * cmds.c (internal_self_insert): Likewise.
+ * minibuf.c (Fminibuffer_complete): Likewise.
+
+ * m/ibmrs6000.h (LIBS_MACHINE): Use -lpthread if it exists.
+
+ * m/alpha.h (LIBS_MACHINE): Define to -ldnet or -ldnet_stub.
+
+ * s/msdos.h (SYSTEM_PURESIZE_EXTRA) [!HAVE_X_WINDOWS]:
+ Increase to 62000.
+
+ * process.c [!subprocesses]: Include sysselect.h.
+
+ * xmenu.c (xmenu_show): If !HAVE_X_WINDOWS, don't reference X display.
+
+1995-06-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * keyboard.h (struct kboard): member Vprefix_arg restored, replacing
+ prefix_factor, prefix_value, prefix_sign, and prefix_partial.
+ * callint.c (current_prefix_partial): Deleted.
+ (Vprefix_arg): Deleted; not part of struct kboard again.
+ (Funiversal_argument, Fnegative_argument, Fdigit_argument)
+ (clear_prefix_arg, finalize_prefix_arg, describe_prefix_arg): Deleted.
+ (syms_of_callint): Use DEFVAR_KBOARD for Vprefix_arg.
+ Remove defsubrs for deleted functions.
+ * lisp.h: Remove declarations for deleted vars and functions.
+ * alloc.c (mark_kboards): Mark Vprefix_arg instead of
+ prefix_factor and prefix_value.
+ * macros.c (Fexecute_kbd_macro): Vprefix_arg is now part of kboard.
+ * keyboard.c (cmd_error, command_loop_1, Fcommand_execute)
+ (Fexecute_extended_command, init_kboard, syms_of_keyboard):
+ Undo Feb 28 change; prefix arg handling is now in Lisp code again.
+
+ * buffer.c: (syms_of_buffer): Doc fix.
+
+ * buffer.c: (Fbuffer_disable_undo): Make this function interactive.
+
+1995-06-07 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * data.c (Flocal_variable_p): New optional arg BUFFER.
+ Really check whether var is local in *that* buffer.
+
+ * xfns.c (x_real_positions): Uncatch and recatch X errors in the loop.
+
+ * filelock.c (unlock_file, lock_file): Call Fexpand_file_name.
+
+1995-06-05 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * Makefile.in.in (TOOLKIT_DEFINES): Define.
+ (ALL_CFLAGS): Insert $(TOOLKIT_DEFINES) here.
+ * xfns.c (syms_of_xfns): Provide motif in Motif version.
+
+ * lisp.h: (Fwaiting_for_user_input_p): Function declared.
+ (Fupcase_initials, Fupcase_initials_region): Likewise.
+ (Fplist_get, get_local_map, Fx_popup_menu, Fx_popup_dialog): Likewise.
+ (Fframe_first_window): Likewise.
+ * keyboard.c (cmd_error): Use NULL, not 0, as arg to
+ cmd_error_internal.
+ (menu_bar_items): Likewise, for arg of current_minor_maps.
+ (record_char): Add cast.
+ * indent.c (Fvertical_motion): Add cast.
+ * undo.c (record_insert): Change args to be ints, not Lisp_Objects.
+ * casefiddle.c (casify_region): Use explicit local vars for start
+ and end, so that the type will be correct.
+ (operate_on_word): Likewise for iarg in this function.
+ (upcase_initials, upcase_initials_region): Deleted; these were
+ redundant copies of Fupcase_initials and Fupcase_initials_region.
+ * abbrev.c (Fexpand_abbrev): Call to upcase_initials_region
+ changed to Fupcase_initials_region for consistency.
+ * search.c (Freplace_match): Likewise.
+ * alloc.c: Declare sbrk.
+
+ * xdisp.c: Include keyboard.h.
+
+ * s/irix5-0.h (POSIX_SIGNALS): Defined.
+
+1995-06-03 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * xterm.c (x_wm_set_icon_pixmap): Set IconPixmapHint in both cases.
+
+ * buffer.c (Fkill_buffer): When killing indirect buffer,
+ unchain that buffer's markers (only) from the common chain.
+ Don't rekill this buffer's indirect buffers that are dead.
+ Do nothing if this buffer is already dead.
+
+1995-06-03 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * editfns.c (Fencode_time): Doc fix.
+
+ * fns.c (NULL): Define if not defined.
+
+1995-06-02 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * xfns.c (Fx_create_frame): Make sure icon_name is a string or nil.
+
+ * xterm.h (struct x_display): Rename icon_label to icon_name
+ and make it a Lisp_Object.
+
+ * xfns.c (Qicon_name): New variable.
+ (Fx_create_frame): Look for icon-name parm and set icon_label field.
+ (x_set_icon_type): Compute arg to x_text_icon
+ based on frame name and icon_name fields.
+ (x_set_icon_name): New function.
+ (x_icon): Call x_text_icon.
+ (x_set_name): Look at icon_name field when setting the icon name,
+ (x_frame_parms): Add icon-name.
+ (syms_of_xfns): Set up Qicon_name.
+
+ * xterm.c (x_text_icon): Do call XSetIconName or XSetWMIconName.
+ Don't save ICON_NAME anywhere.
+
+ * sysdep.c (old_tty_valid): New variable.
+ (init_sys_modes): Set old_tty_valid if we set old_tty.
+ (reset_sys_modes): Restore tty settings only if old_tty_valid.
+
+ * term.c (cursor_to, clear_to_end_of_line_raw):
+ If chars_wasted is 0, do nothing.
+ (clear_end_of_line): Don't die if chars_wasted is 0.
+
+ * search.c (trivial_regexp_p): = is special after \.
+
+ * s/ptx.h (HAVE_SELECT, HAVE_TIMEVAL): Definitions deleted.
+
+1995-06-01 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * xfns.c (x_destroy_bitmap): Block and unblock input.
+ (Fx_horizontal_line): Add one UNBLOCK_INPUT to fix a misbalance,
+ and move another one to include the call to XFreeGC, in case we
+ someday remove the "#if 0" conditions.
+ * widget.c (EmacsFrameDestroy): Block and unblock input.
+
+1995-05-31 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * xfns.c (x_display_info_for_name): Fix error message.
+ (Fx_open_connection): Fix error messages.
+
+1995-05-30 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * s/sol2-4.h (LD_SWITCH_SYSTEM): Copied back from s/sol2-3.h;
+ added references to /usr/dt/lib.
+
+ * xfns.c (syms_of_xfns): Allow PATH_BITMAPS to be a
+ colon-separated list.
+
+ * editfns.c (syms_of_editfns): user-login-name renamed from user-name.
+ user-real-login-name renamed from user-real-name.
+ C names changed to Vuser_real_login_name, Vuser_login_name as well.
+ * nt.c: Change Vuser_real_name to Vuser_real_login_name.
+
+1995-05-30 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * xfns.c (x_top_window_to_frame): Don't match menu-bar widget.
+
+ * xdisp.c (update_menu_bar): Reverse test of save_match_data.
+
+ * xmenu.c (set_frame_menubar): Always call update_frame_menubar.
+
+ * xfns.c (x_window): Use applicationShellWidgetClass,
+ not topLevelShellWidgetClass. Call lw_set_main_areas after
+ creating the menubar widget.
+
+1995-05-29 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * xdisp.c (update_menu_bar): Do update if region display has changed.
+
+ * frame.c (make_frame_without_minibuffer): New arg DISPLAY.
+ If there's no minibuffer frame to use, create one.
+ * xfns.c (Fx_create_frame): Pass new arg to
+ make_frame_without_minibuffer.
+
+ * fns.c (Frandom): Use EMACS_INT, not int.
+ Use NULL, not 0, as arg of `time'.
+
+ * frame.c: Declare x_get_focus_frame.
+ (Fmouse_position): Use NULL, not 0, as arg of pixel_to_glyph_coords.
+ * keyboard.c (make_lispy_event, make_lispy_movement): Likewise.
+
+1995-05-29 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Do pass MotionNotify events
+ to the toolkit.
+
+ * keyboard.c (Fset_input_mode): When read_socket_hook, ignore
+ what the user specified, and set interrupt_input in the preferred
+ way for this system.
+
+ * xterm.c (x_term_init): Call init_sigio only if interrupt_input.
+
+1995-05-28 Morten Welinder <terra+@cs.cmu.edu>
+
+ * s/osf1.h (COFF): Define.
+ * m/alpha.h (LD_SWITCH_MACHINE) [!__GNUC__]: Don't define.
+ (r_alloc, r_re_alloc, r_alloc_free) [REL_ALLOC,
+ !_MALLOC_INTERNAL, !NOT_C_CODE]: Prototype.
+
+1995-05-28 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * xterm.c (x_set_offset): Distinguish CHANGE_GRAVITY < 0 case.
+ * xfns.c (x_set_frame_parameters): Pass -1 to x_set_offset.
+
+ * xfns.c (x_report_frame_params): Report top and left
+ in a way that represents negative offsets correctly.
+
+ * syntax.c (describe_syntax_1): Pass new arg to describe_vector.
+
+ * keymap.c (describe_vector): New arg entire_map.
+ Don't show bindings shadowed earlier on in the same map.
+ (Fdescribe_vector, describe_map): Pass new arg.
+
+ * xdisp.c (redisplay_window): Don't use try_window_id if
+ newline has a display table entry.
+
+ * xdisp.c (update_menu_bar):
+ Call set_frame_menubar with proper buffer current.
+
+1995-05-26 Geoff Voelker <voelker@cs.washington.edu>
+
+ * lread.c (init_lread) [CANNOT_DUMP]: Set Vload_path to EMACSLOADPATH.
+
+1995-05-26 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * xfns.c (x_window): Call initialize_frame_menubar
+ near the end, after UNBLOCK_INPUT.
+
+ * xmenu.c (popup_get_selection): Force deactivation if key pressed.
+ New arg `id'.
+ (xdialog_show, xmenu_show): Pass new arg to popup_get_selection.
+ * xterm.c (XTread_socket): Don't call popup_get_selection here.
+
+1995-05-26 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * sysdep.c (VFORK_RETURN_TYPE): Use int if not already defined.
+ (vfork): Declare the return type.
+ * s/sol2-3.h (HAVE_VFORK): Moved here from s/sol2-4.h.
+ (VFORK_RETURN_TYPE): Defined.
+ * s/sol2-4.h (HAVE_VFORK): Moved to s/sol2-3.h.
+ (pid_t): Deleted; s/sol2-3.h now defines a symbol for this.
+
+ * xdisp.c (x_consider_frame_title): Use FRAME_KBOARD.
+
+1995-05-26 Geoff Voelker <voelker@cs.washington.edu>
+
+ * s/windows95.h: New file.
+
+ * ntheap.h (get_data_region_base): Undefined.
+ (get_reserved_heap_size): Use reserved_heap_size.
+ (reserved_heap_size): Declared.
+ * ntheap.c (reserved_heap_size,allocate_heap): Defined.
+ (sbrk): Use allocate_heap.
+
+ * ntterm.c (set_terminal_modes): Set cursor size appropriate for
+ Windows 95.
+ (write_glyphs): Don't memset attrs, which is a word array.
+
+ * nt.c (configuration_buffer): Increase size.
+ (get_emacs_configuration) [WINDOWS95]: Use appropriate string.
+ (prepare_standard_handles) [WINDOWS95]: Disable subprocesses.
+ (reset_standard_handles): Check error number on failure.
+
+ * makefile.nt (LIBS): Use BASE_LIBS and ADVAPI32.
+ (config.h,paths.h): Use $(CP) instead of cp.
+ (config.h): Use $(CONFIG_H).
+ (EMACS) [WINDOWS95]: Don't dump temacs.exe.
+ (clean): Cleanup MSVC files and config.h.
+ (cleandump): Separate commands onto multiple lines.
+ Cleanup comments.
+
+1995-05-26 Michael Ernst <mernst@research.microsoft.com>
+
+ * emacs.c (standard_args): -i, -itype, --icon-type take 0, not 1, args
+
+1995-05-25 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * process.c (create_process, send_process): Add volatile qualifiers.
+ (wait_reading_process_input) [both versions]: Cast args of select.
+
+ * syntax.c (scan_lists): Make stringterm an unsigned char.
+
+ * dispnew.c (change_frame_size_1): Declare arg DELAY.
+
+ * insdel.c (adjust_point): Declare arg AMOUNT.
+
+ * lisp.h (do_symval_forwarding): Declare this function.
+ (frame_buffer_predicate, Foverlay_start, Foverlay_end): Ditto.
+ (Fprevious_single_property_change, Fend_of_line, Felt): Ditto.
+ (Fforward_line, Fforward_word, Fdelete_region, Fforward_char): Ditto.
+ (Fnarrow_to_region, Fwiden, Fmatch_beginning, Fmatch_end): Ditto.
+ (Fskip_chars_forward, Fskip_chars_backward): Ditto.
+ (Ffile_name_absolute_p, read_doc_string): Ditto.
+ (get_frame_param, store_frame_param, store_in_alist): Ditto.
+ (describe_map_tree): Declaration moved here from keymap.c.
+ * keymap.c (describe_map_tree): Move declaration to lisp.h.
+
+ * doc.c (Fsubstitute_command_keys): Cast arg of describe_map_tree.
+ * frame.c [MULTI_FRAME] (Fmouse_position): Cast arg of
+ pixel_to_glyph_coords.
+ * callint.c (Fcall_interactively): Cast arg of doprnt.
+ * editfns.c (format1): Likewise.
+ * xdisp.c (message): Likewise.
+ (scroll_bottom_vpos, fmodetrunc): Declarations deleted.
+
+1995-05-25 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * dispnew.c (Fframe_or_buffer_changed_p): Record frame names
+ as well as the frame objects.
+
+ * xterm.c (XTread_socket):
+ For MapNotify, call record_asynch_buffer_change.
+
+ * xdisp.c (prepare_menu_bars): Update frame titles before menu bars.
+
+ * xfns.c (Fx_get_resource): Major rewrite to make it clearer.
+ (validate_x_resource_name): Use build_string, not make_string.
+ (Fx_create_frame): Initially use Vinvocation_name as resource name.
+ Switch to frame name if frame name is explicit.
+ (x_display_info_for_name, Fx_open_connection): Add casts.
+ Initially use Vinvocation_name as resource name.
+ [USE_X_TOOLKIT] (x_window): Use Vx_resource_name for widget names.
+
+ * xmenu.c (xmenu_show, xdialog_show): Increment widget_id_tick
+ in the same way as in xfns.c. Use LWLIB_ID type where appropriate.
+ (set_frame_menubar, free_frame_menubar): Add casts to LWLIB_ID.
+
+ * xterm.c (XTflash): Use pointers as args to select.
+ (XTread_socket, x_set_offset, x_set_window_size)
+ (x_make_frame_invisible): Cast 2nd arg to x_wm_set_size_hint.
+ (XTclear_end_of_line): Don't specify return type.
+ (note_mouse_highlight): Declare args x and y.
+ (x_icon_type): New declaration.
+ (flashback): Declaration deleted.
+
+1995-05-24 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * lisp.h (menu_bar_items): Declare this function.
+
+1995-05-24 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * xmenu.c (Fx_popup_dialog): Treat (menu-bar) like t, for POSITION.
+
+ * frame.c (Fdelete_frame): When updating Vdefault_minibuffer_frame,
+ insist on a frame on the proper keyboard.
+
+ * xterm.c (x_connection_closed): Unblock input, first thing.
+ Set Vdefault_minibuffer_frame to t
+ before deleting a frame that might have its own minibuffer.
+
+1995-05-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * xfns.c (hack_wm_protocols): Use cast instead of suffix.
+
+1995-05-23 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * xfns.c (x_set_frame_parameters): Pass 1 as change_gravity
+ when calling x_set_offset.
+ (x_real_positions): Don't add border_width into win_x, win_y.
+ * xterm.c (x_set_offset): Add border_width when calling XMoveWindow.
+
+ * xterm.h (struct x_display): New field menubar_height.
+ * xmenu.c (set_frame_menubar): Set menubar_height field.
+ * xfns.c (x_window) [both versions]: Set menubar_height.
+
+ * xfns.c [USE_X_TOOLKIT] (x_window): Don't call XMoveWindow
+ or x_calc_absolute_position. Do use the border_width.
+
+ * xterm.c (x_calc_absolute_position): Use menubar_height field.
+ In toolkit case, use outermost Emacs widget and its parent.
+ [USE_X_TOOLKIT] (x_make_frame_visible): Do call x_set_offset.
+
+
+ * xfns.c [USE_X_TOOLKIT] (x_window): Pass position to toolkit
+ only if user-specified. But always use XMoveWindow to move the
+ window to that position.
+
+ * alloc.c (Fgarbage_collect): Clear consing_since_gc first thing.
+
+ * xdisp.c (redisplay_window): Use set_buffer_internal_1.
+
+ * buffer.c (set_buffer_internal_1): New subroutine.
+ (Fmove_overlay): Don't set windows_or_buffers_changed.
+
+1995-05-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * xselect.c (x_get_window_property): Cast args of XGetWindowProperty.
+ * xfaces.c (unload_color): Cast args of XFreeColors.
+ * xfns.c (hack_wm_protocols): Cast args of XGetWindowProperty.
+ (x_set_border_pixel): Cast args of XSetWindowBorder.
+ * widget.c (create_frame_gcs): Cast args of XCreateGC.
+ (setup_frame_gcs): Cast args of XCreatePixmapFromBitmapData.
+
+ * data.c (long_to_cons): Don't assume 32-bit longs.
+ * fileio.c (Fvisited_file_modtime): Cast arg of long_to_cons.
+
+ * editfns.c (Fformat): Split double into two pointers, not two ints.
+
+ * s/hpux9.h: Delete HAVE_FMOD; configure handles that correctly now.
+
+1995-05-22 Richard Stallman <rms@waves>
+
+ * xdisp.c (display_text_line): Enter a char in charstarts
+ at the very end of the character loop.
+ Enter newline or ^M (if selective display) separately.
+
+ * lisp.h (gdb_lisp_params): New enum type.
+ * .gdbinit: Use gdb_lisp_params to get storage layout info.
+ Set and use $valmask and $nonvalbits.
+
+ * lread.c (oblookup): Delete argument hashp.
+
+1995-05-19 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * floatfns.c (Flogb): frexp needs a pointer to int, not EMACS_INT.
+
+1995-05-19 Richard Stallman <rms@waves>
+
+ * dispnew.c (buffer_posn_from_coords): Don't let startp be before BEGV.
+
+1995-05-18 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * indent.c (compute_motion): Handle overlay strings.
+ New arg DID_MOTION. All callers changed.
+ * dispnew.c, window.c: Add new argument to calls of compute_motion.
+ * xdisp.c: Add new argument to calls of compute_motion.
+ (zv_strings_seen): New variable.
+ (redisplay, try_window, try_window_id): Clear zv_strings_seen.
+ (display_text_line): Handle overlay strings.
+
+1995-05-18 Richard Stallman <rms@waves>
+
+ * s/sol2-4.h: Undo previous change.
+
+ * emacs.c (Fkill_emacs): Delete the auto-save-list file
+ after shut_down_emacs.
+
+ * process.c (status_notify): If Vprocess_alist changes within
+ the loop, do the whole loop again.
+
+1995-05-17 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * emacs.c (Fdump_emacs): Don't take address of array.
+
+ * buffer.c (Fmake_indirect_buffer): Fix interactive spec.
+
+ * Makefile.in.in (SOURCES): Fix reference to ymakefile.
+
+ * keyboard.c (syms_of_keyboard): Always define track-mouse.
+ (do_mouse_tracking): Always declare this var.
+
+1995-05-15 Marcus Daniels <marcus@ee.pdx.edu>
+
+ * s/linux.h: Test _STDIO_USES_IOSTREAM as well as _IO_STDIO_H.
+ [__ELF__] (START_FILES, LIB_STANDARD, LIB_GCC, UNEXEC): Define these.
+ [__ELF__] (UNEXEC_USE_MAP_PRIVATE): Define this.
+
+ * unexelf.c (unexec) [UNEXEC_USE_MAP_PRIVATE]: New logic for
+ systems that don't support MAP_SHARED with PROT_WRITE.
+
+1995-05-15 Richard Stallman <rms@churchy.gnu.ai.mit.edu>
+
+ * s/sol2-4.h (LD_SWITCH_SYSTEM): Define.
+
+1995-05-15 Simon Leinen <simon@lia.di.epfl.ch>
+
+ * indent.c (vmotion): handle the case where `minibuf_prompt' is nil.
+
+1995-05-12 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * indent.c (vmotion): Simplify. Replace last three args with a single
+ struct window *. All callers changed.
+ * xdisp.c (minmax): New macro.
+ (redisplay, redisplay_window, try_window_id): Clip cursor hpos at both
+ low and high extremes, in anticipation of a change to compute_motion.
+
+ * xterm.c (Qvendor_specific_keysyms): New var.
+ (syms_of_xterm): Initialize and staticpro it.
+ (x_term_init): Initialize Vsystem_key_alist according to vendor.
+
+ * emacs.c (main) [NeXT]: Add missing braces.
+
+1995-05-11 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * sysdep.c (init_system_name): Clean up signedness mismatch.
+ * unexelf.c (unexec): Fix type mismatch.
+ * print.c (float_to_string): Fix type mismatch and simplify.
+
+ * dispnew.c [!MULTI_FRAME] (Fredraw_frame): Delete extra docstring.
+ * frame.c [!MULTI_FRAME] (Fframe_height, Frame_width): Likewise.
+
+1995-05-09 enami tsugutomo <enami@sys.ptg.sony.co.jp>
+
+ * window.c [MULTI_FRAME] (init_window_once): Set Vterminal_frame
+ to selected_frame.
+ * frame.c [MULTI_FRAME] (make_terminal_frame): Don't set
+ Vterminal_frame.
+ (do_switch_frame): Set Vterminal_frame to selected_frame.
+
+1995-05-08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * Makefile.in.in (VMS_SUPPORT): Add missing `.elc'.
+ (SOME_MACHINE_LISP): New variable.
+ (${etc}DOC): Use it.
+
+ * buffer.c (syms_of_buffer): Doc fix.
+
+ * frame.c (frame-height, frame-width, set-screen-height,
+ set-screen-width, termal-frame) [!MULTI_FRAME]: Delete doc strings.
+
+1995-05-08 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * keyboard.c (init_kboard): Initialize Vdefault_minibuffer_frame.
+ * keyboard.h (struct kboard): New member Vdefault_minibuffer_frame.
+ * frame.c: Vdefault_minibuffer_frame is now part of KBOARD instead
+ of a variable. All references changed.
+ (make_frame_without_minibuffer): New arg KB.
+ Require the new frame's minibuffer to be on the same display.
+ * xfns.c (Fx_create_frame): Pass kb to make_frame_without_minibuffer.
+
+ * xdisp.c (x_consider_frame_title): When setting multiple_frames,
+ ignore invisible frames and frames on other displays.
+
+ * keyboard.c [MULTI_KBOARD] (read_char): If the character was for
+ the wrong kboard, don't let it get processed twice.
+
+1995-05-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * callproc.c (Fcall_process): Keep reading till buffer is nearly full.
+
+ * emacs.c (Fdump_emacs): Don't use & before my_edata.
+
+1995-05-08 Francesco Potorti` (pot@cnuce.cnr.it)
+
+ * m/delta.h (C_SWITCH_MACHINE): Let configure decide if this is
+ a 68040 or 68030. Don't condition on __STDC__.
+
+1995-05-08 enami tsugutomo <enami@sys.ptg.sony.co.jp>
+
+ * frame.c (Fraise_frame, Flower_frame): Make arg FRAME optional.
+
+ * keyboard.c (Fread_key_sequence): Doc fix.
+
+1995-05-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * window.c (Fdisplay_buffer): Initialize other, upper, lower.
+
+1995-05-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * lisp.h (Fmatch_data, Fstore_match_data): Declared.
+
+ * xdisp.c (prepare_menu_bars): Save and restore the match data.
+ (update_menu_bar): New arg save_match_data.
+ Maybe save and restore match data here.
+
+1995-05-07 Geoff Voelker <voelker@cs.washington.edu>
+
+ * makefile.nt (region-cache.obj,vm-limit.obj): Dependencies defined.
+ (OBJ1): Don't compile xfaces.c.
+ (buffer.obj,indent.obj,search.obj): Add region-cache.h dependency.
+
+1995-05-07 Paul Eggert <eggert@twinsun.com>
+
+ * data.c (Fmod): Fix the final adjustment, when f2 < 0 and f1 == 0.
+
+ * lread.c (isfloat_string): Reject strings like "0.5+".
+
+1995-05-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (wait_reading_process_input): Pass arg in new call to
+ set_waiting_for_input.
+
+ * xfns.c (Funfocus_frame): Check for live X frame.
+
+ * lread.c (init_lread): Don't warn about missing installation dirs
+ when using dirs derived from the executable.
+
+1995-05-06 Geoff Voelker <voelker@cs.washington.edu>
+
+ * makefile.nt (TRES): Defined.
+ (TLIB1,TLIB2): Created out of TLIB.
+ (TLIB): Split to reduce time to do library updates.
+ (DOC): Use DOC-X.
+ (strftime.obj): Compile with -Dstrftime=emacs_strftime.
+
+1995-05-06 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * window.c (syms_of_window): Doc fix.
+ (temp_output_buffer_show): If we use Vtemp_buffer_show_function,
+ do nothing else.
+
+ * s/bsd386.h (GETPGRP_NO_ARG): New definition.
+ (BSD): Include sys/param.h instead of redefining BSD.
+ But do this only if emacs is defined.
+
+ * lisp.h (gc_cons_threshold): Change back to int.
+ * alloc.c (gc_cons_threshold): Change back to int.
+ (min): New macro.
+ (inhibit_garbage_collection): Don't exceed value an int can hold.
+
+ * xdisp.c (prepare_menu_bars): Clear size-change flag before running
+ size-change functions.
+ (scroll_step, debug_end_pos, line_number_display_limit): Now static.
+
+1995-05-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (Fdump_emacs_data): Don't use & before my_edata.
+
+ * editfns.c (Fencode_time): Rename arg from min to minute.
+ (days_per_month): Move variable to top level.
+
+ * process.c (wait_reading_process_input): Don't call prepare_menu_bars.
+ Clear waiting_for_input around calling redisplay_preserve_echo_area.
+
+ * xfns.c [USE_X_TOOLKIT] (x_window): Always pass position in geometry.
+ Set XtNmappedWhenManaged to 0 for shell_widget.
+ (Fx_create_frame): Always call x_wm_set_size_hints.
+
+ * s/sol2-4.h (HAVE_VFORK): Add #undef.
+
+ * s/netbsd.h (GETPGRP_NO_ARG): Defined.
+
+1995-05-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/freebsd.h: (GETPGRP_NO_ARG): Defined
+ (HAVE_GETPAGESIZE): Definition deleted.
+
+ * data.c (store_symval_forwarding): Error if value out of range
+ for an integer variable.
+ (Fstring_to_number): Avoid using make_number to return value.
+ Maybe use atol.
+
+1995-05-04 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * buffer.c (Qbefore_string, Qafter_string): New vars.
+ (syms_of_buffer): Initialize and staticpro them.
+ (cmp_for_strings, overlay_strings): New functions.
+
+1995-05-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * indent.c (string_display_width): Renamed from string_width.
+ (vmotion): Use new name.
+
+ * s/sco4.h [!__GNUC__] (LINKER): Defined.
+
+ * insdel.c (make_gap): Don't allow buffer size that won't fit in int.
+ Make this new error check also check exceeding VALBITS.
+ (insert_1): Delete old error test.
+ (min): New macro.
+
+ * Makefile.in.in (${etc}DOC): Put SOME_MACHINE_OBJECTS before obj.
+
+ * xfaces.c (region_face, next_face_id): Make static.
+
+ * xselect.c (Vselection_converter_alist, x_selection_timeout)
+ (Vx_sent_selection_hooks, Vx_lost_selection_hooks, Vselection_alist):
+ Make static.
+
+ * alloc.c (inhibit_garbage_collection):
+ Use XSETINT, and do arithmetic in type EMACS_INT.
+
+ * s/hpux9.h (HAVE_FMOD): Defined.
+
+ * sysdep.c (bcmp, bcopy): Fix backward BSTRING conditionals.
+
+ * emacs.c (Fkill_emacs): Delete the Vauto_save_list_file_name file.
+
+1995-05-04 Morten Welinder <terra+@cs.cmu.edu>
+
+ * data.c (arith_driver): Make accum and next EMACS_INTs.
+ (Fmod): i1 and i2 are EMACS_INT.
+
+ * editfns.c (Fformat): Allow 30 characters in the printed version
+ of integers and floats.
+
+ * print.c (print): Handle long EMACS_INT in sprintf.
+ * keyboard.c (Fexecute_extended_command):
+ Handle long EMACS_INT in sprintf.
+ * lread.c (read1): Handle long EMACS_INT in atol.
+ * doprnt.c (doprnt): Handle long EMACS_INT in sprintf.
+ * data.c (Fnumber_to_string, Fstring_to_number):
+ Handle long EMACS_INT in sprintf and atol.
+
+ * process.c (list_processes_1): Cast XFASTINT for passing to sprintf.
+
+ * m/alpha.h (bcopy, bzero, bcmp): Don't let string.h prototype these.
+
+1995-05-03 Morten Welinder <terra+@cs.cmu.edu>
+
+ * keyboard.c (parse_modifiers, apply_modifiers): Don't assume
+ 32-bit EMACS_INT.
+ (parse_modifiers): modifiers is an int, not an EMACS_INT.
+ (read_key_sequence): Pass modifiers as int, not EMACS_INT.
+
+ * buffer.h (Fdelete_overlay): Was mistakenly called Fdelete_overlays.
+
+ * lisp.h (gc_cons_threshold): Make this an EMACS_INT.
+
+ * alloc.c (gc_cons_threshold): Make this an EMACS_INT.
+ (gc_sweep): Make already_free an EMACS_INT.
+
+ * search.c (search_buffer): Cast p_limit to EMACS_INT not int.
+
+ * s/osf1.h (GETPGRP_NO_ARG): Define.
+
+1995-05-03 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (reorder_modifiers): Use XINT.
+ Cast apply_modifiers arg to int.
+
+ * unexapollo.c: New file.
+
+ * m/apollo.h (CANNOT_DUMP, VIRT_ADDR_VARIES, LIBS_TERMCAP)
+ (NO_X_DESTROY_DATABASE): Macros deleted.
+ (BSTRING): #undef deleted.
+ (SYSTEM_TYPES): Redefinition deleted.
+ (UNEXEC): New definition.
+ (LD_SWITCH_SYSTEM): Define as empty.
+ (C_SWITCH_MACHINE, LD_SWITCH_MACHINE): New definitions.
+ (OLDXMENU_OPTIONS): New definition.
+
+ * fileio.c (directory_file_name): Add APOLLO conditional.
+ (Fcopy_file, Fset_file_modes): Delete APOLLO conditionals.
+
+ * emacs.c: Delete all APOLLO conditionals.
+
+1995-05-02 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * intervals.c (get_local_map): Use Fget_char_property, so that
+ overlay properties will be considered as well as text properties.
+
+1995-05-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * insdel.c (prepare_to_modify_buffer): Use file_truename for locking.
+
+ * fileio.c (Finsert_file_contents): Use file_truename for unlocking.
+
+ * buffer.c (Fset_buffer_modified_p): Use the truename for locking.
+
+ * lread.c (read1): New arg FIRST_IN_LIST; all callers changed.
+ Special handling for backquote and comma.
+ (Qbackquote, Qcomma, Qcomma_at, Qcomma_dot): New variables.
+ (syms_of_lread): Initialize and staticpro them.
+ (Fread, Fread_from_string): Initialize new_backquote_flag.
+
+1995-05-01 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * xmenu.c (xmenu_show, menubar_selection_callback): Move declaration
+ of entry to an outer block, to guarantee its value is preserved.
+
+ * keyboard.c (kbd_buffer_get_event): New arg USED_MOUSE_MENU.
+ [USE_X_TOOLKIT]: Set *USED_MOUSE_MENU if returning menu-bar symbols.
+ (read_char): Pass used_mouse_menu to kbd_buffer_get_event.
+ This variable is now meaningful for toolkit menus as well as
+ non-toolkit menus.
+
+ * dispnew.c (update_frame): Don't put cursor in echo area unless
+ the echo area is on this frame.
+ * xdisp.c (redisplay): Don't move the cursor if it's supposed to
+ be in the echo area.
+ (display_text_line): Likewise.
+ (echo_area_display): Put cursor in echo area if appropriate.
+
+1995-04-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (standard_args): Add #ifdef VMS for -map.
+ (main): Delete duplicate code for -version.
+ (standard_args): Add -help and -version.
+
+ * fileio.c (Fdo_auto_save): Record visited file name
+ as well as auto-save file name in the auto-save-list-file-name file.
+ Call Fexpand_file_name for auto-save-list-file-name.
+
+1995-04-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * sysdep.c [HAVE_UNISTD_H]: Include unistd.h.
+
+ * emacs.c (standard_args): Add -L/--directory/-directory.
+
+ * s/sunos4shr.h (ORDINARY_LINK): Defined.
+ (LINKER): Definition deleted.
+
+1995-04-28 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * xfns.c (x_non_menubar_window_to_frame): New function.
+ * xterm.h: Declare x_non_menubar_window_to_frame.
+ * xmenu.c (popup_get_selection): Use x_non_menubar_window_to_frame.
+ Either queue or dispatch the event, but not both.
+ (dialog_selection_callback): Clear popup_activated_flag.
+
+ * xmenu.c (Fx_popup_menu): If POSITION is just (menu-bar), use the
+ current mouse position.
+ (menubar_selection_callback): Use (menu-bar) instead of 'menu-bar.
+ * keyboard.c (read_char, read_char_x_menu_prompt): Exclude
+ menu-bar clicks when processing mouse clicks.
+
+ * xterm.c (x_term_init): Add stub to initialize Vsystem_key_alist.
+
+1995-04-27 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * process.c (create_process): Don't reference pty_name if !HAVE_PTYS.
+
+1995-04-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fileio.c (Ffile_regular_p): Use Qfile_regular_p.
+ (syms_of_fileio): Set up Qfile_regular_p.
+
+ * emacs.c (standard_args): Move -iconic and --icon-type
+ to the end of the initial args.
+
+1995-04-25 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * alloc.c (mark_kboards): Mark the kbd macro and Vsystem_key_alist.
+
+1995-04-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/linux.h (REGEXP_IN_LIBC): Defined.
+
+ * callproc.c (Fcall_process): Use bigger buffer, and grow it
+ as we get more and more data.
+
+1995-04-24 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * xterm.c (x_term_init): If the previous kboard was the dummy one,
+ switch to the new one immediately.
+
+ * keyboard.h (struct kboard): New member Vsystem_key_alist.
+ * keyboard.c (Vsystem_key_alist): Delete global variable.
+ (init_kboard): Initialize Vsystem_key_alist member.
+ (syms_of_keyboard): Change DEFVAR_LISP to DEFVAR_KBOARD.
+ (make_lispy_event): Use the kboard's alist instead of the global.
+
+ * fns.c (Fplist_put): Don't signal an error if plist isn't a cons.
+
+ * xterm.c (x_focus_frame, x_focus_event_frame, x_highlight_frame):
+ Delete these vars; now part of struct x_display_info.
+ (x_new_focus_frame): New arg DPYINFO. Callers changed.
+ Use the struct members instead of the globals.
+ Call x_frame_rehighlight instead of XTframe_rehighlight, so we can
+ pass on the dpyinfo pointer.
+ (x_mouse_leave): New arg DPYINFO. Callers changed.
+ (XTframe_rehighlight): New arg FRAME. Callers changed.
+ Now does all the work in x_frame_rehighlight.
+ (x_frame_rehighlight): New function, code from XTframe_rehighlight.
+ (XTread_socket): Use the struct members instead of the globals.
+ (x_unfocus_frame, x_iconify_frame, x_destroy_window): Likewise.
+ (x_display_box_cursor, x_make_frame_invisible): Likewise.
+ (x_term_init): Initialize the struct members.
+ (x_initialize): Delete initialization of deleted globals.
+ * xfns.c (x_get_focus_frame): New arg FRAME. Callers changed.
+ (Funfocus_frame): Unfocus on selected_frame's display.
+ * xterm.h (struct x_display_info): New members x_focus_frame,
+ x_focus_event_frame, x_highlight_frame, replacing global vars.
+ * frame.c (do_switch_frame): Don't try to refocus termcap frames.
+
+ * Makefile.in.in: Make dispnew.o and keyboard.o depend on xterm.h.
+ Make intervals.o and term.o depend on keyboard.h.
+
+ * xfns.c (x_window): Fix type mismatch.
+
+ * xdisp.c (message_dolog): The message log doesn't need an undo list.
+
+ * term.c (term_init): MagicWrap implies AutoWrap.
+
+1995-04-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (safe_run_hooks_1, safe_run_hooks_error): New subroutines.
+ (safe_run_hooks): Handle errors to clear the hook,
+ instead of always clearing it temporarily.
+
+ * callproc.c (child_setup): Reword "can't exec" message.
+ Add newline after message.
+
+ * process.c (create_process): Don't abort if can't reopen
+ pty_name in the child. Exit the child instead.
+
+1995-04-20 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * abbrev.c (Fexpand_abbrev): Add some error checking.
+
+ * xmenu.c (Fx_popup_dialog): Don't pass menubarp arg to xdialog_show.
+
+1995-04-19 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * frame.h (struct frame): New member namebuf.
+ * frame.c (make_frame): Initialize it.
+ (Fdelete_frame): Free it.
+ * xfns.c (x_window): Use (or reuse) frame's namebuf instead of a
+ temp var. This avoids a storage leak.
+
+1995-04-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xmenu.c (xmenu_show, xdialog_show): Delete menubarp arg.
+ (Fx_popup_menu): Don't compute menubarp.
+
+1995-04-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * callproc.c (Fcall_process): Call Fexpand_file_name for error_file.
+
+ * keyboard.c (map_event_to_object): Declaration deleted.
+
+1995-04-18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * eval.c (Ffetch_bytecode): Check the type of the object being
+ read from the file.
+
+1995-04-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * editfns.c (Fencode_time): Don't treat years < 100 as special.
+
+1995-04-17 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * lisp.h: Declare some functions.
+ * buffer.c (adjust_overlays_for_insert): New function.
+ (adjust_overlays_for_delete): New function.
+ * insdel.c (insert_1): Adjust overlay center after inserting.
+ (insert_from_string_1, insert_from_buffer_1): Likewise.
+ (del_range_1): Adjust overlay center after deleting.
+
+1995-04-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * editfns.c (Fencode_time): Rewrite by Naggum.
+
+1995-04-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (x_report_frame_params): Report value of `display' parm.
+
+ * Makefile.in.in (really-lwlib, really-oldXMenu): Mark as .PHONY.
+
+1995-04-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * editfns.c (Fencode_time): Fix missing \n\'s.
+
+1995-04-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * editfns.c (init_editfns): Add casts.
+
+ * doc.c (get_doc_string): Add cast.
+
+ * keyboard.c (kbd_buffer_get_event): Don't use prototype.
+
+ * xdisp.c (message_log_check_duplicate): Make p1 and p2
+ unsigned char *.
+
+1995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_term_init): Call XtSetLanguageProc only if HAVE_X11XTR6.
+
+1995-04-13 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * editfns.c (Fbuffer_string): Doc clarification.
+
+ * alloc.c: Delete the #if that compares MARKBIT.
+
+ * window.c (Fdisplay_buffer): Search the proper frame when the
+ current frame is minibuffer-only.
+
+ * fileio.c (Fexpand_file_name): Use IS_DIRECTORY_SEP instead of
+ special code for WINDOWSNT.
+
+1995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfaces.c (compute_char_face): Don't use NULL.
+
+ * buffer.c (Foverlays_at, Fnext_overlay_change): Don't use NULL.
+ (Fprevious_overlay_change): Don't use NULL.
+
+ * xfns.c (Fx_color_defined_p): Doc fix.
+
+ * xfaces.c [! HAVE_X_WINDOWS] (build_face): Deleted.
+
+1995-04-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * callint.c (Fcall_interactively): Fix paren nesting.
+
+ * buffer.c (evaporate_overlays): Fix type error.
+
+1995-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (XTmouse_position): Handle X errors in XTranslateCoordinates.
+
+ * lisp.h (MARKBIT): Do the shifting as unsigned int.
+ Delete the #if that compares MARKBIT.
+
+1995-04-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (XTread_socket): For ConfigureNotify,
+ combine the USE_X_TOOLKIT and non-toolkit cases, which provides
+ some things that were missing in the former.
+
+ * alloc.c (gc_sweep): If a misc has type Lisp_Misc_Free,
+ keep it on the free list. Sum pseudovector sizes properly.
+
+ * dispnew.c (Fframe_or_buffer_changed_p): Ignore buffers whose names
+ start with space.
+
+ * editfns.c (Fencode_time): Use XINT to examine `zone'.
+
+1995-04-11 Geoff Voelker <voelker@cs.washington.edu>
+
+ * ntinevt.c (nt_kdb_patch_event): Created.
+
+ * callproc.c (child_setup) [WINDOWSNT]: Removed syntax errors.
+
+ * dired.c (Ffile_attributes) [WINDOWSNT]: Removed syntax errors.
+
+ * fileio.c (Fexpand_file_name) [DOS_NT]: Preserve drive letter case.
+ Fix syntax errors.
+ Check drive letter when expanding ~\.
+
+ * sysdep.c (sys_subshell) [WINDOWSNT]: Don't invoke restore_console.
+
+ * ntproc.c (win32_wait): Reap synchronous subprocesses, and place
+ return code in synch_process_retcode.
+
+ * s/windowsnt.h (ctime): Defined to be nt_ctime.
+ (NULL): Defined when missing from included system files.
+ (EMACS_CONFIG_OPTIONS): Defined.
+ (LISP_FLOAT_TYPE): Defined.
+ (HAVE_TZNAME): Defined.
+ (HAVE_TIMEVAL): Defined.
+ (struct timeval): Defined.
+ (struct timezone): Defined.
+
+ * nt.c (nt_ctime): Defined.
+ (gettimeofday): Defined.
+
+ * ntinevt.c (do_mouse_event): Use XSETFASTINT.
+ (SET_FRAME): Undefined.
+ (select): Renamed to sys_select to correspond to routine in sysdep.c
+ (sys_select): Support struct timeval.
+ (key_event): Support German keyboard.
+ Replace SET_FRAME with XSETFRAME.
+ (nt_kbd_mods_to_emacs): Renamed to win32_kbd_mods_to_emacs.
+ (win32_kbd_mods_to_emacs): Support AltGr on German keyboards.
+ (win32_number_shift_map): Defined.
+ (WIN32_KEY_SHIFTED): Defined.
+ (win32_patch_key): Defined.
+ (map_virt_key): Support VK_OEM_102 for German keyboards.
+ (win32_mouse_position): Add arg insist.
+ (do_mouse_event): Replace SET_FRAME with XSETFRAME.
+ Use win32_kbd_mods_to_emacs.
+
+ * fileio.c (directory_file_name) [WINDOWSNT]: Handle UNC format.
+
+ * nt.c (nt_stat): Defined.
+
+ * s/windowsnt.h (struct nt_stat): Defined.
+
+ * ntinevt.h: Fixed function prototypes.
+
+ * makefile.nt (TEMACS): Add dependence on $(BLD).
+
+ * ntterm.c (Fset_message_beep): Defined.
+ (ring_bell): Support audio cards.
+
+ * makefile.nt (DOC): Defined.
+
+ * s/windowsnt.h (HAVE_RANDOM): Defined.
+ (random): Macro undefined.
+ (srandom): Macro undefined.
+ (HAVE_UTIME): Defined.
+ (utime): Defined.
+ (EMACS_CONFIGURATION): Defined.
+
+ * nt.c (random): Defined.
+ (srandom): Defined.
+
+ * nt.c (readdir): Include "." and "..".
+ (get_inode_and_device_vals): Handle directories.
+
+ * fileio.c (Fexpand_file_name) [DOS_NT]: Don't strip slash from
+ default dirs like "C:\\"
+
+ * makefile.nt (all): Use COMPAT_LIB in library list.
+ Use DEL_TREE instead of delnode.
+
+ * ntheap.c (sbrk): Shrink heap by arbitrary amounts.
+
+ * m/intel386.h (NO_ARG_ARRAY) [WINDOWSNT]: Defined.
+
+ * s/windowsnt.h (_VARARGS_): Defined.
+ (_CALLBACK_): Defined.
+
+1995-04-11 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * process.c (create_process): Set PROCESS's tty_name to Qnil when
+ !PTY_FLAG, so Fprocess_tty_name returns nil for pipes as its
+ docstring says.
+
+1995-04-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_char): Rearrange code so that getcjmp is set
+ only around sit_for and kbd_buffer_get_event, and
+ and polling is stopped only around the kbd_buffer_get_event call.
+ (Ftrack_mouse, tracking_off, read_char): Don't call prepare_menu_bars.
+
+ * dispnew.c (init_desired_glyphs): New function.
+ * xdisp.c (redisplay): Call init_desired_glyphs for each frame.
+ Call prepare_menu_bars.
+ (prepare_menu_bars): Delete code at beginning that duplicates
+ things done at the beginning of redisplay.
+
+ * alloc.c (inhibit_garbage_collection): New function.
+
+ * xterm.c (XTread_socket): Pass dpyinfo to popup_get_selection.
+
+ * xmenu.c (popup_get_selection): Queue up events that aren't
+ for the menu, and process them afterward. New arg dpyinfo.
+ (set_frame_menubar): Use inhibit_garbage_collection.
+ [USE_X_TOOLKIT] (xmenu_show): Delete the queue code here.
+ Pass dpyinfo to popup_get_selection.
+ Don't call lw_destroy_all_widgets.
+ [USE_X_TOOLKIT] (xdialog_show): Simplify using popup_get_selection.
+
+1995-04-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * callint.c (Fcall_interactively): Fix handling of @
+ when it tests whether the event has a window in it.
+
+ * s/sco4.h (NO_SOCKETS_IN_FILE_SYSTEM): Defined.
+
+ * eval.c (internal_condition_case): Abort if interrupt_input_blocked>0.
+
+ * xmenu.c (set_frame_menubar): Don't block input until after
+ the menubar maps have been decoded.
+
+1995-04-10 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * keyboard.c (push_frame_kboard, pop_frame_kboard): Do nothing if
+ !MULTI_KBOARD.
+
+ * keyboard.c (init_keyboard): Don't malloc a new structure;
+ initial_kboard should already exist for that.
+ * frame.c (make_terminal_frame): Put initial_kboard on the list of
+ all kboard objects.
+
+1995-04-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xmenu.c (popup_get_selection): For ButtonRelease event,
+ clear dpyinfo->grabbed.
+
+ * window.c (temp_output_buffer_show): Select the chosen window
+ temporarily for running temp-buffer-show-hook.
+ (syms_of_window): Fix typo.
+
+ * s/osf1.h: Don't include alloca.h, string.h here.
+ (malloc. realloc, xmalloc, xrealloc): Declarations moved to m/alpha.h.
+ * m/alpha.h: Include alloca.h, string.h here.
+ (malloc. realloc, xmalloc, xrealloc): Declarations moved from s/osf1.h.
+
+ * xdisp.c (display_mode_line): Use push_frame_kboard, pop_frame_kboard.
+
+ * xfns.c (x_window): Copy the frame name to non-Lisp string.
+
+ * keyboard.c (any_kboard_state): Renamed from unlock_kboard.
+ Define it unconditionally, but it's a no-op unless MULTI_KBOARD.
+ (single_kboard_state): New function.
+ (push_frame_kboard, pop_frame_kboard): New functions.
+ (single_kboard): Renamed from kboard_locked.
+
+ * keyboard.h (single_kboard): Renamed from kboard_locked.
+ All refs renamed.
+ (struct kboard): Move flag fields to the end, and make them chars.
+ Delete the `unused' field.
+
+ * callint.c (Fcall_interactively): Call single_kboard_state
+ to switch to the single-kboard state.
+ * minibuf.c (read_minibuf): Call single_kboard_state
+ to switch to the single-kboard state.
+
+ * alloc.c, data.c, macros.c, print.c: Include keyboard.h.
+
+ * Makefile.in.in (alloc.o, data.o, macros.o, print.o):
+ Depend on keyboard.h.
+
+ * xterm.h (x_display_info): Use `struct kboard', not KBOARD.
+ * frame.h (struct frame): Use `struct kboard', not KBOARD.
+
+ * keyboard.h (KBOARD, etc): Moved from lisp.h.
+ (struct kboard): Renamed from struct KBOARD.
+ * lisp.h (KBOARD, etc): Moved to keyboard.h.
+
+1995-04-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (unlock_kboard): Do nothing with Vunread_command_events.
+ (read_char): Clean up logic for reading from KBOARD queues.
+
+ * xfns.c (defined_color): Fix typo (duplicate +).
+
+ * keyboard.c (kbd_buffer_get_event): Set copy by assignment, not init.
+
+ * xterm.c (XTread_socket): Make deiconify event
+ only if frame was iconified.
+
+ * xrdb.c (xmalloc, xrealloc): Declare them here.
+
+1995-04-08 Erik Naggum <erik@naggum.no>
+
+ * editfns.c (Fencode_time): New function, to match `decode-time'.
+
+1995-04-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * intervals.c (set_point): When skipping intangible text,
+ stop where property value changes.
+
+ * indent.c (Fmove_to_column): Fix minor bug in prev change.
+
+ * lread.c (read_escape): Undo Nov 15 change.
+
+ * xdisp.c (display_mode_line): Test mode_line_inverse_video
+ before highlighting partial-width mode line.
+
+ * xmenu.c (popup_activate_callback): Increment popup_activated_flag.
+ (popup_deactivate_callback): Decrement it.
+
+ * s/linux.h (HAVE_SELECT, HAVE_TIMEVAL): Definitions deleted.
+ config.h should handle them.
+
+ * xdisp.c (redisplay): Don't call update_frame for non-selected
+ termcap frame.
+
+1995-04-08 Noah Friedman <friedman@prep.ai.mit.edu>
+
+ * window.c (Fnext_window, Fprevious_window): If all_frames is a
+ frame and window is not on that frame, return the first window on
+ that frame.
+
+1995-04-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * lread.c (init_lread): Add site-lisp under the installation dir
+ to Vload_path if that exists.
+
+ * s/osf1.h (xmalloc, xrealloc): Declare them.
+
+ * frame.c (make_terminal_frame): Use Emacs, Emacs-2, ... as name.
+
+ * xdisp.c (decode_mode_spec): Add %F code.
+ Order alternatives alphabetically.
+
+ * s/aix4.h: Use "..." in #include.
+
+1995-04-07 Morten Welinder <terra+@cs.cmu.edu>
+
+ * s/osf1.h: Include alloca.h, string.h. Test NOT_C_CODE.
+
+ * m/alpha.h (SPECIAL_EMACS_INT): Defined.
+
+1995-04-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * keyboard.c (kbd_buffer_get_event): Check for frame buried in a cons.
+ Delete menu_bar_event handling code.
+ (make_lispy_event): Move it here, so it gets a switch-frame if needed.
+
+ * callint.c (Fcall_interactively): Fix previous change.
+
+1995-04-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * doprnt.c (xmalloc, xrealloc): Declare them here.
+
+ * callint.c (Fcall_interactively): `+' is reserved for user changes.
+
+ * process.c (read_process_output_error_handler)
+ (exec_sentinel_error_handler): Fsleep_for wants two args.
+
+ * xfns.c (validate_x_resource_name): Change invalid chars to `_'.
+
+ * doprnt.c (doprnt): Cast pointer to int by way of EMACS_INT.
+
+ * xmenu.c (menubar_selection_callback, dialog_selection_callback)
+ (single_submenu): Cast pointer to int by way of EMACS_INT.
+
+ * floatfns.c (Flogb): Use EMACS_INT for `value'.
+
+ * editfns.c (Fformat): Cast int to pointer by way of EMACS_INT.
+
+ * search.c (search_buffer): Avoid casting trt to int.
+ Use EMACS_INT for comparing pointers.
+
+ * buffer.h (Fdelete_overlays): Add declaration.
+
+ * keyboard.c (parse_modifiers): Use type EMACS_INT for `modifiers'.
+
+ * xterm.c (dumpglyphs): Cast FACE_DEFAULT to (XFontStruct *)
+ for comparison with face->font.
+
+ * sysdep.c (bcopy): If NEED_BCOPY, do compile this.
+
+ * m/ncr386.h: New file.
+
+ * s/hpux9.h (LD_SWITCH_X_DEFAULT): New definition.
+ (C_SWITCH_X_DEFAULT): New definition.
+
+ * doc.c (get_doc_string): In (STRING . INTEGER), if INTEGER
+ is negative, negate it.
+
+ * eval.c (Fuser_variable_p): For (STRING . INTEGER), test sign.
+
+ * s/sol2.h (C_SWITCH_X_SYSTEM): Defined.
+
+ * s/usg5-4-2.h (LIBS_SYSTEM): New override definition.
+
+ * lisp.h (XMISCTYPE): New macro.
+ (union Lisp_Misc): Delete the `type' field.
+ Use XMISCTYPE instead of that.
+
+ * alloc.c (Fmake_marker, mark_object): Use XMISCTYPE.
+ (clear_marks, gc_sweep): Use u_marker union elt to extrat misc type.
+
+ * lread.c (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard)
+ (defvar_per_buffer): Use XMISCTYPE.
+ * print.c (print): Use XMISCTYPE.
+ * fns.c (internal_equal): Use XMISCTYPE.
+ * buffer.c (Fmake_overlay): Use XMISCTYPE.
+ * data.c (Ftype_of, do_symval_forwarding, store_symval_forwarding)
+ (find_symbol_value, Fmake_variable_buffer_local, Fmake_local_variable):
+ Use XMISCTYPE.
+
+ * xdisp.c (prepare_menu_bars): Do the frame titles last.
+
+1995-04-06 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfaces.c (intern_face): Cast FACE_DEFAULT to (XFontStruct *)
+ for comparison with face->font.
+
+ * puresize.h (CHECK_IMPURE): Remove & from before my_edata.
+
+ * editfns.c (Fformat_time_string): Use emacs_strftime. Doc fix.
+
+ * Makefile.in.in (strftime.o): Define strftime as emacs_strftime.
+
+ * xmenu.c (frame_vector): New static variable.
+ (syms_of_xmenu): staticpro it.
+ (frame_vector_add_frame): New function.
+ (set_frame_menubar): Use frame_vector; use index as the widget id.
+ (free_frame_menubar): Likewise. Remove the frame from frame_vector.
+ (menubar_selection_callback): Use frame_vector to turn id into frame.
+
+ * emacs.c (main): Cast arg to `brk'.
+
+ * sysdep.c (init_sys_modes): Use TCOON only if defined.
+
+ * s/netbsd.h (NO_MATHERR): Defined.
+ (LIBS_SYSTEM): Definition deleted.
+
+ * unexsunos4.c: Treat __NetBSD__ like __FreeBSD__.
+
+1995-04-06 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * fns.c (Fplist_put): Fix missing \n\.
+
+ * xfns.c (x_window_to_frame): Skip non-X frames before testing dpyinfo.
+ [USE_X_TOOLKIT] (x_any_window_to_frame, x_top_window_to_frame): Ditto.
+
+1995-04-06 Simon Marshall <simon@duality.gnu.ai.mit.edu>
+
+ * data.c (Fcar, Fcdr, Fsetcar, Fsetcdr): Arg name doc fixes.
+
+1995-04-06 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * puresize.h (BASE_PURESIZE): Increment to 310000.
+
+ * indent.c (string_width): New function.
+ (vmotion): Compute the width of minibuf_prompt
+ if it isn't already known.
+
+ * buffer.c (Fkill_buffer): Call reset_buffer_local_variables
+ and swap_out_buffer_local_variables.
+ (swap_out_buffer_local_variables): New subroutine.
+ (Fkill_all_local_variables): Use that subroutine.
+
+ * search.c (Flooking_at, Fposix_looking_at): Change arg name.
+
+1995-04-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.c (Fraise_frame, Flower_frame): Now interactive.
+
+1995-04-04 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * lisp.h: Declare Ffetch_bytecode.
+ * eval.c (Ffetch_bytecode): New function.
+ (funcall_lambda): Call it.
+ (syms_of_eval): defsubr it.
+
+1995-04-03 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * xfns.c (x_window_to_frame): New arg DPYINFO. All callers changed.
+ (x_any_window_to_frame, x_top_window_to_frame): Likewise.
+
+ * lisp.h (Vmessage_log_max): Declare this variable.
+ (message_nolog): Declare this function.
+ * emacs.c (main): Start with an empty message log.
+ * xdisp.c (message_nolog): New function.
+ * fns.c (Fy_or_n_p): Don't log prompt.
+ (Fyes_or_no_p): Fix typo in doc string.
+
+1995-04-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * lread.c (oblookup): Save bucket num in oblookup_last_bucket_number.
+ (Funintern): New function.
+ (syms_of_lread): defsubr it.
+
+1995-03-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * dired.c (Fdirectory_files): Fix bug in IS_ANY_SEP usage
+ introduced in Oct 30 change.
+
+1995-03-31 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * keyboard.c (command_loop_1): If we ignore force_start, then also
+ ignore beg_unchanged and end_unchanged.
+
+1995-03-31 Michael Ernst <mernst@research.microsoft.com>
+
+ * lread.c (isfloat_string): Permit trailing space.
+
+1995-03-30 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * keyboard.c (event_to_kboard): Ignore dead frames.
+ (kbd_buffer_get_event): In batch mode, use current_kboard.
+
+ * xterm.c (x_delete_display): Extract kboard deletion, for modularity.
+ * keyboard.c (wipe_kboard): Make this function static.
+ (delete_kboard): New function, extracted from x_delete_display.
+
+ * lisp.h: Declare function delete_kboard.
+
+ * xterm.h (struct x_display_info): New member cut_buffers_initialized.
+ * xterm.c (x_term_init): Initialize it.
+ * xselect.c (Fx_store_cut_buffer_internal): Use the flag in the
+ frame's x_display_info, not a global flag.
+ (Fx_rotate_cut_buffers_internal): Likewise.
+
+ * emacs.c (sort_args): Skip strncmp if longname is a null pointer.
+
+1995-03-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * data.c (Fmod): Fix the final adjustment, when i2 < 0 and i1 == 0.
+
+1995-03-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.c [MULTI_FRAME] (Factive_minibuffer_window): New function.
+ [MULTI_FRAME] (syms_of_frame): Defsubr it.
+
+1995-03-28 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * process.c (Fsignal_process): SIGCODE is a symbol, not a string.
+
+1995-03-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fns.c (Fconcat): Undo previous change.
+
+1995-03-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fns.c (Fget, Fput): Fetch and store symbol's plist directly.
+
+1995-03-27 Boris Goldowsky <boris@cs.rochester.edu>
+
+ * fns.c (Fplist_put, Fplist_get): New fns.
+ (Fget): Use Fplist_get to do the work.
+ (Fput): Use Fplist_put to do the work.
+
+ * textprop.c (Vdefault_text_properties): name changed from
+ Vdefault_properties.
+ * intervals.h: As above.
+ * intervals.c (textget): As above.
+
+ * intervals.c (textget_direct): Fn deleted.
+ (textget, verify_interval_modification): Use Fplist_get instead.
+ * intervals.h: Remove declaration.
+
+1995-03-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (XTmouse_position): New arg `insist'.
+ * ntinevt.c (win32_mouse_position): New arg `insist'.
+ * msdos.c (mouse_get_pos): New arg `insist'.
+
+ * xmenu.c (Fx_popup_menu): Pass 1 for `insist' arg.
+ (Fx_popup_dialog): Likewise.
+ * frame.c (Fmouse_position--both definitions): Pass 0 for `insist'.
+ (Fmouse_pixel_position): Pass 0 for `insist'.
+ Add HAVE_MOUSE conditional.
+ * keyboard.c (kbd_buffer_get_event): Pass 0 for `insist' arg.
+
+ * m/intel386.h (C_SWITCH_SYSTEM): Don't #undef or define it.
+ [SOLARIS2, SOLARIS2_4, !__GNUC__] (C_SWITCH_MACHINE): Define instead.
+
+1995-03-26 Germano Caronni <caronni@tik.ethz.ch>
+
+ * ralloc.c (r_re_alloc): Correct realloc behavior--allow shrinking
+ of blocks while reallocating, if shrinking by more than one page.
+ (relocate_blocs, resize_blocs): Added failsafe to protect future
+ calling of these routines when in frozen state.
+ (r_alloc_thaw): Added call to r_alloc_init.
+ (relocate_blocks, resize_bloc, r_alloc_sbrk, r_alloc_thaw): Extended
+ functionality to let ralloc package work in frozen state, allowing
+ for the existence of unused blocks.
+
+1995-03-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (Fsignal_process): Allow signal names as well as numbers.
+
+1995-03-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * editfns.c (init_editfns): Use NAME envvar to init user-full-name.
+
+1995-03-24 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * textprop.c (Fnext_property_change): Fix previous change.
+
+1995-03-23 Kevin Rodgers <kevinr@ihs.com>
+
+ * print.c (temp_output_buffer_setup): (Re)set the default
+ directory of the temp buffer to that of the current buffer.
+
+1995-03-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * buffer.c (syms_of_buffer): Doc fix.
+
+ * xdisp.c (redisplay): Make sure pause is set before used.
+ Delete unused vars.
+ (redisplay_window): Make sure update_mode_line is set before used.
+ If startp might not have been set, use w->start directly.
+ (try_window_id): In the easy case, find cursor pos before returning.
+ (try_window_id): Stop scan at bottom of window, not one line later.
+ Don't fail on account of continuation line below window.
+ (redisplay_window): Stop scan at bottom of window.
+ Fix reversed condition.
+
+ * Makefile.in.in (FRAME_SUPPORT, MSDOS_SUPPORT): Don't list face
+ and mouse related files here.
+ (FACE_SUPPORT, MOUSE_SUPPORT): New lists.
+ (FACE_SUPPORT): Add facemenu.elc.
+ (WINNT_SUPPORT): New list.
+ (lisp): Add format.elc, FACE_SUPPORT, MOUSE_SUPPORT, WINNT_SUPPORT.
+
+1995-03-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * m/sparc.h: Don't include alloca.h if NOT_C_CODE.
+
+ * m/mips-siemens.h (UNEXEC): Override the definition.
+ (LIBS_DEBUG, ORDINARY_LINK): Add #undefs.
+
+1995-03-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * dispnew.c (direct_output_forward_char): Don't use direct output
+ at an overlay boundary.
+ * buffer.c (overlay_touches_p): New function.
+ * lisp.h: Declare overlay_touches_p.
+
+ * fns.c (concat): Treat integers as characters, not strings.
+ This makes `concat' more like `insert'.
+
+ * window.c (syms_of_window): Fix missing \n\.
+ * keymap.c (Fwhere_is_internal): Fix missing \n\.
+ * fileio.c (syms_of_fileio): Fix missing \n\.
+
+1995-03-21 Marco Walther <Marco.Walther@mch.sni.de.>
+
+ * unexelfsni.c: New file.
+
+ * m/mips-siemens.h: Total rewrite.
+
+1995-03-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (redisplay_window): Skip the only-point-has-changed
+ optimization if updating the window's mode line.
+
+1995-03-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (invisible_p, invisible_ellipsis_p): Handle list
+ as invisible property value.
+
+1995-03-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (display_menu_bar): Just one space between menu items.
+
+1995-03-18 Ted Lemon <mellon@toccata.fugue.com>
+
+ * emacs.c (dump-emacs-data, dump-emacs): Declare my_edata as
+ char array.
+ * lastfile.c (my_edata): Declare as char array, not int.
+ * puresize.h (CHECK_IMPURE): Declare my_edata as char array.
+
+1995-03-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * lread.c (Vload_read_function): New variable.
+ (readevalloop): Use that variable.
+ (syms_of_lread): Set up Lisp variable.
+
+1995-03-17 Boris Goldowsky <boris@spiff.gnu.ai.mit.edu>
+
+ * buffer.h (struct buffer): Add file_format member.
+
+ * buffer.c (reset_buffer): Reset file_format element too.
+ (init_buffer_once): Define file_format flag; reset file_format.
+ (syms_of_buffer): New vbl buffer-file-format.
+
+ * fileio.c (Finsert_file_contents): Call format-decode.
+ (build_annotations): Call format-annotate-function for each element of
+ buffer-file-format.
+ (Vauto_save_file_format): New vbl.
+ (build_annotations): Use it.
+
+1995-03-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * alloc.c (init_alloc_once): Increase gc_cons_threshold to 300000.
+
+1995-03-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (x_decode_color): Don't use cdef if defined_color failed.
+
+1995-03-15 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * config.h.in [HAVE_X_WINDOWS] (MULTI_KBOARD): Define this symbol.
+
+1995-03-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * lisp.h (struct KBOARD, MULTI_KBOARD, current_kboard, all_kboards):
+ (Lisp_Misc_Kboard_Objfwd, Lisp_Kboard_Objfwd, XKBOARD_OBJFWD):
+ (KBOARD_OBJFWDP, GC_KBOARD_OBJFWDP, kboard_locked, the_only_kboard):
+ (DEFVAR_KBOARD): Renamed from PERDISPLAY, MULTI_PERDISPLAY,
+ current_perdisplay, all_perdisplays, Lisp_Misc_Display_Objfwd,
+ Lisp_Display_Objfwd, XDISPLAY_OBJFWD, DISPLAY_OBJFWDP,
+ GC_DISPLAY_OBJFWDP, display_locked, the_only_perdisplay,
+ DEFVAR_DISPLAY. All uses changed.
+ (struct KBOARD): New member reference_count.
+ (initial_kboard): Declare this var.
+ * .gdbinit (xkbobjfwd): Renamed from xdispobjfwd.
+ * frame.h (struct frame): New member kboard.
+ (FRAME_KBOARD): Accessor macro for that member, replacing
+ get_perdisplay.
+ * xterm.h (struct x_display_info): member kboard (formerly
+ perdisplay) is now a pointer, not an actual struct.
+ (get_perdisplay, get_perdisplay_macro): Deleted.
+ * xfns.c (Fx_create_frame): set the frame's kboard member.
+ * xterm.c (get_perdisplay): Deleted.
+ (same_x_server): New function.
+ (x_term_init): If this display shares a keyboard with one we've
+ already opened, then share the structure.
+ (x_delete_display): Don't delete the kboard until the reference
+ count becomes zero.
+ * lread.c (defvar_kboard): Renamed from defvar_display.
+ * alloc.c (mark_kboards): Renamed from mark_perdisplays.
+ * frame.c (make_frame): Initialize kboard member.
+ (make_terminal_frame): Create initial_kboard if not already set.
+ * keyboard.c (unlock_kboard): Renamed from unlock_display.
+ (wrong_kboard_jmpbuf): Renamed from wrong_display_jmpbuf.
+ (event_to_kboard): Renamed from event_to_perdisplay.
+ (kbd_buffer_get_event): If no associated kboard, store
+ current_kboard rather than the first kboard in the global list.
+ (init_kboard): Renamed from init_perdisplay. Initialize reference
+ count.
+ (wipe_kboard): Renamed from wipe_perdisplay.
+ * data.c (find_symbol_value): current_perdisplay now is never null.
+ (store_symval_forwarding, do_symval_forwarding): Likewise.
+
+1995-03-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * data.c (Fash): Fix previous change.
+
+ * buffer.c (Fmake_indirect_buffer): Invert the arguments.
+
+ * marker.c (unchain_marker): Allow differing buffers
+ as long as they have the same text.
+
+1995-03-13 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * keyboard.c (event_to_perdisplay): New function.
+ (kbd_buffer_get_event): Use event_to_perdisplay.
+ (kbd_buffer_store_event): If C-g arrives while we're in the run
+ state on behalf of another display, just clear the queue and
+ deposit the C-g to be read later.
+ (read_key_sequence): After a throw, unwind delayed_switch_frame as
+ well as keybuf. Don't insert an extra switch-frame if empty.
+
+ * print.c (print): current_perdisplay now is never null.
+ * callint.c (clear_prefix_arg): Likewise.
+ * macros.c (Fexecute_kbd_macro): Likewise.
+
+1995-03-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * minibuf.c (read_minibuf): Save Voverriding_local_map.
+ (read_minibuf_unwind): Restore Voverriding_local_map.
+
+1995-03-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * unexelf.c (unexec): Adjust the file offset of sections located
+ after the section header table.
+
+1995-03-12 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * keyboard.c (unlock_display): current_perdisplay now is never null.
+ (cmd_error, command_loop_1, read_char): Likewise.
+ (kbd_buffer_get_event, read_key_sequence): Likewise.
+ (read_char): Handle synchronous quit_char on a different display.
+ (read_char): Rewrite queue-searching code.
+ (read_key_sequence): Save selected_frame.
+ (init_keyboard): Initialize current_perdisplay.
+
+1995-03-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (parse_modifiers_uncached): Delete the code for
+ multi-character modifiers and for recognizing a modifier alone.
+ (parse_solitary_modifier): New function.
+ (convert_event_type_list): Use parse_solitary_modifier.
+ Also convert symbol A to character A.
+ Handle shift modifier with lower-case letters.
+
+ * window.c (Fdisplay_buffer): Fix prev change--return sel window.
+
+ * indent.c (compute_motion, Fmove_to_column, current_column)
+ (character_width): Let display table handle \n, \r, \t.
+ (compute_motion): Fix logic in previous change wrt skipping invisible.
+
+1995-03-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (display_text_line): When setting selective_rlen,
+ ignore whether selective display is on or off.
+
+ * textprop.c (Fnext_property_change): Handle LIMIT = t.
+
+ * indent.c (compute_motion): Call recenter_overlay_lists sooner.
+ Use Fnext_property_change to get a quick lower bound for
+ where `invisible' changes.
+
+1995-03-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * data.c (Fash, Flsh): Change arg names.
+
+1995-03-09 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * intervals.h (TEXT_PROP_MEANS_INVISIBLE): New macro.
+ (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS): New macro.
+
+ * xdisp.c (display_text_line, try_window): Check `invisible' prop
+ using TEXT_PROP_MEANS_INVISIBLE.
+ (display_text_line): Check TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS;
+ if it says so, use ellipses after invisible text.
+ (invisible_p, invisible_ellipsis_p): New functions.
+
+ * indent.c (compute_motion, vmotion): Check `invisible' prop
+ using TEXT_PROP_MEANS_INVISIBLE.
+
+ * buffer.h (struct buffer): New field `invisibility_spec'.
+ * buffer.c (reset_buffer_local_variables): Init invisibility.
+ (init_buffer_once): Set up buffer_local_flags for it.
+ (syms_of_buffer): New variable `buffer-invisibility-spec'.
+
+1995-03-08 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * syntax.c (Fforward_comment): Always clear immediate_quit for return.
+
+1995-03-08 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * sysdep.c (read_input_waiting): Fix Lisp_Object vs. int problem.
+
+1995-03-07 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * lisp.h (struct PERDISPLAY): New member kbd_queue_has_data.
+ * keyboard.c (unlock_display): If adding to kbd_queue, set
+ kbd_queue_has_data.
+ (read_char): Set and clear kbd_queue_has_data appropriately, but
+ leave it unset when we push back an incomplete sequence.
+ (read_char): Take the longjmp even if current_perdisplay was null.
+ (readable_events): Check kbd_queue_has_data instead of kbd_queue.
+ (init_perdisplay): Initialize kbd_queue_has_data.
+
+ * keyboard.c (command_loop_1): Removed inline code for prefix args.
+ * callint.c (current_prefix_partial): New var.
+ (Funiversal_argument): New function, formerly inlined in keyboard.c.
+ (Fnegative_argument, Fdigit_argument): Likewise.
+ (clear_prefix_arg): Moved here from keyboard.c.
+ Don't clear the internal state if we're still building a prefix arg.
+ (finalize_prefix_arg, describe_prefix_arg): Moved from keyboard.c.
+ (syms_of_callint): defsubr the new functions.
+ * lisp.h: Declare new var and functions.
+
+ * lisp.h (struct PERDISPLAY): New member Vlast_kbd_macro.
+ * alloc.c (mark_perdisplays): Mark it here.
+ * keyboard.c (init_perdisplay): Initialize it here.
+
+ * macros.c (Fstart_kbd_macro): Access Vlast_kbd_macro via perdisplay.
+ (Fend_kbd_macro, Fcall_last_kbd_macro): Likewise.
+ (init_macros): Delete initialization.
+ (syms_of_macros): Use DEFVAR_DISPLAY for Vlast_kbd_macro.
+ Doc fix for executing-macro, executing-kbd-macro, last-kbd-macro.
+
+ * keyboard.c (cmd_error): Bind Vprint_level and Vprint_length.
+
+1995-03-06 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * keyboard.c (command_loop_1): Fix test for prefix arg.
+
+1995-03-06 Boris Goldowsky <boris@cs.rochester.edu>
+
+ * textprop.c (Vdefault_properties): New variable.
+ * intervals.h: Declare it.
+ * intervals.c (textget): Check it.
+
+1995-03-03 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * callint.c (Fcall_interactively): Fix Feb 22 change.
+
+ * keyboard.c (read_key_sequence): Update orig_local_map
+ for some additional gotos to replay_sequence.
+
+ * process.c (exec_sentinel, read_process_output): If running filter
+ or sentinel changes the local map, call record_asynch_buffer_change.
+
+1995-03-02 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * xdisp.c (display_mode_line): Temporarily set current_perdisplay
+ to reference the frame we're updating.
+
+ * lisp.h (struct PERDISPLAY): New members defining_kbd_macro,
+ kbd_macro_buffer, kbd_macro_ptr, kbd_macro_end, kbd_macro_bufsize.
+ * macros.h (defining_kbd_macro): Delete declaration.
+ * macros.c (defining_kbd_macro): Delete; now part of perdisplay.
+ All uses changed.
+ (kbd_macro_buffer, kbd_macro_ptr, kbd_macro_end): Likewise.
+ (kbd_macro_bufsize): Likewise.
+ (Fstart_kbd_macro): Initialize kbd_macro_buffer if not already done.
+ (init_macros): Delete initialization of defining_kbd_macro.
+ (syms_of_macros): Delete initialization of kbd_macro_buffer.
+ * keyboard.c (read_char_minibuf_menu_prompt): orig_defn_macro is
+ now a Lisp_Object, not an int.
+ (init_perdisplay): Initialize some of the new members.
+ (wipe_perdisplay): Free kbd_macro_buffer.
+
+ * keyboard.c (cmd_error): Allow current_perdisplay to be null.
+
+ * keyboard.c (read_key_sequence): New arg can_return_switch_frame.
+ All callers changed.
+ (Fread_key_sequence): Likewise.
+ * callint.c (Fcall_interactively): Defer switch-frame events when
+ reading `k' or `K' specification.
+
+1995-03-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (syms_of_emacs): Doc fix.
+
+1995-03-02 John Grabowski <johng@media.mit.edu>
+
+ * xfns.c (defined_color): If colormap is full, find closest match.
+ * xfaces.c (load_color): Call defined_color to allocate the color.
+
+1995-03-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_closed): Ignore non-X frames.
+ Fix the logic for deleting frames that use separate minibuffers
+ that are on the dead connection.
+
+ * buffer.c (Fpop_to_buffer): Call Fset_buffer_major_mode
+ if we create a buffer.
+
+1995-02-28 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * keyboard.c (cmd_error): Use clear_prefix_arg.
+ (internal_last_event_frame, Vlast_event_frame): Normal vars again.
+ All uses changed.
+ (Quniversal_argument, Qdigit_argument, Qnegative_argument): Declare.
+ (clear_prefix_arg, finalize_prefix_arg, describe_prefix_arg): New fns.
+ (command_loop_1): Handle digits and minus specially, when they're
+ part of a prefix arg.
+ Handle universal-argument and digit-argument and negative-argument
+ bindings here, rather than doing I/O in the Lisp code.
+ (read_char): When reading switch-frame events from the side queue,
+ set internal_last_event_frame.
+ (readable_events): Return non-zero if a side queue has data.
+ (kbd_buffer_get_event): Don't abort if event has no associated frame.
+ (read_key_sequence): Improve behavior when there's no current display.
+ (init_perdisplay): Initialize the new members.
+ * callint.c (Fcall_interactively, syms_of_callint): Undo Jan 31 change.
+ (Vprefix_arg, Vcurrent_prefix_arg): Undo Jan 31 change.
+ * mocklisp.c (Fml_provide_prefix_argument, Fml_prefix_argument_loop):
+ Undo Jan 31 change.
+ * minibuf.c (read_minibuf, read_minibuf_unwind): Undo Jan 31 change.
+ * frame.c (do_switch_frame): Undo Feb 6 change.
+ * macros.c (Fexecute_kbd_macro): Use clear_prefix_arg.
+ * lisp.h (struct PERDISPLAY): Add prefix_factor, prefix_value,
+ prefix_sign, prefix_partial. Delete Vcurrent_prefix_arg and
+ Vprefix_arg; those are now plain vars again.
+ * alloc.c (mark_perdisplays): Update to reflect current Lisp_Objects.
+ (NSTATICS): Increase to 768.
+
+1995-02-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.c (Fframep): Doc fix.
+
+1995-02-28 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * callint.c (Fcall_interactively): Lock the display before
+ executing the command, no matter how we execute it.
+
+1995-02-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (convert_event_type_list): New function.
+ (lucid_event_type_list_p): New function.
+ (parse_modifiers_uncached): If MODIFIERS_END is -1,
+ look for just a modifier. Guts rewritten.
+
+ * keymap.c (Fdefine_key): Handle Lucid-style (crtl backspace) etc.
+ (Flookup_key): Likewise.
+
+ * callproc.c (Fcall_process): Extend BUFFER arg so it can specify
+ a separate output file for stderr output.
+ (Fcall_process_region): Doc fix.
+
+1995-02-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xmenu.c (Fx_popup_menu): Init f from selected_frame
+ before calling mouse_position_hook.
+
+ * window.c (Vsame_window_buffer_names, Vsame_window_regexps): New vars.
+ (syms_of_window): Set up Lisp vars.
+ (Fdisplay_buffer): Use those vars--if requested, use current window.
+
+1995-02-24 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * keyboard.c (unlock_display): New function.
+ (cmd_error, command_loop_1): Call it when appropriate.
+ (read_char): If no current display, don't try to echo.
+
+ * term.c (term_init) [TERMINFO]: Make error message more accurate.
+
+1995-02-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keymap.c (Fglobal_set_key, Flocal_set_key, Fglobal_unset_key)
+ (Flocal_unset_key): Functions deleted (moved to simple.el).
+ (syms_of_keymap): Don't defsubr them.
+
+1995-02-23 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * keyboard.c (display_locked): New var to indicate when we're in
+ the run state. current_perdisplay is now meaningful in the wait
+ state as well.
+ (cmd_error): Clear display_locked in addition to current_perdisplay.
+ (command_loop_1): outer_perdisplay renamed from global_perdisplay.
+ Restore display_locked as well as current_perdisplay.
+ (read_char): read_char_perdisplay merged with current_perdisplay.
+ (read_key_sequence): Likewise.
+ * minibuf.c (read_minibuf): Make sure the display is locked.
+ * callint.c (Fcall_interactively): If the display hasn't already
+ been locked by reading from the minibuffer, lock it before
+ executing the command.
+ * lisp.h (display_locked): Declare this var.
+
+1995-02-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * window.c (syms_of_window): Doc fixes.
+
+ * keymap.c (Fwhere_is_internal): If FIRSTONLY is not nil or non-ascii,
+ completely ignore menu bindings.
+ * xmenu.c (menu_item_equiv_key): Delete the code that rejected
+ menu bindings returned by Fwhere_is_internal.
+
+ * window.c (window_loop): Handle special display buffer frames
+ for DELETE_BUFFER_WINDOWS as for UNSHOW_BUFFER.
+
+1995-02-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * callint.c (Fcall_interactively): Use markers temporarily in
+ args vector to stand for point and mark values; replace them
+ with integers just before calling the command.
+
+1995-02-21 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * lisp.h (struct PERDISPLAY): New member kbd_queue.
+ Delete obsolete members kbd_buffer_frame_or_window, kbd_buffer,
+ kbd_fetch_ptr, kbd_store_ptr; these are regular vars again.
+ * alloc.c (mark_perdisplays): Mark kbd_queue.
+ Remove reference to obsolete kbd_buffer_frame_or_window.
+ * xmenu.c (menubar_selection_callback): frame_or_window field of a
+ menu-bar event now includes both the frame and the magic cookie.
+ * keyboard.c (kbd_buffer_frame_or_window): Restored old var.
+ (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr): Likewise.
+ (read_char_perdisplay): New var.
+ (read_char): Search all appropriate perdisplay objects, and do the
+ right thing if the next event comes from a different source.
+ (read_key_sequence): If there's a change of display in mid-stream,
+ retreat and try reading the new display.
+ (find_active_event_queue): Function deleted. All callers changed
+ to just test the main kbd_buffer instead.
+ (kbd_buffer_store_event): Write to the main kbd_buffer again.
+ (kbd_buffer_get_event): Read from the main kbd_buffer again.
+ Now returns a perdisplay pointer in addition to a lispy event.
+ (Fdiscard_input, swallow_events): Use the main kbd_buffer again.
+ (stuff_buffered_input): Likewise.
+ (init_perdisplay): Initialize member kbd_queue.
+ Remove references to obsolete members.
+ (wipe_perdisplay): Remove obsolete reference.
+ (init_keyboard, syms_of_keyboard): Restore initialization of vars.
+
+1995-02-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (display_string, display_text_line):
+ Display table overrides ordinary display even for \t, \n, etc.
+
+1995-02-19 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * frame.c (Fmake_terminal_frame): Doc fix.
+
+1995-02-18 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * s/hpux9.h (LIB_X11_LIB, C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
+ Add #undef's to cancel hpux8.h's definitions.
+
+1995-02-17 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * config.h.in (MULTI_FRAME): Define unconditionally.
+
+1995-02-16 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * dispnew.c (change_frame_size_1): New subroutine.
+ (change_frame_size): If f is termcap frame, change size of all of them.
+ (remake_frame_glyphs): No longer static.
+ Don't mark nonselected termcap frame as garbaged.
+
+ * term.c (calculate_costs): Update max_frame_height, max_frame_width.
+ They determine length of chars_wasted, copybuf and char_ins_del_vector.
+
+ * xdisp.c (redisplay): Don't display nonselected terminal frames.
+
+ * frame.c (Fmake_terminal_frame): New function.
+ (syms_of_frame): defsubr it.
+ (make_terminal_frame): Init Vframe_list only the first time.
+ Set visible and async_visible directly.
+ Give each terminal frame a unique name.
+
+ * ralloc.c (r_alloc_check): Return void.
+ (r_alloc_freeze): Initialize if it hasn't been done.
+ (r_re_alloc, r_alloc_free, r_alloc_sbrk): Likewise.
+ (r_alloc_init): Set __malloc_extra_blocks.
+
+1995-02-15 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
+
+ * s/dgux.h (LIB_MOTIF): Add -lgen to provide provide the symbols
+ `regcmp' and `regex'.
+
+1995-02-15 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * xmenu.c (xmenu_show, both versions): New arg for_click.
+ (Fx_popup_menu): Compute it and pass it.
+
+1995-02-14 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * callint.c: Doc fix.
+
+1995-02-14 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
+
+ * xterm.c (x_bitmap_icon): Fix test for unallocated icon bitmap.
+
+1995-02-14 Richard Stallman <rms@geech.gnu.ai.mit.edu>
+
+ * filelock.c: (unlock_buffer, unlock_all_files, Flock_buffer)
+ (Funlock_buffer): Use buffer's file_truename, not filename.
+
+ * buffer.c (syms_of_buffer): Set up Lisp var buffer-file-truename.
+ (init_buffer_once): Set up flag and default value for file_truename.
+ (reset_buffer): Init file_truename slot.
+
+ * buffer.h (struct buffer): New field file_truename.
+
+ * ralloc.c (r_alloc_free): Call refill_memory_reserve only if emacs.
+
+ Include getpagesize.h unconditionally.
+ (free_bloc): Don't die if bloc->next or bloc->prev is null.
+ [!emacs] (bzero): New macro definition.
+
+ * keyboard.c (input_poll_signal): Add ignored argument.
+ (interrupt_signal): Likewise.
+
+ * dispnew.c (window_change_signal): Add ignored argument.
+
+ * process.c (Fstart_process): Make process marker point into proc buf.
+
+ * xterm.c (x_display_bar_cursor): Use frame's cursor_width.
+
+ (x_connection_signal): New function.
+ (x_initialize): Use it as signal handler.
+
+ * xfns.c (x_set_cursor_type): Set cursor_width field.
+ Handle args of form (bar . WIDTH).
+
+ * xterm.h (struct x_display): New element cursor_width.
+
+1995-02-14 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * filelock.c (unlock_buffer, unlock_all_files, Flock_buffer)
+ (Funlock_buffer): Use buffer's file_truename, not filename.
+
+ * buffer.h (struct buffer): New field file_truename.
+ * buffer.c (syms_of_buffer): Set up Lisp var buffer-file-truename.
+ (init_buffer_once): Set up flag and default value for file_truename.
+ (reset_buffer): Init file_truename slot.
+
+ * xterm.h (struct x_display): New element cursor_width.
+ * xfns.c (x_set_cursor_type): Set cursor_width field.
+ Handle args of form (bar . WIDTH).
+ * xterm.c (x_display_bar_cursor): Use frame's cursor_width.
+
+1995-02-13 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * m/iris4d.h (STACK_DIRECTION): Undef before defining.
+ [__GNUC__] (C_SWITCH_MACHINE): Remove -cckr.
+ Add -32, only if IRIX_FORCE_32_BITS.
+ * s/irix5-0.h [__GNUC__] (C_SWITCH_SYSTEM): Defined.
+ * s/irix4-0.h [__GNUC__] (C_SWITCH_SYSTEM): Define this.
+ (C_SWITCH_MACHINE): Instead of this.
+
+ * ralloc.c (r_alloc_free): Call refill_memory_reserve only if emacs.
+
+ * s/irix6-0.h: New file.
+
+ * fileio.c (Fexpand_file_name): Copy default-directory
+ before looking for a handler on the directory arg.
+
+ * cmds.c (Vself_insert_face, Vself_insert_face_command): New variables.
+ (syms_of_cmds): Set up Lisp variables. Doc syntax fix.
+ (internal_self_insert): Handle Vself_insert_face.
+
+ * lisp.h (Qprocessp): Declared.
+
+ * xdisp.c (redisplay_window): If we update the mode line,
+ switch to the buffer for real, and switch back for real.
+
+1995-02-12 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_signal): New function.
+ (x_initialize): Use it as signal handler.
+
+ * keyboard.c (input_poll_signal): Add ignored argument.
+ (interrupt_signal): Likewise.
+
+ * dispnew.c (window_change_signal): Add ignored argument.
+
+1995-02-11 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * fileio.c (Fexpand_file_name): Look for a handler for defalt.
+ (syms_of_fileio): Minor rearrangement.
+
+ * ralloc.c: Include getpagesize.h unconditionally.
+ (free_bloc): Don't die if bloc->next or bloc->prev is null.
+ [!emacs] (bzero): New macro definition.
+
+ * xmenu.c (menu_item_equiv_key): If command is an alias,
+ check only the underlying command for a keyboard equivalent.
+
+ * s/netbsd.h (WAIT_USE_INT): Defined.
+ * syswait.h: New alternative specified by WAIT_USE_INT.
+
+ * process.c (Fstart_process): Make process marker point into proc buf.
+
+1995-02-10 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * data.c: Rename arg OBJ to OBJECT in all type predicates.
+ (Ftype_of): New function.
+
+1995-02-09 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * xfaces.c (load_color): Ignore failure from XAllocColor.
+ * xfns.c (x_decode_color): Ignore failure from defined_color.
+
+ * m/intel386.h [SOLARIS2_4, !__GNUC__] (C_SWITCH_SYSTEM): Defined..
+ [SOLARIS2_4, !__GNUC__]: Include alloca.h.
+
+1995-02-07 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * Makefile.in.in (maintainer-clean): Renamed from realclean.
+ Print warning message.
+
+1995-02-07 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * keyboard.c (command_loop_1): Put back cancel_echoing call, if
+ there's a perdisplay for it to apply to.
+ (init_perdisplay): Initialize echo vars.
+
+ * xdisp.c (message_log_check_duplicate): New function.
+ (message_dolog): Delete previous line if the new one is a
+ duplicate. Include a counter if appropriate.
+ Don't bother truncating the buffer until after adding newline.
+
+1995-02-06 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * lisp.h (struct PERDISPLAY): Add Vlast_event_frame.
+ Define internal_last_event_frame only #if MULTI_FRAME.
+ Add some placeholders so we don't need to rebuild every time this
+ struct changes.
+ * keyboard.c (internal_last_event_frame, Vlast_event_frame):
+ Deleted; now part of perdisplay. All uses changed.
+ (MOUSE_ACTIVITY_AVAILABLE) Deleted.
+ (find_active_event_queue): New arg check_mouse. All callers changed.
+ (Vlast_event_frame): Change from DEFVAR_LISP to DEFVAR_DISPLAY.
+ * frame.c (do_switch_frame): internal_last_event_frame is now in
+ perdisplay.
+
+1995-02-05 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * ralloc.c (r_alloc_size_in_use): New function.
+
+ * alloc.c (emacs_blocked_malloc): Set __malloc_extra_blocks here.
+ (malloc_hysteresis): New variable.
+ (init_alloc_once): Initialize malloc_hysteresis.
+ (buffer_memory_full): New function.
+ * emacs.c (main): Undo previous change.
+ * buffer.c (Fget_buffer_create): Call buffer_memory_full.
+
+ * alloc.c (refill_memory_reserve): New function.
+ * ralloc.c (r_alloc_free): Call refill_memory_reserve.
+
+1995-02-04 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * alloc.c (SPARE_MEMORY): New macro.
+ (emacs_blocked_free): If no spare_memory now, and enough free
+ space is available, get a new spare.
+ (__malloc_size_t, _bytes_used): Declared.
+ (bytes_used_when_full): New variable.
+
+ * frame.h (struct frame): New field window_sizes_changed.
+ (FRAME_WINDOW_SIZES_CHANGED): New macro (two definitions).
+ * window.c (Fdelete_window, set_window_height, set_window_width)
+ (Fsplit_window, Fset_window_configuration): Set
+ FRAME_WINDOW_SIZES_CHANGED to 1 in the frame being changed.
+ * xdisp.c (Vwindow_size_change_functions): New variable.
+ (prepare_menu_bars): Call those functions. Add gcproing.
+ (syms_of_xdisp): Set up Lisp variable.
+
+ * alloc.c (syms_of_alloc): Improve memory exhausted error message.
+ (init_alloc_once): Allocate spare_memory.
+ (memory_full): Free spare_memory.
+
+1995-02-03 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * xselect.c (x_get_foreign_selection, x_reply_selection_request):
+ Use an unwind-protect to call x_stop_queuing_selection_requests.
+ (some_frame_on_display): New function.
+ (queue_selection_requests_unwind): New function.
+
+1995-02-03 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * callint.c (syms_of_callint): Move DEFVAR_DISPLAY's ...
+ * keyboard.c (syms_of_keyboard): ... to here.
+ [MULTI_PERDISPLAY] (current_perdisplay, all_perdisplays): New vars.
+ (find_active_event_queue): Search all perdisplays.
+ (init_perdisplay, wipe_perdisplay): New functions.
+ (init_keyboard): Move perdisplay initialization to init_perdisplay.
+ (syms_of_keyboard): Likewise.
+ (cmd_error): Cancel echoing here.
+ (command_loop_1): Not here.
+
+ * lisp.h (all_perdisplays): New var.
+ (struct PERDISPLAY): New member next_perdisplay.
+ * alloc.c (mark_perdisplays): New function.
+ (Fgarbage_collect): Call it.
+ * lread.c (defvar_display): Don't staticpro; these objects are now
+ protected through mark_perdisplays.
+ * xterm.c [MULTI_PERDISPLAY] (x_term_init): Initialize perdisplay.
+ [MULTI_PERDISPLAY] (x_delete_display): Destroy perdisplay.
+ (x_delete_display): Use xfree, not free.
+
+ * lisp.h (defvar_display): Declare this function.
+ (DEFVAR_DISPLAY): Use current_perdisplay, not get_perdisplay.
+ * data.c (do_symval_forwarding): Likewise.
+ (store_symval_forwarding, find_symbol_value): Likewise.
+ * print.c (print): Likewise.
+ * keyboard.c (echo_prompt, echo_char, echo_dash, echo): Likewise.
+ (cancel_echoing, echo_length, read_char, Fdiscard_input): Likewise.
+ (stuff_buffered_input): Likewise.
+
+1995-02-03 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * xdisp.c (display_text_line): Deduct minibuf prompt from taboffset.
+ (try_window): Deduct minibuf prompt from tab_offset, after 1st line.
+
+1995-02-02 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * xselect.c (wait_for_property_change): Avoid unlikely timing error.
+
+ * keyboard.c (kbd_buffer_get_event, swallow_events):
+ Remove selection_request event from input queue before processing it.
+
+1995-02-01 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * macros.c (Fexecute_kbd_macro): Clear prefix arg here.
+ * keyboard.c (cmd_error): And here.
+ (command_loop_1): Not here.
+ (command_loop_1): Save original perdisplay in case we're already
+ locked to a particular display.
+ Move display-specific cleanup to end of main loop.
+ Use perdisplay to access prefix arg.
+ (Fcommand_execute, Fexecute_extended_command): Use perdisplay.
+
+1995-02-01 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * xterm.c (x_unqueue_events): Arg is now a Display *.
+ (x_start_queuing_selection_requests): Likewise.
+ (x_stop_queuing_selection_requests): Likewise.
+ * xselect.c (x_get_foreign_selection): Pass display to
+ x_start_queueing_selection_events and x_stop_queueing_selection_events.
+
+ * xselect.c (x_reply_selection_request): Call
+ x_start_queueing_selection_events and x_stop_queueing_selection_events.
+ Handle X protocol errors.
+
+1995-01-31 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * callint.c (Fcall_interactively): Use perdisplay.
+ (Vprefix_arg, Vcurrent_prefix_arg): Delete vars; now in perdisplay.
+ (syms_of_callint): Use DEFVAR_DISPLAY for prefix-arg and
+ current-prefix-arg.
+ * minibuf.c (read_minibuf, read_minibuf_unwind): Use perdisplay.
+ * mocklisp.c (Fml_provide_prefix_argument): Use perdisplay.
+ (Fml_prefix_argument_loop): Likewise.
+ * lisp.h (current_perdisplay): New var.
+ (DEFVAR_DISPLAY): Add missing ampersand.
+ (Vprefix_arg, Vcurrent_prefix_arg): Delete; now in perdisplay.
+
+ * lread.c [!MULTI_PERDISPLAY] (defvar_display): Use staticpro.
+
+1995-01-31 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * emacs.c (main) [REL_ALLOC]: Set __malloc_extra_blocks.
+
+1995-01-30 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * buffer.c (syms_of_buffer): overwrite-mode doc fix.
+
+1995-01-30 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * lisp.h [MULTI_PERDISPLAY]: Declare get_perdisplay as a function.
+ * xterm.c [MULTI_PERDISPLAY] (get_perdisplay): Define this as an
+ exported function.
+ * xterm.h [MULTI_PERDISPLAY] (get_perdisplay): Define this as a
+ macro, for sources that include this header.
+ [MULTI_PERDISPLAY] (get_perdisplay_macro): Internal macro version.
+
+ * lisp.h (DEFVAR_DISPLAY): New macro.
+ * lread.c (defvar_display): New function.
+
+ * lisp.h: Declare store_symval_forwarding here.
+ * eval.c (specbind): Not here.
+ (specbind): Handle display-local vars.
+ * data.c (do_symval_forwarding): Handle display-local vars.
+ (store_symval_forwarding, find_symbol_value): Likewise.
+ (Fmake_variable_buffer_local): Disallow display-local vars here.
+ (Fmake_local_variable): Likewise.
+
+ * keyboard.c (syms_of_keyboard): Fix missing backslashes.
+
+1995-01-29 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * fns.c (Frassoc): New function.
+ (syms_of_fns): defsubr it.
+
+1995-01-28 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * ecrt0.c: Renamed from crt0.c.
+ * Makefile.in.in (ecrt0.o): Target renamed from crt0.o.
+ (START_FILES): Use ecrt0.o.
+
+1995-01-27 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * lisp.h (PERDISPLAY, the_only_perdisplay, get_perdisplay):
+ Renamed from PERD, etc. All uses changed.
+ (ECHOBUFSIZE): New constant, replaces sizeof (echobuf).
+ (enum Lisp_Misc_Type): New enumeration Lisp_Misc_Display_Local.
+ (struct Lisp_Display_Objfwd): New structure.
+ (XDISPLAY_OBJFWD, DISPLAY_OBJFWDP): Access the new structure.
+ (union Lisp_Misc): Add new member.
+ * keyboard.c (kbd_buffer_frame_or_window): Delete; now in perdisplay.
+ (immediate_echo, echobuf, echoptr, echo_after_prompt): Likewise.
+ (echo_prompt, echo_char, echo_dash): use perdisplay and ECHOBUFSIZE.
+ (echo, cancel_echoing, echo_length, echo_truncate): Likewise.
+ (read_char, kbd_buffer_store_event, kbd_buffer_get_event): Likewise.
+ (Fdiscard_input, stuff_buffered_input): Likewise.
+ (init_keyboard, syms_of_keyboard): Likewise.
+ * alloc.c (mark_object): Ignore Lisp_Misc_Display_Objfwd objects.
+ * print.c (print): Handle internal display-local object.
+ * .gdbinit (xdispobjfwd): New macro.
+
+ * xdisp.c (message_log_need_newline): This var is now static.
+ (message_dolog): Set message_log_need_newline appropriately.
+ Don't change it at all if message logging is currently disabled.
+ (message_log_maybe_newline): New function.
+ (message2): Use message_log_maybe_newline.
+ * print.c (printchar, strout): Use message_log_maybe_newline.
+ Leave all of the newline bookkeeping to message_dolog.
+ * lisp.h (message_log_maybe_newline): Function declared.
+
+ * xdisp.c (message_dolog): Rename " *Messages*" buffer to "*Messages*"
+
+1995-01-27 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * minibuf.c (Fread_string): Add third arg HISTORY.
+ * callint.c (Fcall_interactively): Pass new arg to Fread_string.
+
+1995-01-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * insdel.c (modify_region): Clear point_before_scroll field.
+
+1995-01-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * buffer.h (struct buffer): New field point_before_scroll.
+ * buffer.c (init_buffer_once, syms_of_buffer):
+ Set up buffer-local var point_before_scroll.
+ (reset_buffer): Init point_before_scroll.
+ * intervals.c (set_point): Set point_before_scroll to nil.
+
+1995-01-24 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * lisp.h (PERD): New struct containing per-display data.
+ (the_only_perd): Declare an instance of it.
+ (get_perd): Macro to retrieve it.
+ * keyboard.c (the_only_perd): Define this var here.
+ (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr): Delete; now part of perd.
+ (find_active_event_queue): New function.
+ (readable_events, kbd_buffer_get_event, swallow_events): Use it.
+ (kbd_buffer_store_event): Store in EVENT's frame's queue.
+ (Fdiscard_input, stuff_buffered_input): Use perd.
+ (init_keyboard): Initialize the new vars.
+ kbd_buffer is now a pointer, not an array.
+ * xterm.h (struct x_display_info): New member display_perd.
+
+ * process.c (process_tick, update_tick): Make non-static.
+
+1995-01-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_key_sequence): New arg dont_downcase_last
+ inhibits downcasing the last event, when it's uppercase and undefined.
+ (Fread_key_sequence): Likewise new arg.
+ * callint.c (Fcall_interactively): Define K mostly like k.
+ Pass new arg to Fread_key_sequence.
+ * keymap.c (Flocal_set_key, Fglobal_set_key): Use K, not k, to read key seq arg.
+
+1995-01-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * indent.c (compute_motion): Don't get hung in selective-display loop.
+
+ * syssignal.h: Don't use function prototypes.
+
+ * keyboard.c (read_key_sequence): Don't wait for a possible key
+ translation sequence if we already have a binding.
+ Add missing break statement.
+
+ * sysselect.h: New file, mostly extracted from process.c and xterm.c.
+ * process.c: #include sysselect.h instead of defining things by hand.
+ * sysdep.c (sys_select): Renamed from select. Use SELECT_TYPE
+ instead of int. Defer to native select if that function is usable.
+ * config.h (HAVE_SYS_SELECT_H): Add #undef for configure.
+ * s/isc3-0.h (BROKEN_SELECT_NON_X): #define this.
+
+ * s/isc3-0.h [__GNUC__] (POSIX_SIGNALS): #define this.
+ [__GNUC__] (sigsetmask, HAVE_SYSV_SIGPAUSE): #undef these.
+ (LIBX11_SYSTEM): Don't use -lc; loading this before -lcposix gives
+ us the wrong signal functions.
+ (C_SWITCH_SYSTEM): Add _XOPEN_SOURCE.
+ (EXTRA_INITIALIZE): Make conditional on __GNUC__.
+
+1995-01-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * minibuf.c (read_minibuf): Don't print the prompt in batch mode.
+
+ * emacs.c (sort_args): Ordinary args get priority 0.
+ So do -f, -l, -insert, etc. --kill gets negative priority.
+ Everything else gets positive priority.
+
+1995-01-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_destroy_window): Don't let frame being destroyed
+ remain in x_focus_event_frame.
+
+1995-01-21 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * config.h.in [NO_REMAP]: #undef static.
+
+1995-01-20 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * lisp.h (union Lisp_Misc): Make the `type' field just 16 bits,
+ to match the substructures.
+
+1995-01-20 Morten Welinder <terra@diku.dk>
+
+ * fileio.c (file_name_as_directory, Ffile_name_directory)
+ (Ffile_name_nondirectory): Delete special MSDOG code now covered by macros.
+
+ * s/msdos.h (DEVICE_SEP, IS_DIRECTORY_SEP, IS_ANY_SEP): Defined.
+
+ * msdos.c (XMenuCreate, XMenuAddPane, XMenuAddSelection, XMenuLocate)
+ (XMenuActivate, XMenuDestroy): Add dummy `display *' argument.
+
+ * xmenu.c [MSDOS]: #include msdos.h.
+ * msdos.h (x_mouse_leave): Add neutralizing define.
+ (XMenuCreate, XMenuAddPane, XMenuAddSelection, XMenuLocate)
+ (XMenuActivate, XMenuDestroy): Add prototype.
+ * Makefile.in.in (xmenu.o): Add msdos.h as dependency.
+
+ * buffer.c (syms_of_buffer) [DOS_NT]: Add missing ';'.
+
+1995-01-19 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * textprop.c (Ftext_property_any): Handle the trivial case specially.
+
+ * sysdep.c (seed_random): Renamed from srandom.
+ (get_random): Renamed from random. Return VALBITS random bits.
+ * fns.c (Frandom): Call seed_random and get_random.
+
+ * print.c (print): Print internal types too, for debugging.
+ Print appropriate message for invalid pseudovector or misc type.
+
+ * .gdbinit (xboolfwd, xbuflocal, xbufobjfwd, xcompiled): New macros.
+ (xintfwd, xmiscfree, xobjfwd, xoverlay, xwinconfig): New macros.
+
+1995-01-19 Abramo Bagnara <abramo@sssup2.sssup.it>
+
+ * term.c (term_get_fkeys_1): Bug fix for function key above f19.
+
+1995-01-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * editfns.c (subst_char_in_region_unwind): New function.
+ (Fsubst_char_in_region): Use it to make undo_list t temporarily.
+
+ * buffer.c (Fbuffer_local_variables): Unconditionally call
+ find_symbol_value, but conditionally use its value.
+
+ * xrdb.c: Don't include sys/param.h.
+ (MAXPATHLEN): Definition deleted.
+
+1995-01-18 Boris Goldowsky <boris@cs.rochester.edu>
+
+ * cmds.c (internal_self_insert): Don't test current_column
+ when deciding to call auto_fill_function.
+
+1995-01-18 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * lisp.h (SWITCH_ENUM_CAST): New macro.
+ * alloc.c, data.c, keyboard.c, syntax.c, xdisp.c: Change all
+ occurences of SWITCH_ENUM_BUG to use SWITCH_ENUM_CAST instead.
+
+1995-01-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * window.c (Qtemp_buffer_show_hook): New hook.
+ (syms_of_window): Init and staticpro it.
+ (temp_output_buffer_show): Run the hook.
+
+1995-01-16 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * xdisp.c (message_dolog): Ignore narrowing.
+ Use low-level functions, to bypass modification and motion hooks.
+
+ * window.h (struct window): New member column_number_displayed.
+ * xdisp.c (redisplay): Use that field instead of a global flag.
+ (redisplay_window, display_mode_line, decode_mode_spec): Likewise.
+
+ * cm.c (cmcheckmagic): New function.
+ * cm.h: Declare it.
+ * term.c (write_glyphs, insert_glyphs): Call it.
+
+1995-01-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (kbd_buffer_store_event): Cast arg of bcopy.
+
+1995-01-15 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * ralloc.c (r_alloc_init): Remove unused variable END.
+
+1995-01-13 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * alloc.c (Fpurecopy): Mask size field when copying pseudovector.
+
+1994-01-12 Boris Goldowsky <boris@cs.rochester.edu>
+
+ * lisp.h: Declare Qrear_nonsticky.
+
+ * cmds.c (Vuse_hard_newlines): New variable.
+ (Fnewline): If use_hard_newlines is on, mark inserted
+ newline(s) with `hard' property, marked rear-nonsticky.
+
+1994-01-12 Tom Tromey <tromey@drip.colorado.edu>
+
+ * buffer.c (list_buffers_1, Flist_buffers): Functions deleted.
+
+1995-01-12 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * xdisp.c (message_log_need_newline): New var.
+ (message_dolog): New function, extracted from message2.
+ * print.c (printchar, strout): Call message_dolog.
+ * lisp.h: Declare message_dolog.
+
+ * alloc.c (DONT_COPY_FLAG): Default this to 1.
+ Check to make sure it's not the same as MARKBIT.
+ (mark_object): Use the same XOR expression as elsewhere.
+ (gc_sweep): Don't touch DONT_COPY_FLAG here; this one is a real
+ size field, not a mangled pointer.
+
+ * fns.c (internal_equal): Delete redundant tests.
+ Mask size field when comparing pseudovectors.
+
+ * fns.c (Frandom): Use VALBITS instead of hardcoded constants.
+
+1995-01-10 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * alloc.c (DONT_COPY_FLAG): Fix typo.
+
+ * lisp.h: Use large constants for Lisp_Misc_Type.
+
+ * lisp.h: Add some function declarations.
+ * insdel.c: Declare all non-returning functions `void'.
+ (insert_1): Make non-static. New arg PREPARE. All callers changed.
+ * xdisp.c (Vmessage_log_max): New var.
+ (syms_of_xdisp): defvar and initialize it.
+ (message2_nolog): Renamed from message2.
+ (message2): Log messages, then call message2_nolog.
+ (message1_nolog): New function.
+ * keyboard.c (echo): Don't log the key echoes.
+ * alloc.c (Fgarbage_collect): Don't log the GC message.
+
+1995-01-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (main): Handle SIGABRT, SIGHWE, SIGPRE, SIGORE, SIGDLK,
+ SIGCPULIM, if they are defined.
+
+ * alloc.c (DONT_COPY_FLAG): New bit flag.
+ (mark_object, gc_sweep, compact_strings): Use it.
+
+1995-01-10 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * editfns.c (Finsert_char): Check inherit flag for long strings too.
+
+ * editfns.c (Fnarrow_to_region): Swap using temp Lisp_Object, not int.
+
+1995-01-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (syms_of_keyboard): Doc fix.
+
+ * unexsunos4.c (unexec): Cast value of sbrk.
+ (run_time_remap): Cast arg to brk.
+ (brk_value): Renamed from Brk.
+ (is_it): Cast 1st arg of mmap.
+
+1995-01-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_key_sequence): If first event is mouse click,
+ use the text property keymap from where the click was.
+ New local var orig_local_map.
+
+1995-01-09 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * window.c (Fscroll_other_window): On small windows, scroll by 1 line.
+
+1995-01-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fns.c (internal_equal): Once again use a switch.
+
+ * lisp.h (struct Lisp_Free, struct Lisp_Marker, etc.):
+ Make the `type' field just 16 bits, and declare as int.
+ Add explicit spacer field after it.
+ (struct Lisp_Marker): New field insertion_type.
+
+1995-01-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keymap.c (store_in_keymap): Copy a cons only if car is a string.
+
+ * xterm.c: Don't include param.h.
+
+ * buffer.c (syms_of_buffer): Doc fix.
+
+1995-01-06 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * m/alliant-2800.h (VALBITS, GCTYPEBITS): Deleted; default is better.
+ * m/apollo.h, m/aviion.h, m/delta.h, m/hp800.h, m/ibmrt.h: Likewise.
+ * m/intel386.h, m/nh4000.h, m/tower32v3.h: Likewise.
+ * m/att3b.h (VALBITS, XTYPE): Adjust for new bit layout.
+ * m/alpha.h, m/gec63.h, m/pfa50.h: Likewise.
+
+1995-01-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.c [!MULTI_FRAME] (window_frame): New function.
+ [!MULTI_FRAME] (syms_of_frame): defsubr it.
+
+1995-01-05 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * doc.c (store_function_docstring, Fdocumentation): Use &
+ PSEUDOVECTOR_SIZE_MASK on `size' field of compiled byte-code object.
+ * callint.c (Fcall_interactively): Likewise.
+ * eval.c (Fcommandp): Likewise.
+
+1995-01-04 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * alloc.c (mark_object, mark_buffer): Don't mark buffer twice.
+
+ * .gdbinit (xint, xcar, xcdr): Use correct shift and mask values.
+
+ * lisp.h [EXPLICIT_SIGN_EXTEND] (XINT): Use symbolic constants.
+
+1995-01-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * doc.c (store_function_docstring): Arg is now EMACS_INT.
+
+1995-01-02 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * lisp.h (enum Lisp_Type): Don't use trailing comma.
+ (VALBITS, GCTYPEBITS): Define these regardless of NO_UNION_TYPE.
+ [!NO_UNION_TYPE] (union Lisp_Object): Use symbolic constants.
+
+ * alloc.c (mark_object): Make `else' visible outside MULTI_FRAME.
+
+1995-01-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keymap.c (store_in_keymap): While dumping, copy DEF if it's a cons.
+
+ * buffer.c (reset_buffer): Don't alter intervals here.
+ (Fget_buffer_create): Use BUF_MARKERS. Init BUF_INTERVALS here.
+ (Fkill_buffer): Use BUF_MARKERS; but don't touch it in indir buf.
+ Likewise BUF_INTERVALS. Don't free the text in indirect buffer.
+ When killing a base buffer, kill its indirect buffers first.
+ (init_buffer_once): Set up .text and BUF_INTERVALS
+ in buffer_local_symbols and buffer_defaults.
+
+ * alloc.c (mark_buffer, gc_sweep): Use BUF_INTERVALS.
+ * editfns.c (Ftranspose_regions): Use BUF_INTERVALS.
+ (transpose_markers): Use BUF_MARKERS.
+
+ * insdel.c (insert_1, prepare_to_modify_buffer, insert_from_buffer_1):
+ Use BUF_INTERVALS.
+ (adjust_markers): Use BUF_MARKERS.
+
+ * buffer.h (struct buffer): Fields markers and intervals moved out.
+ (struct buffer_text): Fields markers and intervals moved here.
+ (BUF_MARKERS, BUF_INTERVALS): New macros.
+ * textprop.c (validate_interval_range): Use BUF_INTERVALS.
+ * intervals.c: Use BUF_INTERVALS throughout.
+ * marker.c: Use BUF_MARKERS throughout.
+
+ * undo.c (Fprimitive_undo): Use base buffer's modtime field.
+
+1995-01-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * .gdbinit: Adapt to new Lisp_Object format.
+ (xvectype, xmisctype): New commands.
+ (xtype): Print the misc or vectorlike subtype too.
+
+ * xdisp.c (redisplay_window): Call set_buffer_temp.
+
+ * buffer.c (set_buffer_temp): New function.
+
+ * buffer.h (struct buffer): Make buffer_file_type field unconditional.
+ * buffer.c (reset_buffer_local_variables): Initialize
+ buffer_file_type field.
+
+ * lisp.h (PVEC_BUFFER, PVEC_PROCESS, PVEC_FRAME, PVEC_COMPILED)
+ (PVEC_WINDOW, PVEC_WINDOW_CONFIGURATION, PVEC_SUBR):
+ Now enumeration constants, not macros.
+ (PVEC_FLAG): Enumeration alias for PSEUDOVECTOR_FLAG.
+
+ * buffer.h (struct buffer): save_modiff field deleted.
+ (struct buffer_text): save_modiff field moved here.
+ (SAVE_MODIFF, BUF_SAVE_MODIFF): New macros.
+ Use them instead of direct access to save_modiff field.
+ * buffer.c, editfns.c, fileio.c, filelock.c, insdel.c, keyboard.c:
+ * undo.c, xdisp.c: Use SAVE_MODIFF and BUF_SAVE_MODIFF
+ instead of direct access to the save_modiff field.
+ * window.c (temp_output_buffer_show): Use BUF_SAVE_MODIFF.
+
+ * buffer.h (struct buffer): New field pt_marker.
+ New fields begv_marker, zv_marker.
+ * buffer.c (Fget_buffer_create): Initialize pt_marker, begv/zv_marker.
+ (set_buffer_internal): Use and update this markers.
+ Copy undo_list in and out of the base buffer.
+ (Fget_buffer_create): Init save_modiff field here.
+ (reset_buffer): Not here.
+ (Fbuffer_modified_p): Use BUF_SAVE_MODIFF.
+ (Fset_buffer_modified_p): Use SAVE_MODIFF.
+ (Fkill_buffer, list_buffers_1): Use BUF_SAVE_MODIFF.
+
+ * term.c (term_init): Fatal error if screen is too small.
+
+1994-12-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (redisplay_window): For buffer_shared count,
+ treat an indirect buffer as equivalent to its base.
+
+ * print.c (print): Don't drop thru to error for markers and overlays.
+
+1994-12-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * insdel.c (adjust_point): Use BUF_PT.
+
+ * intervals.c (temp_set_point, set_point): Use BUF_PT.
+ (get_local_map): Get keymap from specified buffer, not current one.
+
+ * fileio.c (Finsert_file_contents, Fwrite_region):
+ Error if buffer is indirect.
+ (Fdo_auto_save): Do nothing for an indirect buffer.
+
+ * alloc.c (mark_buffer): In indirect buffer, mark the base buffer.
+
+ * buffer.c (Fmake_indirect_buffer): New function.
+ (Fbuffer_base_buffer): New function.
+ (syms_of_buffer): defsubr them.
+ (Fget_buffer_create): Initialize the size field.
+
+ * print.c (print): Make buffer case a branch of
+ the Lisp_Vectorlike case.
+
+ * alloc.c (mark_object): Make buffer case a branch of
+ the Lisp_Vectorlike case.
+
+ * buffer.h (struct buffer): Make text field be a pointer.
+ The struct buffer_text field renamed to own_text.
+ Add fields indirect_to_buffer and size.
+ Move pt, begv and zv fields here.
+ (struct buffer_text): Moved from here.
+ (BEGV, PT, ZV, BEGV_ADDR, PT_ADDR, ZV_ADDR): Corresponding changes.
+ (BUF_BEGV, BUF_PT, BUF_ZV): Corresponding changes.
+ (SET_BUF_ZV, SET_BUF_PT, point):
+
+ * lisp.h (XSETBUFFER, BUFFERP, GC_BUFFERP): Rewrite: use pseudovectors.
+ (enum Lisp_Type): Delete Lisp_Buffer.
+ (enum Lisp_Misc_Type): Add Lisp_Misc_Float (not yet used).
+
+1994-12-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * lisp.h (VALBITS): Default now 28.
+ (GCTYPEBITS): Default now 3.
+
+ * lisp.h (enum Lisp_Type): Lisp_Process, Lisp_Window, Lisp_Frame,
+ Lisp_Subr deleted.
+ (PSEUDOVECTORP, GC_PSEUDOVECTORP): Add paren for proper nesting.
+ (PROCESSP, GC_PROCESSP, XSETPROCESS): Rewrite to use pseudovectors.
+ (WINDOWP, GC_WINDOWP, XSETWINDOW): Likewise.
+ (FRAMEP, GC_FRAMEP): Likewise.
+ (SUBRP, GC_SUBRP, XSETSUBR): Likewise.
+ (PVEC_SUBR): New macro.
+ (struct Lisp_Subr): Add a size field.
+ (DEFUN (both definitions)): Store that size field.
+
+ * frame.h (XSETFRAME): Use pseudovector.
+
+ * alloc.c (mark_object): Don't use Lisp_Process, Lisp_Window.
+ Handle frames, compileds and subrs as branch of Lisp_Vectorlike case.
+ (Fmake_byte_code): Use XSETCOMPILED.
+
+ * data.c (Faref): Handle compiled function as pseudovector.
+
+ * fns.c (Flength): Handle compiled function as pseudovector.
+
+ * xterm.c (x_scroll_bar_handle_click): Use GC_WINDOWP.
+ (XTframe_rehighlight, x_window_to_scroll_bar): Use GC_FRAMEP.
+
+ * print.c (print): Get size of compiled function as pseudovector.
+ Use a switch statement again.
+
+ * process.h: Make size field an EMACS_INT.
+
+1994-12-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * unexsunos4.c [! sparc] (REL_INFO_TYPE): Use `struct relocation_info'.
+
+1994-12-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (make_lispy_event) [USE_X_TOOLKIT]: Turn off
+ special handling of menu bar mouse events.
+ (make_lispy_event): Tell pixel_to_glyph_coords not to clip.
+
+ * xterm.c (XTupdate_begin): Fix backward test in previous change.
+ (x_display_box_cursor): Don't redraw old cursor spot in mouse face
+ if cursor was on a newline.
+
+ * s/isc4-1.h: New file.
+
+1994-12-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (XTread_socket): Handle button events from outside
+ the frame, received due to grabbing the mouse with a button.
+
+1994-12-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * callint.c (Vmouse_leave_buffer_hook, Qmouse_leave_buffer_hook):
+ New variables.
+ (syms_of_callint): Set them up.
+ (Fcall_interactively): Run the hook, for `@'.
+
+ * buffer.c (syms_of_buffer): Doc fix for buffer-file-type.
+
+ * search.c (set_search_regs): Really set search_regs.start and .end.
+ (save_search_regs): Set them to 0 here.
+
+ * minibuf.c (read_minibuf): GCPRO things.
+
+ * lisp.h (enum Lisp_Type): Add Lisp_Type_Limit.
+ * data.c (wrong_type_argument): Abort if VALUE is invalid Lisp object.
+ Use Lisp_Type_Limit.
+
+1994-12-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * puresize.h (BASE_PURESIZE): Incremented by 20k.
+
+1994-12-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (x_figure_window_size): Treat missing user-position parm
+ as nil.
+
+1994-12-23 Steven Suhr <ssuhr@riacs.edu>
+
+ * scroll.c (scrolling_1): When scroll_region_ok is set, use a
+ new scrolling method which scrolls groups of lines directly
+ to their final vertical positions.
+ (struct matrix_elt): New field writecount.
+ (calculate_direct_scrolling): New function.
+ (do_direct_scrolling): New function.
+
+ * term.c (scroll_region_cost): New variable.
+ (calculate_costs): Put scroll region overhead in scroll_region_cost.
+
+ * termchar.h (scroll_region_cost): Declared.
+
+ * dispnew.c (scrolling): Fewer restrictions if scroll_region_ok is
+ set. New vector old_draw_cost for direct scrolling method.
+
+1994-12-23 Michal Jankowski (Michal.Jankowski@fuw.edu.pl)
+
+ * keyboard.c (read_char): Don't echo keys when echo_keystrokes is 0.
+
+1994-12-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (x_set_frame_parameters): Handle icon-left, icon-top parms.
+
+1994-12-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * buffer.c (Fget_buffer_create): Copy the name, and clear text props.
+
+1994-12-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * eval.c (Fdefvar): Fix minor error in previous change.
+ (funcall_lambda): Fetch bytecode and constants vector from file if nec.
+
+ * lread.c (Qload_file_name, Vload_file_name): New variables.
+ (syms_of_lread): Initialize and staticpro it.
+ (Fload): Bind it.
+ (read_list): Before dumping, ignore (#$ . WHATEVER)--return 0.
+
+ * lread.c (read1): Implement #@ and #$ constructs.
+
+ * frame.c (make_frame): Init buffer_predicate field.
+
+ * doc.c (get_doc_string): Now static. Arg now Lisp_Object.
+ Allow (FILE . POS) as position argument.
+ (Fdocumentation, Fdocumentation_property): Fix calls to get_doc_string.
+ (Fdocumentation_property): Handle cons as value via get_doc_string.
+ (read_doc_string): New function.
+
+ * buffer.c (assoc_ignore_text_properties): New function.
+ (Fget_buffer): Use assoc_ignore_text_properties.
+
+1994-12-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/dgux.h (C_DEBUG_SWITCH): Define this only if __GNUC__.
+
+1994-12-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * buffer.c (Fother_buffer): Take account of frame's buffer predicate.
+
+ * frame.h (struct frame): New field buffer_predicate.
+ Move all the Lisp_Object fields to the top.
+
+ * frame.c (Fmodify_frame_parameters): For non-X frames,
+ call store_frame_param for each parameter set.
+ (store_frame_param): Handle buffer_predicate field.
+ (frame_buffer_predicate): New function.
+ (Qbuffer_predicate): New variable.
+ (syms_of_frame): Set it up.
+
+ * alloc.c (mark_object): In a frame, mark the buffer_predicate.
+ Don't mark the height and width fields.
+
+1994-12-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * minibuf.c (Fall_completions): New arg hide_spaces.
+ (Fminibuffer_completion_help): Pass new arg.
+
+1994-12-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (main): Fix conversion of --display to -d.
+
+ * xmenu.c (push_menu_item): New arg DEF.
+ (single_keymap_panes, list_of_items): Pass new arg.
+ (MENU_ITEMS_ITEM_DEFINITION): New macro.
+ (MENU_ITEMS_ITEM_LENGTH): Now 5.
+ [USE_X_TOOLKIT] (xmenu_show): Store 0 in call_data if item def is 0.
+ (single_submenu): Likewise.
+
+ * emacs.c (main): Implement --version.
+
+ * xterm.c (XTupdate_begin): Discard records of prior mouse highlight
+ when frame must be redrawn.
+
+ * textprop.c (add_properties): Add gcpro's.
+ (Fadd_text_properties, copy_text_properties): Likewise.
+
+1994-12-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/sunos4-1-3.h: Just include sunos4shr--do nothing else.
+
+ * eval.c (Fdefconst, Fdefvar): Error if too many arguments.
+
+1994-12-13 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * emacs.c (sort_args): Make `options' a vector of ints.
+
+1994-12-11 Richard Stallman <rms@kepa>
+
+ * buffer.c (report_overlay_modification): Renamed from
+ verify_overlay_modification.
+ * insdel.c: Calls changed.
+
+ * insdel.c (signal_before_change, signal_after_change):
+ Call verify_overlay_modification here.
+ (prepare_to_modify_buffer): Don't call verify_overlay_modification.
+
+ * buffer.c (call_overlay_mod_hooks): New args AFTER, ARG1, ARG2, ARG3.
+ Args START, END deleted. Pass each function AFTER, ARG1 and ARG2,
+ and ARG3 if ARG3 is not nil.
+ (verify_overlay_modification): New args AFTER, ARG1, ARG2, ARG3.
+ Pass them to call_overlay_mod_hooks.
+
+ * search.c (compile_pattern): Call re_set_registers here.
+ And no need to BLOCK_INPUT for that.
+ (compile_pattern_1): Instead of here.
+
+1994-12-10 Richard Stallman <rms@kepa>
+
+ * s/aix4-1.h: New file.
+
+ * unexaix.c (unrelocate_symbols): Add AIX4_1 conditionals and code.
+
+ * sysdep.c (sys_siglist) [AIX]: Add AIXHFT conditional.
+
+ * systty.h: Change AIX conditional around HFNKEYS to AIXHFT.
+
+1994-12-09 Richard Stallman <rms@green-hill>
+
+ * bytecode.c (Fbyte_code): Call Ffollowing_char and Fprevious_char
+ as functions. Don't mask char-syntax arg to just 8 bits.
+
+1994-12-08 Richard Stallman <rms@green-hill>
+
+ * keyboard.c (read_char): After auto-saving, redisplay.
+
+1994-12-06 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * xfns.c (Fx_color_values): Doc fix.
+
+ * buffer.c (list_buffers_1): Right-align the size values.
+
+ * frame.h (struct frame): New field cost_calculation_baud_rate.
+ (FRAME_COST_BAUD_RATE): New macro.
+ * term.c (calculate_costs): Set FRAME_COST_BAUD_RATE.
+ Don't test dont_calculate_costs.
+ (dont_calculate_costs): Variable deleted.
+ (term_init): Don't set dont_calculate_costs.
+ * dispnew.c (update_frame): Call calculate_costs if baud_rate changed.
+
+1994-12-05 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * emacs.c (sort_args): Don't overwrite the terminating null pointer.
+
+1994-12-05 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * keyboard.c (read_key_sequence): Downcase undefined shifted fn keys.
+
+1994-12-04 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * emacs.c (argmatch): Take argc as arg; don't go past end of argv.
+ (main): Change calls to argmatch.
+
+ * intervals.h (INTERVAL_LAST_POS): Don't subtract 1 here.
+
+ * intervals.c (compare_string_intervals): New function.
+ * fns.c (internal_equal): Call compare_string_intervals.
+ (Fstring_equal): Doc fix.
+
+ * scroll.c (scroll_cost): FRAME_DELETE_COST and FRAME_DELETEN_COSTS
+ were confused. Fixed.
+
+ * xterm.c (x_make_frame_visible, x_make_frame_invisible)
+ (x_iconify_frame): Give error if frame has explicit_parent.
+ (x_new_font): Don't set window height if frame has explicit_parent.
+
+ * xfns.c (Fx_create_frame): Check for parent-id parameter.
+ Set explicit_parent and parent fields.
+ Don't set visibility if explicit_parent.
+ [! USE_X_TOOLKIT] (x_window): Specify parent window.
+
+ * xterm.h (struct x_display): New field explicit_parent.
+
+ * s/ultrix4-3.h (SET_LINE_DISCIPLINE): Defined.
+
+ * sysdep.c (child_setup_tty): Use CDISABLE for setting VERASE, VKILL.
+ (init_sys_modes) [SET_LINE_DISCIPLINE]: Set specified line discipline.
+ (reset_sys_modes) [SET_LINE_DISCIPLINE]: Restore old line discipline.
+
+1994-12-03 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * lread.c (readevalloop): Ignore ^M here.
+
+ * emacs.c (argmatch): Handle lstr == 0.
+
+1994-11-28 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * regex.c (re_match_2_internal):
+ Rename label `succeed' to `succed_label'.
+
+ * xfns.c (Fx_synchronize): Fix doc string syntax.
+
+ * xmenu.c: Don't include ../oldXMenu/XMenu.h if USE_X_TOOLKIT.
+
+ * Makefile.in.in: Fix erroneous comment syntax.
+
+ * s/ultrix4-3.h: New file.
+
+ * systty.h: Have just one conditional to include unistd.h.
+ Test NEED_UNISTD_H, not AIX and IRIX4.
+ (UNISTD_H_INCLUDED): Don't define or test this.
+ * m/ibm370aix.h (NEED_UNISTD_H): Defined.
+ * s/aix3-1.h (NEED_UNISTD_H): Defined.
+ * s/irix4-0.h (NEED_UNISTD_H): Defined.
+
+ * fileio.c (internal_delete_file, internal_delete_file_1):
+ New functions.
+ * buffer.c (Fkill_buffer): Use internal_delete_file.
+ * callproc.c (delete_temp_file): Use internal_delete_file.
+
+1994-11-25 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * search.c (search_regs_saved): Don't initialize; it dumps as pure.
+
+1994-11-24 Francesco Potorti` <pot@cnuce.cnr.it>
+
+ * m/delta.h (C_SWITCH_MACHINE): -inline-functions removed,
+ because the compiler shipped with R3V7 is not stable.
+
+1994-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (command_loop_1): Use safe_run_hooks to run
+ deferred-action-function.
+ (Qdeferred_action_function): New variable.
+ (syms_of_keyboard): Initialize and staticpro Qdeferred_action_function.
+
+1994-11-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (syms_of_keyboard): Doc fix.
+
+ * fns.c (Fy_or_n_p): Handle exit-prefix in query-replace-map.
+
+1994-11-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * search.c (save_search_regs): Add declaration.
+
+ * minibuf.c (Fminibuffer_complete_and_exit):
+ Catch errors in do_completion.
+ (complete_and_exit_1, complete_and_exit_2): New subroutines.
+
+ * s/aix4.h: New file.
+ * s/aix3-1.h (AIXHFT): Defined.
+ * m/ibmrs6000.h (OBJECTS_MACHINE): Define only if AIXHFT.
+
+ * sysdep.c (init_sys_modes): Tes AIXHFT, not AIX.
+ (reset_sys_modes): Test AIXHFT.
+ (hft_init, hft_reset): Test AIXHFT, not AIX.
+
+1994-11-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * window.c (Fdisplay_buffer): Use `b' to read existing buffer name.
+
+1994-11-21 David J. MacKenzie (djm@mole.gnu.ai.mit.edu)
+
+ * config.h.in: Add #undefs for --with-pop, --with-kerberos, and
+ --with-hesiod.
+
+1994-11-19 Francesco Potorti` <pot@cnuce.cnr.it>
+
+ * lisp.h: (running_asynch_code): New global flag.
+ * emacs.c (running_asynch_code): New global flag.
+ (main): Initialise it.
+ * process.c (read_process_output, exec_sentinel): Set and
+ reset the running_asynch_code global flag and restore match data.
+
+ * search.c (Flooking_at, Fstring_match, search_buffer,
+ Fstore_match_data): Save the match data if a filter or a sentinel
+ is running.
+ (search_regs_saved, saved_search_regs): New variables.
+ (save_search_regs, restore_match_data): New functions.
+
+1994-11-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (sort_args): New function.
+ (main): Call sort_args.
+ Check for -d/-display after -nw, -batch, -help.
+ Accept --display, with arg attached or separate.
+
+1994-11-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * filelock.c (init_filelock): Add missing semicolon.
+
+1994-11-18 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * indent.c (recompute_width_table): Do the right thing if no previous
+ table existed.
+ Fix Lisp_Object vs. integer problem.
+ (width_run_cache_on_off): Let recompute_width_table create the vector.
+
+1994-11-17 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * lisp.h: (enum Lisp_Misc_Type): Rename Lisp_Vector to
+ Lisp_Vectorlike. Mark Lisp_Window_Configuration as obsolete.
+ (PSEUDOVECTOR_FLAG, PSEUDOVECTOR_SIZE_MASK, PVEC_BUFFER,
+ PVEC_PROCESS, PVEC_FRAME, PVEC_COMPILED, PVEC_WINDOW,
+ PVEC_WINDOW_CONFIGURATION): New constants.
+ (XSETPSEUDOVECTOR, PSEUDOVECTORP, VECTORLIKEP): New macros.
+ (XSETVECTOR, XSETWINDOW_CONFIGURATION, VECTORP,
+ WINDOW_CONFIGURATIONP): Use the new convention.
+ (XSETCOMPILED): New macro.
+ * print.c (print): Use type test macros.
+ * keymap.c (Fsingle_key_description): Likewise.
+ * doc.c (Fdocumentation): Likewise.
+ * alloc.c (Fpurecopy): Likewise.
+ (mark_object): Use the new pseudovector convention.
+ * fns.c (Fvconcat, concat): Use Lisp_Vectorlike.
+ * ntinevt.c (SET_FRAME): Use accessor macros.
+ (key_event, do_mouse_event): Likewise.
+
+1994-11-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * filelock.c (init_filelock): Always copy lock_path.
+ (lock_dir, superlock_file, MAKE_LOCK_NAME):
+ Renamed from lock_path, superlock_path, MAKE_LOCK_PATH.
+
+1994-11-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/domain.h: New file.
+
+1994-11-16 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * s/gnu.h [NOT_C_CODE]: Include fcntl.h.
+
+1994-11-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (try_window, display_text_line): Undo previous change.
+
+ * dired.c (Fdirectory_files): Pass new arg to `compile_pattern'.
+
+ * search.c (struct regexp_cache): New field `posix'.
+ (compile_pattern_1): New arg `posix'. Controls the syntax spec
+ for parsing; also record it in the cache.
+ (compile_pattern): New arg `posix'.
+ (looking_at_1, string_match_1, fast_string_match): Pass 0 for new arg.
+ (search_buffer): New arg `posix'. Now static.
+ (search_command): New arg `posix'. All callers changed.
+ (Fposix_search_forward, Fposix_search_backward): New functions.
+ (string_match_1, looking_at_1): New subroutines broken out.
+ (Fstring_match, Flooking_at): Use them.
+ (Fposix_string_match, Fposix_looking_at): New functions.
+ (syms_of_search): defsubr new functions.
+
+1994-11-16 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * xdisp.c (try_window): Don't pass window to Fget_char_property;
+ pass its buffer.
+ (display_text_line): Likewise.
+
+1994-11-16 Francesco Potorti` (pot@cnuce.cnr.it)
+
+ * Makefile.in.in (TAGS): The new etags allows tagging DEFVARs.
+
+1994-11-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * lread.c (Fload): Call Fsubstitute_in_file_name after trying handler.
+
+ * fileio.c (Fread_file_name_internal): Protect orig_string.
+
+1994-11-15 enami tsugutomo <enami@sys.ptg.sony.co.jp>
+
+ * keyboard.c (Fopen_dribble_file): Call fclose only when
+ dribble is non zero.
+
+1994-11-15 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * keymap.c (access_keymap): Use type test macros.
+
+ * alloc.c (Fmake_vector): Call allocate_vectorlike.
+ (allocate_vectorlike): New function, extracted from Fmake_vector.
+ * lisp.h: Declare allocate_vectorlike.
+ (VECSIZE): New macro.
+ * process.c (make_process): Use allocate_vectorlike and VECSIZE.
+ * frame.c (make_frame): Likewise.
+ * window.c (make_dummy_parent, make_window): Likewise.
+ (Fcurrent_window_configuration): Likewise.
+ (SAVE_WINDOW_DATA_SIZE): Macro deleted.
+
+ * lisp.h: Delete declaration of Farray_length.
+ * data.c (Farray_length): Delete this obsolete function.
+ (Faref, Faset): If object is a string, use XSTRING, not XVECTOR.
+ * fns.c (Flength): Don't call Farray_length, just use size field.
+
+ * xterm.h (XSCROLL_BAR): Extract from Lisp_Vector, not generic pointer.
+
+ * xselect.c (wait_for_property_change): Encode location as a cons
+ of two integers instead of lying about the type.
+ (wait_for_property_change_unwind): Decode it likewise.
+
+ * eval.c (Finteractive_p): Use XSUBR instead of its expansion.
+
+ * lisp.h (GC_INTEGERP, etc): New type-test macros for use during GC.
+ * buffer.h (OVERLAY_POSITION): Use the new type-test macros.
+ * process.c (NETCONN_P, kill_buffer_processes): Likewise.
+ * buffer.c (overlays_at): Likewise.
+ * filelock.c (unlock_all_files): Likewise.
+ * xfns.c (x_window_to_frame): Likewise.
+ (x_any_window_to_frame, x_top_window_to_frame): Likewise.
+ * fileio.c (Fdo_auto_save): Likewise.
+
+ * xfaces.c (Fpixmap_spec_p): Avoid function calls and assignments
+ as arguments to a type-test macro.
+ * textprop.c (PLIST_ELT_P): Likewise.
+ * keymap.c (current_minor_maps): Likewise.
+
+ * lisp.h (NATNUMP): New macro.
+ (CHECK_NATNUM): Use that macro instead of its expansion.
+ * data.c (Fnatnump): Likewise.
+ * xfns.c (x_set_frame_parameters): Likewise.
+ * keymap.c (access_keymap, store_in_keymap): Likewise.
+ * doc.c (Fdocumentation): Likewise.
+ * alloc.c (Fmake_list): Use CHECK_NATNUM instead of its expansion.
+ Now signals using `wholenump' instead of `natnump'.
+ (Fmake_vector, Fmake_string): Likewise.
+
+ * data.c (syms_of_data): Set Qwholenump as function, not variable.
+
+ * alloc.c (free_float): Don't assume XFASTINT accesses the raw bits.
+ (make_float, free_cons, Fcons, Fmake_symbol, gc_sweep): Likewise.
+
+1994-11-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_mouse_leave): New function broken out of XTread_socket.
+ When x_focus_event_frame is nonzero, assume that frame gets focus.
+ (XTread_socket): Use x_mouse_leave for LeaveNotify.
+ * xmenu.c (xmenu_show): Call x_mouse_leave.
+
+ * fileio.c (Fsubstitute_in_file_name): Run a handler.
+ (Qsubstitute_in_file_name): New variable.
+ (syms_of_fileio): Set it up.
+
+ * lread.c (read_escape): For \S-a, return A.
+
+ * buffer.c (Frename_buffer): Rename arg NAME to NEWNAME.
+
+1994-11-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/freebsd.h (LD_SWITCH_SYSTEM): Add -dc and -dp.
+ (HAVE_GETPAGESIZE): Defined.
+
+ * sysdep.c (init_sys_modes): Maybe call tcflow.
+
+1994-11-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * lisp.h: (enum Lisp_Misc_Type): Add new enumeration Lisp_Misc_Overlay.
+ (enum Lisp_Type): Delete the corresponding enumeration from here.
+ (struct Lisp_Overlay): New structure.
+ (XOVERLAY, OVERLAYP): Access the new structure.
+ (union Lisp_Misc): Add new member.
+ * buffer.h (OVERLAY_START, OVERLAY_END): Use the new substructure.
+ * alloc.c (mark_object, gc_sweep): Likewise.
+ * print.c (print): Likewise.
+ * buffer.c (Fmake_overlay): Likewise.
+ (Foverlay_properties, Foverlay_get, Foverlay_put): Likewise.
+ * fns.c (internal_equal): Likewise.
+ Simplify by returning int.
+ (Fequal): Use new interface to internal_equal.
+
+ * buffer.c (list_buffers_1): Use PT, not point.
+
+1994-11-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fileio.c (Finsert_file_contents): Init not_regular at the beginning.
+
+1994-11-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * buffer.c (Fkill_all_local_variables): Use XBUFFER_LOCAL_VALUE,
+ not XCONS.
+
+1994-11-14 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * s/gnu.h (A_TEXT_OFFSET): Macro removed.
+ (A_TEXT_SEEK): Define to just sizeof (struct exec).
+
+1994-11-14 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * lread.c (defvar_int): Use accessor macro.
+ (defvar_bool, defvar_lisp_nopro, defvar_per_buffer): Likewise.
+
+1994-11-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfaces.c (load_pixmap): Handle bitmap_id < 0. F is a FRAME_PTR.
+
+ * frame.c (syms_of_frame): Fix typo.
+
+ * minibuf.c (Fdisplay_completion_list): Update COLUMN unconditionally.
+ If a name is long, put it on its own line.
+
+1994-11-13 Brendan Kehoe (brendan@lisa.cygnus.com)
+
+ * s/hpux9.h (C_SWITCH_SYSTEM) [__GNUC__]: Set -D_BSD to get the
+ correct definitions from sys/wait.h.
+
+1994-11-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.c (syms_of_frame): Doc fix for default-frame-alist.
+
+1994-11-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fileio.c (Finsert_file_contents): If VISIT, set the buffer components
+ such as the filename even before signaling error for non-regular file.
+
+ * s/iris3-5.h, s/iris3-6.h (MAIL_USE_FLOCK): Defined.
+ * s/irix3-3.h, s/irix5-0.h (MAIL_USE_FLOCK): Defined.
+ * s/irix5-2.h: New file.
+
+ * m/paragon.h: New file.
+
+1994-11-11 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * lisp.h: (enum Lisp_Misc_Type): Add new enumerations
+ Lisp_Misc_Buffer_Local_Value and Lisp_Misc_Some_Buffer_Local_Value.
+ (enum Lisp_Type): Delete the corresponding enumerations from here.
+ (struct Lisp_Buffer_Local_Value): New structure.
+ (XBUFFER_LOCAL_VALUE): Access the new structure.
+ (BUFFER_LOCAL_VALUEP, BUFFER_SOME_LOCAL_VALUEP): Likewise.
+ (union Lisp_Misc): Add new member.
+ * alloc.c (mark_object): New code to handle buffer-local substructure.
+ (gc_sweep): Generalize marker code to handle other substructures.
+ * bytecode.c (Fbyte_code): Special case for buffer-local objects is
+ now handled by the more general test. Simplify.
+ * buffer.c (set_buffer_internal): Use XBUFFER_LOCAL_VALUE, not XCONS.
+ * data.c (store_symval_forwarding): Likewise.
+ (swap_in_symval_forwarding, Fset, default_value, Fset_default,
+ Fkill_local_variable): Likewise.
+ (Fmake_variable_buffer_local): Use the new substructure.
+ (Fmake_local_variable): Likewise.
+
+1994-11-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (create_process) [OSF1]: Use setpgid, not setpgrp.
+
+1994-11-09 Boris Goldowsky <boris@cs.rochester.edu>
+
+ * cmds.c (Fnewline): Always use insert_and_inherit.
+
+1994-11-09 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * lisp.h (FRAMEP): Use the second definition whenever HAVE_MOUSE.
+
+ * keyboard.c (tracking_off): Test old value with NILP.
+ Restore the old value whatever it may be.
+ (syms_of_keyboard): Use DEFVAR_LISP for track-mouse.
+
+1994-11-09 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * data.c (Fboundp, find_symbol_value): Use type test macros
+ instead of checking XTYPE directly.
+
+ * keyboard.c (print_help): Set help-mode in *Help* buffer.
+ * keymap.c (describe_buffer_bindings): Likewise.
+ * syntax.c (describe_syntax_1): Likewise.
+
+1994-11-08 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * keyboard.c (EVENT_QUEUES_EMPTY): Only test do_mouse_tracking and
+ mouse_moved #ifdef HAVE_MOUSE.
+ (Ftrack_mouse): Protect with #ifdef HAVE_MOUSE.
+ (syms_of_keyboard): Protect initialization of do_mouse_tracking,
+ defsubr of Strack_mouse, and DEFVAR of track-mouse with #ifdef
+ HAVE_MOUSE.
+
+1994-11-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * frame.c (Fset_frame_height): Compare against height, not width.
+
+1994-11-07 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * keyboard.c: Move decl of input_fd outside of #ifdef
+ HAVE_X_WINDOWS.
+
+1994-11-03 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * xterm.c (XTread_socket): Generate iconify and deiconify events.
+
+1994-11-03 Geoff Voelker <voelker@cs.washington.edu>
+
+ * m/intel386.h (VIRT_ADDR_VARIES) [WINDOWSNT]: Defined.
+ (DATA_END) [WINDOWSNT]: Defined.
+ (DATA_START) [WINDOWSNT]: Defined.
+ (HAVE_ALLOCA) [WINDOWSNT]: Defined.
+
+ * s/windowsnt.h: Include malloc.h.
+ (MODE_LINE_BINARY_TEXT): Defined.
+ (HAVE_MOUSE): Defined.
+
+ * ntheap.c (sbrk): Allow request sizes to be different than the
+ page size.
+
+ * makefile.nt: Changed references of m\m-windowsnt.h to
+ m\intel386.h and of s\s-windowsnt.h to s\windowsnt.h.
+
+1994-11-01 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * xfns.c (Fx_list_fonts): Don't bother to retrieve font info when
+ there's no size_ref to compare it against.
+
+ * editfns.c: (Fdecode_time): Fix Lisp_Object vs. integer problems.
+ Don't use tm_gmtoff; it's not portable.
+
+ * lisp.h: Leave DEVICE_SEP undefined by default.
+
+1994-11-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * buffer.c (init_buffer): Fix error message syntax.
+
+ * fileio.c (Fsubstitute_in_file_name): Add missing #endif.
+
+ * lread.c: Don't include ctype.h.
+ (isfloat_string, read1): Don't use isdigit.
+
+ * editfns.c (Fdecode_time): Change one XFASTINT to XINT.
+
+ * s/windowsnt.h (SYSTEM_PURESIZE_EXTRA): Defined.
+
+1994-10-31 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * xfns.c (x_window): Make ibw 0 by default.
+
+1994-10-31 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * xterm.c (XTclear_end_of_line): Finish the line dance here too,
+ just as was done in XTwrite_glyphs.
+
+ * xdisp.c (column_number_displayed): New variable.
+ (redisplay, redisplay_window): If that var is set, do mode line.
+ (display_mode_line): Unset the var.
+ (decode_mode_spec): Set the var if %c was seen.
+
+1994-10-30 voelker <voelker@cs.washington.edu>
+
+ * makefile.nt: New file.
+ * nt.c, nt.h: New files.
+ * ntheap.c, ntheap.h: New files.
+ * ntinevt.c, ntinevt.h: New files.
+ * ntproc.c, ntterm.c: New files.
+
+ * m/windowsnt.h, s/windowsnt.h: New files.
+
+ * nt.c: New file.
+
+ * makefile.nt:New file.
+
+ * lisp.h (DEVICE_SEP, DIRECTORY_SEP, IS_DEVICE_SEP)
+ (IS_DIRECTORY_SEP, IS_ANY_SEP): New macros, defined if not already def.
+
+ * s/msdos.h (DOS_NT): Defined.
+
+ * term.c (term_init) [WINDOWSNT]: Do some Windows-specific
+ initialization, then skip the rest of the code.
+ (FRAME_TERMCAP_P) [WINDOWSNT]: Always return 0.
+
+ * systty.h: Test DOS_NT, not MSDOS.
+
+ * syssignal.h [WINDOWSNT] (EMACS_KILLPG): Use win32_kill_process.
+
+ * sysdep.c [WINDOWSNT]: Add includes for NT.
+ Define _P_WAIT. Declare _spawnlp, _getpid.
+ [WINDOWSNT] (select, strerror, vfork): Don't use these definitions.
+
+ * sysdep.c (init_sys_modes): Test DOS_NT, not MSDOS.
+ (emacs_get_tty, emacs_set_tty,(child_setup_tty, init_baud_rate): Ditto.
+
+ * sysdep.c (sys_subshell) [WINDOWSNT]: Use _spawnlp. not vfork.
+ (wait_for_termination) [WINDOWSNT]: Use wait.
+ (discard_tty_input) [WINDOWSNT]: Do nothing at all.
+
+ * process.c: Use macros IS_ANY_SEP, IS_DIRECTORY_SEP,
+ IS_DEVICE_SEP, DIRECTORY_SEP, and DEVICE_SEP.
+ [WINDOWSNT]: Add includes. Don't define sys_siglist.
+
+ * process.c (sigchld_handler): Work around bug in MS C compiler.
+ (sigchld_handler) [WINDOWSNT]: Do not call signal.
+ (signal_process) [WINDOWSNT]: Use win32_kill_process instead of kill.
+ (read_process_output) [WINDOWSNT]: Use read_child_output instead of
+ read.
+
+ * process.c (create_process) [WINDOWSNT]: Use
+ pipe_with_inherited_out and pipe_with_inherited_in.
+ Use the pid returned by child_setup. Deal with not having vfork,
+ Call register_child.
+ (close_process_descs): Do nothing if WINDOWSNT.
+
+ * process.c (proc_buffer_char): No longer static.
+
+ * ndir.h (MAXNAMLEN) [WINDOWSNT]: Define as 255.
+
+ * mem-limits.h [WINDOWSNT]: Don't include vlimit.h.
+ (get_lim_data): Alternate definition for WINDOWSNT.
+
+ * lread.c: Change explicit uses of the Unix directory separator
+ '/' to uses of the macros IS_ANY_SEP, IS_DIRECTORY_SEP,
+ IS_DEVICE_SEP, DIRECTORY_SEP, and DEVICE_SEP.
+
+ * lread.c (init_lread) [WINDOWSNT]: Disable warnings about
+ directories in the load path not existing.
+
+ * lread.c (load): Test DOS_NT instead of MSDOS.
+
+ * keyboard.c (read_key_sequence): Use flags instead of gotos to
+ enable the Microsoft C compiler to compile the routine.
+
+ * keyboard.c (read_avail_input) [WINDOWSNT]: Just return 0.
+
+ * fileio.c: Change explicit uses of the Unix directory separator
+ '/' to uses of the macros IS_ANY_SEP, IS_DIRECTORY_SEP,
+ IS_DEVICE_SEP, DIRECTORY_SEP, and DEVICE_SEP.
+
+ * fileio.c [WINDOWSNT]: Don't define HAVE_FSYNC; add includes for NT.
+
+ * fileio.c (Ffile_name_absolute_p): Test DOS_NT instead of MSDOS.
+ (Fwrite_region, Fdo_auto_save, Ffile_modes): Likewise.
+
+ * fileio.c (Qfind_buffer_file_type): Test DOS_NT instead of MSDOS.
+ (syms_of_files): Likewise.
+ (Finsert_file_types): Test DOS_NT instead of MSDOS.
+ Rename local var try to trytry.
+
+ * fileio.c (Fadd_name_to_file): Wlways fail.
+ (Frename_file) [WINDOWSNT]: Use MoveFile, not link and unlink,
+ and check for both ERROR_FILE_EXISTS and ERROR_ALREADY_EXISTS.
+ (Fmake_directory_internal) [WINDOWSNT]: Invoke mkdir without the mask.
+
+ * fileio.c (Fexpand_file_name): Test DOS_NT, not MSDOS.
+ (Fexpand_file_name) [WINDOWSNT]: Accept // or \\ at start.
+ Call dostonunix_filename for HOME envvar, for ~USER.
+ Quote directory separators found in environment variables.
+ (Fsubstitute_in_file_name): Test DOS_NT instead of MSDOS.
+ (Fsubstitute_in_file_name) [WINDOWSNT]: Accept // or \\ at start.
+ Work around alloca bug in MS compiler.
+ (Ffile_name_directory): Test DOS_NT instead of MSDOS sometimes.
+ But don't insert a drive letter on windows.
+
+ * emacs.c (Fdump_emacs): Don't reset the data start address by
+ invoking memory_warnings just before unexec-ing.
+
+ * editfns.c (init_editfns): Get the username from the environment
+ variable USERNAME instead of USER.
+
+ * dired.c: Use macros IS_ANY_SEP, IS_DIRECTORY_SEP, and DIRECTORY_SEP.
+ (file-attributes) [WINDOWSNT]: Set st_gid and st_uid to Qnil; use
+ get_inode_and_device_vals to fake up inode number and device number.
+
+ * callproc.c (getenv_internal) [WINDOWSNT]: Use strnicmp, not bcmp.
+
+ * callproc.c (child_setup): Use IS_DIRECTORY_SEP.
+ [WINDOWSNT]: Call prepare_standard_handles. Use spawnve.
+ Use reset_standard_handles.
+
+ * callproc.c (Fcall_process_region): Test DOS_NT, not MSDOS.
+ (Fcall_process) [WINDOWSNT]: Call pipe_with_inherited_out.
+ Use the return value of child_setup to get the child's pid;
+ don't call vfork etc. explicitly.
+
+ * callproc.c [WINDOWSNT]: Add includes. Defone NOMINMAX, _P_NOWAIT.
+ (Vbinary_process_input, Vbinary_process_output)
+ (Qbuffer_file_type): Test DOS_NT, not MSDOS.
+ (syms_of_callproc): Test DOS_NT, not MSDOS.
+
+ * callproc.c (init_callproc): Test DOS_NT, not MSDOS.
+
+ * buffer.h (struct buffer): Test DOS_NT, not MSDOS.
+
+ * buffer.c (init_buffer): Use DIRECTORY_SEP, IS_DIRECTORY_SEP macros,
+ not character constants.
+ (init_buffer_once, syms_of_buffer): Test DOS_NT, not MSDOS.
+
+1994-10-30 Erik Naggum <erik@naggum.no>
+
+ * editfns.c (Fdecode_time): New function.
+ (syms_of_editfns): defsubr it.
+
+1994-10-30 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * keyboard.c (make_lispy_event): Record double and triple for drags.
+ Put in click_modifier for multi-clicks.
+ (read_key_sequence): Convert double-drag first to plan drag,
+ and only later try a click.
+
+ * unexsunos4.c (unexec): Don't print number of pure bytes used.
+
+1994-10-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (Fx_create_frame):
+ Don't set xlwmenu_default_font if not USE_X_TOOLKIT.
+
+ * puresize.h (BASE_PURESIZE): Increment MULTI_FRAME value.
+
+1994-10-29 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * keyboard.c (read_avail_input): Fix Lisp_Object vs. int problem.
+
+1994-10-29 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * xterm.c (fast_find_position): Special case if POS is end of buffer.
+
+ * xterm.c (x_delete_display): Call XrmDestroyDatabase.
+
+1994-10-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/osf1.h (LD_SWITCH_SYSTEM): Definitions deleted.
+
+ * m/alpha.h (LD_SWITCH_MACHINE): New definition.
+
+1994-10-28 Rainer Schoepf <Schoepf@Uni-Mainz.de>
+
+ * s/osf1.h (INTERRUPTIBLE_IO, INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE)
+ (read, write, open, close): New definitions.
+
+1994-10-27 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * buffer.c (Fset_buffer_major_mode): New function. Set the
+ default major mode here.
+ (Fget_buffer_create): Not here.
+ (Fswitch_to_buffer): Call Fset_buffer_major_mode.
+ (syms_of_buffer): defsubr the new function.
+
+ * termhooks.h (iconify_event, deiconify_event): New enum event_kind's.
+ * keyboard.c (kbd_buffer_get_event): Translate them to lispy events.
+ (head_table): Initialize those new symbols appropriately.
+ * frame.c (keys_of_frame): Bind those events to 'ignore, since the
+ window manager has already done the work.
+
+ * xmenu.c (set_frame_menubar): Don't copy string during GC risk.
+
+1994-10-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * config.h.in (HAVE_GETPAGESIZE): Add #undef.
+ * m/sequent-ptx.h (HAVE_GETPAGESIZE): Explicitly #undef.
+ * s/linux.h, s/msdos.h (HAVE_GETPAGESIZE): Definition deleted.
+ * m/symmetry.h (HAVE_GETPAGESIZE): Definition deleted.
+
+ * xterm.c (x_destroy_window): Rewrite to fetch dpyinfo just once.
+
+ * xfns.c (Fx_create_frame): Set xlwmenu_default_font.
+
+ * widget.c (set_frame_size): Set app_shell and wmshell the same.
+
+ * xterm.c [USE_X_TOOLKIT]: Make application context explicitly
+ and support multiple top-level shells.
+ (x_initialize): Call XtToolkitInitialize, XtCreateApplicationContext;
+ don't open display or make a shell.
+ (x_term_init): Call XtOpenDisplay.
+
+ * xfns.c [USE_X_TOOLKIT] (x_window): Use XtAppCreateShell.
+ (Xt_app_shell, Xt_app_con): Variables deleted.
+ (Fx_close_connection) [USE_X_TOOLKIT]: Call XtCloseDisplay.
+
+ * xterm.c (x_scroll_bar_create): Use XMapRaised directly.
+ (x_make_frame_visible, x_iconify_frame): Likewise.
+ (XMapWindow): Macro definition deleted.
+ (METABIT): Macro deleted.
+ (MAXDESC, FD_SETSIZE, FD_SET, FD_CLEAR, FD_ZERO, FD_ISSET): Likewise.
+ (x_id_name): Variable deleted.
+
+ * process.c (status_message): Add a cast.
+ (sigchld_handler): Add a cast.
+
+ * xfns.c (x_window): Pass new arg f to hack_wm_protocols.
+
+ * xdisp.c (display_text_line): Truncate the minibuf_prompt if nec.
+
+1994-10-26 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * window.c (syms_of_window): Fix missing \n\'s.
+
+1994-10-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xselect.c (x_own_selection, x_get_foreign_selection): Change calls
+ to x_catch_errors and friends.
+
+ * xfns.c (x_set_mouse_color, x_real_positions): Change calls
+ to x_catch_errors and friends.
+
+ * xterm.c (x_catch_errors, x_check_errors, x_had_errors_p)
+ (x_uncatch_errors): Make the argument a display, not a frame.
+
+ * xterm.c (XTread_socket_fake_io_error): New variable.
+ (XTread_socket): Obey XTread_socket_fake_io_error.
+
+1994-10-25 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * process.c (list_processes_1): Print tty name.
+
+1994-10-25 Karl Fogel (kfogel@phylo.life.uiuc.edu)
+
+ * window.c (Vtemp_buffer_show_function): Doc fix.
+
+1994-10-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.h: Delete X10 code.
+
+ * xfns.c (Fx_create_frame): Don't increment refernce_count
+ until the frame is put on the frame list.
+
+ * xterm.c (x_initialize): Init x_noop_count, x_focus_frame
+ and x_highlight_frame here.
+ (x_term_init): Not here.
+
+ * xterm.c (x_term_init): Open the connection first thing;
+ if that fails, don't allocate dpyinfo.
+
+1994-10-24 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * xdisp.c (decode_mode_spec): New spec %c, for current column.
+
+1994-10-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xselect.c (Fx_selection_exists_p): Fix backwards if.
+
+ * xterm.c (x_delete_display): New function.
+ (x_connection_closed): New args dpyinfo and error_message.
+ Delete all frames on the dead display
+ and all frames using them for minibuffers.
+ Call x_delete_display.
+ Maybe signal a Lisp error.
+ * xfns.c (Fx_close_connection): Call x_delete_display.
+
+ * xselect.c (Fx_selection_exists_p):
+ If selected_frame isn't an x frame, return nil.
+
+ * keyboard.c (record_char): New subroutine.
+ (read_char): Use record_char.
+ Split up menu-bar mouse click events here.
+ Call record_char for both halves; likewise echo_char
+ and add_command_key.
+
+1994-10-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (x_display_info_for_name, Fx_open_connection):
+ Signal error if x_term_init fails.
+ (Fx_open_connection): New arg must_succeed.
+
+ * xfns.c (x_real_positions): Catch errors and retry if error happens.
+ No need to block input here.
+
+ * xterm.c (x_term_init): Don't report error here--just return 0.
+
+ * xfns.c (Fx_create_frame): Don't store the frame name
+ till after FRAME_X_DISPLAY_INFO is set up.
+ (Fx_close_connection): Renamed from Fx_close_current_connection
+
+ * xfns.c: Many doc fixes and Lisp function arg renamings.
+
+ * xterm.c (x_scroll_bar_report_motion): Store proper value in
+ *bar_window (the Emacs window, not the X window number).
+
+1994-10-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (kbd_buffer_get_event):
+ Cope if mouse_position_hook does not store anything.
+
+ * xterm.c (x_scroll_bar_report_motion): Don't clear *fp.
+
+ * xterm.h (struct x_display_info):
+ New fields bitmaps, bitmaps_size, bitmaps_last.
+ (struct x_bitmap_record): Structure moved here.
+ * xfns.c (x_bitmaps, x_bitmap_size, x_bitmap_last):
+ Variables deleted. Use fields in x_display_info instead.
+ (x_bitmaps_free): Variable deleted.
+ (x_destroy_bitmap, x_allocate_bitmap_record): Don't use or set it.
+ (x_allocate_bitmap_record): New arg f. Callers changed.
+ (x_lookup_pixmap): Function deleted.
+ (x_destroy_all_bitmaps): New function.
+ (Fx_close_current_connection): Call x_destroy_all_bitmaps.
+ Free the fonts in the font table. Free various other data
+ that dpyinfo points to. Avoid using Fdelq.
+
+ * xterm.c (x_wm_set_icon_pixmap): Use x_bitmap_pixmap.
+
+ * xterm.c:
+ (show_mouse_face): New arg dpyinfo. All callers changed.
+ (clear_mouse_face): New arg dpyinfo. All callers changed.
+
+ * xterm.h (struct font_info): New type.
+ (struct x_display_info): New fields font_table, font_table_size
+ and n_fonts.
+
+ * xterm.h (struct x_display_info): New field scratch_cursor_gc.
+ * xterm.c (scratch_cursor_gc): Variable deleted.
+ (dumpglyphs): Use scratch_cursor_gc in x_display_info.
+
+ * xterm.h (mouse_face_*): New fields.
+ * xterm.c (mouse_face_*): Variables deleted.
+ Use fields in x_display_info instead.
+ * xterm.c (syms_of_xterm): Don't staticpro mouse_face_window.
+
+ * xterm.c (expose_all_windows, expose_all_icons): Variables deleted.
+ (BLOCK_INPUT_mask): Variable deleted.
+
+ * xterm.h (struct x_display_info): New field x_id_name.
+ * xfns.c (x_set_name, Fx_create_frame): Use x_id_name field.
+ * xterm.c (x_term_init): Set up x_id_name field.
+ (x_id_name): Variable deleted.
+
+ * xterm.c (x_font_table, x_font_table_size, x_n_fonts): Vars deleted.
+ (x_new_font): Use new fields.
+ (warp_mouse_on_deiconify): Unused variable deleted.
+
+ * xterm.c (x_term_init): Set up dpyinfo->xrdb.
+ Set up dpyinfo->vertical_scroll_bar_cursor.
+ (x_scroll_bar_create): Use vertical_scroll_bar_cursor slot.
+ (x_vertical_scroll_bar_cursor): Variable deleted.
+
+ * xterm.c (x_term_init): Really return dpyinfo.
+
+ * insdel.c (insert_from_buffer_1): Don't use min.
+
+ * xterm.c (x_term_init): Call add_keyboard_wait_descriptor,
+ not change_keyboard_wait_descriptor.
+
+ * xfns.c (Fx_close_current_connection):
+ Call delete_keyboard_wait_descriptor.
+
+ * process.c: Handle multiple keyboard input descriptors.
+ (non_keyboard_wait_mask): New variable.
+ (Fset_process_filter): Update non_keyboard_wait_mask
+ (create_process, Fopen_network_stream, deactivate_process):
+ (init_process, sigchld_handler): Likewise.
+ (wait_reading_process_input): Maybe use non_keyboard_wait_mask.
+ (add_keyboard_wait_descriptor):
+ Renamed from change_keyboard_wait_descriptor.
+ Clear the old descriptor's bit only the first call.
+ (delete_keyboard_wait_descriptor): New function.
+ (keyboard_bit_set): New function.
+ (wait_reading_process_input): Use keyboard_bit_set.
+ Start the loop over process descs from 0, and explicitly
+ ignore non-process input descs.
+ (init_process): Don't init keyboard_descriptor.
+ (keyboard_descriptor): Variable deleted.
+ (add_keyboard_wait_descriptor): Don't set keyboard_descriptor.
+ (delete_keyboard_wait_descriptor): New function.
+
+ * xterm.c (x_term_init): Pass new arg to init_sigio.
+ Don't set old_fcntl_owner.
+ Don't call change_input_fd.
+ (XTread_socket): Loop over displays and process input from each.
+
+ * sysdep.c: Never use input_fd if using X.
+ (stuff_char): Do nothing if read_socket_hook.
+ (setpgrp_of_tty): Function deleted.
+ (init_sigio): Take fd as argument. Callers changed.
+ Don't call request_sigio; do the work here.
+ (request_sigio, unrequest_sigio): Do nothing if read_socket_hook.
+ (init_sys_modes): Don't call EMACS_GET_TTY unless we are going
+ to change the settings.
+
+ * xfns.c (Fx_close_current_connection): Call check_x_display_info.
+ Delete the display from x_display_list and x_display_name_list.
+ (Fx_display_list): New function.
+ (syms_of_xfns): defsubr it.
+
+ * xterm.c (x_display_name_list): New variable.
+ (syms_of_xterm): staticpro it.
+ Don't staticpro slots in the_x_screen.
+ (x_term_init): Update x_display_name_list along with x_display_list.
+ Actually malloc the x_display_info.
+ (the_x_screen): Variable deleted.
+
+ * xfns.c (Fx_list_fonts): Use `name_list_element' field.
+ (x_display_info_for_name): Scan x_display_name_list
+ along with x_display_list.
+
+ * xterm.h (struct x_display_info): Replace elements `name'
+ and `face_list_cache' with one cons cell `name_list_element'.
+ (x_display_name_list): Variable declared.
+
+1994-10-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * insdel.c (insert_from_buffer, insert_from_buffer_1): New functions.
+ * editfns.c (Finsert_buffer_substring): Use insert_from_buffer
+ instead of insert.
+
+1994-10-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xmenu.c (xmenu_show): Get the screen number for DisplayHeight
+ and DisplayWidth. Use root_window slot in the x_display_info.
+
+ * xfns.c (x_sync): Take frame ptr as arg.
+ * frame.c (other_visible_frames): Pass a frame ptr to x_sync.
+ * xterm.c (x_make_frame_visible, x_make_frame_invisible):
+ Pass a frame ptr to x_sync.
+
+1994-10-21 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * insdel.c (insert_before_markers): Don't inherit;
+ insert_before_markers_and_inherit does that.
+
+1994-10-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * dispnew.c (Fframe_or_buffer_changed_p):
+ Detect deletion of a buffer at the end of the buffer list.
+
+ * xterm.c (x_term_init): Init all the components of dpyinfo.
+
+ * sysdep.c (input_fd): No longer static.
+ * keyboard.c (read_avail_input): Use input_fd.
+
+1994-10-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (check_x_display_info): New function.
+ (Fx_create_frame): Use it.
+ (Fx_display_*, Fx_server_*): Use fields in the x_display_info,
+ not static variables. Call check_x_display_info.
+
+1994-10-20 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * window.c (Fdisplay_buffer): Make old_selected_window a Lisp_Object.
+
+1994-10-20 Tom Tromey <tromey@drip.colorado.edu>
+
+ * buffer.c (list_buffers_1): Always mark current_buffer read-only.
+
+1994-10-20 Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
+
+ * m/dpx2.h (LD_SWITCH_MACHINE): Defined.
+
+1994-10-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * term.c (calculate_costs): Call x_screen_planes.
+ * xfns.c (x_screen_planes): New function.
+
+ * xterm.h (EMACS_CLASS): Macro moved here.
+ * xfns.c (EMACS_CLASS): Macro moved to xterm.h.
+
+ * xfns.c (Qdisplay): New variable.
+ (syms_of_xfns): Set it up.
+ (Fx_create_frame): Handle display parameter
+ which says where to get the FRAME_X_DISPLAY_INFO.
+ (x_display_info_for_name): New function.
+
+ * xterm.c (x_display_info_for_display): New function.
+
+ * xselect.c (Xatom_*): Variables deleted.
+ Use slots in x_display_info structure instead.
+ (symbol_to_x_atom, x_atom_to_symbol):
+ New arg dpyinfo. All callers changed.
+ (xatoms_of_xselect): Function deleted.
+
+ * xfns.c (select_visual): New arg dpy.
+
+ * xterm.h (struct x_display_info): New fields *_mod_mask.
+ * xterm.c (x_*_mod_mask): Variables deleted.
+ (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
+ New arg dpyinfo; all callers changed.
+ Store the masks in that structure.
+
+ * xterm.h (struct x_display_info): New field icon_bitmap_id.
+ * xterm.c (icon_bitmap): Variable deleted.
+ (x_bitmap_icon): Use icon_bitmap_id in x_display_info.
+
+ * xterm.c (icon_font_info): Variable deleted.
+
+ * xterm.h (struct x_display_info): New field `connection'.
+ * xterm.c (x_term_init): Set up `connection' field.
+
+ * xterm.h (x_display_list): New variable.
+ * xterm.c (x_find_modifier_meanings):
+ Arg is now struct x_display_info *.
+ (x_term_init): Return an x_display_info *.
+ Store all the data in it, including X atoms and xrdb.
+ Put the x_display_info structure on x_display_list.
+ Pass name as Lisp_Object.
+ (the_x_screen): Variable moved here.
+ (syms_of_xterm): Staticpro parts of the_x_screen.
+ * xfns.c (Fx_open_connection): Get dpyinfo from x_term_init.
+ Don't set up atoms, xrdb here. Pass name as Lisp_Object.
+ (the_x_screen): Variable moved to xterm.c.
+ (syms_of_xfns): Don't staticpro it here.
+
+ * xterm.h (struct x_display_info): New field xrdb.
+ * xfns.c (xrdb): Variable deleted.
+ (Fx_get_resource): Use selected_frame's xrdb.
+ (x_get_resource_string): Likewise.
+
+ * xterm.h (XExposeRegionEvent): Unused macro deleted.
+ (XGetWindowInfo, XGetFont, XLoseFont): Unused macros deleted.
+ (MINWIDTH, MINHEIGHT, MAXWIDTH, MAXHEIGHT): Unused macros deleted.
+ (MAX_FACES_AND_GLYPHS, Bitmap): Unused macros deleted.
+ (struct event_queue): Structure deleted (was unused).
+ (EVENT_BUFFER_SIZE): Macro deleted.
+
+ * xterm.h (XClear): Macro deleted. Callers use XClearWindow.
+ (XWarpMousePointer): Macro deleted. Callers use XWarpPointer.
+ (XStuffPending): Macro deleted. Callers use XPending.
+ (XHandleError, XHandleIOError): Macros deleted.
+ Callers use XSet...ErrorHandler.
+ (XChangeWindowSize): Macro deleted. Callers use XResizeWindow.
+ (Color): Macro deleted; replaced with XColor.
+ (FONT_TYPE): Macro deleted; replaced with XFontStruct.
+ (PIX_TYPE): Macro deleted; replaced with unsigned long.
+
+ * xterm.h (FRAME_X_SCREEN): New macro.
+ (WHITE_PIX_DEFAULT, BLACK_PIX_DEFAULT): Take arg f.
+ * xfaces.c (unload_color): Pass arg f to WHITE_PIX_DEFAULT
+ and BLACK_PIX_DEFAULT.
+
+ * xterm.c (windowinfo): Variable deleted.
+
+ * xterm.h (ROOT_WINDOW): Macro deleted.
+ (struct x_display_info): New field root_window.
+ All uses changed.
+
+ * xterm.h (XDISPLAY): Macro deleted.
+ (XFlushQueue): Macro deleted. All callers changed.
+ (DISPLAY_SCREEN_ARG): Maco deleted.
+ (DISPLAY_CELLS): Macro deleted.
+ (WINDOWINFO_TYPE): Macro deleted.
+
+ * xterm.h (struct x_display_info): New fields Xatom...
+ * xterm.c (Xatom_*): Variables deleted.
+ (x_iconify_frame, XTread_socket): Get atoms from the x_display_info,
+
+ * xfns.c (Fx_open_connection): Store the atoms in x_display_info.
+ (hack_wm_protocols): New arg f. Get atoms from x_display_info.
+ (x_window): Get atoms from x_display_info.
+
+ * xfns.c (Vmouse_depressed, mouse_buffer_offset): Variables deleted.
+ (syms_of_xfns): Delete Lisp variables too.
+ (Fx_synchronize): Take frame as arg.
+ (Fx_close_current_connection): Take frame as arg. Error is not fatal.
+ * xterm.c (XTread_socket): Don't update Vmouse_depressed.
+
+ * xterm.h (struct x_display_info): New field grabbed.
+ * xterm.c (x_mouse_grabbed): Variable deleted.
+ (note_mouse_highlight): Use grabbed field instead.
+ (XTmouse_position, XTread_socket): Likewise.
+ * xmenu.c (xdialog_show, xmenu_show):
+ Use grabbed field instead of x_mouse_grabbed.
+
+ * xfns.c (mouse_timestamp): Variable deleted.
+
+ * xterm.h (struct x_display_info): Struct renamed from x_screen.
+ (x_display): x_screen field renamed to display_info.
+ (FRAME_X_DISPLAY): Use new name.
+ (FRAME_X_DISPLAY_INFO): Likewise; also renamed from FRAME_X_SCREEN.
+
+ * xterm.h (struct x_display_info):
+ New fields height, width, screen, visual, n_planes.
+ * xfns.c (screen_visual, x_screen_planes): Variables deleted.
+ (x_screen, x_screen_height, x_screen_width): Variables deleted.
+ (Fx_open_connection): Don't set them here.
+ Put that info in the x_display_info structure.
+ (x_window): Get the visual from x_display_info structure.
+ (x_decode_color): Use n_planes from x_display_info structure.
+ * xterm.c (x_calc_absolute_position, x_wm_set_size_hint):
+ Get screen height, width from the x_display_info structure.
+ * xmenu.c (xmenu_show): Use the screen in FRAME_X_DISPLAY_INFO,
+ not the default screen.
+
+ * xterm.c: Use FRAME_X_DISPLAY instead of x_current_display
+ and XDISPLAY.
+
+ * xfns.c: Use FRAME_X_DISPLAY instead of x_current_display
+ and XDISPLAY.
+ (x_in_use): New variable,
+ (check_x, using_x_p): Test x_in_use.
+ (Fx_open_connection): Set x_in_use.
+ (check_x_frame): New function.
+ (defined_color): New arg f specifies frame. Callers changed.
+ (x_decode_color): New arg f. All callers changed.
+ (Fx_color_values, Fx_color_defined_p): New arg FRAME.
+ Use check_x_frame.
+ (Fx_list_fonts): Use check_x_frame.
+
+ * keyboard.c (do_mouse_tracking): Now a FRAME_PTR.
+ (EVENT_QUEUES_EMPTY, Ftrack_mouse, tracking_off): Changed accordingly.
+ (kbd_buffer_get_event): Let do_mouse_tracking specify the display
+ for mouse tracking.
+
+ * minibuf.c (read_minibuf): Undo previous change.
+
+1994-10-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * window.c (Fdisplay_buffer): If the other window is smaller
+ than its peer, even out their heights.
+
+ * xterm.c (x_catch_errors, x_check_errors, d_errors_p)
+ (x_uncatch_errors): Take frame as arg.
+ (x_stop_queuing_selection_requests, x_unqueue_events, x_queue_event)
+ (x_start_queuing_selection_requests): Take frame as arg.
+ (x_find_modifier_meanings): New arg `display'. All callers changed.
+ (x_scroll_bar_create, x_scroll_bar_set_handle)
+ (x_scroll_bar_move): New local var f.
+ (x_scroll_bar_report_motion): Rename arg f to fp.
+ New local var f.
+ (XTmouse_position): Lossage.
+ (frame_highlight, frame_unhighlight): Arg frame renamed to f.
+
+ * callproc.c (child_setup): Always use _exit.
+
+ * xselect.c (x_own_selection, x_get_foreign_selection): Pass frame
+ to x_catch_errors, x_check_errors, x_uncatch_errors.
+
+ * xfns.c (x_set_mouse_color): Pass frame to x_catch_errors,
+ x_check_errors, x_uncatch_errors.
+
+ * xselect.c (x_get_foreign_selection): Get display from
+ selected_frame. Pass frame to x_stop_queuing_selection_requests and
+ x_start_queuing_selection_requests.
+ (x_own_selection, Fx_disown_selection_internal, Fx_selection_exists_p)
+ (Fx_store_cut_buffer_internal, Fx_get_cut_buffer_internal)
+ (Fx_rotate_cut_buffers_internal): Get display from selected_frame.
+
+ * xmenu.c: Use FRAME_X_DISPLAY, not XDISPLAY or x_current_display.
+ (menu_item_equiv_key): Reject equiv sequences
+ that start with mouse clicks.
+
+1994-10-19 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * search.c: (searchbufs): New variable, replaces searchbuf and
+ last_regexp and search_fastmap.
+ (syms_of_search): Initialize it.
+ (searchbuf_head): New variable.
+ (compile_pattern_1): Renamed from compile_pattern and made static.
+ Copy the regexp string in case the caller modifies it in place later.
+ (compile_pattern): New code, uses a cached entry if one is available.
+ The pattern buffer is now a return value instead of an arg.
+ (set_search_regs): Set num_regs directly, since there's no active
+ pattern buffer to pass to re_set_registers.
+ (Fstore_match_data): Likewise.
+ (Flooking_at): Use the new calling convention for compile_pattern.
+ (Fstring_match, fast_string_match, search_buffer): Likewise.
+ * dired.c (Fdirectory_files): Likewise.
+
+1994-10-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (Voverriding_local_map_menu_flag): New variable.
+ (syms_of_keyboard): Set up Lisp var.
+ (menu_bar_items): Obey Voverriding_local_map_menu_flag.
+
+ * ralloc.c (struct heap): New fields first_bloc, last_bloc.
+ (struct bp): New field heap.
+ (get_bloc, free_bloc, obtain, r_alloc_sbrk): Update new fields.
+ (reorder_bloc): New function.
+ (update_heap_bloc_correspondence):
+ Renamed from update_heap_free_pointers. Update new fields.
+ (relinquish): Add error check for new fields.
+
+ * Makefile.in.in (SOME_MACHINE_OBJECTS): Add msdos.o and x*.o files.
+
+1994-10-17 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * minibuf.c (read_minibuf): Store the object, not the string, into
+ the history variable.
+
+ * xfns.c (x_set_unsplittable): New function.
+ (x_frame_parms): Add that function to the table.
+
+ * xterm.c (do_line_dance): Decrement index only once per loop.
+
+ * scroll.c (do_line_insertion_deletion_costs): Fix argument order.
+
+1994-10-17 Morten Welinder <terra@mole.gnu.ai.mit.edu>
+
+ * fileio.c (Fexpand_file_name) [MSDOS]: Correct the for absolute
+ default directory.
+
+ * config.h.in [HAVE_X_WINDOWS]: #define HAVE_FACES and HAVE_MOUSE.
+
+ * dispextern.h: Guard entire file from being include more than once.
+ [MSDOS]: Include msdos.h.
+
+ * dispnew.c (direct_output_for_insert): Check HAVE_FACES, not
+ HAVE_X_WINDOWS.
+ (selected_frame, last_minibuffer_frame): Doc fix.
+
+ * dosfns.c (Fset_mouse_position, Fmsdos_mouse_p) [!HAVE_X_WINDOWS]:
+ New functions.
+ (syms_of_dosfns) [!HAVE_X_WINDOWS]: Defsubr them. Also define
+ Qmsdos_color_translate.
+ (init_dosfns) [SYSTEM_MALLOC]: Don't call non-existing get_lim_data.
+
+ * dosfns.h (Qmsdos_color_translate) [!HAVE_X_WINDOWS]: New variable.
+
+ * editfns.c (init_editfns) [MSDOS]: Let the user name default to
+ "root".
+
+ * emacs.c (main) [MSDOS && !HAVE_X_WINDOWS]: Call syms_of_xfaces
+ and syms_of_xmenu.
+
+ * frame.c [MSDOS]: Include msdos.h.
+ (Fframep #1) [MSDOS]: Doc change for the following.
+ (Fframep #2) [MSDOS]: Return 'pc for when termcap is not used.
+ (Fmouse_position #2) [HAVE_MOUSE]: Return useful information.
+ (Fframe_parameters #2): Show "font" as "default".
+ (Fframe_parameters #2) [MSDOS]: Show fore- and background colours.
+ (Fmodify_frame_parameters #2) [MSDOS]: Call IT_set_frame_parameters.
+ (Fframe_list #2): New stub function.
+ (syms_of_frame #2): defsubr frame_list.
+ (syms_of_frame #2) [MSDOS]: Initialize the_only_frame.
+ (Fselected_frame #2): Doc fix.
+
+ * frame.h [!MULTI_FRAME]: We give up having selected_frame be
+ an always-zero integer variable. From now on it will be a
+ pointer to a `struct frame' just like in the MULTI_FRAME case.
+ (selected_frame, last_nonminibuf_frame): use FRAME_PTR, not EMACS_INT.
+ (XFRAME): Redefine to use the_only_frame.
+ (XSETFRAME): Define to set Lisp value.
+ (WINDOW_FRAME): Redefine to return Lisp value.
+ (FOR_EACH_FRAME): Set the frame variable to Lisp value.
+ (output_method): New method: output_msdos_raw.
+ (FRAME_TERMCAP_P, FRAME_X_P) [MSDOS]: Define non-stub versions.
+
+ * keyboard.c (read_char_x_menu_prompt): Include menu code also in
+ case MSDOS.
+ (gobble_input): Complete Sep 15 change.
+
+ * lisp.h: #define glyph-stuff when HAVE_FACES, not only when
+ HAVE_X_WINDOWS.
+ (FRAMEP): Define different versions for MULTI_FRAME and MSDOS.
+ Otherwise, don't define at all.
+
+ * makefile.in.in (MSDOS_SUPPORT): Add faces.elc.
+ (msdos.o, dosfns.o): Add dependencies.
+ (MSDOS_OBJ): New set of object files.
+ (obj): Include MSDOS_OBJ.
+
+ * msdos.c: #include dispextern.h, termopt.h, and window.h needed
+ for the following.
+ (highlight): New variable.
+ (rien_du_tout, IT_ring_bell, IT_set_face, IT_write_glyphs,
+ IT_clear_end_of_line, IT_cursor_to, IT_reassert_line_highlight,
+ IT_change_line_highlight, IT_update_begin, IT_set_menu_bar_lines,
+ IT_set_frame_parameters): New functions like their XT_* counterparts.
+ (internal_terminal_init): Initialize Vwindow_system,
+ Vwindow_system_version, the_only_x_display, and terminal hooks.
+ (mouse_get_xy): New function.
+ (mouse_get_pos, mouse_check_moved): Use mouse_get_xy.
+ (IT_menu_create, IT_menu_make_room, IT_menu_search_pane,
+ IT_menu_calc_size, IT_menu_display, XMenuCreate, XMenuAddPane,
+ XMenuAddSelection, XMenuLocate, XMenuActivate, XMenuDestroy,
+ x_pixel_width, x_pixel_height): New functions.
+ (init_environment) [HAVE_X_WINDOWS]: Let DISPLAY default to "unix:0.0".
+ (init_environment): Handle the case of a relative argv[0].
+ (dos_rawgetc): Use XSETFRAME.
+ (the_only_x_display, x_current_display) [!HAVE_X_WINDOWS]: New
+ variables.
+
+ * msdos.h: (XFontStruct, GC, Pixmap, Display, Window) [MSDOS_NO_X]:
+ Dummy types.
+ (struct face, FACE_HAS_GC, FACE_GC, FACE_FOREGROUND, FACE_BACKGROUND,
+ FACE_FONT, FACE_STIPPLE, FACE_UNDERLINE_P) [MSDOS_NO_X]: Define like
+ corresponding X-versions.
+ (struct x_display) [MSDOS_NO_X]: Define cut-down version.
+ (FRAME_PARAM_FACES, FRAME_N_PARAM_FACES, FRAME_DEFAULT_PARAM_FACE,
+ FRAME_MODE_LINE_PARAM_FACE, FRAME_COMPUTED_FACES,
+ FRAME_N_COMPUTED_FACES, FRAME_SIZE_COMPUTED_FACES, FRAME_DEFAULT_FACE,
+ FRAME_MODE_LINE_FACE, x_current_display, XFreeGC, same_size_fonts,
+ unload_font, unload_color, XGetGeometry, DisplayWidth,
+ DisplayHeight, XMenuSetAEQ, XMenuSetFreeze, XMenuRecompute,
+ FONT_WIDTH, check_x, ButtonReleased) [MSDOS_NO_X]: Define suitable
+ stubs.
+ (XM_FAILURE, XM_SUCCESS, XM_NO_SELECT, XM_IA_SELECT) [MSDOS_NO_X]:
+ Define like old-x-menu versions.
+ Guard the entire file from being included more than once.
+ (internal_flush): Correct guarding conditional.
+ Don't include <time.h>.
+
+ * puresize.h (SYSTEM_PURESIZE_EXTRA): Default to 0.
+ (BASE_PRESIZE): Increase by SYSTEM_PURESIZE_EXTRA.
+
+ * s/msdos.h: #define HAVE_FACES.
+ (LIBX11_SYSTEM, HAVE_X11R5) [HAVE_X_WINDOWS]: Define.
+ (PURESIZE): Don't define.
+ (SYSTEM_PURESIZE_EXTRA): Define.
+
+ * sysdep.c (init_sys_modes): Make sure that internal_terminal_init
+ is only called once.
+ (init_sys_modes, reset_sys_modes) [HAVE_X_WINDOWS]: Add conditional.
+ (reset_sys_modes) [MSDOS]: Change to MSDOG's default colours.
+ (kbd_input_ast): Use just XSETFRAME.
+
+ * window.c (init_window_once) [!MULTI_FRAME]: Set selected_frame and
+ last_nonminibuf_frame once and for all.
+
+ * xdisp.c (redisplay, copy_part_of_rope, fix_glyph,
+ display_text_line, display_mode_line): Check HAVE_FACES, not
+ HAVE_X_WINDOWS.
+
+ * xfaces.c: Guard the file by HAVE_FACES, not HAVE_X_WINDOWS.
+ [MSDOS]: Include dosfns.h needed for the following.
+ [!HAVE_X_WINDOWS]: Don't #include xterm.h or Xos.h.
+ [!HAVE_X_WINDOWS] (intern_face, clear_face_cache, load_font,
+ load_color, unload_color, Fpixmap_spec_p, load_pixmap,
+ same_size_fonts, frame_update_line_height): Don't define.
+ [!HAVE_X_WINDOWS] (intern_face, clear_face_cache, build_face): Define
+ stubs.
+ (load_color) [MSDOS && !HAVE_X_WINDOWS]: Special version.
+ (Fset_face_attribute_internal) [MSDOS && !HAVE_X_WINDOWS]: Stubify
+ font setting, mask away 0x08 (the blink bit) from background colour.
+ (syms_of_xfaces) [!HAVE_X_WINDOWS]: Don't defsubr Spixmap_spec_p.
+ (Fmake_face_internal): Use FOR_EACH_FRAME.
+ (init_frame_faces): Guard multi-frame stuff with MULTI_FRAME.
+
+ * xmenu.c [!HAVE_X_WINDOWS]: Don't #include xterm.h.
+ [!HAVE_X_MENU]: Don't #include XMenu.h.
+ (xmenu_show, xdialog_show) [!HAVE_X_WINDOWS]: We don't need the
+ button hack for msdos.
+ (xmenu_show) [!HAVE_X_WINDOWS]: Don't adjust coordinates with
+ respect to the (non-existing) outer window manager.
+
+ * xterm.c (x_term_init) [!subprocesses]: Don't set input descriptor.
+
+
+1994-10-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfaces.c (intern_face): Update mask properly to set stipple
+ and fill_style. Set everything all at once in XCreateGC.
+
+ * window.c (Fdisplay_buffer): In desperation case of looking for
+ something to split, verify that a window's frame is splittable.
+
+1994-10-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Makefile.in.in (xfns.o): Depend on paths.h.
+
+ * xfns.c: Include paths.h.
+
+1994-10-16 Morten Welinder <terra@mole.gnu.ai.mit.edu>
+
+ * editfns.c (Fuser_login_name): Optional argument uid decides
+ which user's login name to return.
+
+1994-10-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (dumpglyphs): Explicitly draw background stipple.
+
+ * xfaces.c (intern_face): Set the fill_style.
+
+ * paths.h.in (PATH_BITMAPS): New macro.
+
+ * xterm.c (x_bitmap_icon): Arg FILE is now a Lisp_Object.
+ (x_iconify_frame, x_make_frame_visible): Supply FILE arg to it.
+ * xfns.c (x_set_icon_type): Pass x_bitmap_icon 2nd arg as Lisp_Object.
+ (x_icon_type): Return a Lisp_Object.
+
+ * xfns.c (x_destroy_bitmap, x_reference_bitmap): Take frame as arg.
+ Callers changed.
+ (struct x_bitmap_record): New fields height, width, depth.
+ (x_create_bitmap_from_data): Fill in those fields.
+ (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap): New functions.
+ (x_create_bitmap_from_file): Arg FILE is now a Lisp_Object.
+ Search Vbitmap_file_path for it. Fill in new fields.
+ (syms_of_xfns): Set up Vbitmap_file_path.
+
+ * xterm.c (x_bitmap_icon): Properly discard the previous bitmap.
+ (x_text_icon): Discard bitmap only if we have one.
+
+ * xfaces.c (copy_face, merge_faces): Copy the pixmap_h and pixmap_w.
+ (intern_face): Store the stipple in the GC.
+ (unload_color): Really do free the color.
+ (free_frame_faces): Call unload_pixmap.
+ (Fset_face_attribute_internal): Handle background pixmap.
+ Destroy old pixmap when necessary.
+ (free_frame_faces): Destroy pixmaps.
+ (load_pixmap): New function.
+ (Fpixmap_spec_p): New function.
+ (syms_of_xfaces): Set up Lisp function pixmap-spec-p.
+ Set up Qpixmap_spec_p.
+
+ * dispextern.h (struct face): Delete cached_index field.
+ * xfaces.c (compute_base_face): Don't set cached_index field.
+
+ * ralloc.c (heap_base): Move static var to top level.
+ (struct heap): New slot `free'.
+ (obtain): Set `free' for new heap.
+ (get_bloc): Update `free'.
+ (find_heap): New function.
+ (update_heap_free_pointers): New function.
+ (resize_bloc, r_alloc_sbrk): Call update_heap_free_pointers.
+
+1994-10-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * lread.c (load_unwind): Cast argument of fclose.
+
+ * xmenu.c: Delete HAVE_X11 conditionals.
+
+ * xfaces.c (compute_base_face): Use FRAME_FOREGROUND_PIXEL,
+ FRAME_BACKGROUND_PIXEL, FRAME_FONT.
+
+ * xterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
+ (FRAME_FONT): New macros.
+
+1994-10-15 Tom Tromey <tromey@drip.colorado.edu>
+
+ * xterm.c (x_bitmap_icon): Allow bitmap to come from file.
+ (x_wm_set_icon_pixmap): Second arg is now pixmap_id;
+ call x_lookup_pixmap.
+ (x_text_icon): Call x_destroy_bitmap.
+
+ * xfns.c (x_set_icon_type): If icon-type is a string, then use
+ bitmap from that file.
+ (Fx_create_frame): Set icon_bitmap field to -1.
+ (struct x_bitmap_record): New structure type.
+ (x_bitmaps, x_bitmaps_size, x_bitmaps_last, x_bitmaps_free):
+ New variables.
+ (x_allocate_bitmap_record): New function.
+ (x_reference_bitmap, x_create_bitmap, x_create_bitmap_from_file)
+ (x_destroy_bitmap, x_lookup_pixmap): New functions.
+
+ * xterm.h (x_display): Changed icon_bitmap_flag to icon_bitmap.
+ Changed all users.
+
+1994-10-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * textprop.c (Fset_text_properties): Special case for getting
+ rid of all properties of a string.
+
+1994-10-15 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * xterm.c (stuffline, scraplines): Functions deleted.
+ (line_dance, line_dance_len, line_dance_in_progress): New vars.
+ (XTins_del_lines): Don't do any X calls; just update the array.
+ (do_line_dance): New function. Do the X calls here.
+ (XTupdate_end, XTwrite_glyphs): Call do_line_dance.
+
+1994-10-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/isc4-0.h (LIBS_SYSTEM): Add -lcposix.
+ (sigblock, SIG_BLOCK): Define if not defined.
+
+ * sysdep.c (read_input_waiting): Set e.frame_or_window w/ XSETFRAME.
+
+ * xterm.c (x_new_font): Don't keep looping after the FONT property.
+
+1994-10-13 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * term.c (term_get_fkeys_1): Workaround for IBM's dialect of terminfo.
+
+1994-10-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (Fx_create_frame): Init the FRAME_X_SCREEN
+ as soon as can be done.
+
+ * xdisp.c (redisplay): Call clear_face_cache instead
+ of clear_face_vector. Do it at most once per 1000 redisplays.
+
+ * xfaces.c: Eliminate the "display faces"; store GCs in the
+ "computed faces".
+ (face_vector, nfaces, nfaces_allocated): Vars deleted.
+ (free_frame_faces): Free GCs in the computed faces.
+ Free the computed faces themselves.
+ (clear_face_cache): Renamed from clear_face_vector
+ and completely rewritten to free GCs in the computed faces.
+ (get_cached_face): Function deleted.
+ (build_face): Function deleted; code moved into intern_face.
+ (intern_face): Don't treat default and modeline faces specially.
+ (recompute_basic_faces): Call intern_face, not build_face.
+
+ * xfaces.c (intern_face, clear_face_vector, load_font, unload_font)
+ (load_color, free_frame_faces, recompute_basic_faces):
+ Use FRAME_X_DISPLAY.
+
+ * m/mips-siemens.h (C_ALLOCA): Defined.
+ (HAVE_ALLOCA): Definition deleted.
+
+ * editfns.c (Fuser_login_name, Fuser_real_login_name):
+ Call init_editfns now if it was not done before.
+
+ * puresize.h (BASE_PURESIZE): Incremented.
+
+ * lisp.h (Funhandled_file_name_directory): Declared.
+
+1994-10-10 Rainer Schoepf (Schoepf@Uni-Mainz.de)
+
+ * unexalpha.c (Brk): Declare as unsigned long.
+ (unexec): Do CHECH_SCNHDR on _RCONST if that's defined.
+ Ignore rdata_section if there is none.
+ (update_dynamic_symbols): New arg new_name. Call changed.
+ Fix some calls to WRITE.
+ (fatal_unexec): Declare all arguments.
+
+1994-10-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * unexelf.c: Include config.h.
+
+ * s/freebsd.h (LD_SWITCH_SYSTEM): New definition.
+
+1994-10-11 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * lisp.h (enum Lisp_Misc_Type): Add new enumerations
+ Lisp_Misc_Intfwd, Lisp_Misc_Boolfwd, Lisp_Misc_Objfwd,
+ Lisp_Misc_Buffer_Objfwd.
+ (enum Lisp_Type): Delete the corresponding enumerations from here.
+ (struct Lisp_Buffer_Objfwd): New structure.
+ (struct Lisp_Intfwd, struct Lisp_Boolfwd, struct Lisp_Objfwd): Ditto.
+ (XINTFWD, XBOOLFWD, XOBJFWD, XBUFFER_OBJFWD): Access the new structure.
+ (INTFWDP, BOOLFWDP, OBJFWDP, BUFFER_OBJFWDP): Ditto.
+ (XSETINTFWD, XSETBOOLFWD, XSETOBJFWD, XSETBUFFER_OBJFWD): Deleted.
+ (union Lisp_Misc): Add new members.
+ (allocate_misc): Declare this function.
+ (XINTPTR): Deleted.
+ * alloc.c (mark_object): Use the new substructure.
+ * buffer.c (buffer_slot_type_mismatch): Take just the offset as
+ argument. Only check against types that are actually used.
+ * bytecode.c (Fbyte_code): Skip optimization for all Lisp_Misc types.
+ * data.c (do_symval_forwarding, store_symval_forwarding,
+ find_symbol_value, Fset, default_value, Fset_default,
+ Fkill_local_variable): Use the new substructure.
+ (store_symval_forwarding): Change args to buffer_slot_type_mismatch.
+ * lread.c (defvar_int, defvar_bool, defvar_lisp,
+ defvar_lisp_nopro, defvar_per_buffer): Use the new substructure.
+
+ * minibuf.c (test_completion): Fix reversed condition.
+
+ * ralloc.c: Install Hiroshi Nakano's rewrite to allow multiple
+ heaps, for implementations where the C library makes calls to
+ sbrk directly.
+
+1994-10-11 Jim Blandy <jimb@geech.gnu.ai.mit.edu>
+
+ * search.c (scan_buffer): After temporarily turning immediate_quit
+ off, turn it back on by setting it to allow_quit, never 1.
+
+ * search.c (find_before_next_newline): Declare the arguments'
+ types explicitly; don't let them default to int.
+
+ * xdisp.c (display_scan_buffer): Pass the correct number of
+ arguments to scan_buffer.
+
+1994-10-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_key_sequence): The output of function-key-map
+ goes to key-translation-map, but not vice versa.
+ Don't exit if either of them is a possibility.
+
+1994-10-11 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * lisp.h (Lisp_Misc): new type code, replacing Lisp_Marker (and
+ soon to replace other type codes as well).
+ (XMARKER, SETMARKER, MARKERP): Check/set the new type field.
+ (XMISC, SETMISC, MISCP): New accessor macros for the superset type.
+ (struct Lisp_Free): New structure.
+ (Lisp_Misc_Free): Type code for that structure.
+ * buffer.h (OVERLAY_POSITION): Marker assert now tests substructure.
+ * alloc.c: (MARKER_BLOCK_SIZE, marker_block, marker_free_list):
+ Now refers to the superset type, not just markers.
+ (allocate_misc): New function, extracted from Fmake_marker.
+ (Fpurecopy): Check the substructure.
+ (clear_marks, mark_object, gc_sweep): Likewise.
+ * buffer.c (buffer_slot_type_mismatch): Test against Lisp_Misc.
+ * fns.c (internal_equal): Check the substructure.
+ * print.c (print): Check the substructure.
+
+1994-10-10 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * sysdep.c (sys_subshell): Use NILP macro directly, not its
+ expansion. Previous code was leftover from when NULL was a bad
+ word.
+
+1994-10-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fileio.c (Finsert_file_contents): Use original unexpanded
+ FILENAME arg to set buffer-file-name.
+
+ * buffer.c (list_buffers_1): Fix indentation in header lines.
+
+ * xdisp.c (redisplay_window): Fix Oct 1 change:
+ don't call cancel_my_columns unless we will call try_window.
+
+1994-10-10 Jim Blandy <jimb@geech.gnu.ai.mit.edu>
+
+ * buffer.c (syms_of_buffer): Doc fix for cache-long-line-scans.
+
+1994-10-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * syntax.c (scan_sexps_forward): At startincomment,
+ do notice a 2-char comment ender that straddles FROM.
+
+1994-10-09 Jim Blandy <jimb@geech.gnu.ai.mit.edu>
+
+ Cache the results of some scans, to improve performance in buffers
+ containing very long lines.
+ * region-cache.c, region-cache.h: New files.
+ * Makefile.in.in (obj) Add region-cache.o to the list of files.
+ (region-cache.o): New target.
+ (buffer.o, indent.o, search.o): Depend on region-cache.h.
+ * buffer.h (struct buffer): New members: newline_cache,
+ width_run_cache, width_table, and cache_long_line_scans.
+ * buffer.c: #include region-cache.h.
+ (Fget_buffer_create): Initialize new members of struct buffer.
+ (Fkill_buffer): Free memory occupied by caches.
+ (init_buffer_once): Set default value for cache_long_line_scans in
+ buffer_defaults, and give it a bit in buffer_local_flags.
+ (syms_of_buffer): Add DEFVAR_PER_BUFFER for cache_long_line_scans.
+ * insdel.c (prepare_to_modify_buffer): Invalidate width run and
+ newline caches, if they exist.
+ * search.c: #include "region-cache.h".
+ (max, min): Make these functions, not macros; we'd like to pass
+ them arguments that would be bad to evaluate more than once.
+ (newline_cache_on_off): New function.
+ (scan_buffer): New argument END. Call newline_cache_on_off. If
+ this buffer's newline cache is enabled, consult it to see if we
+ need to scan a region for newlines, and store information in the
+ cache after doing so.
+ (find_next_newline): Pass new arg to scan_buffer.
+ (find_before_next_newline): New function.
+ * cmds.c (Fforward_line): Call scan_buffer with new args.
+ (Fend_of_line): Replace call to Fforward_line and search loop with
+ call to find_before_next_newline.
+ * syntax.c (find_defun_start): Call scan_buffer with new args.
+ * indent.c: #include "region-cache.h".
+ (character_width, disptab_matches_widthtab, recompute_width_table,
+ width_run_cache_on_off): New functions.
+ (compute_motion): Call width_run_cache_on_off. If this buffer's
+ width run cache is enabled, consult it to see if we need to
+ traverse a region character-by-character; store information in the
+ cache after doing so. Call find_before_next_newline instead of
+ writing out an equivalent loop explicitly, to take advantage of
+ the newline cache.
+ Doc fixes.
+ * xdisp.c (redisplay_window): Invalidate width_run_cache, if the
+ buffer's display table doesn't match the width table the cache was
+ built for.
+ (display_text_line): Use compute_motion to skip forward to the
+ left edge of the window when the window is hscrolled; this is
+ faster than rendering all the characters into the bit bucket when
+ the hscroll is large.
+ Doc fixes.
+ (display_count_lines): Call scan_buffer with new args.
+ * disptab.h (window_display_table): Doc fix.
+ (buffer_display_table): New declaration.
+ * indent.h (disptab_matches_widthtab, recompute_width_table): New
+ declarations.
+
+1994-10-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (inhibit_local_menu_bar_menus): New variable.
+ (read_char_x_menu_prompt): Optionally don't use local maps.
+ (syms_of_keyboard): Set up Lisp variable.
+
+1994-10-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * lisp.h (enum Lisp_Misc_Type): New type.
+ (struct Lisp_Marker): Add a member of that type. Delete unused
+ member `modified'.
+
+1994-10-07 Morten Welinder <terra@frigg.diku.dk>
+
+ * minibuf.c (test_completion): New function, extracted from
+ do_completion.
+ (do_completion): Use test_completion.
+ (Fminibuffer_complete_and_exit): If completion is already
+ exact, don't try to complete it.
+
+ * dired.c (file_name_completion): Ignore files "." and ".."
+ in first pass.
+ (Ffile_name_completion): Perform the completion even if the
+ name part is empty.
+
+1994-10-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * insdel.c (make_gap): Keep input blocked till after we set BEG_ADDR.
+
+ * fileio.c (check_writable, check_executable): Test HAVE_EACCESS.
+
+ * config.h.in (HAVE_EACCESS): Add #undef.
+
+1994-10-06 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * alloc.c (mark_object): Don't check for Lisp_Void; nothing ever
+ creates that type.
+ * bytecode.c (Fbyte_code): Likewise.
+ * data.c (Fboundp, Ffboundp, find_symbol_value, Fset,
+ Fdefault_boundp, Fdefault_value): Likewise.
+ * lisp.h (Lisp_Void, VOIDP): Deleted.
+
+ * floatfns.c (Fabs): Don't use XFASTINT when negative.
+ * data.c (Flsh, Fadd1, Fsub1, Flognot): Likewise.
+
+ * buffer.c (init_buffer_once): Don't use XSETFASTINT when negative.
+ (reset_buffer_local_variables, Fbuffer_local_variables): Access
+ buffer_local_flags as Lisp_Object, not int.
+ * data.c (Fset, default_value, Fset_default,
+ Fkill_local_variable): Likewise.
+ * lread.c (defvar_per_buffer): Likewise.
+ Give XSETBUFFER_OBJFWD an integer offset, not a pointer.
+
+ * lread.c (read1): New argument for returning out-of-band data,
+ obviating the need for Lisp_Internal datatype.
+ (read0, read1, read_list): Use that new calling sequence.
+ * lisp.h (Lisp_Internal, XSETINTERNAL, INTERNALP): Deleted.
+
+ * lread.c (Fload, load_unwind): Store stream pointer as a cons of
+ two integers, obviating the need for Lisp_Internal_Stream datatype.
+ * lisp.h (Lisp_Internal_Stream, XSETINTERNAL_STREAM,
+ INTERNAL_STREAMP): Deleted.
+ * alloc.c (mark_object): Delete case Lisp_Internal_Stream.
+
+1994-10-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * unexec.c (make_hdr): Undo June 16 change.
+
+ * fileio.c (Ffile_regular_p): New function.
+ (syms_of_fileio): defsubr it.
+
+ * xterm.c (x_term_init): Call XtSetLanguageProc or XSetLocaleModifiers.
+
+1994-10-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (x_set_icon_type): Remove period from error message.
+
+ * xterm.c (x_make_frame_visible, x_iconify_frame):
+ Call x_bitmap_icon if frame wants a bitmap icon.
+
+ * xfns.c (x_icon_type): New function.
+
+ * callint.c (Finteractive): Doc fix.
+
+1994-10-04 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * buffer.c (validate_region): Swap using temp Lisp_Object, not int.
+
+ * lisp.h (XSETINT): Set object type as well as value.
+ (XSETCONS, XSETBUFFER, XSETVECTOR, XSETSUBR, XSETSTRING,
+ XSETSYMBOL, XSETMARKER, XSETOBJFWD, XSETWINDOW, XSETPROCESS,
+ XSETFLOAT): Likewise.
+ (XSETBOOLFWD, XSETBUFFER_OBJFWD, XSETWINDOW_CONFIGURATION,
+ XSETINTERNAL_STREAM, XSETINTFWD, XSETINTERNAL): New macros.
+ (XSETUINT, XSETPNTR, XFUNCTION, XSETFUNCTION, XSETINTPTR): Deleted.
+
+ * frame.h (XSETFRAME): Set object type as well as value.
+ * m/alpha.h, m/gec63.h, m/hp800.h, m/iris4d.h, m/iris5d.h, m/mips.h:
+ Don't override the (new) definition of XSETINT from lisp.h.
+ Delete XSETUINT and XSETPNTR, which are no longer used.
+ * *.c: Use new accessor macros instead of calling XSET directly.
+ * xterm.h (SCROLL_BAR_UNPACK): Likewise.
+ * fns.c (Fstring_equal): No longer necessary to set type separately.
+ (Fstring_lessp): Likewise.
+ * callint.c (Fprefix_numeric_value): Likewise.
+ * fileio.c (Finsert_file_contents): Likewise.
+
+ * lisp.h (XSETFASTINT): New macro.
+ (XFASTINT): Changed to non-lvalue syntax, to ensure that callers
+ will use XSETFASTINT instead.
+ (CHECK_NUMBER_COERCE_MARKER): Don't use XFASTINT as an lvalue.
+ (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER): Likewise.
+ * *.c: Likewise.
+ * frame.h (FOR_EACH_FRAME): Likewise.
+
+1994-10-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Makefile.in.in (MKTIME_OBJ): New variable.
+ (obj): Use MKTIME_OBJ.
+
+ * config.h.in (HAVE_MKTIME): Add #undef.
+
+ * xmenu.c (widget_id_tick): Move definition into conditional.
+ (syms_of_xmenu): Conditionalize initialization of widget_id_tick.
+
+ * xmenu.c (last_menu_bar_item_end): Var deleted.
+ (this_menu_bar_item_beg, this_menu_bar_item_end): Vars deleted.
+ (other_menu_bar_item_p, unread_menu_bar_button)
+ (check_mouse_other_menu_bar): Functions deleted.
+ (last_event_timestamp, Vdouble_click_time, Vmouse_depressed):
+ Decls deleted.
+ (xmenu_show): XMENU_FOO conditional and its contents deleted.
+
+ * xterm.c (input_signal_count): New variable.
+ (XTread_socket): Increment it.
+ (x_make_frame_visible): Exit final loop when XTread_sockets has run.
+
+1994-10-02 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * window.c (Frecenter): Don't trigger point-motion hooks.
+
+ * fileio.c (Finsert_file_contents): set type of `end', not just
+ the value.
+
+ * xfns.c (x_figure_window_size): Use new formula for scroll bar width.
+
+ * config.h.in (HAVE_UTIME_H): Add #undef.
+ * systime.h: Don't include <utime.h> here.
+ * sysdep.c: Include it here instead.
+ (set_file_times): Move struct declaration to top of file.
+
+1994-10-02 Paul Reilly <pmr@churchy.gnu.ai.mit.edu>
+
+ * xmenu.c (popup_get_selection): Remove BLOCK_INPUT, UNBLOCK_INPUT
+ since the calls to popup_get_selection provide the protection.
+
+1994-10-02 Paul Reilly <pmr@geech.gnu.ai.mit.edu>
+
+ * xfns.c: (HACK_EDITRES): Declare if using X11R5.
+ (widget_id_tick): New variable.
+ (x_any_window_to_frame): Use lw_window_is_in_menubar for
+ widget set independence.
+ (x_window): Renamed screen_widget to frame_widget. Use
+ lw_create_widget and lw_set_main_areas for widget set
+ independence. Enable using editres for X11R5.
+
+ * widget.c (EmacsFrameSetCharSize): Use lw_refigure_widget for
+ widget set independence.
+
+ * widget.h: Declare resources showGrip, allowResize, and
+ resizeToPreferred.
+
+ * keyboard.c (make_lispy_event): Do not set item. Now handled in
+ xmenu.c by popup_get_selection.
+
+1994-10-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.c (keys_of_frame): Make binding for delete-frame.
+
+ * xdisp.c (redisplay_window): If we set PT, and that alters a region
+ being highlighted, call try_window again.
+
+ * Makefile.in.in (LIBXTR6): If NEED_LIBW, add -lw.
+ * s/usg5-4-2.h (NEED_LIBW): Defined.
+
+ * Makefile.in.in (LDFLAGS): New variable.
+ (LIBX): Use LDFLAGS.
+
+1994-09-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * data.c (Fmake_local_variable): Doc fix.
+
+1994-09-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fileio.c (check_writable, check_executable) [__HURD__]:
+ Use eaccess.
+
+ * xfaces.c (compute_char_face): Handle list as overlay face property.
+
+1994-09-29 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * minibuf.c (scmp): Use unsigned chars, to avoid confusing DOWNCASE.
+
+ * unexaix.c (CHECK_SCNHDR, write_segment): Fix format/arg mismatch.
+ * xfns.c (x_report_frame_params): Likewise.
+
+1994-09-29 Boris Goldowsky <boris@cs.rochester.edu>
+
+ * xfaces.c (compute_char_face): If face text-property is a list,
+ merge the attributes of the faces in the list.
+
+1994-09-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * buffer.c (Foverlay_get): Handle `category' property on overlay.
+
+ * xfaces.c (Fset_face_attribute_internal): Mark frame garbaged whenever
+ any face's font or color is changed.
+
+ * keyboard.c (head_table): Set up Qdelete_frame.
+ (kbd_buffer_get_event): Handle delete_window_event by making
+ a delete-frame event.
+
+1994-09-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * data.c (Flocal_variable_p): New function.
+ (syms_of_data): defsubr it.
+
+1994-09-28 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * fileio.c (Fdelete_file): Undo Sep 16 change.
+ * dired.c (syms_of_dired): Likewise.
+
+1994-09-27 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * frame.h (scroll_bar_pixel_width, scroll_bar_cols): Update comment.
+ * xfns.c (x_set_scroll_bar_width): Nil now means 2 columns' worth.
+ (Fx_create_frame): Default scroll bar width is now nil.
+ * xterm.c (x_new_font): New rule for computing column width.
+ Factored out common code.
+ (XTset_vertical_scroll_bar): Use new width formula.
+ [!USE_X_TOOLKIT] (x_set_window_size): Likewise.
+ * widget.c (set_frame_size, EmacsFrameSetCharSize): Likewise.
+
+ * lisp.h (BOOLFWDP, INTERNALP, INTFWDP, OBJFWDP, INTERNAL_STREAMP,
+ BUFFER_LOCAL_VALUEP, SOME_BUFFER_LOCAL_VALUEP, BUFFER_OBJFWDP,
+ VOIDP): New type test macros.
+ * *.h, *.c: Use type test macros instead of checking XTYPE directly.
+
+1994-09-26 Richard Stallman <rms@churchy.gnu.ai.mit.edu>
+
+ * window.c (syms_of_window): Doc fix.
+
+1994-09-26 Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr>
+
+ * m/dpx2.h (POSIX_SIGNALS): Define it.
+ (sigsetmask): Add #undef.
+
+1994-09-26 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * m/*.h, s/*.h (WORDS_BIG_ENDIAN): Renamed from BIG_ENDIAN,
+ and restored where mistakenly deleted by earlier change.
+
+ * emacs.c (argmatch): New function.
+ (main): Recognize --longopt synonyms for all options handled here.
+ Add --help and --version.
+
+1994-09-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * unexsunos4.c: Delete __FreeBSD__ conditional macro definitions.
+ (unexec): Major changes in UNDO_RELOCATION code.
+
+ * unexsunos4.c (is_it): Rename argument and local variable.
+
+1994-09-25 Richard Stallman <rms@churchy.gnu.ai.mit.edu>
+
+ * Makefile.in.in (${etc}DOC): Run make-docfile twice--two batches.
+
+1994-09-24 Richard Stallman <rms@churchy.gnu.ai.mit.edu>
+
+ * sysdep.c (set_file_times): Don't test HAVE_UTIME.
+ Assume utime exists if utimes does not.
+
+ * config.h.in (HAVE_UTIMES): Add #undef.
+
+ * editfns.c (Fformat_time_string): Mostly rewritten, to handle
+ unlimited size, and report errors properly.
+
+ * Makefile.in.in (strftime.o, mktime.o): New target.
+ (obj): Add strftime.o and mktime.o.
+
+ * strftime.c, mktime.c: New files (shared from libc).
+
+1994-09-24 Erik Naggum (erik@naggum.no)
+
+ * editfns.c (Fformat_time_string): New function.
+ (syms_of_editfns): Defsubr it.
+
+1994-09-24 Richard Stallman <rms@churchy.gnu.ai.mit.edu>
+
+ * sysdep.c [USE_DL_STUBS] (dlopen, dlsym, dlclose): New functions.
+ * s/sunos4-1.h (USE_DL_STUBS): Defined.
+ * s/sunos4shr.h (USE_DL_STUBS): Add #undef.
+
+ * fileio.c (Ffile_writable_p): Use stat to test for existence.
+ (check_executable, check_writable): New functions.
+ (Ffile_executable_p, Ffile_writable_p): Use the new functions.
+
+ * intervals.c (set_point):
+ If Vinhibit_point_motion_hooks, ignore intangible properties.
+ If move backwards into intangible text, move back over it.
+
+ * textprop.c (syms_of_textprop): Doc fix.
+
+ * config.h.in (STACK_DIRECTION): Don't redefine if defined already.
+ Move definition down past #include's.
+
+1994-09-23 Richard Stallman <rms@churchy.gnu.ai.mit.edu>
+
+ * s/linux.h: Don't include signal.h, values.h.
+ (signal): Definition deleted.
+
+ * abbrev.c (Fexpand_abbrev): Instead of Fcapitalize_region,
+ just upcase the first initial.
+
+ * casefiddle.c (Fupcase_initials_region): New function.
+ (Fupcase_initials): New function.
+ (syms_of_casefiddle): defsubr them.
+
+ * minibuf.c (read_minibuf_unwind): Preserve Vdeactivate_mark.
+
+ * s/isc2-2.h (DONT_DEFINE_SIGNAL): Macro deleted.
+
+ * m/next.h (DK_HEADER_FILE): Macro deleted.
+
+ * m/tahoe.h (DKSTAT_HEADER_FILE): Macro deleted.
+
+ * m/hp800.h (CPTIME_SYMBOL, DKXFER_SYMBOL): Macros deleted.
+
+ * sysdep.c (start_of_text): Don't test CANNOT_UNEXEC.
+ * unexec.c: Don't test CANNOT_UNEXEC.
+ * unexaix.c: Don't test CANNOT_DUMP or CANNOT_UNEXEC.
+
+ * sysdep.c: Delete BROKEN_FASYNC conditional.
+
+ * data.c (Fset_default, Fset): Delete RTPC_REGISTER_BUG conditionals.
+
+ * process.c (Fprocess_send_eof): Delete DID_REMOTE conditional.
+
+ * buffer.c (get-file-buffer): Doc fix.
+
+1994-09-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.c (prev_frame): Fix typo.
+
+ * unexec.c (copy_text_and_data): Delete some printf's.
+
+ * m/acorn.h (PURESIZE): Definition deleted.
+
+ * xfns.c (x_figure_window_size): Decode (- N), (+ N) for position.
+ (x_set_frame_parameters): Handle (+ N) and (- N).
+ Preserve negative positions properly too.
+ [USE_X_TOOLKIT] (x_window): Let xneg, yneg specify whether to
+ negate left and top.
+ (Fx_parse_geometry): Handle [XY]Negative with positive number
+ or negative number without [XY]Negative.
+
+ * callint.c (Qplus): New variable.
+ (syms_of_callint): Set it up.
+ * lisp.h (Qplus): Declared.
+
+ * xfns.c (Fx_create_frame): Rename menuBarLines resource to menuBar.
+
+ * s/sunos4-1-3.h, s/sunos4shr.h (X_IO_BUG): Definition deleted.
+
+ * textprop.c (Fset_text_properties): Don't let validate_interval_range
+ increment START and END twice.
+
+ * xterm.h (FRAME_X_DISPLAY): New macro.
+
+ * s/freebsd.h (BSD): Have two definitions according to version number.
+
+1994-09-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_destroy_window): Decrement ref count of x_screen struct.
+
+ * xfns.c (the_x_screen): New variable.
+ (syms_of_xfns): Staticpro parts of it.
+ (Fx_open_connection): Initialize it.
+ (Fx_create_frame): Make frame point to it.
+ (Fx_list_fonts): Use a cache stored in FRAME_X_SCREEN.
+
+ * xterm.h (struct x_screen): New structure.
+ (struct x_display): New field x_screen.
+ (FRAME_X_SCREEN): New macro.
+
+ * process.c (exec_sentinel_error_handler): Call update_echo_area.
+ (read_process_output_error_handler): Likewise.
+
+ * xdisp.c (update_echo_area): New function.
+
+1994-09-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * buffer.c (evaporate_overlays): Overlay is in car, not cdr.
+
+1994-09-21 Tom Tromey <tromey@creche.colorado.edu>
+
+ * doc.c (get_doc_string): Look in ../etc while dumping.
+ (munge_doc_file_name): New subroutine.
+
+1994-09-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * minibuf.c (Fcompleting_read): Doc fix.
+
+ * puresize.h (BASE_PURESIZE): Increment both values.
+
+ * window.c (Fdelete_other_windows): Nice error if WINDOW is minibuf.
+
+ * lisp.h (Vdebug_on_error): Declared.
+
+ * process.c (exec_sentinel_error_handler): New function.
+ (exec_sentinel): Catch all errors in the sentinel.
+
+ * keyboard.c (read_char): Don't return right away when
+ read_char_minibuf_menu_prompt returns non-nil.
+ Instead, set key_already_recorded, which inhibits most but not all
+ of the work at non_reread.
+
+1994-09-21 Simon Leinen <simon@lia.di.epfl.ch>
+
+ * cm.h (cmputc): Return int rather than void.
+ * cm.c (evalcost, cmputc): They now return their arguments.
+
+1994-09-21 Per Abrahamsen <abraham@iesd.auc.dk>
+
+ * window.c (display-buffer, special-display-buffer-names)
+ (special-display-regexps, special-display-function): Accept cons
+ cells in `special-display-buffer-names' and
+ `special-display-regexps'. If the buffer name matches the car,
+ call `special-display-function' with the cdr as a second argument.
+
+1994-09-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/bsd386.h (HAVE_TERMIOS, NO_TERMIO): Defined.
+
+ * editfns.c (Fmessage_or_box): Use Fmessage_box with new name.
+
+ * process.c (read_process_output_error_handler): New function.
+ (read_process_output_call): New function.
+ (read_process_output): Catch and report errors in filters.
+
+ * keyboard.c (cmd_error_internal):
+ New function, broken out of cmd_error.
+
+ * fileio.c (Fread_file_name): If DEFAULT is nil and INITIAL is not,
+ use INITIAL to set DEFAULT.
+
+ * editfns.c (Fmessage_box): Renamed from Fbox_message.
+
+1994-09-17 Michael Ben-Gershon (mybg@cs.huji.ac.il)
+
+ * unexec.c (copy_text_and_data): Add RISCiX changes.
+
+ * m/acorn.h, s/riscix1-1.h, s/riscix1-2.h: New files added.
+
+1994-09-21 Bill Burton (billb@progress.com)
+
+ * s/ptx.h: New file for Sequent DYNIX/ptx 1.x/2.x
+
+ * m/sequent-ptx.h: New file for Sequent DYNIX/ptx 1.x/2.x
+
+1994-09-21 Frederic Pierresteguy <F.Pierresteguy@frcl.bull.fr>
+
+ * editfns.c (Fbox_message): New function to print a message in
+ a dialog box.
+ (Fmessage_or_box): New function that choose whether to print a
+ message in a dialog or in the echo area.
+
+1994-09-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * search.c (Freplace_match): New 4th arg OBJECT can specify string
+ to replace in.
+
+ * casefiddle.c (upcase_initials): New function.
+ (casify_object): Handle CASE_CAPITALIZE_UP.
+
+ * fns.c (concat3): New function.
+
+ * xfns.c (Fx_get_resource): Doc fix.
+
+ * buffer.c (overlays_at): New arg PREV_PTR.
+ Return previous overlay end.
+ (Foverlays_at): Pass NULL for last 2 args of overlays_at.
+ (Fnext_overlay_change): Pass new arg to overlays_at.
+ (Fprevious_overlay_change): New function.
+ * xterm.c (note_mouse_highlight): Pass new arg to overlays_at.
+ * xfaces.c (compute_char_face): Pass new arg to overlays_at.
+ * textprop.c (Fget_char_property): Pass new arg to overlays_at.
+ (NULL): Define if not defined.
+
+ * minibuf.c (get_minibuffer): Make BUF current to kill its local vars.
+
+1994-09-20 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * ralloc.c (r_alloc_freeze_level): New variable.
+ (r_alloc_freeze, r_alloc_thaw): New functions.
+ (r_alloc_sbrk): Refuse to move blocs, if frozen.
+
+ * unexaix.c (report_error): Include reason in error message.
+
+1994-09-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * eval.c (init_eval_once): Init Vrun_hooks here.
+ (syms_of_eval): Not here.
+
+1994-09-20 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * search.c (trivial_regexp_p): New function.
+ (search_buffer): Don't depend on internal format of re_pattern_buffer.
+
+ * frame.h (FRAME_SCROLL_BAR_PIXEL_WIDTH): New macro, supersedes
+ VERTICAL_SCROLL_BAR_PIXEL_WIDTH; no longer device-dependent.
+ All callers changed.
+ (FRAME_SCROLL_BAR_COLS): New macro, supersedes
+ VERTICAL_SCROLL_BAR_WIDTH; no longer constant. All callers changed.
+ (scroll_bar_pixel_width, scroll_bar_cols): New members of struct frame.
+ * xterm.h (VERTICAL_SCROLL_BAR_PIXEL_WIDTH): Deleted.
+ * xfns.c (x_set_scroll_bar_width): New function.
+ (x_frame_parms): Add that function to this table.
+ (Qscroll_bar_width): New symbol.
+ (syms_of_xfns): Initialize and staticpro it.
+ (Fx_create_frame): Set default scroll bar width.
+ * xterm.c (x_new_font): Compute number of scrollbar columns.
+
+ * keyboard.c (kbd_store_ptr): Declare storage class before qualifier.
+ (make_lispy_event): Fix Lisp_Object vs. int problems.
+ (read_avail_input, menu_bar_items_index, read_key_sequence): Likewise.
+ * window.c (Fset_window_buffer): Likewise.
+ * alloc.c (make_float, make_pure_float): Likewise.
+
+ * sysdep.c (set_file_times): Move this out of the USG conditional.
+
+1994-09-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/sco4.h (POSIX_SIGNALS): Defined.
+
+1994-09-19 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * buffer.c (syms_of_buffer): Doc fix.
+
+ * keymap.c (Fkey_description): Reverse condition.
+
+1994-09-19 Jim Blandy <jimb@geech.gnu.ai.mit.edu>
+
+ Add a new element to display tables controlling side-by-side
+ window borders.
+ * buffer.c (syms_of_buffer): Update doc string for
+ `buffer-display-table'.
+ * disptab.h (DISP_TABLE_SIZE): Bump to 262.
+ (DISP_BORDER_GLYPH): New accessor macro.
+ * xdisp.c (display_text_line): Consult the display table when
+ building side-by-side window borders.
+
+1994-09-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/netbsd.h (SYSTEM_TYPE): Delete definition.
+
+ * lisp.h (RETURN_UNGCPRO): Use if (1) .. else, not do ... while (0).
+
+1994-09-18 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * lisp.h (Fmember): Declare this function.
+ * intervals.c: #include "keyboard.h"
+ * term.c: Declare Fmake_sparse_keymap.
+ * minibuf.c (read_minibuf): Fix Lisp_Object vs. int problems.
+ * frame.h [!MULTI_FRAME] (FOR_EACH_FRAME): Likewise.
+ * fns.c (Frandom): Likewise.
+ * eval.c (Fsignal): Likewise.
+ * frame.c (Fframe_parameters): Likewise.
+ * indent.c (vmotion, Fvertical_motion): Likewise.
+ * lread.c (openp): Likewise.
+ * dispnew.c (direct_output_for_insert, direct_output_forward_char):
+ Likewise.
+ * textprop.c (validate_interval_range, property_value,
+ Fget_char_property, Fnext_property_change,
+ Fnext_single_property_change, Fprevious_property_change,
+ Fprevious_single_property_change): Likewise.
+
+1994-09-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (pty_name): Move it up; make it static.
+ (create_process): Set the tty_name field.
+ (Fprocess_tty_name): New function.
+ (syms_of_process): defsubr it.
+
+ * process.h (struct process): New field tty_name.
+
+ * s/sol2.h (HAVE_VFORK): Defined.
+ (C_SWITCH_SYSTEM): Deleted.
+ (const): Definition deleted.
+
+ * fileio.c (Ffile_writable_p): Don't use ro_fsys.
+ (ro_fsys): Deleted.
+
+1994-09-18 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * config.h.in (_ALL_SOURCE): Don't redefine if already defined.
+
+ * xdisp.c [!HAVE_X_WINDOWS] (store_frame_title): Dummy macro.
+
+ * sysdep.c (set_file_times): New function, replaces EMACS_SET_UTIMES.
+ * fileio.c (Fcopy_file): Use it, and check for the error return.
+ * systime.h: Declare it.
+ [HAVE_UTIME_H]: #include <utime.h>.
+
+ * config.h.in (_ALL_SOURCE, HAVE_STRUCT_UTIMBUF, HAVE_SELECT,
+ HAVE_TIMEVAL): Add #undefs.
+
+ * s/*.h, m/*.h: Delete obsolete symbols USE_UTIME, MISSING_UTIMES,
+ IRIS_UTIME, USG_SYS_TIME, HAVE_SELECT, HAVE_TIMEVAL, BIG_ENDIAN.
+
+1994-09-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * dispnew.c (preserve_other_columns): Fix arg to sizeof in bcopy call.
+
+ * minibuf.c (get_minibuffer): Call Fkill_all_local_variables.
+
+ * buffer.c (reset_buffer): Don't call reset_buffer_local_variables.
+ (Fget_buffer_create): Call it here.
+ (init_buffer_once): And here.
+
+ * window.c (struct saved_window_data): New slots min_width, min_height.
+ (Fcurrent_window_configuration): Set slots from window_min_...
+ (Fset_window_configuration): Restore them.
+ Set window_min_height and window_min_width to 1
+ while restoring windows.
+
+ * unexsunos4.c (SUNOS4 or __FreeBSD__): Define UNDO_RELOCATION.
+ (unexec): Test UNDO_RELOCATION. Distinguish the relocation formats
+ of __FreeBSD__ and SUNOS4.
+
+ * s/sol2.h (REL_ALLOC): #undef deleted.
+
+ * keymap.c (Fkey_description): Give error if KEYS not an array.
+ (get_keyelt, access_keymap, get_keymap_1): Use type test macros.
+
+1994-09-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * unexsunos4.c (unexec): Fix logic for rounding section boundaries.
+
+ * config.h.in (EMACS_CONFIG_OPTIONS): Add #undef.
+
+ * textprop.c (property_value): Declare args plist, prop.
+
+ * s/osf1.h (malloc, realloc): Declared.
+
+ * print.c (print): sprintf arg for frame depends on VALBITS.
+
+ * callproc.c (Fcall_process) [__osf__ && __alpha]:
+ Don't stop reading if read returns negative.
+
+ * puresize.h (PURESIZE_RATIO, BASE_PURESIZE): Defined.
+ (PURESIZE): Define it based on those.
+ * m/alpha.h (PURESIZE): Definitions deleted.
+
+1994-09-16 Karl Heuer <kwzh@churchy.gnu.ai.mit.edu>
+
+ * buffer.h: Declare some functions.
+ * intervals.h: Declare some functions.
+ * lisp.h: Declare some functions.
+ * xterm.c, xfaces.c: Add #include "intervals.h"
+ * fileio.c (barf_or_query_if_file_exists): Fix declaration.
+ * xmenu.c (menu_item_enabled_p): Fix declaration.
+
+1994-09-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (hack_wm_protocols): Arrange to handle WM_SAVE_YOURSELF.
+
+ * s/hpux9.h (HAVE_TERMIO, HAVE_TERMIOS, NO_TERMIO): Undo Jul 28 change.
+
+1994-09-16 Karl Heuer <kwzh@churchy.gnu.ai.mit.edu>
+
+ * emacs.c (Vsystem_configuration_options): New variable.
+ (syms_of_emacs): Initialize it.
+
+ * buffer.h: Declare evaporate_overlays.
+ * buffer.c: Declare new symbol Qevaporate.
+ (syms_of_buffer): Initialize it.
+ (Fmove_overlay): Check if overlay is empty.
+ (Foverlay_put): Check if setting evaporate property on empty overlay.
+ (evaporate_overlays): New function.
+ * insdel.c (del_range_1): Call evaporate_overlays after deleting text.
+
+1994-09-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * m/intel386.h (HAVE_VFORK): Defined.
+ [__GNUC__] (C_SWITCH_SYSTEM): Add #undef.
+
+ * emacs.c (shut_down_emacs): Don't call Fx_close_current_connection.
+
+ * lisp.h (EMACS_INT, EMACS_UINT): Define, if not already defined.
+
+ * alpha.h (EMACS_INT, EMACS_UINT): Defined.
+
+1994-09-16 Rainer Schoepf <schoepf@sc.ZIB-Berlin.DE>
+
+ * s/osf1.h [__alpha] (LD_SWITCH_SYSTEM): Alternate definition.
+
+ * unexalpha.c, m/alpha.h: New files.
+
+ * alloc.c (pure, pure_size): Use EMACS_INT.
+ (free_float, free_cons, PAD, STRING_FULLSIZE, struct string_block)
+ (make_pure_string, make_pure_vector, Fgarbage_collect, mark_object)
+ (gc_sweep, compact_strings, Fmemory_limit): Use EMACS_INT.
+
+ * buffer.c (reset_buffer_local_variables, Fbuffer_local_variables)
+ (init_buffer_once): Use EMACS_INT.
+
+ * callint.c (Fcall_interactively): Use EMACS_INT.
+
+ * data.c (sign_extend_lisp_int): Use EMACS_INT.
+
+ * dispextern.h (struct face): Use EMACS_UINT.
+
+ * doc.c (Fdocumentation): Use EMACS_INT.
+
+ * editfns.c (Fnarrow_to_region, format1): Use EMACS_INT.
+
+ * floatfns.c (FLOAT_TO_INT, FLOAT_TO_INT2): Use EMACS_INT.
+
+ * frame.h (struct frame, selected_frame, last_nonminibuf_frame):
+ Use EMACS_INT.
+
+ * lisp.h (Lisp_Object): Use EMACS_INT.
+ (MARKBIT): Don't define if already defined.
+ (VALMASK, GCTYPEMASK, XSETTYPE, XSET)
+ (XSETCONS, XSETBUFFER, XSETVECTOR, XSETSUBR, XSETSTRING)
+ (XSETSYMBOL, XSETFUNCTION, XSETMARKER, XSETOBJFWD)
+ (XSETINTPTR, XSETWINDOW, XSETPROCESS, XSETFLOAT)
+ (struct Lisp_String, struct Lisp_Vector): Use EMACS_INT.
+
+ * lread.c (Fload): Use EMACS_INT.
+
+ * marker.c (unchain_marker): Use EMACS_INT.
+
+ * mem-limits.h: Check for __alpha, in __osf__ conditional.
+ (EXCEEDS_LISP_PTR): Use EMACS_UINT.
+
+ * print.c (print): Use EMACS_UINT.
+
+ * puresize.h (CHECK_IMPURE, all versions): Use EMACS_INT.
+
+ * window.h (struct window): Use EMACS_INT.
+
+ * xdisp.c (message): Use EMACS_INT.
+
+ * xterm.h (struct scroll_bar, SCROLL_BAR_VEC_SIZE): Use EMACS_INT.
+
+1994-09-16 Morten Welinder <terra@diku.dk>
+
+ * fileio.c (Finsert_file_contents) [MSDOS]: Don't re-gc-protect
+ filename; delete unused variables.
+
+1994-09-16 Karl Heuer <kwzh@churchy.gnu.ai.mit.edu>
+
+ * term.c (clear_to_end): Fix reversed condition.
+
+1994-09-16 K. Berry <kb@cs.umb.edu>
+
+ * dired.c (Qcompletion_ignored_extensions): New symbol.
+ (syms_of_dired): Initialize it.
+ * fileio.c (Fdelete_file): Bind completion-ignored-extensions to nil.
+
+1994-09-16 Morten Welinder (terra@diku.dk)
+
+ * s/msdos.h (MODE_LINE_BINARY_TEXT): Define this symbol.
+ * xdisp.c (decode_mode_spec): Use it when defined.
+
+1994-09-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+ * minibuf.c (read_minibuf): Don't add to the history list if the
+ minibuffer string is empty, since it is not very useful.
+
+1994-09-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * m/hp9000s300.h [not BSD4_3] [__GNUC__] (HAVE_ALLOCA): Defined.
+
+1994-09-16 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * xdisp.c [!HAVE_X_WINDOWS] (frame_title_ptr): define as always null.
+
+1994-09-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c: Delete X11 conditionals.
+ (XTupdate_end, XTupdate_begin, XTclear_end_of_line)
+ (XTclear_frame, XRINGBELL, stufflines, scraplines, dumprectangle)
+ (XTread_socket, x_draw_box, clear_cursor, refreshicon, x_iconify_frame)
+ (x_bitmap_icon, x_text_icon, x_new_font, x_term_init)
+ (x_calc_absolute_position, x_set_window_size)
+ (x_make_frame_visible, x_make_frame_invisible): Delete X10 code.
+ (dumpqueue, x_do_pending_expose, dumpborder, XEvent, x_read_exposes)
+ (enqueue_event, dequeue_event, queue_event_count)
+ (mouse_event_pending_p, x_set_resize_hint): Delete X10 versions.
+
+ * xfns.c: Delete X11 conditionals.
+ (defined_color, x_decode_color, x_set_foreground_color)
+ (x_set_background_color, x_set_mouse_color, x_set_cursor_color)
+ (x_set_border_color, x_set_border_pixel, Fx_create_frame)
+ (Fx_open_connection, Fx_close_current_connection, syms_of_xfns):
+ Delete X10 code.
+ (Fx_get_default, Fx_get_resource, Fx_rubber_band)
+ (Fx_store_cut_buffer, Fx_get_cut_buffer): Delete X10 definitions.
+
+ * xfns.c (Fx_display_grayscale_p): New function.
+ (syms_of_xfns): defsubr it.
+
+ * s/bsd386.h (__bsdi__): Define, unless already defined.
+ (DECLARE_GETPWUID_WITH_UID_T): Define.
+
+ * filelock.c (getpwuid): Test just DECLARE_GETPWUID_WITH_UID_T,
+ not __bsdi__.
+ * xrdb.c (getpwuid, getpwnam): Test just DECLARE_GETPWUID_WITH_UID_T,
+ not __bsdi__.
+
+1994-09-15 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * editfns.c (syms_of_editfns): Make Vsystem_name and Vuser...name
+ lisp variables again.
+ * xdisp.c (multiple_frames, Vframe_title_format,
+ Vicon_title_format): New variables.
+ (store_frame_title): New function.
+ (x_consider_frame_title): Format title according to template.
+ (display_mode_element): Handle frame title as well as mode line.
+ (decode_mode_spec): Use w->buffer, not current_buffer.
+
+1994-09-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/freebsd.h (DECLARE_GETPWUID_WITH_UID_T): Defined.
+ [NO_SHARED_LIBS and __FreeBSD__]:
+ (LD_SWITCH_SYSTEM, A_TEXT_OFFSET, A_TEXT_SEEK): Alternate definitions.
+
+ * textprop.c (syms_of_textprop):
+ Delete Lisp var interval-balance-threshold.
+
+ * intervals.c, intervals.h (interval_balance_threshold): Var deleted.
+
+ * xfns.c (Fx_create_frame): Make 1 the default for menu-bar-lines.
+
+ * keyboard.c (gobble_input): Use sigblockx only if it is defined.
+
+ * unexsunos4.c [SUNOS4]: Include link.h.
+ (unexec) [SUNOS4]: Cancel relocations that ld.so did.
+
+ * s/sunos4-0.h (SUNOS4): Defined.
+
+1994-09-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Makefile.in.in (xmenu.o): Depend on puresize.h.
+ (cmds.o): Depend on window.h.
+
+ * cmds.c: Include window.h.
+ (Fnewline): Inhibit the insert-at-end-of-line hack
+ when at the top of the window.
+
+ * minibuf.c (Fcompleting_read): Doc fix.
+
+ * xmenu.c: Include puresize.h.
+ (menu_item_equiv_key): Use CHECK_IMPURE.
+
+ * syntax.c (Fforward_comment): Do increment from, when reaching
+ single-char comment end going forward.
+
+ * callproc.c (delete_temp_file): Use Fdelete_file.
+
+ * fileio.c (Fset_default_file_modes): Doc fix.
+
+ * Makefile.in.in (OLDXMENU variable): Refer to the library in the
+ dir where it is compiled.
+ (OLDXMENU rule): Delete the commands; keep just a dep.
+
+1994-09-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Version 19.27 released.
+
+1994-09-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keymap.c (syms_of_keymap): Doc fix.
+
+ * keyboard.c (gobble_input): Block SIGALRM if we are using it.
+
+ * gmalloc.c: Bug fix affecting __ptrdiff_t in non-ANSI case.
+
+1994-09-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Version 19.26 released.
+
+1994-09-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (record_asynch_buffer_change): Don't test
+ Fwaiting_for_user_input_p if no subprocesses.
+
+1994-09-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/sol2.h [USE_X_TOOLKIT && HAVE_X11XTR6] (REL_ALLOC): Undefine it.
+
+1994-09-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (init_cmdargs): After chasing link, use only the
+ expanded name.
+
+1994-09-04 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * fileio.c (Ffile_accessible_directory_p): Put back the gcpro.
+
+ * sysdep.c (srandom): Pass arg to srand48; no return value.
+
+1994-09-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (init_cmdargs): When setting dir, expand the dir name.
+
+ * sysdep.c (random, srandom): Check HAVE_LRAND48, not HAVE_RAND48.
+ Call lrand48, nor rand48.
+
+ * config.h.in (HAVE_LRAND48): Replaces HAVE_RAND48.
+
+1994-09-03 Kaveh R. Ghazi (ghazi@noc.rutgers.edu)
+
+ * m/delta88k.h [__GNUC__] (HAVE_ALLOCA): Defined.
+ [__GNUC__] (C_ALLOCA): Add #undef
+ (LIB_X11_LIB): Add #undef.
+ (HAVE_TERMIOS): Defined.
+ (HAVE_TERMIO): Add #undef.
+ (NO_TERMIO): Defined.
+ (sigsetmask): Add #undef.
+ (USE_GETOBAUD): Defined.
+
+1994-09-03 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * sysdep.c (init_baud_rate): Test that getobaud is actually defined.
+
+ * sysdep.c (init_baud_rate) [USE_GETOBAUD]: Use getobaud.
+
+1994-09-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * insdel.c (prepare_to_modify_buffer): Don't call
+ verify_overlay_modification if no overlays or
+ verify_interval_modification no intervals.
+
+ * textprop.c (Fset_text_properties):
+ Return early if buffer has no intervals and PROPS is nil.
+
+1994-09-02 Lennart Staflin (lenst@rudolf)
+
+ * xdisp.c (display_text_line): Don't overrun the charstart area.
+
+1994-09-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * insdel.c (insert_1): Don't call interval fns if buffer has none.
+
+ * textprop.c (Fset_text_properties): Don't create or split an interval
+ if we trivially do not need to change anything.
+
+1994-08-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (defined_color): New arg ALLOC--optionally don't allocate
+ the color.
+ (x_decode_color, Fx_color_defined_p): Pass new arg.
+ (Fx_color_values): New function.
+
+1994-08-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.c (Fdelete_frame): Fix previous change.
+
+1994-08-30 enami tsugutomo <enami@sys.ptg.sony.co.jp>
+
+ * fileio.c (Fwrite_region): unbind_to should take two args.
+
+1994-08-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fileio.c (Ffile_accessible_directory_p): No need for gcpro.
+
+ * keyboard.c (input_polling_used): New function.
+ * xterm.c (x_make_frame_visible): Call input_polling_used.
+
+1994-08-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.c (Fdelete_frame): Free the frame's glyphs arrays.
+ Free the line insert/delete cost vectors.
+
+ * dispnew.c (free_frame_glyphs): No longer static.
+
+ * m/next.h (HAVE_MACH_MACH_H): Defined.
+
+ * editfns.c (Finsert_and_inherit_before_markers):
+ Use insert_before_markers_and_inherit for character args.
+ (Finsert_and_inherit): Use insert_and_inherit for character args.
+
+ * insdel.c (insert_before_markers_and_inherit): New function.
+
+ * cmds.c (internal_self_insert): Use insert_and_inherit.
+
+1994-08-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * indent.c (Findent_to): Pass new arg to Finsert_char.
+
+ * editfns.c (Finsert_char): New arg INHERIT.
+ Use insert_and_inherit if requested.
+
+ * insdel.c (insert_1): New arg INHERIT.
+ (insert_and_inherit): New function.
+
+1994-08-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (polling_for_input): Define var unconditionally.
+ * keyboard.h (polling_for_input): Declared.
+ * xterm.c: Include keyboard.h.
+ (x_make_frame_visible): Fix previous change: test polling_for_input
+ instead of whether SIGIO is defined.
+ * Makefile.in.in (xterm.o): Depend on keyboard.h.
+
+1994-08-26 Kevin Rodgers <kevinr@ihs.com>
+
+ * xfns.c (Fx_color_defined_p): Return list of RGB values, not just t.
+
+1994-08-26 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * xterm.c (x_make_frame_visible): Call signal handler directly.
+
+1994-08-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/linux.h: Add LINUX_QMAGIC conditional.
+
+ * m/alliant-2800.h (USE_NONANSI_DEFUN): Defined.
+
+ * lisp.h (DEFUN): Check USE_NONANSI_DEFUN.
+
+ * Makefile.in.in (obj): Put cm.o before term.o.
+ (Avoids mysterious lossage on Irix.)
+
+ * xmenu.c (xmenu_show): Don't queue events that are in the menu bar.
+
+1994-08-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xmenu.c (xmenu_show): Do nothing special for ButtonPress in the menu.
+ Call XtDispatchEvent for all ButtonRelease events.
+ xlwmenu.c now deals with posting the menu.
+ Check for events in subwidgets of the menu
+ when deciding whether to queue them for later handling.
+
+ * unexelfsgi.c (unexec): Copy previous change in unexelf.c.
+
+ * s/irix5-0.h [__GNUC__] (LD_SWITCH_SYSTEM): Defined.
+
+1994-08-24 Simon Leinen <simon@lia.di.epfl.ch>
+
+ * term.c (term_init): Added missing argument to tgetstr.
+ (tgetstr): Move declarations to top level.
+
+1994-08-24 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * xterm.c (x_make_frame_visible): Raise a signal to cause the
+ pending X I/O to be read.
+
+1994-08-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (display_scan_buffer): New function.
+ (display_count_lines): Use that.
+
+ * intervals.c (textget): Ignore category prop if not a symbol.
+
+1994-08-23 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * s/gnu.h: New file.
+
+1994-08-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * indent.c (pos_tab_offset): Don't trigger point-motion hooks.
+
+ * buffer.c (Frename_buffer): Fix gcpro problems.
+ * fileio.c (Fmake_symbolic_link, Ffile_accessible_directory_p,
+ Finsert_file_contents, auto_save_error, Fwrite_region): Likewise.
+ (Fcopy_file, build_annotations, Fdo_auto_save): Delete unused
+ variables.
+
+1994-08-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fileio.c (O_RDONLY): Defined.
+ (Finsert_file_contents, Fcopy_file): use it.
+ (barf_or_query_if_file_exists, Ffile_exists_p): Use stat, not access.
+ (Ffile_readable_p): Use open, not access.
+
+ * lread.c (O_RDONLY): Defined.
+ (openp): Use it.
+
+ * unexelf.c (unexec): Don't alter the info field
+ of SHT_SYMTAB and SHT_DYNSYM sections.
+
+ * xdisp.c (redisplay_window): Don't access text before BEGV.
+
+ * keyboard.c (read_char): After read_char_minibuf_menu_prompt,
+ don't just return; jump to non_reread.
+
+ * fileio.c (Fmake_directory_internal): Pass just 2 args to handler.
+
+1994-08-23 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * frame.c (Fmake_frame_invisible, Ficonify_frame): Don't switch frames.
+
+1994-08-22 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * search.c (Fstring_match): Fix sign error.
+
+ * m/ibmrs6000.h (LD_SWITCH_MACHINE): Use full path to ibmrs6000.inp.
+
+1994-08-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * m/ibmrs6000.h (LD_SWITCH_MACHINE): Supply m/ibmrs6000.inp as input.
+
+ * m/ibmrs6000.inp: New file.
+
+1994-08-19 Hiroshi NAKANO <nakano@whale.math.ryukoku.ac.jp>
+
+ * unexelf.c: Eliminate local var bss_end.
+ Update the symbol values of _edata and _end.
+
+1994-08-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (wait_reading_process_input):
+ Clear waiting_for_user_input_p before returning.
+
+ * xterm.c (x_make_frame_visible): Quit if requested, in loop at end.
+
+1994-08-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_char): Don't show buffer-events to the user.
+ Handle chars over 255 in dribble files.
+
+1994-08-17 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * callproc.c (Fcall_process_region): gcpro filename_string.
+
+1994-08-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * doc.c (store_function_docstring): Do nothing for bytecode object
+ which has no slot for doc string.
+
+1994-08-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * buffer.c (list_buffers_1): Update header line layout.
+
+1994-08-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/sol2-4.h (pid_t): New definition.
+ (vfork): Definition deleted.
+
+ * xmenu.c (xmenu_show): Unconditionally update x_mouse_grabbed
+ and Vmouse_depressed.
+
+ * window.c (window_loop, case UNSHOW_BUFFER):
+ When we delete a frame, skip all the windows on that frame.
+
+1994-08-12 Karl Heuer <kwzh@hal.gnu.ai.mit.edu>
+
+ * s/isc4-0.h (NEED_SIOCTL): moved to isc-3.0.h.
+ * s/isc3-0.h (NEED_SIOCTL): moved from isc-4.0.h, and disabled
+ BROKEN_TIOCGWINSZ since it works fine when you use <sioctl.h>.
+ (C_SWITCH_SYSTEM): Add -D_SYSV3 to ensure availability of
+ traditional non-standard functions.
+ (memmove): Delete this macro; it screws up <string.h> if you
+ use the native cc. (Emacs already does the right thing anyway.)
+
+1994-08-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * indent.c (compute_motion): Use WIN's frame, not selected one.
+
+ * xterm.c (x_new_font): Don't set filename = full_name if that's null.
+
+1994-08-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Makefile.in.in (FRAME_SUPPORT): Add faces.elc.
+
+ * search.c (Freplace_match): Treat caseless initial like a
+ lowercase initial.
+
+ * keymap.c (Fdefine_key): Fix error message.
+ (Fsingle_key_description): Likewise.
+
+1994-08-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/sol2-3.h (POSIX_SIGNALS): Define it.
+ (PTY_TTY_NAME_SPRINTF): New overriding definition.
+ (sigsetmask): Add #undefs.
+
+ * s/sol2-4.h (POSIX_SIGNALS, PTY_TTY_NAME_SPRINTF, sigsetmask):
+ Delete those things (moved to sol2-3.h).
+
+ * s/sol2-4.h (HAVE_VFORK): Deleted.
+ (vfork): Define as emacs_vfork.
+
+ * window.c (Fwindow_end): Undo previous change.
+
+1994-08-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (record_asynch_buffer_change): Do nothing
+ except when waiting_for_user_input_p.
+
+ * m/i860.h [USG5_4] (SVR4): Defined.
+
+ * xdisp.c (display_text_line):
+ Make previous change #ifdef HAVE_X_WINDOWS.
+
+1994-08-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * puresize.h [MULTI_FRAME] (PURESIZE): Increased.
+
+ * window.c (Fwindow_end): If window_end_valid is nil, return nil.
+
+ * window.c (Fpos_visible_in_window_p): Do something reasonable
+ if w->start is outside the buffer bounds.
+
+1994-08-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/sol2-4.h (PTY_TTY_NAME_SPRINTF): New definition.
+ (sigsetmask): Add #undef.
+
+ * keymap.c (Faccessible_keymaps): Fix previous change.
+
+1994-08-06 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (display_text_line): Use the face properties
+ of the overlay arrow, if any.
+
+ * xfaces.c (compute_glyph_face_1): New function.
+
+ * m/intel386.h (LIBS_MACHINE): If SOLARIS2_4, don't define this.
+ * s/sol2-4.h (SOLARIS2_4): Defined.
+
+1994-08-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keymap.c (Fuse_global_map, Fuse_local_map):
+ Call record_asynch_buffer_change.
+
+ * xterm.c (XTread_socket):
+ Don't test X_IO_BUG; make that code unconditional.
+ (x_noop_count, x_term_init): Likewise.
+
+1994-08-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * data.c (Fdefine_function, Fdefalias): Handle advice as in Ffset.
+ (Qad_advice_info): Lisp and C names renamed from Qadvice_info.
+ (Qad_activate): C name renamed from Qactivate_advice.
+
+ * fileio.c (Fread_file_name_internal): Call double_dollars
+ when `changed' is set.
+
+1994-08-03 Caveh Jalali (caveh@eng.sun.com)
+
+ * m/intel386.h [SOLARIS2] (VALBITS, GCTYPEBITS): New definitions.
+
+ * s/sol2-4.h: New file.
+
+1994-08-03 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * buffer.c (list_buffers_1): Add one column to size column.
+
+ * xterm.c (x_make_frame_visible): Start one_in_four at 1.
+
+ * window.c (Fwindow_end): Doc fix.
+
+ * xterm.c (construct_mouse_click, construct_menu_click):
+ Don't update x_mouse_grabbed, Vmouse_depressed, last_mouse_frame here.
+ (XTread_socket): Update them here, so we do it without fail.
+ (XTmouse_position, XTread_socket case MotionNotify):
+ Check last_mouse_frame is nonzero before using it.
+
+ * Makefile.in.in (alloca.o): Use -f in all rm's.
+
+1994-08-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keymap.c (Faccessible_keymaps): Use PREFIX to set loop starting
+ point; don't even consider maps except those reached via prefix.
+
+ * keyboard.c (make_lispy_event): If the position is not in a window,
+ at least pass along the frame it is in.
+
+1994-08-01 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * data.c (Ffset): Don't call Fget unless SYM's plist is consp.
+
+1994-08-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * eval.c (Fprog2): Doc fix.
+
+ * window.c (Fmove_to_window_line): Doc fix.
+
+1994-08-01 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr)
+
+ * xmenu.c (xmenu_show): Ignore any geometry resource from the user.
+
+1994-07-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (Fx_get_resource): Doc fix.
+
+ * data.c (syms_of_data): Set up Qadvice_info, Qactivate_advice.
+ (Ffset): Activate advice if symbol has advice-info property.
+
+ * xdisp.c (redisplay_window): Avoid using SET_PT to change point
+ temporarily.
+
+ * dispnew.c (sit_for): Undo previous change.
+
+1994-07-30 enami tsugutomo <enami@sys.ptg.sony.co.jp>
+
+ * dispnew.c (direct_output_for_insert): Pass missing 8th
+ argument to compute_char_face.
+
+1994-07-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (follow_key): Don't downcase letters here.
+ Delete arg `case_converted'.
+ (read_key_sequence): Do it here; but not if in middle of fcn key.
+
+ * fns.c (Frandom): Handle LIMIT >= 40000000.
+
+ * xdisp.c (decode_mode_spec): Handle %&.
+
+1994-07-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (create_process): Set default handling for SIGINT, etc.
+
+1994-07-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (wait_reading_process_input): Fix previous change.
+
+ * s/hpux9.h (HAVE_TERMIOS, NO_TERMIO): Defined.
+ (HAVE_TERMIO): Add #undef.
+
+ * sysdep.c (random): Use rand differently, and distinguish BSD/USG.
+
+ * fns.c (Frandom): Fix previous change.
+
+1994-07-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * syssignal.h [POSIX_SIGNALS] (signal): New definition.
+
+ * config.h.in (HAVE_RAND48): Add #undef.
+
+1994-07-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_queue_event, x_unqueue_events): New functions.
+ (x_start_queuing_selection_requests): New function.
+ (x_stop_queuing_selection_requests): New function.
+ (XTread_socket): Queue up SelectionRequest events sometimes.
+ * xselect.c (x_get_foreign_selection): Use the new feature
+ to queue up SelectionRequest events.
+
+ * process.c (wait_reading_process_input): If wait_for_cell,
+ do check for keyboard input and handle it.
+
+ * fns.c (Frandom): Use just the low 30 bits of random's value.
+
+ * sysdep.c (random, srandom): Obey HAVE_RAND48 flag.
+ Test that random is not a macro. Don't test USG or BSD4_1.
+
+ * m/tek4300.h (tek4300): Don't define if already defined.
+
+1994-07-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * m/tek4300.h (BSD_PGRPS): Defined.
+
+ * puresize.h (PURESIZE): Increase non-MULTI_FRAME value.
+
+ * editfns.c (get_system_name): Add a cast.
+
+ * config.h.in: Add #undef HAVE_H_ERRNO.
+ * process.c, sysdep.c [!HAVE_H_ERRNO]: Declare h_errno.
+ * sysdep.c (init_system_name): Set h_errno to 0 initially.
+ * process.c (Fopen_network_stream): Set h_errno to 0 initially.
+
+ * window.c (Fdisplay_buffer): Add MULTI_FRAME cond in last change.
+
+ * Makefile.in.in: Add #undef alloca.
+
+1994-07-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * minibuf.c (Fdisplay_completion_list): gcpro `completions'.
+
+ * print.c (internal_with_output_to_temp_buffer): gcpro things.
+
+ * puresize.h (PURESIZE): Incremented to 252000.
+
+1994-07-23 Jim Blandy (jimb@totoro.bio.indiana.edu)
+
+ * .gdbinit: Set the breakpoint in x_error_quitter instead of
+ _XPrintDefaultError.
+
+1994-07-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fnext_window, Fprevious_window): Don't get stuck in a loop
+ in the minibuffer frame.
+
+ * dispnew.c (direct_output_for_insert): Dpn't call compute_char_face
+ for a non-X frame.
+
+ * s/usg5-4.h: Move #undef static before the includes.
+
+ * xrdb.c [USG5] (SYSV): Don't define if already defined.
+
+ * fileio.c (Fwrite_region): Do unwind the new unwind protect.
+
+1994-07-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (struct font_info): New field full_name.
+ (x_new_font): Record, and return, the full name of the font.
+
+ * widget.c (EmacsFrameSetCharSize): Delete the code to make rows at
+ least 3.
+
+ * fileio.c (Vwrite_region_annotations_so_far): New variable.
+ (syms_of_fileio): Set up Lisp var.
+ (build_annotations): Handle annotate functions that switch buffers.
+ Set Vwrite_region_annotations_so_far.
+ (Fwrite_region): Handle change of buffer in build_annotations.
+ Add an unwind protect to restore original buffer and kill the temp.
+
+ * sysdep.c (init_system_name): Retry gethostbyname after TRY_AGAIN
+ failure.
+
+ * process.c (Fopen_network_stream):
+ Retry gethostbyname after TRY_AGAIN failure.
+
+ * s/isc4-0.h [__GNUC__] (LIBX11_SYSTEM): Add -lcposix.
+
+ * s/usg5-4.h (PTY_TTY_NAME_SPRINTF): Fail smoothly if cannot get pty.
+
+ * sysdep.c (sys_subshell): Expand ~ in dir.
+ Do the processing of dir before calling fork.
+ Use vfork.
+
+1994-07-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (note_mouse_movement): Use proper data type for window
+ args to XQueryPointer.
+ (x_scroll_bar_note_movement): Likewise.
+
+ * keyboard.c (Vdeferred_action_list, Vdeferred_action_function):
+ New variables.
+ (command_loop_1): Handle them.
+ (syms_of_keyboard): Set up Lisp variables.
+
+ * s/linux.h [emacs]: Include stdio.h.
+
+ * commands.h (unread_command_char): Declared.
+ * dispnew.c (sit_for): Return immediately if unread events exist.
+
+1994-07-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * textprop.c (Fget_text_property): Simplify using Ftext_properties_at.
+
+1994-07-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (Fx_create_frame): Use 140 as default font size.
+
+ * xmenu.c [USE_X_TOOLKIT] (xmenu_show): Handle UnmapNotify events.
+
+1994-07-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fdisplay_buffer): Cope with unsplittable frames
+ and dedicated windows.
+
+ * frame.c [!MULTI_FRAME] (Fframe_first_window): Defined.
+ (syms_of_frame): Defvar it.
+
+1994-07-14 Morten Welinder (terra@diku.dk)
+
+ * s/msdos.h (HAVE_VOLATILE): Define.
+
+1994-07-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (safe_run_hooks): Use local var to restore hook's value.
+
+1994-07-13 Morten Welinder (terra@diku.dk)
+
+ * keyboard.c (kbd_buffer_get_event) [HAVE_MOUSE]: Include code
+ to check for mouse dragging.
+ (make_lispy_movement) [HAVE_MOUSE]: Define also in this case,
+ but only include the non-multiframe stuff.
+
+ * msdos.c (mouse_init1): Use alternate mouse detection for old
+ mouse drivers.
+ (mouse_get_pos): Downscale coordinates by 8.
+
+1994-07-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fselect_window): Fix bug checking new_point is in range.
+
+ * fileio.c (syms_of_fileio): Finish previous change.
+
+ * keyboard.c (command_loop_1): Do direct output for cursor motion
+ over text chars when disp tab exists but says nothing for them.
+
+ * frame.h (FRAME_EXTERNAL_MENU_BAR) [!USE_X_TOOLKIT]: Give zero.
+
+ * xdisp.c [!HAVE_X_WINDOWS] (compute_char_face, compute_glyph_face):
+ Add simple alternate definitions for non-X case.
+
+1994-07-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (Qlast_nonmenu_event): New variable.
+ (syms_of_process): Set it up.
+ (read_process_output, exec_sentinel): Bind it to t around filter.
+
+ * fileio.c (Fmake_directory_internal): Use Qmake_directory_internal.
+ (syms_of_fileio): Set up Qmake_directory_internal, not Qmake_directory.
+
+ * frame.c [MULTI_FRAME] (Fframe_parameters): For non-X frames,
+ fill in menu-bar-lines value.
+
+1994-07-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xmenu_show): Don't call XtUngrabPointer here.
+
+ * Makefile.in.in (ctagsfiles): Rewrite to avoid compiler bug.
+
+1994-07-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fdisplay_buffer): Add MULTI_FRAME conditional
+ in previous change.
+
+1994-07-10 Morten Welinder (terra@diku.dk)
+
+ * m/intel386.h [MSDOS] (NO_REMAP): Defined.
+ * s/msdos.h (HAVE_MOUSE, PURESIZE): Definitions moved here.
+ * m/dos386.h: File obsolete and deleted.
+
+ * msdos.c (dos_rawgetc): Use bios, not kbhit.
+
+1994-07-09 Morten Welinder (terra@diku.dk)
+
+ * fileio.c (Ffile_name_directory, Ffile_name_nondirectory,
+ file_name_as_directory, directory_file_name, Fexpand_file_name,
+ Ffile_name_absolute_p, Fsubstitute_in_file_name) [MSDOS]:
+ Allow backslashed file names.
+
+1994-07-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * puresize.h (PURESIZE) [MULTI_FRAME]: Increased to 250000.
+
+ * lread.c (readevalloop): Correctly unbind the unwind protect.
+
+1994-07-08 Morten Welinder (terra@diku.dk)
+
+ * msdos.c (do_visible_bell): Clean-up using GNU assembly extension.
+
+1994-07-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m/sparc.h (BIG_ENDIAN): Don't redefine if defined.
+
+ * Makefile.in.in (alloca.o): Delete allocatem.c first thing.
+
+ * xmenu.c (xmenu_show) {USE_X_TOOLKIT}: ButtonPress no longer pops
+ down; instead it forces the next ButtonRelease to exit. Don't
+ dispatch on ButtonPress events.
+
+ * xfns.c (syms_of_xfns): Provide x-toolkit in toolkit version.
+ Undo previous change.
+ (x_toolkit): Variable deleted.
+
+ * xfns.c (x_toolkit): New variable.
+ (syms_of_xfns): Set up Lisp var x-toolkit.
+
+ * window.c (Fnext_window, Fprevious_window): ALL_FRAMES = 0 means
+ try both visible frames and iconified frames.
+ (window_loop): Likewise, for FRAMES = 0.
+ (Fget_buffer_window): Likewise, for FRAME = 0.
+ (Fdisplay_buffer): Pass 0 to Fget_buffer_window;
+ if the frame is iconified, make it visible.
+
+ * frame.c (next_frame, prev_frame):
+ MINIBUF = 0 means try visible frames and iconified frames.
+
+1994-07-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Keyboard input exits the menu.
+ ButtonRelease does so if within Vdouble_click_time.
+ Ignore mouse motion if button was already released.
+ (menu_item_selection): Declare volatile, if __STDC__.
+
+ * keyboard.c (make_lispy_event): Ignore menu bar up events.
+
+1994-07-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * doprnt.c (doprnt): Handle padding on %c.
+
+ * frame.c (next_frame, prev_frame): Change which frames to use
+ when MINIBUF is a window.
+ (Fnext_frame, Fprevious_frame): Doc fixes.
+
+ * window.c: Doc fixes.
+
+1994-07-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket, construct_menu_click) [USE_X_TOOLKIT]:
+ Update x_mouse_grabbed and Vmouse_depressed.
+
+1994-07-02 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * xdisp.c (decode_mode_spec): %+ makes % for unmodified RO buffer.
+
+ * buffer.c (syms_of_buffer): Doc fix.
+
+ * xfaces.c (get_cached_face): Set the cached_index field.
+
+1994-07-01 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * sysdep.c (init_sys_modes): Turn off VSTART and VSTOP chars.
+ On DGUX, turn off INPCK.
+
+1994-07-01 Paul Reilly (pmr@churchy.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_create_frame): Add GC protection for frame being made.
+
+1994-06-30 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * xterm.c (x_make_frame_visible): In x_sync loop at the end,
+ every fourth time, sleep for 1/4 second.
+
+ * xselect.c (x_own_selection, x_get_foreign_selection):
+ Get rid of spurious X_TOOLKIT conditional.
+
+ * frame.c (Fdelete_frame): Call x_clear_frame_selections.
+
+ * xselect.c (x_own_selection): Put the frame in Vselection_alist.
+ (x_clear_frame_selections): New function.
+
+ * xterm.c (x_draw_box): Use curs_x and curs_y, not f->cursor_[xy].
+
+ * xfns.c (XLIB_ILLEGAL_ACCESS): Defined.
+
+1994-06-29 Richard Stallman (rms@gnu.ai.mit.edu)
+
+ * s/hpux.h (random, srandom): Defined.
+
+ * cmds.c (internal_self_insert): Now can return 2.
+ * keyboard.c (command_loop_1): Don't clear nonundocount
+ when internal_self_insert returns 1.
+
+1994-06-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_set_frame_parameters): Call x_set_offset directly.
+ Handle `-' for position parameters.
+
+1994-06-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * lread.c (readchar): Restart interrupted I/O.
+
+1994-06-28 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * fileio.c (a_write): Loop while *ANNOT is listp, not consp.
+ Previous code omitted all data from output files when *ANNOT was
+ nil.
+
+1994-06-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_set_name): If no change needed, avoid consing.
+
+ * xdisp.c (prepare_menu_bars): Call x_consider_frame_title
+ only if windows_or_buffers_changed.
+
+ * keyboard.c (safe_run_hooks): Take symbol as arg.
+ Use Fsymbol_value and Fset.
+ (command_loop_1): Pass symbol to safe_run_hooks.
+ Look in the value cell to check for trivial case (no hooks).
+
+ * xdisp.c (redisplay_region): For special treatment, BUF most be
+ both current and displayed in selected window.
+
+ * buffer.c (Foverlay_put): Pass redisplay_region a struct buffer *.
+
+1994-06-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (a_write): Verify that *annot is a cons.
+
+1994-06-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (echo_dash): Fix backwards conditional.
+ (read_key_sequence): Don't echo if echo_keystrokes is 0.
+
+ * m/news-risc.h (C_DEBUG_SWITCH) [not NEWSOS5]:
+ Don't define if __GNUC__.
+ (KERNEL_FILE) [not NEWSOS5]: New override definition.
+
+1994-06-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (send_process): Major rewrite.
+ Don't put in a C-d unless a single line is too long.
+ Read process input whenever output gets stuck.
+ Relocate BUF if we read input. New arg OBJECT.
+ (Fprocess_send_region, Fprocess_send_string, process_send_signal)
+ (Fprocess_send_eof): Pass new arg OBJECT.
+
+ * buffer.h (BUF_PTR_CHAR_POS): New macro.
+
+ * window.c (Fsave_window_excursion): Doc fix.
+
+ * s/hpux9.h (C_SWITCH_SYSTEM): Add -D_BSD.
+
+ * frame.c (Fframe_parameters): Don't handle menu-bar-lines explicitly.
+
+ * window.c (Fother_window_for_scrolling): New function.
+ (Fscroll_other_window): Use that.
+ (syms_of_window): defsubr it.
+
+1994-06-24 Karl Heuer (kwzh@nutrimat.gnu.ai.mit.edu)
+
+ * fileio.c (Finsert_file_contents): Fix check for non-regular files.
+
+1994-06-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * syntax.c (scan_lists, Fforward_comment): When moving backward over
+ a comment, ignore a comment-starter that overlaps the comment-ender.
+
+ * minibuf.c (Fcompleting_read): Doc fix.
+
+1994-06-23 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Don't staticpro the same var twice.
+
+1994-06-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/convexos.h: File deleted.
+
+ * xterm.c: Don't include string.h or strings.h.
+
+ * term.c (term_get_fkeys): Don't redeclare term_get_fkeys_1 here.
+
+ * m/convex.h (LIBS_MACHINE, GETPGRP_NO_ARG): Defined.
+ (NLIST_NAME_UNION, DECLARE_GETPWUID_WITH_UID_T): Defined.
+ (CRT0_DUMMIES): Conditionalize according to __GNUC__.
+ (convex): Define if necessary.
+ (C_SWITCH_MACHINE): Definition deleted.
+
+1994-06-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (Fmove_overlay): Fix typo in previous change.
+
+ * s/sunos4shr.h (X_IO_BUG): Defined.
+
+1994-06-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * minibuf.c (read_minibuf_unwind): Run Qminibuffer_exit_hook here.
+ (read_minibuf): Not here.
+
+ * buffer.c (Fkill_buffer): Don't delete auto save file
+ if it didn't come from this Emacs session.
+ (Fmove_overlay): Add missing XINT calls in previous change.
+
+1994-06-20 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xfns.c (x_window): Delete duplicate computation.
+ Change type of reference argument from int to Dimension.
+
+1994-06-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * config.h.in: Move #undef HAVE_STRERROR before the #includes.
+
+ * m/mips4.h (HAVE_STRERROR, HAVE_XRMSETDATABASE)
+ (HAVE_XSCREENRESOURCESTRING, HAVE_SETSID): Add #undefs.
+
+ * buffer.c (Fmove_overlay): Call redisplay_region even when
+ changing to a different buffer.
+
+ * syntax.c (Fmatching_paren): Fix typo.
+
+ * xterm.c (show_mouse_face): Set endcolumn ok in side-by-side windows.
+
+1994-06-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/linux.h (SEGMENT_MASK): Defined.
+
+ * xfns.c (x_window): Take account of pane widget internal border width.
+
+ * s/linux.h (C_OPTIMIZE_SWITCH): Definition deleted.
+
+ * lisp.h (RETURN_UNGCPRO): Swallow semicolon.
+ (GCPRO5): New macro.
+
+ * xmenu.c (single_keymap_panes): Put menu_item_equiv_key in the gcpro.
+ (menu_item_equiv_key): GCPRO things.
+
+ * keymap.c (Flookup_key): Add gcpro.
+ (Fkey_binding, Fminor_mode_key_binding): Likewise.
+ (Fwhere_is_internal): Likewise.
+
+ * keyboard.c (apply_modifiers): Use assq_no_quit.
+
+1994-06-19 Erik Naggum (erik@naggum.no)
+
+ * syntax.h (SYNTAX_MATCH): Fix typo (syntax -> matcher).
+
+ * syntax.c (Fmatching_paren): New function.
+ (Fchar_syntax): Pass arg directly to SYNTAX, no masking.
+
+1994-06-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * .gdbinit: Doc fixes.
+ (xsymbol): Cast $ to int.
+ (xvector, xstring): Don't use a string constant.
+ Reduce size limit for printing contents.
+
+ * s/sol2.h (GETTIMEOFDAY_ONE_ARGUMENT): Undo previous change.
+
+1994-06-18 Francesco Potorti` (pot@fly.cnuce.cnr.it)
+
+ * m/delta.h (memmove): switch the first two args.
+
+1994-06-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_make_frame_visible): At end, wait till Emacs sees
+ frame is visible.
+
+ * keyboard.c (echo_after_prompt): New variable.
+ (echo_prompt, cancel_echoing): Set it.
+ (echo_dash): Test it.
+
+ * s/linux.h (C_DEBUG_SWITCH): Define, if THIS_IS_CONFIGURE.
+ (HAVE_GETTIMEOFDAY, HAVE_MKDIR, HAVE_RMDIR):
+ (HAVE_XSCREENNUMBEROFSCREEN, HAVE_XRMSETDATABASE):
+ Comment out these definitions.
+
+ * Makefile.in.in (doprnt.o): Depend on config_h.
+
+1994-06-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * systime.h (EMACS_GET_TIME): Test GETTIMEOFDAY_ONE_ARGUMENT,
+ not USG5_4.
+ * s/usg5-4.h (GETTIMEOFDAY_ONE_ARGUMENT): Define it.
+ * s/sol2.h (GETTIMEOFDAY_ONE_ARGUMENT): Undef it.
+
+ * xfns.c (x_real_positions): Make sure we know the parent window.
+
+1994-06-17 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * window.h (minibuf_prompt): Now a Lisp_Object. All uses changed.
+
+ * minibuf.c (minibuf_save_list): New variable, replaces
+ minibuf_save_vector.
+ (read_minibuf): Cons it up.
+ (read_minibuf_unwind): Pop back the saved values.
+ (syms_of_minibuf): staticpro it.
+
+ * indent.c (compute_motion): Recenter overlays, for speed.
+
+1994-06-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (scratch_cursor_gc): New variable.
+ (dumpglyphs): Rework handling of GCs for cursor display
+ to use scratch_cursor_gc, and reuse the GC more.
+
+1994-06-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * unexec.c (make_hdr): Handle case of no "additional header".
+
+ * xdisp.c (redisplay_region): Treat selected window's buffer
+ specially, not current buffer.
+
+ * syssignal.h [USG5_4] (sigblock): Use |, not &.
+
+1994-06-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xdisp.c (redisplay_window): Don't use shortcut if window_end_vpos
+ is out of date.
+
+1994-06-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (Fprocess_status): Return nil for process name
+ that has no process.
+
+ * dispnew.c (syms_of_display): Make baud-rate a user var.
+
+ * syntax.c (scan_lists): Get error if eob within comment with depth!=0.
+
+1994-06-16 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * unexec.c: Include <sys/file.h> and [USG5] <fcntl.h> to define
+ O_* macros.
+ (O_RDONLY, O_RDWR): Define if undefined.
+ [emacs] (report_error): Use report_file_error so the user can tell
+ what the errno code was.
+ (unexec): Use O_RDONLY instead of explicit 0.
+ (make_hdr): Don't undo A_TEXT_OFFSET adjustment #ifndef NO_REMAP,
+ since it was never adjusted earlier #ifndef NO_REMAP.
+ (adjust_lnnoptrs): Use O_RDWR instead of explicit 2.
+
+1994-06-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_noop_count): New variable.
+ (x_term_init) [X_IO_BUG]: Init it.
+ (XTread_socket) [X_IO_BUG]: Don't do XNoOp every time, just 1 in 100.
+
+1994-06-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * syssignal.h (sigblock) [USG5_4]: Define if not defined.
+
+1994-06-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * lread.c: Put config.h first.
+
+ * hftctl.c: Put sys/signal.h and errno.h first, then config.h.
+
+ * dired.c: Put stdio.h, sys/types.h and sys/stat.h after config.h.
+
+ * callproc.c, dispnew.c, frame.c, term.h: Put stdio.h after config.h.
+ * widget.c, xmenu.c, xterm.c: Put stdio.h after config.h.
+
+1994-06-14 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * sysdep.c (init_system_name): New function, replaces get_system_name.
+ * lisp.h: declare it.
+ * editfns.c (init_editfns): Call it.
+ (get_system_name): New function, now just uses Vsystem_name.
+ * xterm.c (x_term_init): Use Vsystem_name instead of calling
+ get_system_name.
+
+ * keymap.c (Fsingle_key_description): Allow strings as keys.
+
+ * process.c (create_process): Set input_wait_mask before forking.
+
+1994-06-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * indent.c (vmotion): Use find_next_newline_no_quit.
+ (indented_beyond_p): Likewise.
+
+ * search.c (find_next_newline_no_quit): New function.
+
+ * sysdep.c (init_sys_modes): Don't set up sigio here if window system.
+
+ * keyboard.c (read_key_sequence): Verify event has a POSN_BUFFER_POSN
+ before trying to extract it.
+
+ * eval.c (init_eval_once): Call xmalloc, not malloc.
+
+ * process.c (Fprocess_send_eof): Doc fix.
+
+1994-06-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (interrupt_signal, init_keyboard):
+ Don't handle SIGINT and SIGQUIT if using window system directly.
+
+ * sysdep.c (init_sys_modes): Don't call set_terminal_modes
+ if using a window system.
+
+ * xterm.c (XTread_socket): Use x_top_window_to_frame in prev change.
+
+ * s/sol2.h (SOLARIS2): Defined.
+
+ * m/intel386.h: Add conditional for SOLARIS2.
+
+1994-06-13 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * xmenu.c (single_keymap_panes): gcpro some things.
+
+1994-06-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Handle Xatom_wm_save_yourself
+ by calling XSetCommand.
+
+ * emacs.c (init_cmdargs): Set up initial_argv, initial_argc.
+
+ * keyboard.c (syms_of_keyboard): Properly init Vsystem_key_alist.
+
+ * unexaix.c (adjust_lnnoptrs): Handle multiple aux symbols.
+
+1994-06-12 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * editfns.c (transpose_markers): Allow for gap at start of region.
+ (Ftranspose_regions): Don't precompute pointers into buffer text.
+
+1994-06-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_window): Request "save yourself" commands.
+
+ * callint.c (Fcall_interactively): Ignore `-' in string.
+ (Fcall_interactively): Don't call minibuffer-window-active-p;
+ determine directly whether a minibuf window is active.
+
+ * keyboard.c (read_char): When we loop and call redisplay,
+ do prepare_menu_bars first.
+
+1994-06-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * search.c (Freplace_match): Be sure not to treat non-digit like digit.
+
+ * xmenu.c (xmenu_show): Don't call XMenuDestroy twice
+ in XM_FAILURE case.
+
+ * Makefile.in.in (xterm.o): Depend on dispextern.h.
+
+ * s/sunos4-1-3.h (X_IO_BUG): Defined.
+
+1994-06-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/linux.h (CLASH_DETECTION): Defined.
+
+ * minibuf.c (Fdisplay_completion_list):
+ Require at least two spaces between items.
+
+1994-06-07 Richard Stallman (rms@geech.gnu.ai.mit.edu)
+
+ * keyboard.c (command_loop_1):
+ Treat nil in display tab like no display tab.
+
+1994-06-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * mips-siemens.h: Include pyramid.h, not mips.h.
+ (LOAD_AVE_TYPE, LOAD_AVE_CVT): Definitions deleted.
+ (NO_ARG_ARRAY, HAVE_ALLOCA): Defined.
+ (BROKEN_FIONREAD): Add #undef.
+
+1994-06-07 Morten Welinder (terra@diku.dk)
+
+ * msdos.c (init_environment): Clean up code and make the default
+ EMACSPATH equal to the directory from which Emacs was started.
+ (emacsroot): New variable.
+ (rootrelativepath): New function.
+ * msdos.h: Add template for rootrelativepath.
+ * lread.c [MSDOS]: #include "msdos.h".
+ * callproc.c (init_callproc) [MSDOS]: Exclude less code, so ../etc
+ is still tested for doc file.
+
+1994-06-06 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * fns.c (Fy_or_n_p, Fyes_or_no_p) [HAVE_X_MENU]: Redisplay before
+ popping up a menu.
+
+ * dispnew.c (Fframe_or_buffer_changed_p): Reuse the state vector.
+
+1994-06-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * frame.c (Ficonify_frame, Fmake_frame_invisible, Fmake_frame_visible):
+ Increment windows_or_buffers_changed.
+
+ * xdisp.c (redisplay): Don't call x_consider_frame_title.
+ (display_mode_line): Likewise.
+ (prepare_menu_bars): Call it here.
+
+1994-06-06 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * dispnew.c (Fframe_or_buffer_changed_p): New function.
+
+1994-06-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (x_wm_set_icon_position, x_wm_set_icon_pixmap):
+ [USE_X_TOOLKIT]: Use top-level widget's window.
+
+ * s/bsd386.h (BSD): Redefine.
+ (WAITTYPE, WRETCODE, WCOREDUMP): New definitions.
+ Include wait.h.
+
+ * m/sun386.h (LIBS_MACHINE) [USG]: New #define.
+
+ * xterm.c (x_term_init): New args xrm_option and resource_string.
+ Pass an -xrm option to XtAppInitialize if appropriate.
+
+ * xfns.c (Fx_open_connection): Set up Vx_resource_name and xrm_option
+ before calling x_term_init. Pass new args.
+
+ * keyboard.c (modify_event_symbol): Return nil if out of range.
+
+ * keymap.c (Fkey_description): Avoid using Fmapconcat--do it directly.
+
+ * keyboard.c, dispnew.c: Include systime.h after xterm.h.
+
+ * xfns.c (x_window): Take account of internal border of paned widget.
+
+ * m/dos386.h (PURESIZE): Increased to 240000.
+
+ * xfns.c (using_x_p): New function.
+ * fns.c (Fy_or_n_p): Don't use dialog box if not an X frame.
+ (Fyes_or_no_p): Likewise.
+
+1994-06-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/hpux9shr.h (C_DEBUG_SWITCH): Define as empty.
+
+1994-06-03 Morten Welinder (terra@diku.dk)
+
+ * callproc.c [MSDOS]: #include "msdos.h" for rootrelativepath
+ template.
+
+ * msdos.c (run_msdos_command): Make local copy of argv[2] on stack,
+ not on heap.
+ (run_msdos_command): When changing argv[2] from using slashes to
+ using backslashes, only do so on the first white-space delimited
+ part.
+
+1994-06-02 Karl Heuer (kwzh@hal.gnu.ai.mit.edu)
+
+ * textprop.c (Fprevious_single_property_change): Check for null
+ interval after correcting for edge effects.
+
+ * xdisp.c (display_text_line): Make sure pointer is in range.
+
+ * xmenu.c (xdialog_show): Fix problem with message in dialog box.
+
+1994-06-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (main): Do the setpgrp after checking for -batch.
+
+ * keyboard.c (command_loop_1): Properly handle nil in display table.
+
+ * s/hpux9.h (C_SWITCH_SYSTEM): Put inside __GNUC__ conditional.
+
+1994-06-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (kill_buffer_processes): For net conn, use Fdelete_process.
+
+See ChangeLog.4 for earlier changes.
diff --git a/src/ChangeLog.6 b/src/ChangeLog.6
new file mode 100644
index 00000000000..a2387baf4e8
--- /dev/null
+++ b/src/ChangeLog.6
@@ -0,0 +1,5363 @@
+1996-08-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * Version 19.33 released.
+
+1996-08-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * s/sco5.h (POSIX_SIGNALS): Don't define it, #undef instead.
+ (NO_SOCKETS_IN_FILE_SYSTEM): Definition deleted.
+ (sigblock): New definition.
+
+1996-08-10 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
+
+ * m/sequent-ptx.h (LOAD_AVE_TYPE, FSCALE, LOAD_AVE_CVT):
+ Undef them before defining.
+
+ * s/ptx4.h: Fix include file name.
+ (NO_FILIO_H): Move definition.
+
+1996-08-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * m/alpha.h [__ELF__] (UNEXEC): Use unexelf1.c.
+
+1996-08-09 David Mosberger-Tang <davidm@azstarnet.com>
+
+ * unexelf1.c: New file, copied from unexelf.c.
+ [__alpha__]: Include <sym.h> to get COFF debugging
+ info declarations for .mdebug section.
+ [__GNU_LIBRARY__ - 0 >= 6]: Include <link.h>.
+ [notdef ElfW]: Define backwards compatible ElfW macro.
+ (unexec) [__alpha__]: Add code to update Alpha COFF symbol table
+ (.mdebug section).
+ (unexec) [__alpha__]: Work around binutils-2.7 bug: for Alpha ELF
+ sometimes unneeded data relocs do not get elided properly which
+ results in reloc entries that contain all zeroes.
+
+ * m/alpha.h [__ELF__ && __GNUC__] (C_SWITCH_MACHINE): Add -fno-common.
+ (TEXT_START, DATA_START, DATA_SEG_BITS, UNEXEC): Define only if
+ __ELF__ is not defined.
+ (LINUX_SBRK_BUG): Define only if LINUX and __GNU_LIBRARY__ < 6.
+ (NO_TERMIO): Always define this. No Alpha system should need
+ termio.
+ (COFF, DATA_END): Define only if __ELF__ is not defined.
+
+1996-08-08 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * s/usg5-4.h: Don't include filio.h if NO_FILIO_H.
+
+ * s/ptx4.h: New file.
+
+ * config.in (GETTIMEOFDAY_ONE_ARGUMENT): Conditionalize on
+ HAVE_GETTIMEOFDAY.
+
+1996-08-07 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * xmenu.c (xmenu_show): Set dummy.state.
+ Set dummy.button appropriately.
+ (popup_get_selection) [USE_MOTIF]: Set event.xbutton.button.
+
+ * s/osf1.h (LD_SWITCH_SYSTEM): New definition.
+
+1996-08-06 Paul Eggert <eggert@twinsun.com>
+
+ * editfns.c (set_time_zone_rule): Don't put a string literal
+ "TZ=..." in environ.
+
+1996-08-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * minibuf.c (Fread_from_minibuffer): Make position 0 in the initial
+ input mean the beginning.
+
+1996-08-04 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * callproc.c (Fcall_process_region) [DOS_NT]: Avoid downcasing
+ the `X' characters in the template passed to `mktemp'.
+
+1996-08-02 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * widget.c (EmacsFrameSetCharSize): Call do_pending_window_change.
+
+1996-07-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * Version 19.32 released.
+
+ * s/hpux10.h (C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
+ Override to add /usr/contrib directories.
+
+1996-07-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * xterm.c (XTread_socket): Delete the code to pass menu bar keys
+ to the toolkit alone.
+ (XTread_socket): Don't fail to pass button events to toolkit.
+
+1996-07-29 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * xterm.c (XTread_socket): Pass keys in menu bar to toolkit alone
+ only for Motif.
+
+ * xdisp.c (prepare_menu_bars): Conditionalize previous change.
+
+1996-07-27 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * filelock.c (lock_file_owner_name): Always initialize the_pw.
+
+ * xterm.c (XTread_socket): Fixing previous change:
+ Clear last_mouse_press_frame on non-menu-bar ButtonPress.
+ Always use last_mouse_press_frame as frame for ButtonRelease.
+ But ignore the event if frame's output_data.x is null.
+ Save the ButtonRelease only if USE_MOTIF.
+ (last_mouse_press_frame): This is now a Lisp object.
+ (syms_of_xterm): Initialize and staticpro it.
+
+ * xmenu.c (pending_menu_activation): Don't initialize. Not static.
+ (set_frame_menubar): If no saved_menu_event yet, set deep_p.
+ Don't clear pending_menu_activation here.
+
+ * xmenu.c (Fx_popup_dialog): Don't fail to initialize WINDOW.
+
+ * xdisp.c (prepare_menu_bars): Clear pending_menu_activation.
+
+ * print.c: When printing into a buffer, generate all the text
+ first, then insert it all at once.
+ (print_buffer): New variable.
+ (print_buffer_size, print_buffer_pos): New variables.
+ (PRINTPREPARE): Allocate print_buffer.
+ (PRINTFINISH): Free print_buffer after inserting its contents.
+ (printchar, strout): Output into print_buffer.
+ (print_string): If printcharfun is nil, use strout.
+
+1996-07-26 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
+
+ * xmenu.c (pending_menu_activation): New variable.
+ (x_activate_menubar): Don't call set_frame_menubar for
+ ButtonRelease events. Instead, set pending_menu_activation.
+ (set_frame_menubar): If pending_menu_activation, set deep_p.
+
+ * xterm.c (last_mouse_press_frame): New variable.
+ (XTread_socket): Store a saved_button_event for ButtonRelease.
+
+1996-07-25 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
+
+ * xmenu.c (set_frame_menubar): Use -1 for call_data
+ in the deep_p = 0 case.
+
+1996-07-24 Geoff Voelker <voelker@joker.cs.washington.edu>
+
+ * ntinevt.c (win32_read_socket): Never block reading from input queue.
+
+1996-07-24 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
+
+ * editfns.c (Fencode_time): Assign to tm.tm_gmtoff for NEXTSTEP,
+ since timezone environment variable is ignored.
+
+1996-07-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * buffer.c (buffer_permanent_local_flags): New variable.
+ (init_buffer_once): Initialize it.
+ (reset_buffer_local_variables): New argument PERMANENT_TOO.
+ Callers changed. Now declared static.
+
+ * s/irix6-0.h [__GNUC__] (C_DEBUG_SWITCH): Define as -g3.
+
+ * m/mips.h, m/iris4.h, m/iris5d.h (LIBS_MACHINE) [__GNUC__ and ABIN32]:
+ Define as empty.
+
+1996-07-23 Paul Eggert <eggert@twinsun.com>
+
+ * editfns.c (Fdecode_time, difftm): Work even if tm_year represents
+ negative years; this is possible with 64-bit time_t values.
+
+1996-07-20 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * fileio.c (check_writable): Use euidaccess, not eaccess.
+
+1996-07-20 Erik Naggum <erik@naggum.no>
+
+ * intervals.c (balance_intervals_internal): Recurse directly.
+
+1996-07-19 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * unexec.c (copy_text_and_data) [DJGPP >= 2]: Switch off two bits
+ in `_crt0_startup_flags' so they don't go into the dumped Emacs.
+ Restore the value of `_crt0_startup_flags' after .text and .data
+ were dumped.
+
+1996-07-19 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * s/irix5-0.h (_BSD_SIGNALS): Define.
+ * s/irix6-0.h (SA_RESTART): Add #undef.
+
+1996-07-16 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * w32term.c (w32_read_socket): Need to erase background
+ immediately before repainting exposed region.
+
+ * makefile.nt (DOC, clean): Use OBJDIR macro.
+
+1996-07-16 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * xfns.c (Fx_create_frame): Do xlwmenu hack only if USE_LUCID.
+
+ * m/alpha.h, unexelf.c: Undo Jul 15 changes.
+ * config.in, data.c, keyboard.c, process.c: Undo Jul 15 changes.
+ * cm.h, sysdep.c, terminfo.c: Undo Jul 15 and Jul 16 changes.
+
+1996-07-16 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * cm.h, terminfo.c, sysdep.c: Test HAVE_TERMIOS rather than the
+ automatically-generated HAVE_TERMIOS_H, in case <termios.h> is
+ present but unusable.
+
+1996-07-16 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * fns.c (Fy_or_n_p): Pass 3rd arg to Flookup_key.
+
+ * s/hpux10.h (LIBS_TERMCAP): New definition.
+
+1996-07-15 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * window.c (struct save_window_data, struct saved_window): First
+ placeholder member is EMACS_INT, not int.
+
+ * print.c (print): Fix args in strout calls.
+
+ * xterm.h (struct x_output): Member saved_button_event replaced by
+ saved_menu_event.
+ * xmenu.c (x_activate_menubar): Allow any event, not just ButtonPress.
+ * xterm.c (SET_SAVED_MENU_EVENT): New macro.
+ (SET_SAVED_BUTTON_EVENT, SET_SAVED_KEY_EVENT): New macros.
+ (XTread_socket): Defer key events as well as button presses.
+
+ * frame.c (Qmouse_leave_buffer_hook): Delete redundant definition.
+ (syms_of_frame_1): Delete the duplicate assignment and staticpro.
+ * lisp.h (Qmouse_leave_buffer_hook, Qfont): Declare here.
+ * floatfns.c (Qarith_error): Delete redundant definition.
+ * xfns.c (Qfont): Delete redundant definition.
+ (syms_of_xfns): Delete the duplicate assignment and staticpro.
+ * w32fns.c (Qfont): Delete redundant definition.
+ (syms_of_win32fns): Delete the duplicate assignment and staticpro.
+ * xfns.c (xlwmenu_default_font): Declare, but don't define.
+ * xselect.c (last_event_timestamp): Declare, but don't define.
+
+1996-07-15 David Mosberger-Tang <davidm@AZStarNet.com>
+
+ * m/alpha.h (TEXT_START, DATA_START, DATA_SEG_BITS, UNEXEC, DATA_END):
+ Omit these definitions if ELF.
+ (LINUX_SBRK_BUG): Omit this if using a recent GNU library.
+ [__ELF__] (C_SWITCH_MACHINE): Define.
+ (NO_TERMIO): Define this unconditionally.
+ (COFF): Omit this if ELF.
+ * config.in (HAVE_TERMIOS_H): Add #undef.
+ * cm.h [HAVE_TERMIOS_H]: Declare ospeed as speed_t.
+ * sysdep.c [HAVE_TERMIOS_H]: Likewise.
+ * dispnew.c: Don't delare ospeed; cm.h already did it.
+ * terminfo.c: Use <config.h>.
+ [HAVE_TERMIOS_H]: Declare ospeed as speed_t.
+ [USG]: Include <string.h>.
+ * data.c (arith_error): Don't reinstall sig handler if POSIX_SIGNALS.
+ * keyboard.c (input_available_signal, interrupt_signal): Likewise.
+ * process.c (create_process_1, sigchld_handler): Likewise.
+ * unexelf.c: Add 64-bit ELF and Alpha/ELF support.
+
+1996-07-13 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * search.c (Fmatch_data): If no matching done yet, return Qnil.
+
+1996-07-13 Paul Eggert <eggert@twinsun.com>
+
+ * vmstime.c (sys_gmtime): Don't assume year < 2000.
+
+1996-07-13 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * process.c (wait_reading_process_input) [hpux]: Workaround for
+ annoying messages.
+
+1996-07-12 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * indent.c (Fvertical_motion): Doc fix.
+
+1996-07-11 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * w32fns.c (win32_wnd_proc): Handle WM_ERASEBKGND and
+ WM_PALETTECHANGED messages inline (as they should be).
+
+ * w32term.c (w32_read_socket): Remove unused WM_ERASEBKGND code.
+ No need to erase background now on (delayed) WM_PAINT. Move
+ WM_PALETTECHANGED processing to raw input thread.
+
+1996-07-11 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * keyboard.c (menu_bar_item): Skip menu-bar equiv keys data
+ to get just the keymap.
+
+ * s/irix5-0.h [__GNUC__] (C_DEBUG_SWITCH): New definition.
+
+1996-07-11 David Mosberger-Tang <davidm@AZStarNet.com>
+
+ * mem-limits.h (lim_data): Make this an unsigned long.
+
+1996-07-11 Bill Mann <dvmann@dvncr.praxisint.com>
+
+ * s/usg5-4-3.h: New file.
+
+1996-07-11 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
+
+ * xterm.c (XTread_socket): Add #ifdef for previous change.
+
+1996-07-11 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * buffer.c (syms_of_buffer): Doc fix.
+
+1996-07-08 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
+
+ * mem-limits.h [_LIBC]: Use weak_extern instead of weak_symbol for
+ __data_start.
+
+1996-07-07 Michael I. Bushnell, p/BSG <mib@gnu.ai.mit.edu>
+
+ * s/gnu.h: Enable use of ncurses library cleanly.
+
+1996-07-07 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * xterm.c: Undo previous change.
+ (XTread_socket): Better way to avoid sending toolkit-specific
+ events to Emacs.
+
+1996-07-07 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * xmenu.c (popup_get_selection): For a ButtonRelease on the proper
+ display, don't queue it, and always deactivate the menu.
+
+1996-07-07 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c (IT_menu_display): Display control characters as ^X.
+ (XMenuAddPane, XMenuAddSelection): Adjust menu width for control
+ characters (displayed as ^X).
+
+ * dired.c (file_name_completion): Set `stat' flags to avoid
+ computing expensive fields in struct stat (makes filename
+ completion much faster).
+
+ * fileio.c (Fcopy_file): Use st_ino under DJGPP v2 and later to
+ prevent copying file into itself.
+ (check_executable): DJGPP v2 `stat' doesn't need to be augmented
+ in case of executable files.
+ (Ffile_modes): Use `stat' results as is in DJGPP v2 and later.
+
+1996-07-04 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c (dostounix_filename): On caseless filesystems, downcase
+ the filename.
+ (unixtodos_filename): Downcase the drive letter.
+ (init_environment): Downcase the pathnames in the environment only
+ when running on caseless filesystems.
+
+1996-07-03 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * nt.c (normalize_filename): Always lower-case drive letters, even
+ on systems that preserve case in filenames.
+
+ * fileio.c (DRIVE_LETTER) [WINDOWSNT]: Lower-case drive letters.
+
+1996-07-05 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * w32term.c (x_set_mouse_pixel_position): Adjust coords by frame
+ position.
+ (x_set_mouse_position): Call x_set_mouse_pixel_position.
+
+1996-07-05 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * nt.c (sys_rename): Do not delete newname if only changing case.
+ On Windows 95, use our version of mktemp (not the MSVC version)
+ and give the temp name a long extension to ensure the final rename
+ works as expected.
+
+1996-07-03 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * callproc.c (Fcall_process) [MSDOS]: Initialize fd[0]; unlink
+ `tempfile' in case of errors.
+ (Fcall_process): When fd_error is negative,
+ don't close fd[0] if it's same as filefd.
+
+1996-07-03 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * callproc.c (Fcall_process) [MSDOS]: Make the `tempfile'
+ parameter passed to `report_file_error' be a Lisp string.
+ (Fcall_process): If stderr is redirected to NULL_DEVICE, make
+ `report_file_error' print the name of device. Make the arguments
+ a cons cell.
+
+1996-07-06 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * indent.c (Fvertical_motion): Doc fix.
+
+1996-07-03 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
+
+ * xterm.c (XTread_socket): Use lw_tookit_related_event_p to
+ avoid sending toolkit-specific events to Emacs.
+
+1996-07-01 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * m/alpha.h (HAVE_X11R4, HAVE_X11R5): Definitions deleted
+ since xterm.h and config.h should take care of them.
+
+ * xselect.c (x_clear_frame_selections): Don't call
+ redisplay_preserve_echo_area here.
+
+1996-06-30 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * systty.h: Delete spurious period from last change.
+
+1996-07-01 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * fileio.c (DRIVE_LETTER) [MSDOS]: Lower-case drive letters.
+
+ * msdos.c (msdos_downcase_filename): Always lower-case drive
+ letters, even on systems that preserve case in filenames.
+
+1996-06-29 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * s/sol2-5.h (LIB_MOTIF): Fix typo.
+
+ * emacs.c (main): Add `GNU Emacs' to the response to --version.
+
+ * xfns.c (Fx_create_frame): Gcpro parms, parent, and name.
+
+ * systty.h (GETPGRP_NO_ARG): Always define it, if __GNU_LIBRARY__.
+
+1996-06-28 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * frame.c (make_frame_without_minibuffer): GCPRO the frame f.
+
+ * config.in (AMPERSAND_FULL_NAME): Defined by default.
+
+ * s/sol2-5.h (LIB_MOTIF): New definition.
+
+ * emacs.c (standard_args): Delete `-rn' option.
+
+ * .gdbinit: Add `dir ../lwlib'.
+
+ * print.c (print): Obey Vprint_length for vectors, bitvectors.
+
+ * fileio.c (check_executable): Use euidaccess, not eaccess.
+
+ * config.in (HAVE_EUIDACCESS): This replaces HAVE_EACCESS.
+
+ * xterm.h: Don't define HAVE_X11R5 here.
+
+ * config.in (HAVE_X11R5): Add #undef.
+
+ * unexhp9k800.c (unexec): Cast result of sbrk.
+ (run_time_remap): Cat arg to brk.
+
+1996-06-27 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_closed): Call clear_waiting_for_input.
+
+ * keyboard.c (modify_event_symbol): Add properly to *symbol_table.
+
+1996-06-26 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_closed): Add newline when printing error
+ message on stderr.
+ (XTread_socket, Xatom_wm_save_yourself clause):
+ Don't call XSetCommand if f is 0.
+ (x_error_quitter): Delete newline from sprintf string.
+
+ * xdisp.c (redisplay_internal): Use last_had_star to decide
+ whether to update the mode line to update the star.
+ (update_menu_bar): Likewise.
+ Also, don't set w->update_mode_line for frames that use
+ set_frame_menubar.
+ (redisplay_internal, mark_window_display_accurate):
+ Set last_had_star.
+
+ * window.h (struct window): New field, last_had_star.
+
+1996-06-25 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_signal): Just return after calling `signal'.
+ (X_CONNECTION_LOCK_FLAG): Definition deleted.
+ (x_connection_signal_dpyinfo): Variable deleted.
+ (x_connection_signal_1): Function deleted.
+ (x_connection_close_if_hung): Function deleted.
+
+ * indent.c (Fmove_to_column): Go after invis chars at the goal column.
+
+1996-06-24 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_closed): If waiting_for_input,
+ call quit_throw_to_read_char.
+
+1996-06-24 Paul Eggert <eggert@twinsun.com>
+
+ * unexelf.c (unexec): Round up section header offset to bss alignment
+ before deciding whether it's after the bss section.
+
+1996-06-23 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * xfns.c (x_real_positions): Don't call x_uncatch_errors twice.
+
+ * indent.c (current_column_1): Add declaration.
+
+1996-06-22 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * indent.c: Make current-column, move-to-column and current-indentation
+ handle invisible chars (both text properties and overlays).
+ (skip_invisible): New function.
+ (Fmove_to_column): Use skip_invisible. Get rid of `retry' label.
+ (compute_motion): Use skip_invisible.
+ (current_column_1): New function.
+ (current_column): Use current_column_1 if might have invisible text.
+
+ * data.c (Fdefalias): Doc fix.
+
+ * s/gnu-linux.h (LD_SWITCH_SYSTEM): Just one definition.
+ Don't use prefix-args here because Makefile.in
+ does that when necessary.
+
+1996-06-21 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * s/sco5.h: New file.
+
+ * s/gnu-linux.h: Renamed from lignux.h.
+ (SYSTEM_TYPE): Changed to gnu/linux.
+
+ * callproc.c (Fcall_process): Fix previous change.
+
+ * xterm.c (x_iconify_frame): If frame is invisible,
+ explicitly mark it as iconified.
+
+ * keyboard.c (kbd_buffer_get_event): Don't call x_activate_menubar
+ for a deleted frame.
+
+1996-06-19 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * s/sol2-4.h (LD_SWITCH_SYSTEM): Use no space after -L and -R.
+
+1996-06-18 Nico Francois <nico.francois@scala.nl>
+
+ * w32fns.c (Vwin32_alt_is_meta): New variable.
+ (win32_get_modifiers): Map Alt to alt_modifier if required.
+ (syms_of_win32fns): DEFVAR new variable.
+
+ * ntinevt.c (Vwin32_alt_is_meta): Declared.
+ (win32_kbd_mods_to_emacs): Map Alt to alt_modifier if required.
+
+1996-06-16 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * callproc.c (Fcall_process): Handle t or nil as STDERR_FILE.
+
+ * s/hpux10.h (HPUX10): New macro.
+
+1996-06-14 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * w32fns.c (win32_wnd_proc): No need to forward WM_ERASEBKGND to
+ main thread.
+
+ * w32term.c (w32_read_socket): Erase update rect on WM_PAINT, so
+ no need to process WM_ERASEBKGND.
+
+1996-06-13 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * xmenu.c (Qmenu_alias): New variable.
+ (syms_of_xmenu): Initialize it.
+ (menu_item_equiv_key): Check this property on the definition.
+
+ * fileio.c (Fexpand_file_name): When simplifying /foo/..,
+ keep the initial slash.
+
+ * s/hpux10.h (LIBS_SYSTEM): Two new definitions (and #undef first).
+
+1996-06-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * emacs.c (main): For SIGHUP, use sigblock and sigunblock,
+ not sigblockx and sigunblockx.
+
+ * buffer.c (Fkill_buffer): Doc fix.
+
+1996-06-12 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * ntproc.c (restrict_dos_process): Variable deleted.
+ (sys_spawnve): Restrict DOS processes on NT as well.
+
+ * nt.c: Delete restrict_dos_process.
+
+1996-06-12 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * nt.c (restrict_dos_process): Renamed from can_run_dos_process.
+ (init_ntproc): Refer to restrict_dos_process.
+
+ * ntproc.c (restrict_dos_process): Renamed from can_run_dos_process.
+ (sys_spawnve): Refer to restrict_dos_process.
+
+1996-06-12 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * syssignal.h (sigunblockx): Use sigunblock.
+
+1996-06-11 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * process.c (wait_reading_process_input): Move the O_NONBLOCK and
+ O_NDELAY conditionals out of the EWOULDBLOCK conditional.
+
+1996-06-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * keymap.c (Fset_keymap_parent): Return early if KEYMAP already has
+ the proper parent.
+
+ * s/lignux.h [__ELF__] (LD_SWITCH_SYSTEM): Define it.
+
+ * frame.c (Fmake_terminal_frame): Test MSDOS, not __MSDOS__.
+
+ * xdisp.c (redisplay_internal): Use FRAME_WINDOW_P.
+ (decode_mode_spec): Likewise.
+
+ * minibuf.c (choose_minibuf_frame): Eliminate
+ MSDOS-non-MULTI_FRAME conditional.
+
+ * dispnew.c (change_frame_size, remake_frame_glyphs):
+ Use FRAME_WINDOW_P.
+
+ * msdos.c (check_x): Fix error message.
+
+1996-06-09 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * xfaces.c (init_frame_faces): Build faces for an MSDOS frame
+ like for X frame.
+ (Fmake_face_internal): Call `ensure_face_ready' for MSDOS frames.
+ (Fset_face_attribute_internal): Support face attributes for MSDOS
+ frames.
+
+ * xdisp.c (redisplay_internal): Use `Vterminal_frame' and other
+ termcap frame code on MSDOS as well.
+ (display_text_line) [HAVE_FACES]: Support faces on MSDOS.
+ (decode_mode_spec): Return frame name on MSDOS like for termcap
+ frames.
+
+ * window.c (Fset_window_configuration) [HAVE_WINDOW_SYSTEM]: Call
+ `x_set_menu_bar_lines' on MSDOS as well.
+
+ * msdos.h (check_x): Macro definition deleted.
+ (DisplayWidth): Use `selected_frame'.
+ (DisplayHeight): Use `selected_frame'.
+ (x_mouse_leave): Remove; it's not used.
+
+ * msdos.c (x_set_menu_bar_lines): New function, copied from xfns.c.
+ (IT_set_frame_parameters): Use selected_frame instead of
+ the_only_frame.
+ (internal_terminal_init): Use selected_frame instead of the_only_frame.
+ (check_x): New function, replacing macro in msdos.h.
+ (XMenuActivate): Use selected_frame instead of
+ the_only_frame. Don't let the title for the "Buffers" popup
+ include a number when it is split into several menus.
+
+ * minibuf.c (choose_minibuf_frame): Support multiple frames on MSDOS.
+
+ * frame.h (FRAME_MSDOS_P): A new macro for MSDOS frames.
+
+ * frame.c (Qpc): New variable.
+ (syms_of_frame_1): Define and staticpro it.
+ (Fframep): Support MSDOS frames.
+ (make_terminal_frame, Fmake_terminal_frame): Support MSDOS frames.
+ (Fset_mouse_position, Fset_mouse_pixel_position): Support MSDOS frames.
+ (Fframe_parameters, Fmodify_frame_parameters): Support MSDOS frames.
+
+ * dosfns.c (Fset_mouse_position): Remove the DOS-specific
+ definition (it's defined on `frame.c').
+ (syms_of_dosfns): Remove defsubr of `Fset_mouse_position'.
+
+ * dispnew.c (Fredraw_frame, remake_frame_glyphs)
+ (direct_output_for_insert, change_frame_size): Support MSDOS frames.
+
+1996-06-10 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * keymap.c (fix_submap_inheritance): If parent_entry is not a keymap,
+ use nil instead.
+
+ * alloc.c (mark_object): Do set ARRAY_MARK_FLAG for bool-vectors.
+
+1996-06-10 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * w32fns.c (x_to_win32_font): Allow any quality fonts.
+
+1996-06-09 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * keyboard.c (read_char): Use unsigned to compare against
+ the size of Vkeyboard_translate_table.
+ Check size for char-table too.
+
+ * s/freebsd.h (DONT_REOPEN_PTY): New definition.
+
+ * process.c (create_process): Add DONT_OPEN_PTY conditional.
+
+1996-06-07 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * nt.c (init_environment): Read PRELOAD_WINSOCK from registry if
+ not set in environment.
+
+ (winsock_inuse) [HAVE_SOCKETS]: New variable.
+ (have_winsock) [HAVE_SOCKETS]: Obsolete variable removed.
+
+ (term_winsock) [HAVE_SOCKETS]: Only unload winsock library if there
+ are no active sockets still open, and if the cleanup function
+ succeeds. Return TRUE if winsock is unloaded.
+
+ (init_winsock) [HAVE_SOCKETS]: Load winsock if not already loaded,
+ and return TRUE if winsock support is available. Unload winsock
+ immediately if new parameter load_now is false. Check that
+ WSAStartup supports the winsock version we requested.
+
+ (set_errno, check_errno, sys_socket, sys_bind, sys_connect,
+ sys_htons, sys_ntohs, sys_inet_addr, sys_gethostname,
+ sys_gethostbyname, sys_getservbyname, sys_close, sys_read,
+ sys_write) [HAVE_SOCKETS]: Check winsock_lib instead of
+ have_winsock to determine if winsock support is available.
+
+ (sys_socket, sys_close) [HAVE_SOCKETS]: Count sockets in use.
+
+ (init_ntproc) [HAVE_SOCKETS]: Only load winsock library on startup
+ if PRELOAD_WINSOCK is set in environment (or registry).
+
+ * ntproc.c (Fwin32_has_winsock,
+ Fwin32_unload_winsock) [HAVE_SOCKETS]: New functions.
+ (syms_of_ntproc) [HAVE_SOCKETS]: defsubr them.
+
+ * process.c (Fopen_network_stream) [WINDOWSNT]: Ensure Windows
+ socket library is loaded if available.
+
+1996-06-07 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
+
+ * xterm.c (XTread_socket): Use XtAppNextEvent when using
+ toolkit configurations.
+
+1996-06-07 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * nt.c (sys_mktemp): Complete rewrite.
+
+1996-06-07 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * ntproc.c (sys_kill): Don't try to terminate a DOS process.
+
+1996-06-06 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * fileio.c (Ffile_name_directory) [WINDOWSNT]: Remove previous
+ change, which was incorrect and isn't strictly required.
+
+1996-06-06 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * xfaces.c (Fset_face_attribute_internal) [MSDOS]: Don't mask
+ bright color bit in background colors.
+
+ * msdos.c (bright_bg): New function, enables bright background colors.
+ (dos_set_window_size): Move code to `bright_bg'.
+ (IT_set_terminal_modes): Enable bright background colors.
+ (IT_set_frame_parameters): Don't mask bright color bit in
+ background colors. Record colors on `termscript' file.
+ (internal_terminal_init): Enable bright background colors. Fix
+ default colors setting from $EMACSCOLORS.
+
+1996-06-07 Geoff Voelker <voelker@joker.cs.washington.edu>
+
+ * w32fns.c (sync_modifiers): New function.
+ (w32_wnd_proc): Synchronize modifiers on each key down.
+
+1996-06-06 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * nt.c (init_winsock): Dynamically link to SetHandleInformation.
+ (sys_socket): If possible, use SetHandleInformation to make socket
+ handle non-inheritable to avoid a bug in NT.
+
+1996-06-05 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * keymap.c (Fkeymap_parent, Fset_keymap_parent): New functions.
+ (fix_submap_inheritance): New function.
+ (access_keymap): Use fix_submap_inheritance.
+
+1996-06-05 Paul Eggert <eggert@twinsun.com>
+
+ * editfns.c: (set_time_zone_rule):
+ Work around localtime cache bug in SunOS 4.1.3_U1 and SunOS 4.1.4.
+
+1996-06-04 Geoff Voelker <voelker@joker.cs.washington.edu>
+
+ * w32term.c (w32_read_socket): If the dead key was produced using
+ AltGr and has a valid AltGr scan code, it's a valid key and
+ should not be discarded.
+
+1996-06-03 Kim Storm <storm@olicom.dk>
+
+ * ntproc.c (Vwin32_downcase_file_names): New variable.
+ (syms_of_win32fns): DEFVAR it.
+
+ * fileio.c (DRIVE_LETTER): [DOS_NT] New macro.
+ (expand_file_name): Apply DRIVE_LETTER macro to drive names.
+
+ * nt.c (normalize_filename): New function.
+ (dostounix_filename, unixtodos_filename): Use it.
+ (readdir): Convert upper case file names to lower case
+ if win32-downcase-file-names is non-nil.
+
+1996-05-31 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * fileio.c (Fexpand_file_name) [WINDOWSNT]: Don't strip trailing /
+ when newdir is just "//".
+ (Ffile_name_directory) [WINDOWSNT]: Return Qnil if filename is a
+ partial UNC name such as "//foo".
+
+1996-05-31 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * xmenu.c (single_submenu): Handle non-keymap lists like symbols.
+
+ * w32fns.c (reset_modifiers): Only clear a modifier if the
+ modifier key has been detected to have been released since
+ Emacs lost focus.
+ (win32_wnd_proc): Have Windows translate VK_NUMLOCK and
+ VK_SCROLL key downs; don't reset the modifier state when
+ Emacs loses focus.
+
+1996-05-30 Richard Stallman <rms@psilocin.gnu.ai.mit.edu>
+
+ * buffer.c (Fpop_to_buffer): Doc fix.
+
+ * window.c (Fdisplay_buffer): Doc fix.
+
+1996-05-27 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * s/sol2.h (LIBS_SYSTEM): Define this.
+
+1996-05-25 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * Version 19.31 released.
+
+1996-05-25 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * m/sparc.h [__linux__] (A_TEXT_OFFSET, A_TEXT_SEEK): Don't define.
+
+1996-05-24 Marcus Daniels <marcus@sayre.sysc.pdx.edu>
+
+ * xterm.c [SOLARIS2]: Include string.h.
+
+1996-05-24 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * w32fns.c: (Vwin32_mouse_move_interval): New lisp variable.
+ (syms_of_win32fns): Add Vwin32_mouse_move_interval to syms.
+ (saved_mouse_msg): Renamed to saved_mouse_button_msg.
+ (timer_id): Renamed to mouse_button_timer.
+ (saved_mouse_move_msg, mouse_move_timer): New variables.
+ (win_msg_worker): Delete WM_TIMER code.
+ (win32_wnd_proc): Handle WM_TIMER events here. Use separate timers
+ for mouse down and mouse move (including scroll bar drag) events.
+ Add new handling code for WM_VSCROLL and WM_MOUSEMOVE events.
+ Only filter WM_MOUSEMOVE events when a button is held down.
+ Always pass on message to DefWindowProc after calling
+ TranslateMessage. Reset keyboard modifiers when losing focus.
+
+ * w32term.c (x_scroll_bar_handle_click): Repaint scroll bar handle
+ when drag is finished.
+
+1996-05-23 Geoff Voelker <voelker@joker.cs.washington.edu>
+
+ * w32fns.c (win32_wnd_proc): When passing modifier keystrokes back
+ to Windows, invoke TranslateMessage on them.
+ (reset_modifiers): Don't reset Window's keyboard state.
+
+1996-05-23 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * lread.c (init_lread): Init Vload_file_name to Qnil.
+
+1996-05-21 Geoff Voelker <voelker@joker.cs.washington.edu>
+
+ * w32fns.c (modifier_set): Check toggle state of CapsLock even
+ if modifiers are not being recorded.
+
+1996-05-21 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * nt.c (get_volume_info): Always update *pPath correctly, even if
+ UNC header is incomplete.
+
+1996-05-21 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * indent.c (compute_motion): When calling Fget_char_property,
+ don't pass window if window is displaying the wrong buffer.
+
+ * dispnew.c (init_display) [HAVE_LIBNCURSES]: If X, call tgetent.
+
+ * keyboard.c (Fexecute_extended_command): Don't look for
+ a key binding if executing a kbd macro.
+
+ * print.c (Fprin1_to_string): Preserve Vdeactivate_mark.
+
+ * systty.h [__GNU_LIBRARY__]: #include <sys/ioctl.h>.
+
+ * cmds.c (internal_self_insert): Don't return 2 for auto-fill
+ unless the auto_fill_function returns non-nil.
+
+1996-05-17 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * nt.h (struct _child_process): New member is_dos_process.
+ * nt.c (_sys_read_ahead): Handle sleep here.
+ (sys_read): Not here.
+ (init_ntproc): Initialize can_run_dos_process, dos_process_running.
+ * ntproc.c (Vwin32_pipe_read_delay): New var.
+ (can_run_dos_process, dos_process_running): New vars.
+ (win32_is_dos_binary): New function.
+ (reap_subprocess, sys_spawnve): Use them.
+ (syms_of_ntproc): Defvar and initialize Vwin32_pipe_read_delay.
+
+ * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Enable the display of
+ menus in --no-window mode on NT.
+
+1996-05-17 Geoff Voelker <voelker@cs.washington.edu>
+
+ * w32term.c (w32_read_socket): Mask out lower 4 bits of wParam
+ for WM_SYSCOMMAND messages.
+
+1996-05-15 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * makefile.nt: Fix typo in previous patch.
+
+ * callproc.c (Fcall_process): Don't close the same fd twice.
+
+1996-05-15 Kim Storm <storm@olicom.dk>
+
+ * nt.c (sys_read): Introduce a small delay before reading from
+ a pipe or socket to allow more data to be buffered; otherwise,
+ process output is read one byte at a time on fast machines
+ (which is slow).
+
+1996-05-14 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * w32select.c (QCLIPBOARD): New symbol.
+ (Fx_selection_exists_p): New function.
+ (syms_of_win32select): Initialize/staticpro and defsubr them.
+
+1996-05-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * makefile.nt (w32*.obj): Fix deps.
+
+1996-05-13 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * eval.c (Fsignal) [HAVE_WINDOW_SYSTEM]: Changed from
+ HAVE_X_WINDOWS, so that TOTALLY_UNBLOCK_INPUT is called on Windows.
+
+ * w32fns.c (win32_wnd_proc): Reenable quit_char detection.
+
+1996-05-13 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * w32menu.c: Include buffer.h.
+ (set_frame_menubar): Make sure input is unblocked
+ when we call create_menu_items.
+ Switch temporarily to proper buffer, bind inhibit-quit to t,
+ and run the same hooks as in smenu.c.
+ (syms_of_win32menu): Initialize and staticpro Qdebug_on_next_call.
+
+ * w32term.c (note_mouse_movement): Upwards mouse movement
+ recognition corrected.
+
+1996-05-12 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * callproc.c (Fcall_process): Fix previous change (now !MSDOS only).
+
+1996-05-12 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * macros.c (Fstart_kbd_macro): Add missing xrealloc arg.
+
+1996-05-12 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * Makefile.in (MSDOS_SUPPORT): Use full name disp-table.elc.
+
+1996-05-12 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * dosfns.c (init_dosfns) [DJGPP >= 2]: Make `opendir' preserve
+ filename case (under Windows 95) and find hidden files.
+
+ * msdos.c (Fmsdos_downcase_filename): Don't change the argument,
+ return a copy.
+
+1996-05-11 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c (msdos_downcase_filename): New function to convert case
+ in filenames.
+ (Fmsdos_downcase_filename): New function.
+ (syms_of_msdos): Defsubr it.
+
+ * s/msdos.h (FILE_SYSTEM_CASE): Call Fmsdos_downcase_filename
+ instead of Fdowncase.
+
+1996-05-11 Geoff Voelker <voelker@cs.washington.edu>
+
+ * s/windowsnt.h (SYSTEM_PURESIZE_EXTRA): Macro defined.
+
+1996-05-11 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * w32term.c (x_scroll_bar_set_handle): Always use start
+ in calling SetScrollPos.
+ (x_scroll_bar_handle_click): In line up/down cases, don't alter y.
+ Don't call x_scroll_bar_set_handle.
+
+ * nt.c (map_win32_filename): If not a fat volume, cvt name to dos.
+
+1996-05-11 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * ntheap.c (allocate_heap): Clean up conditional.
+
+1996-05-11 Geoff Voelker <voelker@cs.washington.edu>
+
+ * ntheap.c (allocate_heap): Bump heap base up to 27MB to
+ satisfy Windows 95.
+
+1996-05-10 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * callproc.c (Fcall_process): Close fd_error if successful.
+
+1996-05-10 Geoff Voelker <voelker@cs.washington.edu>
+
+ * w32fns.c (win32_wnd_proc): Disable setting of Vquit_flag
+ at this point.
+
+1996-05-10 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * w32fns.c (win_msg_worker): Use post_msg.
+ (win32_wnd_proc): Don't abort if button_state & this, just return.
+ Use post_msg instead of my_post_msg in some places.
+ (win32_to_x_font): Major rewrite.
+ (struct enumfont_t): New element logfont.
+ (enum_font_cb2): Add special code for TRUETYPE_FONTTYPE.
+ (Fx_list_fonts): Call x_to_win32_font.
+
+ * w32term.c (x_scroll_bar_move): Call my_show_window.
+ (x_scroll_bar_clear): Likewise.
+
+ * ntterm.c (prev_console_mode): New variable.
+ (unset_kbd): Use prev_console_mode.
+ (reset_kbd): Set prev_console_mode. Call Fset_input_mode.
+
+ * emacs.c (main) [WINDOWSNT]: Call syms_of_ntproc.
+
+ * ntproc.c (Vwin32_quote_process_args): New variable.
+ (sys_spawnve): If Vwin32_quote_process_args, quote the args.
+ (syms_of_ntproc): Set up Lisp variable.
+
+1996-05-10 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_signal_1): Call x_connection_closed properly.
+
+1996-05-08 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * msdos.c (syms_of_msdos): Fix typo.
+
+1996-05-07 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * termhooks.h (enum scroll_bar_part): Delete extra comma.
+
+1996-05-06 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * msdos.c (Fmsdos_long_file_names): New function.
+ (syms_of_msdos): Defsubr it.
+
+ * s/msdos.h (GMALLOC_INHIBIT_VALLOC): Defined.
+
+ * casetab.c (set_case_table): Set upcase_table, case_canon_table
+ and case_eqv_table in the buffer.
+
+ * casefiddle.c (casify_region, casify_object):
+ If case table has been changed, call Fset_case_table.
+
+1996-05-04 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * editfns.c (Fencode_time): Accept MANY args, so as to cope
+ with the value of decode-time.
+
+1996-05-03 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * keyboard.c (Qup, Qdown): New variables.
+ (syms_of_keyboard): Initialize and staticpro.
+ (scroll_bar_parts): Add Qup and Qdown.
+ (make_lispy_event) [WINDOWSNT]: Handle win32_scroll_bar_click.
+
+ * termhooks.h (enum scroll_bar_part): New alternatives
+ scroll_bar_up_arrow, scroll_bar_down_arrow.
+ (win32_scroll_bar_click): New enum constant.
+
+1996-05-03 Andrw Innes <andrewi@harlequin.co.uk>
+
+ * makefile.nt (SUBSYSTEM) [NTGUI]: Remove conditional.
+ (LINK_FLAGS): Explicitly set base address, and stack and heap sizes.
+ (nt.obj): Add dependency to nt.h.
+
+ * nt.c (nt_ctime): Function renamed to sys_ctime.
+
+ Undefine macros for shadowed CRT functions.
+ (nt_stat, get_unassigned_drive_letter, is_toplevel_share_name,
+ stat_toplevel_share): Functions deleted.
+
+ Include sys/socket.h and
+ undefine macros for shadowed socket functions.
+
+ (getwd): Return NULL if GetCurrentDirectory fails.
+
+ (gethostname) [!HAVE_SOCKETS]: Replace with winsock version.
+
+ (nt_sleep): Renamed to sys_sleep.
+
+ (rename): Renamed to sys_rename. Always rename to a temporary name
+ first on Windows 95. Unlink new name first if necessary.
+
+ (dir_finding): Variable deleted.
+ (dir_is_fat, dir_pathname): New variables.
+
+ (openddir): Fail if dir_find_handle is in use. Save directory name
+ in dir_pathname, and set dir_is_fat appropriately.
+ (closedir, readdir): Use dir_find_handle in place of dir_finding.
+ (readdir): Copy directory name from dir_pathname on first
+ call. Use IS_DIRECTORY_SEP instead of IS_ANY_SEP. Force filename
+ to be lower case on FAT volumes.
+
+ (getpwuid): Move struct passwd initialization to init_user_info,
+ return information for current user if uid matches.
+
+ (getuid, geteuid): Return uid determined by init_user_info.
+ (getgid, getegid): New functions.
+
+ (getpwnam): Ignore case when comparing name.
+ (init_user_info): New function. Determine user name and id from
+ NT security calls if possible, otherwise try Windows networking
+ calls before falling back to hard-coded defaults. Ensure HOME and
+ SHELL environment variables are set.
+
+ (unixtodos_filename): New function.
+
+ (REG_ROOT): Trailing backslash removed.
+
+ (init_environment): Call init_user_info.
+
+ (get_inode_and_device_vals, pipe_with_inherited_out,
+ pipe_with_inherited_in): Functions deleted.
+
+ (prepare_standard_handles, reset_standard_handles): Moved to
+ ntproc.c and simplified to match other changes (all handles are
+ already non-inheritable).
+
+ (get_emacs_configuration): Detect Windows flavour (Windows 95 or
+ NT) at run-time. Change OS name for Windows 95 to be "win95".
+
+ (fd_info): New variable. Array of extra info for file descriptors
+ needed for pipe/socket support.
+
+ (utc_base_ft, utc_base, init): New internal variables used for
+ implementing stat.
+
+ (get_volume_info, is_fat_volume, map_win32_filename, convert_time,
+ convert_from_time_t, hashval, generate_inode_val): New
+ internal support functions for shadowed C library functions.
+
+ (sys_access, sys_chdir, sys_chmod, sys_link, sys_mkdir,
+ sys_mktemp, sys_rmdir, sys_unlink): Call map_win32_filename
+ before calling shadowed C library function.
+
+ (sys_fopen, sys_open): Map file names, and ensure file handle is
+ non-inheritable.
+
+ (stat): Replace buggy library function. Fake reaonsable i-node
+ values by hashing the canonical file name, and use uid/gid values
+ determined by init_user_info.
+
+ (term_winsock, init_winsock, set_errno, check_errno)
+ [HAVE_SOCKETS]: New internal socket support functions (plus
+ associated variables) required to support dynamic linking to
+ Windows socket library.
+
+ (sys_socket, sys_bind, sys_connect, sys_htons, sys_ntohs,
+ sys_inet_addr, sys_gethostname, sys_gethostbyname,
+ sys_getservbyname) [HAVE_SOCKETS]: New functions to provide
+ dynamically loaded interface to Windows socket library.
+
+ (sys_close, sys_dup, sys_dup2, sys_read, sys_write): New wrappers
+ for C library functions to handle sockets and pipes.
+
+ (sys_pipe): Make pipe handles non-inheritable, and set binary mode
+ as required.
+
+ (_sys_read_ahead): New internal support function for pipe/socket
+ support in sys_select.
+
+ (term_ntproc): New function.
+ (init_ntproc): New function to initialise socket support and make
+ initial std handles non-inheritable. Also ensure stdin, stdout
+ and stderr have valid handles so that pipes and sockets can't
+ inadvertently use fd 0, 1, or 2.
+
+ * nt.h: Check to see if already included.
+ (fd_set, filedesc): New structures.
+ (child_process, MAX_CHILDREN, CHILD_ACTIVE): Definitions moved
+ from ntproc.c.
+ (FD_SET, FD_CLR, FD_ISSET, FD_ZERO): Operate on fd_set structures.
+ (SELECT_TYPE): New macro.
+ New child process status enumeration.
+ (FILE_READ, FILE_WRITE, FILE_BINARY, FILE_PIPE, FILE_SOCKET):
+ New macros.
+ (fd_info, new_child, delete_child): Declared.
+
+ * ntheap.c: Include lisp.h.
+ (allocate_heap): Use VALBITS to determine size of heap.
+ (allocate_heap) [WINDOWS95]: Conditional code removed.
+ (sbrk): Use VALMASK instead of an unsigned integer mask.
+
+ * ntinevt.c (win32_kdb_patch_key): Initialize isdead.
+ (key_event) [HAVE_NTGUI]: Use Windows key code.
+
+ * ntproc.c: Include config.h after CRT headers. Include fcntl.h.
+ (child_process, MAX_CHILDREN, CHILD_ACTIVE): Moved to nt.h.
+ (DebugPrint): New macro.
+ (new_child): Create input event structures for child processes.
+ (delete_child): New function.
+ (reader_thread): Return nonzero upon failure. Use _sys_read_ahead.
+ (create_child): Add child_process and parent PID arguments.
+ Don't create input event or thread structures here.
+ Fixup Windows 95 negative process IDs.
+ (register_child): Don't set consumed event; instead, set thread
+ status so that select will release it.
+ (remove_child): Renamed to reap_process. Only free resources
+ of synchronous children.
+ (win32_wait): Renamed to sys_wait. Sanity check to make sure
+ handle to subprocess exists. Don't reclaim thread resources here.
+ (win32_spawnve): Renamed to sys_spawnve.
+ Check for proper wait mode first thing.
+ Convert command name to DOS format.
+ Quote whitespace and quotes in arguments to subprocess.
+ Use alloca instead of malloc.
+ If max subprocesses, return EAGAIN in hopes of another completing.
+ (sys_select): Add support for socket input. Remove dead code.
+ Check input from children fairly.
+ (sys_select) [HAVE_TIMEVAL]: Remove conditional check and code.
+ (win32_kill_process): Renamed to sys_kill. Use OpenProcess
+ to terminate process.
+ (prepate_standard_handles, reset_standard_handles): Moved here
+ from nt.c.
+
+ * ntterm.c (reset_kbd): Try to use interrupt input.
+
+ * unexnt.c (WinMain): Function removed.
+ (_start) [HAVE_NTGUI]: Don't invoke WinMain, but do set up
+ WinMain args as crt0.c would.
+
+ * w32fns.c (quit_char, Vwin32_enable_italics, Vwin32_enable_palette):
+ New variables.
+ (syms_of_win32fns): Set up new lisp variables.
+
+ (Fwin32_rgb): Dead procedure removed.
+ (Fwin32_define_rgb_color, Fwin32_load_color_file, win32_map_color,
+ win32_regenerate_palette, win32_unmap_color): New functions.
+ (syms_of_w32fns): Set up new lisp functions.
+ (define_color): Use palettes. Simulate use of PALETTE_RGB to
+ use closest color instead of dithering.
+ (map_mode): Function removed.
+ (WIN32_COLOR, SET_WIN32_COLOR): New macros.
+
+ (win32_init_class): Don't set CS_OWNDC in the WNDCLASS style.
+ (win32_createwindow): Invoke ShowWindow to discard defaults
+ from parent.
+ (win32_wnd_proc): Use separate critical sections appropriately.
+ Handle palette change, show window, and set window position messages.
+ Record WINDOWPLACEMENT structure length.
+ Detect quit_char.
+ (Fx_create_frame): Set scrollbar width to be the system standard.
+
+ (Ffocus_frame, Funfocus_frame): Functions now do nothing.
+
+ (x_to_win32_weight, win32_to_x_weight): Handle "heavy", "extrabold",
+ "light", "extralight", and "thin" fonts.
+ (x_to_win32_charset, win32_to_x_charset): New functions.
+ (win32_to_x_font): Use new height units. Use win32_to_x_charset.
+ (x_to_win32_font): Use x_to_win32_charset. Support Win32 font names
+ in addition to X font names.
+
+ (win32_load_font, Fx_list_fonts, Fx_display_color_cells,
+ Fx_display_mm_height, Fx_display_mm_width: Use GetDC directly.
+
+ (Fx_open_connection): Support external color mapping files.
+
+ (win32_abort): Map abort button to abort, retry to debug, and
+ ignore to continue.
+
+ * w32reg.c (REG_ROOT): Remove trailing backslash.
+
+ * w32select.c (Fwin32_set_clipboard_data, Fwin32_get_clipboard_data):
+ Calculate exact size of clipboard string with CRs removed or inserted.
+
+ * w32term.c (Vwindow_system): Declared.
+ (win32_fill_rect, dumpglyphs, do_line_dance, x_draw_box):
+ Use Get/ReleaseFrameDC.
+
+ (pixel_to_glyph_coords): Support tty mode.
+ (w32_read_socket): Explicitly use FALSE.
+ Handle WM_PALLETTECHANGED event.
+ (parse_button): Handle mouse button emulation.
+
+ (my_show_window, my_set_window_pos): New functions.
+ (x_set_offset, x_set_window_size, x_raise_frame, x_lower_frame):
+ Use my_set_window_pos.
+ (x_make_frame_visible, x_iconify_frame): Use my_show_window.
+
+ (x_draw_box): Don't trim right and bottom.
+ (x_make_frame_visible): Don't invoke SetForgroundWindow.
+
+ (win32_term_init): Use GetDC directly. Initialize palette
+ and win32_num_mouse_buttons.
+ (win32_update_begin): Regenerate palette if necessary.
+ (x_delete_display): Free palette.
+
+ (win32_initialize) [ATTACH_THREADS]: Only AttachThreadInput if
+ conditional is defined.
+
+ * w32term.h (struct win32_palette_entry): New structure.
+ (win32_display_info): New fields has_palette, p_colors_in_use,
+ n_colors_in_use, h_palette.
+ (win32_output): New field h_old_palette.
+ (WM_EMACS_SETWINDOWPOS): New macro.
+ (WM_EMACS_DESTROY_WINDOW): Value redefined.
+ (win32_window_pos): New structure.
+ (GetFrameDC, ReleaseFrameDC): Functions declared.
+
+ (my_get_dc): Macro undefined.
+ (map_mode): Function declaration removed.
+ (enter_crit, leave_crit): Function declarations changed to macros.
+
+ * w32xfns.c: Include frame.h.
+ (hEvent): Renamed to h_input_available.
+ (init_crit, delete_crit, get_next_msg, post_msg):
+ Use h_input_available.
+ (GetFrameDC, ReleaseFrameDC): New functions.
+ (leave_crit): Function removed.
+
+ * s/windowsnt.h: Include string.h.
+ (HAVE_FREXP, HAVE_FMOD): Macros removed.
+ (struct timeval, struct timezone, gettimeofday): Declarations removed.
+ (HAVE_SOCKETS, MAIL_USE_POP, MAIL_USE_SYSTEM_LOCK): Macros defined.
+ (DIRECTORY_SEP): Use Vdirectory_sep_char.
+ (EXEC_SUFFIXES): Add .cmd to list of suffixes.
+ (HAVE_SYS_TIMEB_H, HAVE_SYS_TIME_H, HAVE_UNISTD_H, STDC_HEADERS,
+ TIME_WITH_SYS_TIME, HAVE_GETTIMEOFDAY, HAVE_CLOSEDIR,
+ HAVE_LONG_FILE_NAMES, HAVE_BCOPY, HAVE_BCMP, HAVE_LOGB, HAVE_FREXP,
+ HAVE_FMOD, HAVE_FTIME, HAVE_MKTIME, HAVE_H_ERRNO): New macros.
+ (access, chdir, chmod, close, creat, ctime, dup, dup2, fopen,
+ link, mkdir, mktemp, open, pipe, read, rename, rmdir, select,
+ sleep, unlink, write, spawnve, wait, kill, signal):
+ Macros redefined from win32_* to sys_*.
+ [__STDC__]: Define when including direct.h, io.h, stdio.h.
+ (struct nt_stat): Definition removed.
+ (stat, st_dev, st_ino, st_mode, st_nlink, st_uid, st_gid,
+ st_rdev, st_size, st_atime, st_mtime, st_ctime): Macros undefined.
+
+ * s/windows95.h: File removed.
+
+1996-05-02 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * keyboard.c (Fthis_single_command_keys): New function.
+ (syms_of_keyboard): defsubr it.
+ (this_single_command_key_start): New variable.
+ (add_command_key): Reduce this_single_command_key_start if nec.
+ (command_loop_1): Clear this_single_command_key_start if nec.
+ (Fread_key_sequence, Fexecute_extended_command): Likewise.
+ (read_key_sequence): Set this_single_command_key_start.
+ (command_loop_1): Clear echo area while inhibit-quit is still t.
+
+1996-05-01 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * keyboard.c (Fevent_convert_list): Never treat last elt as modifier.
+
+ * buffer.c (add_overlay_mod_hooklist): Fix call to bcopy.
+
+ * insdel.c (signal_after_change): Correct the arg to
+ report_overlay_modification.
+
+ * s/sol2-4.h (C_SWITCH_X_SYSTEM): Definition moved from sol2.h.
+
+ * s/sol2.h (C_SWITCH_X_SYSTEM): Definition moved to sol2-4.h.
+
+1996-05-01 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c (dos_get_modifiers): Restore missing comment terminator.
+ (getdefdir): Rewrite to call `_fixpath' instead of `intdos'.
+ (run_msdos_command) [DJGPP > 1]: Work around some MSDOS
+ command-line restrictions by running shell commands via `system'
+ instead of `spawnve'.
+
+ * fileio.c (Fexpand_file_name) [DOS_NT]: Correct the `if' clause
+ to compile on all platforms.
+
+1996-04-30 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * xterm.c [USE_X_TOOLKIT]: Include X11/Shell.h.
+ (x_wm_set_icon_pixmap) [USE_X_TOOLKIT]: Tell widget the new pixmap.
+
+1996-04-29 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * fileio.c (Fexpand_file_name) [DOS_NT]: Keep dir sep following ~
+ or ~user, but don't collapse the newdir prefix in that case.
+
+1996-04-26 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * keyboard.c (make_lispy_event): FRAME_MENU_BAR_ITEMS now has
+ four elements per item. Add a separate slot for the hpos.
+ (menu_bar_items): Likewise.
+ (menu_bar_item): Initialize the hpos slot to 0.
+
+ * xdisp.c (display_menu_bar): FRAME_MENU_BAR_ITEMS now has
+ four elements per item.
+ (update_menu_bar): If we update FRAME_MENU_BAR_ITEMS,
+ also set w->update_mode_line.
+
+ * xmenu.c (set_frame_menubar): FRAME_MENU_BAR_ITEMS now has
+ four elements per item.
+
+ * w32menu.c (get_frame_menubar_event, set_frame_menubar):
+ FRAME_MENU_BAR_ITEMS now has four elements per item.
+
+ * fileio.c (Fexpand_file_name, Ffile_name_absolute_p): Doc fixes.
+ (Ffile_exists_p, Ffile_executable_p, Ffile_readable_p)
+ (Ffile_writable_p, Ffile_directory_p, Ffile_regular_p)
+ (Ffile_modes, Fset_file_modes, Ffile_newer_than_file_p)
+ (expand_and_dir_to_file): Rename abspath to absname.
+
+1996-04-26 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * fileio.c (Fexpand_file_name) [!DOS_NT]: Fix incorrect expansion of
+ "/foo/../bar" -> "//bar". Delete relpath variable.
+
+ * fileio.c (CORRECT_DIR_SEPS) [DOS_NT]: New macro.
+ (IS_DRIVE) [DOS_NT]: Added separate definitions for DOS and NT.
+ (Ffile_name_directory) [DOS_NT]: Simplify code to match change in
+ getdefdir in msdos.c. Ignore embedded colons. Correct dir seps.
+ (Ffile_name_nondirectory) [DOS_NT]: Ignore embedded colons.
+ Correct IS_ANY_SEP to IS_DIRECTORY_SEP.
+ (file_name_as_directory) [DOS_NT]: Correct dir seps.
+ Correct IS_ANY_SEP to IS_DIRECTORY_SEP.
+ (directory_file_name) [DOS_NT]: Correct dir seps.
+ (Fmake_temp_name) [DOS_NT]: Correct dir seps.
+ (Fexpand_file_name) [DOS_NT]: Remove relpath, tmp and
+ defdir variables; init drive to 0.
+ Correctly detect when default_directory is absolute.
+ Be strict when looking for MSDOS drive specifier; defer calling
+ getdefdir. Ignore drive specifier if name now has UNC prefix.
+ Correctly recognise if name is not absolute when trying simple
+ method to expand; return original string if possible.
+ Skip dir sep after ~ or ~user.
+ Use getpwnam instead of HOME for ~user on NT.
+ Handle error return from getdefdir.
+ Correctly detect if newdir is absolute before using default_directory.
+ Handle case where newdir is not absolute - expand relative to
+ current working dir if necessary (instead of calling getdisk
+ later). Only keep UNC prefix if nm starts with dir sep.
+ Replace kludgy handling of drive spec in newdir. Correct dir seps.
+ (Fsubstitute_in_file_name) [DOS_NT]: Correct dir seps for NT as
+ well. Merge equivalent #ifdef APOLLO and WINDOWSNT cases. Ignore
+ embedded colons and be strict about drive specs.
+ (Fcopy_file) [DOS_NT]: Do dev/inode check on NT.
+ (Ffile_name_absolute_p) [DOS_NT]: Be strict about drive specs.
+ (check_executable) [DOS_NT]: Test st_mode on NT.
+ (Ffile_readable_p) [DOS_NT]: Use access instead of open on NT.
+ (Ffile_modes) [DOS_NT]: Don't embelish st_mode value on NT.
+ (Fread_file_name) [DOS_NT]: Correct dir seps in HOME.
+ (syms_of_fileio): Add Vdirectory_sep_char.
+
+ * msdos.c (getdefdir): Include drive letter and colon when
+ constructing default directory for drive.
+
+1996-04-26 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * xterm.c (x_scroll_bar_clear): Do nothing if frame now has no
+ scroll bars.
+
+ * xfns.c (x_window) [! USE_X_TOOLKIT]: Initialize wm_hints.icon_pixmap.
+
+1996-04-26 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * callproc.c (Fcall_process) [WINDOWSNT]: Remove conditional NT code.
+ (Fcall_process_region) [DOSNT]: Canonicalize slashes in filename.
+ (child_setup) [WINDOWSNT]: Decrease handles array by one.
+
+ * dired.c (Ffile_attributes) [WINDOWSNT]: Remove conditional NT code.
+
+ * emacs.c (main) [WINDOWSNT]: Invoke init_ntproc.
+ (shut_down_emacs) [WINDOWSNT]: Invoke term_ntproc.
+
+ * lisp.h [WINDOWS_NT]: Declare Vdirectory_sep_char.
+
+ * lread.c (close_load_descs) [WINDOWS_NT]: Don't actually do anything.
+
+ * process.c (Fopen_network_stream): Set process infd to inch.
+ (create_process, read_process_output, Fsignal_process) [WINDOWSNT]:
+ Remove conditional NT code.
+
+ * syssignal.h (EMACS_KILLPG) [WINDOWSNT]: Invoke kill instead of
+ win32_kill_process.
+
+ * term.c (FRAME_TERMCAP_P) [WINDOWSNT && !HAVE_NTGUI]: Remove
+ conditional for HAVE_NTGUI.
+
+1996-04-25 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c (getdefdir) [DJGPP > 1]: Use 32-bit ESI to pass buffer
+ address to `intdos' instead of SI which can be 16-bit.
+
+1996-04-25 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * lread.c (read_escape): Detect READCHAR reporting eof.
+
+ * editfns.c (save_excursion_restore): Add gcpros.
+
+ * unexelf.c (unexec): Add conditional for SOLARIS_POWERPC.
+
+ * fileio.c (syms_of_fileio): Doc fix.
+
+1996-04-24 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * xfns.c (Fx_list_fonts) [BROKEN_XLISTFONTSWITHINFO]:
+ Free the font, and the fontinfo too if we don't want it.
+
+ * xterm.c (x_connection_signal): Call sigunblock properly.
+
+1996-04-23 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * dispnew.c: Include blockinput.h.
+ (change_frame_size_1): Block input around the real work.
+
+ * Makefile.in (dispnew.o): Depend on blockinput.h.
+
+1996-04-21 Richard Stallman <rms@delasyd.gnu.ai.mit.edu>
+
+ * process.c (wait_reading_process_input, both definitions):
+ If wait_for_cell, don't call timer_check, and use
+ detect_input_pending instead of detect_input_pending_run_timers.
+
+ * frame.c (Fframe_parameters, both definitions):
+ Get sizes from FRAME_NEW_HEIGHT, FRAME_NEW_WIDTH if they are nonzero.
+
+1996-04-20 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * indent.c (compute_motion): Pass window to Fget_char_property.
+
+1996-04-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_key_sequence):
+ Fix confusion between key and new_key.
+
+1996-04-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (syms_of_keyboard): Doc fix.
+
+1996-04-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.h (STANDARD_EVENT_SET): Remove PointerNotifyHintMask.
+ * widget.c (EmacsFrameRealize): Use STANDARD_EVENT_SET.
+ * xterm.c (note_mouse_movement): Don't call XQueryPointer.
+ (x_scroll_bar_note_movement): Don't call XQueryPointer.
+
+ * xterm.c (x_new_font): Intern FONT just once for finding full name.
+
+ * xterm.h (CHECK_X_FRAME): Macro deleted.
+
+1996-04-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (decode_mode_spec): For %F, use explicit name or `Emacs'.
+ (decode_mode_spec): Use frame F, not selected frame.
+ On termcap frames, implicit names are ok.
+
+1996-04-16 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * w32term.c (w32_read_socket): Initialize frame_or_window field.
+ (x_make_frame_visible): Don't call SetForegroundWindow
+ after x_set_offset.
+ (win32_initialize): Call AttachThreadInput at the end.
+
+ * w32fns.c (defined_color): Map color to nearest in default palette.
+ (win32_wnd_proc): Special handling for WM_CLOSE.
+
+1996-04-16 Kim Storm <storm@olicom.dk>
+
+ * msdos.c (check_timer): Removed; use gettime instead.
+ (sys_select): Call __dpmi_yield while waiting for input to
+ improve multitasking behaviour.
+ Do not check timer when no timeout.
+
+1996-04-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * buffer.c (syms_of_buffer): Doc fix.
+
+1996-04-15 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * process.c (wait_reading_process_input) [!subprocesses]:
+ Get rid of the loop around the detect_input_pending call.
+
+1996-04-14 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * process.c (wait_reading_process_input) [!subprocesses]: Handle
+ the case of READ_KBD being a cons cell. Retry the timer check
+ after a timer fired. (All of these make this definition
+ consistent with the one that supports async subprocesses.)
+
+1996-04-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (wait_reading_process_input, both definitions):
+ Use plain detect_input_pending just before the select call.
+ (wait_reading_process_input) [subprocesses]:
+ Get rid of the loop around the detect_input_pending call.
+
+ * editfns.c (Fcompare_buffer_substrings): Fix dumb bug handling
+ buffer name as second arg.
+
+ * xfns.c (x_set_frame_parameters): Get height and width from
+ FRAME_NEW_WIDTH and FRAME_NEW_HEIGHT if nonzero.
+
+1996-04-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (main) [MSDOS]: Always call tzset, not init__gettimeofday.
+
+ * editfns.c (Fformat_time_string): Doc fix.
+
+1996-04-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_char): Use detect_input_pending_run_timers
+ before redisplay, not detect_input_pending.
+ (readable_events): Don't touch timers at all if DO_TIMERS_NOW is 0.
+ (timer_check): Always run timers directly.
+ Bind inhibit-quit to t here.
+
+ * process.c (wait_reading_process_input, both definitions):
+ Don't call detect_input_pending; use detect_input_pending_run_timers.
+
+1996-04-11 Erik Naggum <erik@naggum.no>
+
+ * emacs.c (standard_args): Synchronize with startup.el.
+
+1996-04-11 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c: Include signal.h.
+ (__write) [DJGPP == 2.0]: New function, avoids
+ calling `malloc' while writing to a text file, so that buffer
+ text being written won't be relocated.
+ (abort) [DJGPP > 1]: Generate traceback, to identify the abort
+ cause.
+
+ * emacs.c (main) [DJGPP v2]: Make standard streams use binary mode.
+ Call `tzset' instead of `init_gettimeofday'.
+
+ * fileio.c [MSDOS]: If DJGPP version 2, include fcntl.h and string.h.
+
+ * lread.c [MSDOS]: If DJGPP version 2, include unistd.h.
+ Include msdos.h somewhat earlier. For X_OK.
+
+ * unexec.c [DJGPP v2]: Include fcntl.h.
+ (copy_text_and_data) [DJGPP v2]: Momentarily restore
+ the hardware exceptions table before dumping it.
+
+ * sysdep.c [DJGPP]: Declare `etext' and `start'.
+ (wait_for_termination) [DJGPP]: Do not wait for child on MS-DOS.
+ (sys_subshell): Ignore signals while sub-shell runs.
+
+ * sysdep.c [DJGPP v2] (etext, start): Declared.
+ (wait_for_termination) [DJGPP v2]: Just exit.
+
+ * s/msdos.h (DATA_START, TEXT_START, TEXT_END, _NAIVE_DOS_REGS)
+ (POSIX_SIGNALS): Define if DJGPP v2.
+ (LIBS_SYSTEM, chdir, NO_MODE_T, TEXT_START, NO_MATHERR)
+ (LOCALTIME_CACHE, tzset): Don't define if DJGPP v2.
+
+ * msdos.c [MSDOS]: If DJGPP version 2, include fcntl.h.
+ (_crt0_startup_flags): Initialize to work
+ correctly both with and without GNU `malloc' and `ralloc'.
+ (internal_terminal_init): Use only 3 bits when setting background
+ colors.
+ (init_environment): Call tzset, not init_gettimeofday.
+ (ctrl_break_vector, ctrl_break_regs): Don't define if DJGPP v2.
+ (ctrl_break_func, install_ctrl_break_check): Don't define if DJGPP v2.
+ (dos_ttraw) [DJGPP v2]: Don't call install_ctrl_break_check.
+ Call setmode at the end and exit.
+ (dos_ttcooked) [DJGPP v2]: Call setmode at the end and exit.
+ (gethostname, gettimeofday): Don't define if DJGPP v2.
+ (alarm, fork, kill, nicr, pause, sigsetask): Don't define if DJGPP v2.
+
+1996-04-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (redisplay_window): Move w->start marker before
+ running window-scroll-functions (in scroll_step case).
+
+1996-04-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * syswait.h: Remove `|| defined (LINUX)' from #if condition.
+
+ * s/lignux.h: Define HAVE_WAIT_HEADER.
+
+1996-04-11 Geoff Voelker <voelker@cs.washington.edu>
+
+ * w32fns.c (win32_color_map): Use PALETTERGB instead of RGB.
+
+ * w32term.h (BLACK_PIX_DEFAULT, WHITE_PIX_DEFAULT): Use PALETTERGB
+ instead of RGB.
+
+1996-04-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * term.c (calculate_ins_del_char_costs): Use proper frame's width.
+
+ * frame.c (make_frame_without_minibuffer): Don't change the
+ mini_window's buffer if it already displays a minibuffer.
+
+ * xfns.c (Fx_list_fonts): Handle X protocol errors.
+
+1996-04-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * minibuf.c (read_minibuf): GCPRO ambient_dir.
+
+1996-04-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.c (Fset_frame_size): Do call Fset_frame_size
+ if size is specified and there is a pending size change already.
+
+ * xfns.c (x_set_frame_parameters): Do call Fset_frame_size
+ if size is specified and there is a pending size change already.
+
+ * xterm.c: Include locale.h if HAVE_SETLOCALE.
+ (x_term_init): Restore LC_TIME as well as LC_NUMERIC.
+
+1996-04-08 Miles Bader <miles@gnu.ai.mit.edu>
+
+ * s/gnu.h (HAVE_PTYS): #undef removed.
+
+1996-04-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * config.in (HAVE_LIBNCURSES): Renamed from HAVE_NCURSES.
+ * s/lignux.h: Test HAVE_LIBNCURSES, not HAVE_NCURSES.
+
+1996-04-06 Richard Stallman <rms@lucy.gnu.ai.mit.edu>
+
+ * dispnew.c (sit_for): Call swallow_events.
+
+1996-04-05 Richard Stallman <rms@lucy.gnu.ai.mit.edu>
+
+ * s/lignux.h [HAVE_NCURSES] (LIBS_TERMCAP): New definition.
+
+ * alloc.c (garbage_collection_messages): New variable.
+ (syms_of_alloc): Set up Lisp variable.
+ (Fgarbage_collect): Variable controls whether to display messages.
+
+ * lread.c: Include locale.h.
+ (init_lread): Specify LC_NUMERIC locale.
+ * xterm.c (x_term_init): Respecify LC_NUMERIC locale.
+
+ * config.in (HAVE_SETLOCALE): Add #undef.
+
+1996-04-04 Richard Stallman <rms@lucy.gnu.ai.mit.edu>
+
+ * ralloc.c (r_alloc_check): Don't check alignment of h->start.
+
+ * minibuf.c (read_minibuf): Rearrange operations, mainly putting
+ the read_minibuf_unwind setup and the associated variable changes
+ together after saving the frame configuration.
+
+1996-04-03 Richard Stallman <rms@lucy.gnu.ai.mit.edu>
+
+ * process.c (wait_reading_process_input): Don't call
+ wait_reading_process_input_1 if time_limit is -1.
+
+1996-04-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_destroy_window): Do call XCloseIM if X11R6.
+
+1996-04-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (main): Initialize displayname.
+
+1996-03-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/lignux.h (TERMINFO): Do define (if HAVE_NCURSES).
+
+1996-03-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_destroy_window) [SOLARIS2]: Don't free the IC or IM.
+
+1996-03-28 Geoff Voelker <voelker@cs.washington.edu>
+
+ * nt.c (rename): New function.
+
+1996-03-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fileio.c (Frename_file) [WINDOWSNT]: Remove conditional code.
+
+ * keyboard.c (last_timer_event): New variable.
+ (timer_check): Set that variable.
+
+1996-03-28 Erik Naggum <erik@naggum.no>
+
+ * dispnew.c (make_frame_glyphs): Zero the correct number of bytes.
+
+ * widget.c (EmacsFrameResize): We may be called from an interrupt,
+ so delay the resize operation.
+
+1996-03-27 Geoff Voelker <voelker@cs.washington.edu>
+
+ * makefile.nt: Change uses of del to $(DEL).
+
+1996-03-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_closed): Don't check _Xdebug.
+
+1996-03-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (XTread_socket, MapNotify case):
+ Call record_asynch_buffer_change only if >1 frames.
+
+ * s/lignux.h: Renamed from s/linux.h.
+ (SYSTEM_TYPE): Changed to "lignux".
+
+ * process.c (wait_reading_process_input_1): New (empty) function.
+ (wait_reading_process_input): Call wait_reading_process_input_1.
+ If timer_check runs some timers, retry it.
+
+1996-03-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Makefile.in (xfns.o, xmenu.o, widget.o): Depend on ../lwlib/lwlib.h.
+
+ * callproc.c (Fcall_process, child_setup): If BSD_PGRPS, call
+ setpgrp the BSD way even on USG.
+
+ * s/linux.h (setpgrp): New macro.
+ (BSD_PGRPS): Defined.
+
+1996-03-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * callint.c (Fcall_interactively): In `c' case, use message_nolog
+ instead of message1_nolog.
+
+1996-03-19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * config.in (HAVE_LINUX_VERSION_H): Renamed from HAVE_VERSION_H.
+ * s/linux.h: Test HAVE_LINUX_VERSION_H, not HAVE_VERSION_H.
+
+1996-03-17 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * process.c (wait_reading_process_input): Eliminate bogus test
+ that was trying to check read_kbd and failing.
+
+1996-03-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (X_I18N_INHIBITED): New macro--define this
+ instead of undefining HAVE_X_I18N.
+ (x_window) [HAVE_X_I18N]: Set FRAME_XIM.
+ [X_I18N_INHIBITED]: Set FRAME_XIM and FRAME_XIC to 0.
+
+ * xterm.c (x_destroy_window) [HAVE_X_I18N]: Free xic and xim of frame.
+
+ * xterm.h (struct x_output): New member xim.
+ (FRAME_XIM): New macro.
+
+1996-03-16 Geoff Voelker <voelker@cs.washington.edu>
+
+ * unexnt.c (WinMain): Allocate a console for stdout
+ and stderr if necessary.
+
+ * w32fns.c (Vwin32_pass_alt_to_system,
+ Vwin32_pass_optional_keys_to_system): New variables.
+ (reset_modifiers, map_keypad_keys): New functions.
+ (win32_wnd_proc): Fixup keypad function keys.
+ Handle the three new keys on Windows keyboards.
+ Reset internal keyboard modifier state upon window focus.
+
+ * w32term.h (VK_NUMPAD_*, VK_LWIN, VK_RWIN, VK_APPS):
+ Define virtual keys for the numpad functions and the three
+ new keys on Windows keyboards.
+
+1996-03-14 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * s/aix3-2.h (X11R5_INHIBIT_I18N): Definition moved here.
+ * s/aix3-2-5.h (X11R5_INHIBIT_I18N): Definition moved to aix3-2.h.
+
+ * s/irix5-2.h (NEED_LIBW): Defined.
+
+1996-03-13 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * widget.c (update_from_various_frame_slots)
+ (update_various_frame_slots): Take account of menubar_height.
+
+ * s/linux.h (LINUX_SIGIO_DOES_WORK): Define only if HAVE_VERSION_H.
+
+ * config.in (HAVE_VERSION_H): Add #undef.
+
+1996-03-11 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * process.c (wait_reading_process_input) [! subprocesses]: Run
+ timers and redisplay if they were run, like the code for systems
+ which support subprocesses does.
+
+1996-03-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/linux.h (TERMINFO): Don't define this.
+
+ * process.c [!subprocesses] (wait_reading_process_input):
+ Port the timer changes from the other wait_reading_process_input.
+
+1996-03-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_calc_absolute_position): Don't explicitly subtract
+ the external menu bar height--PIXEL_HEIGHT (f) includes that.
+
+1996-03-08 Bill Mann <dvmann@dvaix19.praxisint.com>
+
+ * m/ibmrs6000.h (LD_SWITCH_MACHINE): Undo previous change--
+ define this unconditionally.
+ (LD_SWITCH_SITE): New conditional definition.
+ For gcc 2.7.x, use /bin/ld instead of collect2,
+
+1996-03-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (main) [! HAVE_NTGUI]: Don't call syms_of_xmenu.
+
+1996-03-07 Bill Mann <dvmann@dvaix19.praxisint.com>
+
+ * unexaix.c (write_segment,copy_sym): Increase blocking from
+ 128 to 4k bytes.
+ (adjust_lnnoptrs): Handle include file names, mostly for dbx.
+ (unrelocate_symbols): Remove some unnecessary tests.
+
+1996-03-07 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * Makefile.in (MSDOS_OBJ): Remove xmenu.o.
+
+ * msdos.c (check_timer): Remove code for dos-display-time.
+ (syms_of_msdos): Delete dos-display-time Lisp var.
+
+1996-03-07 Bill Mann <dvmann@dvaix19.praxisint.com>
+
+ * unexaix.c: Handle both AIX 3.2 and 4.1 bind output.
+ (make_hdr): Handle data_start being non-zero for 4.1. Padding
+ sections are omitted in 4.1, but padding bytes can still be
+ present. Calculate bias directly from first real section
+ following bss.
+ (copy_text_and_data): Correct data section starting point for 4.1.
+ (adjust_lnnoptrs): Adjust line number pointers correctly for both
+ 3.2 and 4.1, based on published IBM documentation.
+ (unrelocate_symbols): Compute and subtract relocation offsets for
+ text and data sections. Handle data_start being non-zero for 4.1.
+ Skip unnecessary writes.
+
+1996-03-06 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * sysdep.c (init_sys_modes): Clear INLCR like ICRNL.
+
+ * widget.c (pixel_to_char_size): Cast args to int.
+
+1996-03-05 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * alloc.c (struct string_block_head): Change to match string_block.
+
+1996-03-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (wait_reading_process_input):
+ Redisplay after timer_check if timers were actually run.
+
+ * keyboard.c (timers_run): New variable, incremented when a timer is
+ run directly.
+ (timer_check, swallow_events): Increment timers_run.
+ (swallow_events): Redisplay if get_input_pending has run timers.
+ (detect_input_pending_run_timers): New arg DO_DISPLAY.
+
+ * dispnew.c (sit_for): Pass DISPLAY to detect_input_pending_run_timers.
+
+ * process.c (wait_reading_process_input):
+ Pass DO_DISPLAY to detect_input_pending_run_timers.
+
+1996-03-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (Fopen_network_stream):
+ Set immediate_quit around gethostbyname.
+
+ * dispnew.c (sit_for): Use detect_input_pending_run_timers.
+
+ * xfns.c [AIX] [HAVE_X11R5] (XIMStatusNothing): Definition deleted.
+
+ * config.in (HAVE_NCURSES): Add #undef.
+ * s/linux.h (TERMINFO): Define, if HAVE_NCURSES.
+
+1996-03-03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * data.c (Fkill_local_variable): Call find_symbol_value directly,
+ not via Fsymbol_value, to avoid getting void-variable error.
+
+1996-03-03 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_closed): Don't unblock input until the end.
+
+ * s/linux.h (LINUX_SIGIO_DOES_WORK): Maybe define, based on Linux vers.
+ [LINUX_SIGIO_DOES_WORK]: Don't undef SIGIO, SIGPOLL, SIGPOLL.
+ Do define INTERRUPT_INPUT.
+
+ * keyboard.c (init_keyboard): Initialize timer_idleness_start_time.
+
+ * Makefile.in (obj): Add xmenu.o.
+ (XOBJ): Delete xmenu.o.
+ * emacs.c (main): Always call syms_of_xmenu.
+ * xmenu.c: Put most of file into HAVE_MENUS conditional.
+ (Fx_popup_menu): Put parts into HAVE_MENUS conditionals.
+
+ * process.c (wait_reading_process_input):
+ Use getpid when generating SIGIO.
+
+ * keyboard.c (reinvoke_input_signal): Use getpid.
+
+1996-03-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (input_poll_signal): Use start_polling
+ after first incrementing poll_suppress_count.
+
+1996-03-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c [X_CONNECTION_LOCK_FLAG] (abort, exit): New definitions.
+
+ * keymap.c (Fuse_global_map, Fuse_local_map):
+ Don't call record_asynch_buffer_change.
+
+1996-02-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/aix3-2.h: Avoid the #pragma alloca on AIX 4.
+
+ * s/aix4-1.h (REL_ALLOC): #undef deleted.
+
+1996-02-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c [AIX] [HAVE_X11R5] (XIMStatusNothing): Defined.
+
+ * keyboard.c (timer_check): Walk down both timer lists in parallel.
+
+1996-02-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (Fcommand_execute): New arg SPECIAL.
+ All callers changed.
+
+ * xterm.c (X_CONNECTION_LOCK_FLAG): New macro.
+ (x_connection_close_if_hung): New subroutine, at the end of the file.
+ Include X11/Xlibint.h only for this function.
+ #undef bcopy, bzero, bcmp, min, max first.
+ Define malloc and free to avoid type conflicts.
+ (x_connection_signal): Use x_connection_close_if_hung.
+
+ * doprnt.c (doprnt1): Move cast to unsigned inside a shift.
+
+1996-02-26 enami tsugutomo <enami@ba2.so-net.or.jp>
+
+ * xdisp.c (redisplay_window): Pass preserve_echo_area as a missing
+ second argument of redisplay_windows.
+
+1996-02-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * minibuf.c (read_minibuf):
+ Bind inhibit-read-only to t around clearing the minibuffer.
+ (read_minibuf_unwind): Likewise. Also, clearing the buffer
+ is now the last thing we do.
+
+ * keyboard.c (command_loop_1): Explicitly clear the echo area
+ with message2; don't just clear echo_area_glyphs.
+ Don't set no_direct in that case.
+
+ * lisp.h (Qinhibit_read_only): Declared.
+
+ * xterm.c (x_set_window_size): Clear out the mouse-highlighting data
+ if it applies to this frame.
+ Clear out the frame cursor position in Xt version as in Xlib version.
+
+1996-02-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fileio.c (Fexpand_file_name): Fix confusion in detecting
+ that default_directory is already absolute so need not be expanded.
+
+ * syntax.c (Fcopy_syntax_table): Set default to nil.
+ Set the parent only if it was nil.
+
+ * xterm.c (x_update_cursor): If no previous cursor position is known,
+ leave the cursor off.
+
+1996-02-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (redisplay_internal): Renamed from redisplay.
+ New arg PRESERVE_ECHO_AREA.
+ (redisplay): New wrapper function calls redisplay_internal.
+ (redisplay_window, redisplay_windows): New arg PRESERVE_ECHO_AREA.
+
+1996-02-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (Fopen_network_stream): Set immediate_quit for the connect.
+
+1996-02-22 Erik Naggum <erik@naggum.no>
+
+ * dispnew.c (Fsleep_for): Accept sub-second intervals.
+
+1996-02-21 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * xdisp.c (redisplay_window): If window-scroll-functions change
+ the start position, redisplay from the new one.
+
+ * xfns.c (defined_color): When we find a "near" color in the map,
+ make sure it is really available as a read-only color.
+
+ * process.c (wait_reading_process_input):
+ Pass new arg to swallow_events.
+
+ * process.c (wait_reading_process_input): If read_kbd is 1,
+ use detect_input_pending_run_timers instead of detect_input_pending.
+
+ * keyboard.c (swallow_events): New arg DO_DISPLAY.
+
+ * keyboard.c (swallow_events): Process timer_event events here.
+ (detect_input_pending_run_timers): New function.
+
+ * keyboard.c (Vtimer_idle_list): New variable.
+ (syms_of_keyboard): Set up Lisp var.
+ (timer_check): Check for idle-time timers too.
+ Expect timers to have 8 slots. Initialize triggertime.
+ (timer_start_idle, timer_stop_idle): New functions.
+
+ * keyboard.c (get_input_pending): New arg do_timers_now.
+ (readable_events): Likewise.
+ (Finput_pending_p): Use get_input_pending, so we can specify
+ 1 for do_timers_now.
+
+ * fns.c (map_char_table): Fix args in recursive call.
+
+ * s/netbsd.h (vfork): Delete definition (kernel bug fixed).
+
+ * fileio.c (Fdo_auto_save): Pause before restoring old message.
+
+ * s/aix4-1.h (C_DEBUG_SWITCH) [not __GNUC__]: New definition.
+ (C_OPTIMIZE_SWITCH) [not __GNUC__]: Add #undef.
+ (X11R5_INHIBIT_I18N): #undef deleted.
+
+ * s/aix4-1.h (REL_ALLOC): Add #undef.
+
+1996-02-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * keyboard.c (timer_check): Check for difference being zero.
+
+1996-02-21 Erik Naggum <erik@naggum.no>
+
+ * process.c (Faccept_process_output): Accept sub-second timeouts.
+
+1996-02-20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * eval.c (init_eval_once): Initialize specpdl_ptr.
+
+1996-02-19 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * xfns.c (Fx_create_frame): Title is a string, not a symbol.
+
+1996-02-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * unexelf.c: Use <config.h>, not "config.h".
+
+1996-02-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * doc.c (get_doc_string): Move static vars outside the function,
+ and rename to get_doc_string_buffer and get_doc_string_buffer_size.
+
+1996-02-16 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * keyboard.c (syms_of_keyboard): Doc fix.
+ (Fopen_dribble_file): Check for failure.
+
+1996-02-16 enami tsugutomo <enami@ba2.so-net.or.jp>
+
+ * keyboard.c (Fopen_dribble_file): Close dribble file before
+ opening new file.
+
+1996-02-15 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * fileio.c (Fmake_temp_name) [MSDOS]: Make sure there is at least
+ one character before the dot, in case `prefix' is only a directory
+ name.
+
+1996-02-13 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * xfns.c (x_real_positions): Cast arg of XFree.
+
+1996-02-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_error_quitter): Add newline to error message.
+
+ * xmenu.c (xmalloc_widget_value): Define only if USE_X_TOOLKIT.
+
+1996-02-12 Erik Naggum <erik@naggum.no>
+
+ * doc.c (get_doc_string): Always read entire disk blocks.
+
+1996-02-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c [HAVE_NTGUI] (lispy_function_keys): Add mappings
+ for keypad function keys and new PC optional keys.
+
+ * xmenu.c (xmalloc_widget_value): Fix previous change.
+
+ * xdisp.c (redisplay) [USE_X_TOOLKIT]: Do nothing if popup_activated.
+
+ * xmenu.c (xmalloc_widget_value): New function.
+ Use it instead of malloc_widget_value.
+
+1996-02-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * textprop.c (Fadd_text_properties): Don't return without ungcpro.
+
+1996-02-10 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * window.c (display_buffer_1): Fix typo in last change.
+
+1996-02-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * window.c (display_buffer_1): Raise the frame if already visible.
+
+1996-02-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_char, timer_check): Call any_kboard_state
+ after calling Fcommand_execute, if was previously in that state.
+
+1996-02-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * dired.c (Fdirectory_files): Doc fix.
+
+ * process.c (Fopen_network_stream): Use sizeof, not strlen,
+ for numeric_addr.
+
+1996-02-08 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * fileio.c (Fmake_temp_name) [MS-DOS]: Allow upto 8 characters in
+ the prefix of the temporary file name.
+
+1996-02-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (remove_process): Don't unlink the process marker.
+
+ * m/paragon.h (LIB_STANDARD): Add -lmach.
+ (LD_DATA_START): Definition deleted.
+ (LD_SWITCH_SYSTEM): Definition and #undef deleted.
+
+1996-02-06 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * buffer.c (Fbuffer_live_p): New function.
+ (syms_of_buffer): defsubr it.
+
+ * xterm.c (min, max): Don't define if already defined.
+
+ * xfns.c (x_real_positions): Use XFree.
+
+ * Makefile.in (emacs.o): Depend on blockinput.h.
+ * emacs.c: Include blockinput.h.
+
+1996-02-06 Kevin Gallo <kgallo@microsoft.com>
+
+ * w32term.h (FONT_WIDTH): Use average character width, not maximum.
+
+1996-02-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (fatal_error_signal): Do TOTALLY_UNBLOCK_INPUT.
+
+1996-02-05 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * process.c (sigchld_handler): Use cleaner end-of-list test.
+
+1996-02-04 Paul Eggert <eggert@twinsun.com>
+
+ * s/sol2-4.h (LIB_X11_LIB): Remove; this undoes the Jan 31 change,
+ which didn't fix the Solaris linking problem. The problem was
+ fixed instead by the Feb 1 change to ../configure.in.
+
+1996-02-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fns.c (syms_of_fns): Set yes-or-no-p-history to nil.
+
+ * s/netbsd.h, s/freebsd.h (vfork): Define as fork.
+
+ * lread.c (Fread_char_exclusive): Doc fix.
+
+1996-02-03 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (x_frame_parms): Add "title" element.
+ (x_set_title): New function.
+ (x_set_name): Let title parm override name parm for title use.
+ (x_set_icon_name): Use title parm before name parm, if no icon_name.
+
+ * Properly undo the way deletion affects markers.
+ * undo.c (record_marker_adjustment): New function.
+ (Fprimitive_undo): Handle marker-adjustment elements.
+ * insdel.c (adjust_markers): When a marker is inside text
+ being deleted, call record_marker_adjustment for it.
+ (del_range_1): Call adjust_markers before record_delete.
+ * buffer.c (syms_of_buffer): Doc fix.
+
+1996-02-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_signal): Call x_connection_closed properly.
+ (x_connection_closed): Set FRAME_X_DISPLAY to 0.
+ (x_destroy_window): Don't do any X operations if FRAME_X_DISPLAY is 0.
+
+1996-02-02 Darrin B. Jewell <jewell@mit.edu>
+
+ * lisp.h (VECSIZE): Round up when dividing.
+
+1996-02-01 Geoff Voelker <voelker@cs.washington.edu>
+
+ * w32xfns.c (prepend_msg): New function.
+
+ * w32fns.c (modifiers, modifier_key_support_tested,
+ modifiers_recorded): New variables.
+ (EMACS_LCONTROL, EMACS_RCONTROL, EMACS_LMENU,
+ EMACS_RMENU): New macros.
+ (test_modifier_support, record_keydown, record_keyup,
+ modifier_set, construct_modifiers): New functions.
+ (win32_wnd_proc): Monitor modifier keyup and keydown messages.
+ Map window modifiers into console modifiers to unify input.
+
+ (x_create_frame): Use the FixedSys font as the default font.
+ (x_to_win32_font): For now, always use ANSI_CHARSET.
+
+ * w32term.c (convert_to_key_event, is_dead_key): New functions.
+ (w32_read-socket): Convert console modifiers to Emacs modifiers.
+ Use console input routines to unify keyboard support.
+ (x_make_frame_visible): Make frame foreground window.
+
+ * ntinevt.c (win32_kbd_mods_to_emacs, win32_kbd_patch_key,
+ key_event): Convert from static to global functions.
+ (win32_kbd_patch_key): Set modifiers when AltGr is pressed.
+ (key_event): Don't modify key code on window input.
+
+1996-02-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_char_minibuf_menu_prompt): Use malloc to allocate
+ the echo-area prompt buffer.
+ (read_char_minibuf_menu_text, read_char_minibuf_menu_width):
+ New variables.
+
+1996-02-01 enami tsugutomo <enami@ba2.so-net.or.jp>
+
+ * dispnew.c (update_frame): Compare FRAME_MINIBUF_WINDOW(f)
+ against with not minibuf_window but echo_area_window.
+
+1996-02-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_term_init): Use "" as 2nd arg to setlocale.
+
+ * process.c (wait_reading_process_input): If select times out,
+ return only if we had no timers to shorten the wait.
+ Don't shorten the wait for timers if time_limit is -1.
+
+ * syssignal.h [POSIX_SIGNALS] (sigsetmask):
+ Don't define if already defined.
+
+ * keyboard.c (echo_now): Renamed from `echo'. All callers changed.
+
+1996-01-31 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * process.h (synch_process_death, synch_process_retcode): Delete
+ extra declaration.
+
+1996-01-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/sol2-4.h (LIB_X11_LIB): New definition.
+
+1996-01-30 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * s/isc2-2.h (HAVE_SOCKETS): Moved here from s/isc4-1.h.
+ (NO_SOCKETS_IN_FILE_SYSTEM, NEED_NET_ERRNO_H): Likewise.
+ (LIBS_SYSTEM): Use -linet unconditionally.
+ * s/isc4-1.h (HAVE_SOCKETS): Moved to s/isc2-2.h.
+ (NO_SOCKETS_IN_FILE_SYSTEM, NEED_NET_ERRNO_H): Likewise.
+ * s/isc4-0.h (LIBS_SYSTEM): Use -linet unconditionally.
+
+1996-01-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * window.c (Fset_window_buffer): Set buffer temporarily around running
+ the window-scroll-functions.
+ (Fset_window_buffer_unwind): New function.
+ (window_initialized): New variable.
+ (init_window_once): Set it.
+
+ * callproc.c (child_setup): Fix size in write call.
+
+1996-01-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fns.c (Qcursor_in_echo_area): New variable.
+ (syms_of_fns): Set up Lisp var.
+ (Fy_or_n_p): Bind Qcursor_in_echo_area in case of nonlocal exit.
+
+ * keyboard.c (make_lispy_event): Timer event is a list, not just cons.
+ (timer_check): When DO_IT_NOW is true, handle events by running
+ the definition of timer-event. Don't get the current time if there
+ are no pending timers. If an event was generated, return 0,
+ If all timers were handled, return -1. Add gcpros.
+
+ * xterm.c (x_connection_signal): Don't stop polling.
+ Don't mess with SIGALRM.
+ Those were relics of the superseded Dec 19 change.
+
+ * process.c (wait_reading_process_input): Don't exit immediately
+ if select returns due to timeout--loop around to check time left.
+
+ * keyboard.c (readable_events): Tell timer_check to execute events.
+
+1996-01-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (timer_check): Return an EMACS_TIME.
+ (read_char, kbd_buffer_get_event): Calls changed accordingly.
+
+ * process.c (wait_reading_process_input): Call timer_check
+ and shorten the inner delay if appropriate.
+
+1996-01-28 Morten Welinder <terra@diku.dk>
+
+ * termhooks.h (event_kind): New event type: timer_event.
+
+ * keyboard.c (Qtimer_event): New symbol.
+ (read_char, kbd_buffer_get_event): Don't sleep past the next timer.
+ (readable_events, kbd_buffer_get_event): Check for timer events.
+ (make_lispy_event): Handle timer events.
+ (timer_check): New function.
+ (Vtimer_list): New variable.
+ (syms_of_keyboard): Set up Qtimer_event and Vtimer_list.
+
+1996-01-28 enami tsugutomo <enami@ba2.so-net.or.jp>
+
+ * process.c (create_process): Set outchannel to be non-blocking.
+
+1996-01-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (x_frame_parms): Alphabetize.
+ (enum x_frame_parm): Data type deleted.
+
+ * xterm.c (XTframe_raise_lower): Rename arg `raise' to `raise_flag'.
+
+1996-01-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (sort_args): Error if option is missing an arg.
+
+ * editfns.c (syms_of_editfns): Make buffer-access-fontify-functions
+ locally nil in the prin1 buffer.
+
+ * fns.c (Fy_or_n_p): Call choose_minibuf_frame.
+
+ * editfns.c (Fcompare_buffer_substrings): Access case_canon_table
+ as a char_table.
+
+1996-01-27 enami tsugutomo <enami@ba2.so-net.or.jp>
+
+ * sysdep.c (child_setup_tty): Turn off ISTRIP to pass 8bit. Turn
+ off TAB3 do don't expand tabs.
+
+1996-01-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * minibuf.c (Fset_minibuffer_window): New function.
+ (keys_of_minibuf): defsubr it.
+
+ * cmds.c (Fdelete_backward_char): In overwrite mode,
+ insert spaces, unless we deleted a tab.
+
+1996-01-26 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c (dos_rawgetc): Allow simulation of `Mouse-3' by
+ simultaneous click/drag of `Mouse-1' and `Mouse-2'.
+
+1996-01-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xselect.c (xfree): Macro deleted.
+ Callers changed to use `free' directly.
+
+ * xselect.c (x_get_window_property_as_lisp_data): Use xfree, not XFree.
+ (x_get_window_property): Use XFree for tmp_data.
+
+1996-01-25 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * dosfns.c (mode25, mode4350): Moved to `lisp/dos-fns.el'.
+
+ * msdos.c (dos_set_window_size): Make the window size change
+ faster for standard sizes. Fix a bug in v2-specific code to
+ change window size.
+
+1996-01-24 Geoff Voelker <voelker@cs.washington.edu>
+
+ * w32fns.c, w32reg.c, w32term.c, w32term.h, w32xfns.c:
+ Latest patches backed out.
+
+1996-01-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * termhooks.h (struct input_event): New field `padding'.
+ Change `kind' field to an int.
+
+1996-01-24 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c (dos_set_window_size): New function; switches the screen
+ to the size as close as possible to requested frame dimensions.
+
+ * msdos.h: (dos_set_window_size): Prototype for a new function.
+
+ * dispnew.c (change_frame_size_1) [MSDOS]: Support frame size
+ changing as best as possible.
+
+1996-01-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Makefile.in (xmenu.o): Depend on termhooks.h.
+
+1996-01-24 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * process.c (wait_reading_process_input) [not subprocesses]: Do
+ not assume SELECT_TYPE is an int.
+
+ * msdos.c (sys_select): Use time macros to prevent time values
+ from overflowing.
+
+1996-01-23 Geoff Voelker <voelker@cs.washington.edu>
+
+ * xdisp.c (update_menu_bar, redisplay_window): Use FRAME_WINDOW_P
+ instead of only testing for X11.
+
+1996-01-23 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * m/mips-siemens.h (UNEXEC): unexsni.o renamed from unexelfsni.o.
+ * m/iris5d.h (UNEXEC): unexsgi.o renamed from unexelfsgi.o.
+ * m/iris4d.h [USG5_4] (UNEXEC): Likewise.
+
+ * config.in (LOCALTIME_CACHE): Delete extra #undef.
+
+1996-01-23 Felix Lee <flee@teleport.com>
+
+ * data.c (kill-local-variable): Didn't update the value of
+ forwarded objects.
+
+ * xdisp.c (mark_window_display_accurate): buffer->clip_changed was
+ being inappropriately cleared.
+
+1996-01-23 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * syssignal.h (sigblock): Delete this, undoing previous change.
+ * msdos.c (sigblock): New (dummy) function.
+
+1996-01-22 Simon Marshall <simon@duality.gnu.ai.mit.edu>
+
+ * editfns.c (syms_of_editfns): Correct spelling of Lisp variable
+ buffer-access-fontified-property.
+
+1996-01-20 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * unexelf.c (unexec): Undo data relocations unconditionally, not
+ #ifdef SOLARIS2.
+
+1996-01-20 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * syssignal.h [__DJGPP__] (sigblock): Define trivially.
+
+1996-01-20 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * w32term.c (x_make_frame_visible): Explicitly make the frame
+ the selected frame.
+
+1996-01-20 Andrew Innes <andrewi@harlequin.co.uk>
+
+ * w32xfns.c: Include frame.h.
+ (critsect, h_input_available): New variables.
+ (init_crit, delete_crit): Handle all three critical sections.
+ (GetFrameDC, ReleaseFrameDC): New functions.
+ (get_next_msg, post_msg): Use h_input_available.
+ Use CRIT_MSG critical section.
+
+ * w32term.h (win32_palette_entry): New structure.
+ (has_palette, p_colors_in_use, n_colors_in_use, h_palette,
+ regen_palette): Declare variables.
+ (struct win32_output): New field.
+ (my_get_dc): Macro removed.
+ (GetFrameDC, ReleaseFrameDC): Declare functions.
+
+ (critsect): Declare variable.
+ (enum win32_critical_section): New enumeration.
+ (enter_crit, leave_crit): Functions converted to macros.
+
+ * w32term.c (win32_fill_rect): Remove unused variable.
+ (x_iconify_frame): Conform to coding style.
+ (x_draw_box): Don't trim right and bottom.
+ (x_wm_set_size_hint): Use specific CRIT_MSG critical section.
+
+ (win32_fill_rect, dumpglyphs, do_line_dance, x_draw_box):
+ Use Get/ReleaseFrameDC.
+ (win32_update_begin): Regenerate palette if required.
+ (w32_read_socket): Use FALSE. Handle WM_PALETTECHANGED.
+ (win32_term_init): Use GetDC directly.
+ Enable palette in display structure.
+ Predefine white and black.
+ (x_delete_display): Free palette table.
+
+ * w32reg.c (REG_ROOT): Don't use trailing backslash.
+
+ * w32fns.c (Vwin32_enable_italics, Vwin32_enable_palette):
+ New variables.
+ (syms_of_win32fns): Set up new lisp variables.
+
+ (x_set_frame_parameters, x_real_positions, win32_load_font,
+ win32_abort): Conform to coding style.
+
+ (Fwin32_define_rgb_color, Fwin32_load_color_file, Fwin32_map_color,
+ Fwin32_unmap_color, Fwin32_regenerate_palette): New functions.
+ (syms_of_win32fns): Set up new lisp subroutines.
+ (defined_color): Use palettes.
+ (map_mode): Function removed.
+
+ (win32_init_class): Don't CS_OWNDC.
+ (win32_wnd_proc): Use segregated critical sections appropriately.
+ Handle WM_PALETTECHANGED.
+ Record WINDOWPLACEMENT structure length.
+
+ (x_to_win32_weight, win32_to_x_weight): Handle "heavy", "extrabold",
+ "light", "extralight", and "thin" fonts.
+ (x_to_win32_charset, win32_to_x_charset): New functions.
+ (win32_to_x_font): Use win32_to_x_charset.
+ (x_to_win32_font): Use x_to_win32_charset.
+ Support Windows font names.
+
+ (Fx_list_fonts, Fx_display_color_cells, Fx_display_mm_height.
+ Fx_display_mm_width): Use GetDC directly.
+
+ (Fx_open_connection): Support external color mapping files.
+
+1996-01-20 Geoff Voelker <voelker@cs.washington.edu>
+
+ * ntterm.c (clear_frame): Use FillConsoleOutput* calls instead of
+ ScrollConsoleScreenBuffer (which has a bug on Windows 95).
+
+ * ntinevt.c (WIN32_KEY_SHIFTED): Macro undefined.
+ (win32_number_shift_map): Array undefined.
+ (win32_kbd_patch_key): Properly handle virtual keys for
+ arbitrary keyboards.
+ (map_virt_key, key_event, win32_mouse_position, do_mouse_event,
+ win32_read_socket): Support for MULE.
+
+ * nt.c (nt_stat): Use alloca instead of xmalloc.
+ (get_unassigned_drive_letter, is_toplevel_share_name,
+ stat_toplevel_share): New functions for stat on remote shares.
+ (readdir): Use IS_ANY_SEP.
+
+ * makefile.nt (keyboard.obj, dispnew.obj): Depend upon w32term.h.
+ (LIBS): Link with mpr.lib for remote share support.
+
+1996-01-20 Paul Eggert <eggert@twinsun.com>
+
+ * editfns.c (Fformat_time_string): Doc fix.
+ Don't crash if the resulting string is empty.
+
+1996-01-19 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * buffer.c (Fother_buffer): If we have to create a new buffer, use
+ default-major-mode.
+
+1996-01-19 Erik Naggum <erik@naggum.no>
+
+ * frame.c (make_frame): Initialize frame title field to nil.
+
+1996-01-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * alloc.c (mark_object): Mark frame title field.
+
+1996-01-22 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * xterm.c [SOLARIS2]: Include Xlibint.h.
+ (x_connection_signal): Access XlibDisplayWriting properly.
+ No need to sleep--if the flag is set, assume connection is dead.
+
+1996-01-21 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * lisp.h (XCAR, XCDR, CAR, CDR): New macros.
+
+ * xmenu.c (set_frame_menubar):
+ Use safe_run_hooks for Qmenu_bar_update_hook.
+
+ * xdisp.c (update_menu_bar):
+ Use safe_run_hooks for Qmenu_bar_update_hook.
+
+ * lread.c (syms_of_lread): Set Vsource_directory here.
+ (init_lread): Not here.
+
+ * macros.c (Fstart_kbd_macro): Use xmalloc.
+ Shrink the kbd macro buffer if it is very big.
+
+ * lisp.h (make_number): New macro definition.
+ * data.c (make_number): Function deleted.
+
+1996-01-20 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * keymap.c (Faccessible_keymaps): Doc fix.
+
+1996-01-19 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * keymap.c (describe_command): Sometimes use col 32 for desc.
+ Record that col in previous_description_column for hysteresis.
+ (describe_map): Clear out previous_description_column.
+
+1996-01-19 enami tsugutomo <enami@sys.ptg.sony.co.jp>
+
+ * frame.c (make_frame): Initialize title parameter to Qnil.
+
+1996-01-18 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_signal): Explicitly check the thread interlock
+ on Solaris.
+
+1996-01-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (safe_run_hooks): Use Qt, not Qerror, to avoid
+ running the debugger.
+
+ * eval.c (run_hook_with_args): Do nothing if Vrun_hooks is nil.
+
+ * xfns.c (Qtitle): Declared.
+ (Fx_create_frame): Initialize title parameter.
+ Don't use the title resource to initialize the name parameter.
+
+ * frame.c (syms_of_frame_1): Initialize Qtitle.
+
+ * xdisp.c (decode_mode_spec, case 'F'): Use `title' field.
+
+ * frame.h (struct frame): New field `title'.
+
+1996-01-17 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * window.c (replace_buffer_in_all_windows): Don't change selected
+ window, even temporarily; that has undesirable side effects.
+
+1996-01-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (dump_environ): Variable deleted.
+ (main): Don't free dump_environ.
+ (Fdump_emacs): Don't set dump_environ.
+ (environ): Declare only on VMS, as before.
+
+1996-01-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/aix4-1.h (X11R5_INHIBIT_I18N): Add undef.
+ (LIB_MOTIF): Undef before defining.
+
+1996-01-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * window.c (display_buffer_1): Don't deiconify the selected frame.
+
+1996-01-14 Paul Eggert <eggert@twinsun.com>
+
+ * emacs.c (Fdump_emacs): If HAVE_TZSET and not
+ LOCALTIME_CACHE, call tzset to force a tz reload.
+
+1996-01-13 eggert <eggert@twinsun.com>
+
+ * emacs.c (set_time_zone_rule): New decl.
+ (environ): Always declare.
+ (dump_tz, dump_environ): New vars.
+ (main): Change TZ twice if the execution TZ happens to be the same as
+ the dump TZ. Free dump environ.
+ (Fdump_emacs): Set TZ to unlikely value just before dumping.
+ * editfns.c (set_time_zone_rule): Now extern, not static.
+ * config.in (HAVE_TZSET): Add #undef.
+
+1996-01-12 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * Makefile.in ($(OLDXMENU) rules): Fix conditionals so no rules
+ are defined when !HAVE_MENUS.
+
+1996-01-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * msdos.c (dos_rawgetc): Make buf longer.
+
+1996-01-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (redisplay_window): Fix minor bug in Fset_marker call.
+
+ * s/aix3-2-5.h (LIB_MOTIF): New macro definition.
+
+1996-01-10 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * window.c (Fset_window_buffer): Call the window-scroll-functions.
+
+1996-01-08 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * keymap.c (Fapropos_internal): Fix previous change.
+ * abbrev.c (Fdefine_abbrev_table): Fix previous change.
+ * fns.c (Fset_char_table_parent): Fix previous change.
+ * data.c (Flognot): Fix previous change.
+ * macros.c (Fexecute_kbd_macro): Fix previous change.
+
+1996-01-08 Erik Naggum <erik@naggum.no>
+
+ * abbrev.c (Fdefine_global_abbrev, Fdefine_mode_abbrev,
+ Fabbrev_symbol, Finsert_abbrev_table_description,
+ Fdefine_abbrev_table): Harmonize arguments with documentation.
+
+ * alloc.c (Fmake_symbol): Harmonize arguments with documentation.
+
+ * buffer.c (Fmake_indirect_buffer, Fset_buffer_major_mode,
+ Fpop_to_buffer, Fbury_buffer, Foverlay_get): Harmonize arguments
+ with documentation.
+
+ * bytecode.c (Fbyte_code): Harmonize arguments with documentation.
+
+ * callint.c (Fcall_interactively, Fprefix_numeric_value): Harmonize
+ arguments with documentation.
+
+ * casefiddle.c (Fupcase_region, Fdowncase_region,
+ Fcapitalize_region, Fupcase_initials_region): Harmonize arguments
+ with documentation.
+
+ * casetab.c (Fcase_table_p): Harmonize arguments with
+ documentation.
+
+ * cmds.c (Fforward_line, Fbeginning_of_line, Fend_of_line,
+ Fdelete_char, Fdelete_backward_char): Harmonize arguments with
+ documentation.
+
+ * data.c (Fboundp, Ffboundp, Fmakunbound, Ffmakunbound,
+ Fsymbol_plist, Fsymbol_name, Ffset, Fdefalias, Fdefine_function,
+ Fsetplist, store_symval_forwarding, swap_in_symval_forwarding,
+ find_symbol_value, Fsymbol_value, Fset, default_value,
+ Fdefault_boundp, Fdefault_value, Fset_default, Fsetq_default,
+ Fmake_variable_buffer_local, Fmake_local_variable,
+ Fkill_local_variable, Flocal_variable_p, Flocal_variable_if_set_p,
+ Faref, Faset, Fzerop, Fnumber_to_string, Fstring_to_number, Frem,
+ Fmod, Fadd1, Fsub1, Flognot): Harmonize arguments with
+ documentation.
+
+ * dired.c (Fdirectory_files, Ffile_name_completion,
+ Ffile_name_all_completions, Ffile_name_all_versions): Harmonize
+ arguments with documentation.
+
+ * dispnew.c (Fsend_string_to_terminal, Fsit_for): Harmonize
+ arguments with documentation.
+
+ * doc.c (Fdocumentation, Fdocumentation_property,
+ Fsubstitute_command_keys): Harmonize arguments with documentation.
+
+ * dosfns.c (Fint86, Fdos_memget, Fdos_memput, Fmsdos_set_keyboard):
+ Harmonize arguments with documentation.
+
+ * editfns.c (Fchar_to_string, Fstring_to_char, Fgoto_char,
+ Fencode_time, Finsert_char, Fbuffer_substring,
+ Fbuffer_substring_no_properties, Finsert_buffer_substring,
+ Fdelete_region, Fnarrow_to_region): Harmonize arguments with
+ documentation.
+ (Fformat_time_string): Allow TIME to default to current time.
+
+ * emacs.c (Fdump_emacs_data, Fdump_emacs): Harmonize arguments with
+ documentation.
+
+ * eval.c (Fmacroexpand, Fthrow, Fbacktrace_frame): Harmonize
+ arguments with documentation.
+
+ * fileio.c (Ffile_name_directory, Ffile_name_nondirectory,
+ Ffile_name_as_directory, Fdirectory_file_name, Fexpand_file_name,
+ Fsubstitute_in_file_name, Fcopy_file, Fmake_directory_internal,
+ Fdelete_directory, Fdelete_file, Frename_file, Fadd_name_to_file,
+ Fdefine_logical_name, Ffile_modes, Fset_file_modes,
+ Fset_default_file_modes, Fdo_auto_save, Fread_file_name): Harmonize
+ arguments with documentation.
+
+ * filelock.c (Flock_buffer, Ffile_locked_p): Harmonize arguments
+ with documentation.
+
+ * floatfns.c (Fbessel_jn, Fbessel_yn): Harmonize arguments with
+ documentation.
+
+ * fns.c (Frandom, Flength, Felt, Fsort, Fchar_table_subtype,
+ Fchar_table_parent, Fset_char_table_parent, Fchar_table_extra_slot,
+ Fset_char_table_extra_slot, Fchar_table_range,
+ Fset_char_table_range, Fmap_char_table, Fmapconcat, Fmapcar):
+ Harmonize arguments with documentation.
+
+ * frame.c (Fhandle_switch_frame, Fset_frame_height): Harmonize
+ arguments with documentation.
+
+ * indent.c (Findent_to): Harmonize arguments with documentation.
+
+ * keyboard.c (Fevent_convert_list, Fcommand_execute): Harmonize
+ arguments with documentation.
+
+ * keymap.c (Fkeymapp, Fdefine_prefix_command, Faccessible_keymaps,
+ Ftext_char_description, Fapropos_internal): Harmonize arguments
+ with documentation.
+
+ * lread.c (Feval_buffer, Feval_region, Fintern, Fintern_soft):
+ Harmonize arguments with documentation.
+
+ * macros.c (Fend_kbd_macro, Fexecute_kbd_macro): Harmonize
+ arguments with documentation.
+
+ * marker.c (Fset_marker): Harmonize arguments with documentation.
+
+ * minibuf.c (Ftry_completion, Fall_completions, Fcompleting_read):
+ Harmonize arguments with documentation.
+
+ * print.c (Fwrite_char, Fprin1, Fprin1_to_string, Fprinc, Fprint):
+ Harmonize arguments with documentation.
+
+ * process.c (Fprocessp, Fget_buffer_process, Fdelete_process,
+ Fprocess_status, Fprocess_exit_status, Fprocess_id, Fprocess_name,
+ Fprocess_command, Fprocess_tty_name, Fset_process_buffer,
+ Fprocess_buffer, Fprocess_mark, Fset_process_filter,
+ Fprocess_filter, Fset_process_sentinel, Fprocess_sentinel,
+ Fset_process_window_size, Fprocess_kill_without_query,
+ Faccept_process_output): Harmonize arguments with documentation.
+
+ * search.c (Fmatch_end, Fregexp_quote): Harmonize arguments with
+ documentation.
+
+ * syntax.c (Fsyntax_table_p, Fchar_syntax, Fmatching_paren,
+ Fmodify_syntax_entry): Harmonize arguments with documentation.
+
+ * textprop.c (Ftext_properties_at, Fget_text_property,
+ Fget_char_property, Fnext_property_change,
+ Fnext_single_property_change, Fprevious_property_change,
+ Fprevious_single_property_change, Fadd_text_properties,
+ Fput_text_property, Fset_text_properties, Fremove_text_properties,
+ Ftext_property_any, Ftext_property_not_all): Harmonize arguments
+ with documentation.
+
+ * window.c (Fwindowp, Fwindow_live_p, Fother_window,
+ Fenlarge_window, Fshrink_window, Fscroll_up, Fscroll_down,
+ Fscroll_other_window, Fscroll_left, Fscroll_right, Frecenter,
+ Fwindow_configuration_p): Harmonize arguments with documentation.
+
+ * xfaces.c (Fpixmap_spec_p): Harmonize arguments with
+ documentation.
+
+1996-01-08 Erik Naggum <erik@naggum.no>
+
+ * buffer.c (Fkill_buffer): Delete buffer from Vbuffer_alist after
+ replacing it.
+
+1996-01-08 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * s/sol2-3.h (PTY_TTY_NAME_SPRINTF): Make failure non-fatal.
+
+ * unexelf.c (unexec) [SOLARIS2]: Undo relocations performed by the
+ runtime linker.
+
+ * config.in: (LOCALTIME_CACHE): Add #undef.
+
+1996-01-08 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * xdisp.c (display_text_line): Clear out redisplay_end_trigger
+ before calling the functions.
+
+ * xselect.c (x_handle_selection_notify): Give an indication
+ in reading_selection_reply of whether the request succeeded.
+ (x_get_foreign_selection): Do error if foreign selection was cleared.
+
+ * dispnew.c (init_display): Treat null string DISPLAY var like not set.
+
+1996-01-07 Erik Naggum <erik@naggum.no>
+
+ * fns.c (Fplist_get): Rename arg `val' to `plist' as in doc.
+
+1996-01-07 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * lread.c (read1): Use xmalloc and xrealloc, not malloc and realloc.
+
+ * s/sol2-5.h: Add #if 0 around everything but the include of sol2-4.h.
+
+ * process.c (create_process): Restore the signal state
+ after vfork whether it succeeds or not.
+
+ * m/hp800.h: Conditionalize many macro definitions on __hpux.
+ (NEED_BSDTTY): Delete duplicate definition.
+
+ * lread.c (dump_path): New static var.
+ (init_lread): Use that to record dump-time initial path.
+ Delete the local var dump_path; find Vsource_directory differently.
+ (syms_of_lread): staticpro it.
+
+ * config.in (LOCALTIME_CACHE): Add #undef.
+
+ * editfns.c (update_buffer_properties): Delete superfluous &'s.
+
+ * emacs.c (main): In batch mode, don't handle SIGHUP if was ignored.
+ Block it while we decide what to do.
+
+1996-01-06 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * keymap.c (describe_map): New arg nomenu.
+ (describe_map_tree): Pass that arg.
+
+1996-01-05 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * fileio.c (do_auto_save_unwind): Don't close DESC if DESC < 0.
+ (Fdo_auto_save): Unconditionally set up unwind-protect.
+
+ * s/linux.h (LIBS_TERMCAP): Definition deleted.
+
+1996-01-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * termhooks.h (struct input_event): Put frame_or_window last.
+
+1996-01-04 Erik Naggum <erik@naggum.no>
+
+ * window.c (replace_buffer_in_all_windows): Only re-select old
+ window if it is still live.
+
+1996-01-04 Paul Eggert <eggert@twinsun.com>
+
+ Spelling corrections.
+ * s/vms.h, s/vms5-5.h (SHARABLE_LIB_BUG): Renamed from
+ SHAREABLE_LIB_BUG.
+ * xselect.c (syms_of_xselect): Doc fix for x-selection-timeout.
+ * sysdep.c (WRITABLE): Renamed from WRITEABLE.
+ * unexelfsni.c (unexec): Message fix.
+ * sysdep.c (sys_siglist): Message fix.
+ * eval.c (syms_of_eval): Doc fix for inhibit-quit.
+ * window.c (Fprevious_window, Fwindow_configuration_p): Doc fix.
+ * keymap.c (Flookup_key): Doc fix.
+
+1996-01-04 Geoff Voelker <voelker@cs.washington.edu>
+
+ * nt.c (getuid): Only return root uid if Administrator.
+ (geteuid): Return getuid.
+
+1996-01-03 Ulrich Leodolter <ulrich@lab1.psy.univie.ac.at>
+
+ * ntproc.c (win32_wait): fixed bad synch_process_retcode
+ and initialized synch_process_death if signaled.
+
+1996-01-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (XTread_socket): For selection_clear_event and
+ selection_request_event, initialize the frame_or_window field.
+
+ * window.c (replace_buffer_in_all_windows): New function.
+ Like Freplace_buffer_in_windows but really does all frames.
+ * buffer.c (Fkill_buffer): Use replace_buffer_in_all_windows.
+
+1995-12-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (XTread_socket): Pass KeyPress events to the toolkit.
+ Make the OTHER label exist unconditionally, and make the gotos
+ unconditional when that is convenient.
+
+1995-12-31 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * fileio.c (Ffile_readable_p) [MSDOS]: Use access rather than open.
+
+1995-12-30 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * Makefile.in (${etc}DOC): Remove spurious `cd' command line.
+
+1995-12-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_find_modifier_meanings): Fix !X11R4 code to use dpyinfo.
+
+ * s/hpux9.h (C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
+ Add options to specify /usr/lib/X11R5 and /usr/include/X11R5.
+
+1995-12-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (check_x_display_info, check_x_frame, x_set_font)
+ (Fx_list_fonts): Fix error messages.
+
+1995-12-24 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * dired.c (Ffile_attributes) [MSDOS]: Remove special detection of
+ MS-DOS executable files by filename extension (library `stat' does
+ this itself now).
+
+ * msdos.c (XMenuActivate): Make sure the menu title is always
+ displayed with `msdos-menu-active-face', no matter where the mouse
+ pointer is.
+
+1995-12-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * msdos.c (have_menus_p): Defined.
+
+ * s/msdos.h (HAVE_MENUS): Defined.
+
+ * config.in (HAVE_MENUS): Renamed from HAVE_X_MENU.
+
+ * Makefile.in (XOBJ, LIBXMENU, $(OLDXMENU), really-oldXMenu):
+ HAVE_X_MENU renamed to HAVE_MENUS.
+
+ * keyboard.c (read_char_x_menu_prompt):
+ HAVE_X_MENU renamed to HAVE_MENUS.
+
+ * emacs.c (main): Call syms_of_xmenu if and only if HAVE_MENUS.
+
+ * editfns.c (Fmessage_box, Fmessage_or_box):
+ HAVE_X_MENU renamed to HAVE_MENUS. Doc fixes.
+
+ * xfns.c (have_menus_p): Renamed from using_x_p.
+ * w32xfns.c (have_menus_p): Renamed from using_x_p.
+ * fns.c (Fy_or_n_p, Fyes_or_no_p): using_x_p renamed to have_menus_p.
+ HAVE_X_MENU renamed to HAVE_MENUS.
+
+ * keyboard.c (Fexecute_extended_command): Nice error if empty cmd name.
+
+ * callint.c (Fcall_interactively): Undo previous change.
+ * keyboard.c (Fcommand_execute): Undo previous change.
+
+ * s/aix3-2.h: Add #pragma alloca.
+
+ * Makefile.in (LIBXT): Use DYNAMIC_OPTION too.
+ * s/sol2-5.h (STATIC_OPTION): For GCC, use -Xlinker.
+ (DYNAMIC_OPTION): Define like STATIC_OPTION.
+
+ * s/sunos4shr.h (LIBXMU): Replace previous change.
+ Bring back the old definition, but conditionalize on ! HAVE_X11R6.
+
+ * config.in (HAVE_X11R6): Add #undef.
+ * xterm.h (HAVE_X11R6): Definition deleted (previous change undone).
+
+ * xdisp.c (redisplay_window): Clear force_start field
+ before running the Qwindow_scroll_functions.
+ In the recenter case, set w->start before running them.
+
+1995-12-24 Adrian Colley <Adrian.Colley@three.serpentine.com>
+
+ * s/aix3-2.h: Add #pragma alloca.
+
+1995-12-23 Geoff Voelker <voelker@cs.washington.edu>
+
+ * makefile.nt (LINK_FLAGS): Dump symbol map when linking.
+ * unexnt.c (get_bss_info_from_map_file): New function.
+ (get_section_info): When .bss section parameters are not in the
+ executable, search the symbol map file for them.
+
+1995-12-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * syntax.h (SYNTAX_ENTRY): Add cast in call to syntax_parent_lookup.
+
+ * print.c (NULL): #undef deleted.
+
+ * cmds.c (internal_self_insert): Declare arg c1 as unsigned char.
+
+1995-12-21 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * xdisp.c (prepare_menu_bars): If update_mode_lines,
+ update all frame titles too.
+
+1995-12-20 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * eval.c (skip_debugger): New function.
+ (find_handler_clause): Call skip_debugger.
+ (Vdebug_ignored_errors): New variable.
+ (syms_of_eval): Set up Lisp variable.
+
+ * print.c (Ferror_message_string): New function.
+ (syms_of_print): defsubr it. Doc fix.
+ (print_error_message): New subroutine.
+
+ * keyboard.c (cmd_error_internal): Use print_error_message.
+
+1995-12-19 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * callint.c (Fcall_interactively): Don't log prompt strings.
+
+ * xfns.c: Use <paths.h>, not "paths.h".
+
+ * frame.c [!MULTI_FRAME] (syms_of_frame): Make mouse-pixel-position
+ a synonym for mouse-position, for the benefit of lisp packages
+ that use it.
+
+1995-12-19 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c (check_timer): Get rid of the DOS-specific menubar clock
+ feature; call `display-time-filter' from time.el to display time
+ on the modeline instead. This makes `display-time' work under DOS.
+ (abort): Use our own function instead of the one from the library
+ which reverts the console device to cooked mode.
+ (syms_of_msdos): `dos-display-time'--a new variable for
+ communicating with `display-time'.
+ * dosfns.c (syms_of_dosfns): Delete the `dos-menubar-clock' and
+ `dos-timer-hooks' variables.
+ * dosfns.h (Vdos_menubar_clock, Vdos_timer_hooks):
+ Declarations deleted.
+
+1995-12-19 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_signal): Set an alarm around XNoOp call.
+
+ * xfns.c [X11R5_INHIBIT_I18N]: Undef HAVE_X_I18N if X11R5.
+ * xterm.h (HAVE_X11R6): New macro, defined when appropriate.
+ * s/aix3-2-5.h (X11R5_INHIBIT_I18N): Defined.
+
+1995-12-17 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * s/sol2-5.h (LIBXT_STATIC, STATIC_OPTION): Defined.
+
+ * Makefile.in (LIBXT): Handle LIBXT_STATIC.
+
+ * fileio.c (syms_of_fileio): Doc fix.
+
+ * callint.c (Fcall_interactively): Handle an arg of form (FCN ARGS...).
+
+ * keyboard.c (Fcommand_execute): Allow function + args list as cmd.
+
+1995-12-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * m/ibmrs6000.h (LD_SWITCH_MACHINE): Don't define if using GCC.
+
+1995-12-13 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_closed): Don't delete dpyinfo if it's null.
+
+1995-12-12 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c (run_msdos_command): Support redirection of stderr.
+ * callproc.c (Fcall_process) [MSDOS]: Support redirection of
+ stderr. Assign process exit code to `synch_process_retcode' and
+ error description to `synch_process_death'. Reset
+ `synch_process_alive' to zero when the sub-process exits.
+
+ * msdos.c (IT_set_terminal_modes): Save screen color attribute
+ byte at startup, write saved screen dimensions to termscript
+ file.
+ (IT_reset_terminal_modes): When restoring startup screen contents,
+ only restore as much as was saved, and only as much as the screen
+ dimensions on exit can hold. Blank the rest with the background
+ color saved at startup. Write restored screen dimensions to
+ termscript file.
+
+ * msdos.c (XMenuActivate): Display the menu pane title.
+ (XMenuLocate): Do not ignore pane title length when deciding on
+ menu location.
+
+1995-12-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * emacs.c (main): Fix args to handle `--display DISPLAY'.
+
+ * data.c (Ftype_of): Return `char-table' and `bool-vector' for
+ char tables and bool vectors, resp.
+ (Qchar_table, Qbool_vector): New variables.
+ (syms_of_data): Initialize and staticpro them.
+
+1995-12-12 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * window.c (Fsplit_window): Account for scroll bar width.
+
+ * minibuf.c (choose_minibuf_frame): Test HAVE_X_WINDOWS.
+
+ * m/alpha.h (PTY_OPEN): Block SIGCHLD during openpty.
+
+ * s/sunos4shr.h (LIBXMU): Use dynamic linking.
+
+1995-12-12 Paul Eggert <eggert@twinsun.com>
+
+ * process.c (create_process): Use Posix signal handling to
+ block signals, if available. If HAVE_VFORK, save and restore
+ signal handlers that the child might change, since in many
+ systems (e.g. Solaris 2.4) if the child changes the signal
+ handlers this munges the parent's handler.
+ * s/sol2-3.h (HAVE_VFORK): Remove #undef, since we now
+ know how to use Solaris vfork.
+ (VFORK_RETURN_TYPE): Remove definition.
+
+1995-12-12 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * callint.c (Fcall_interactively): Move have_prefix_arg label to 'p'.
+
+ * process.c (Fopen_network_stream): Call bind_polling_period earlier.
+
+1995-12-10 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * keymap.c (Fkey_binding): Handle text-property keymaps.
+
+ * Makefile.in (dotdot): New variable.
+ (SOME_MACHINE_LISP): Use relative file names.
+ (shortlisp): New variable.
+ (${etc}DOC): Use shortlisp instead of lisp.
+
+ * xdisp.c (redisplay_window): Don't do the scroll_step thing
+ if startp is outside the accessible part of the buffer.
+
+ * lread.c (init_lread): Add ../lisp (in build dir) to load-path
+ when dumping.
+
+1995-12-09 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * editfns.c (Fset_time_zone_rule): Move static var environbuf
+ to top level.
+ (syms_of_editfns): Initialize environbuf explicitly.
+
+ * window.c (Fsplit_window): Rename size to size_int and chsize to size.
+
+ * cmds.c (Fbackward_char, Fforward_char): Rename arg to ARG.
+
+ * buffer.h (struct buffer): Delete redisplay_end_trigger field.
+ * buffer.c (reset_buffer, init_buffer_once): Delete code that touches
+ redisplay_end_trigger field in buffer.
+
+1995-12-07 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * editfns.c (Vbuffer_access_fontified_property): New variable.
+ (syms_of_editfns): Set up Lisp var.
+ (make_buffer_string): Don't call the Vbuffer_access_fontify_functions
+ if the text is already fontified.
+ (Fbuffer_string): Pas 1 for PROPS arg.
+ (update_buffer_properties): New subroutine.
+ (Finsert_buffer_substring): Use update_buffer_properties.
+
+1995-12-06 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * textprop.c (add_properties, remove_properties, set_properties):
+ Call signal_after_change.
+
+ * s/hpux9.h (LIBXMU, NO_EDITRES): Define only if not HAVE_LIBXMU.
+
+1995-12-05 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * config.in (HAVE_LIBXMU): Add #undef.
+
+ * s/hpux9shr.h (C_DEBUG_SWITCH): Definition turned off.
+
+ * m/iris4d.h (C_SWITCH_MACHINE): Define only if THIS_IS_MAKEFILE.
+
+1995-12-04 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * editfns.c (make_buffer_string): New arg PROPS.
+ (Fbuffer_string, Fbuffer_substring): Pass new arg.
+ (Fbuffer_substring_no_properties): New function.
+ (syms_of_editfns): defsubr it.
+ (Vbuffer_access_fontify_functions): New variable.
+ (Qbuffer_access_fontify_functions): New variable.
+ (syms_of_editfns): Set up Lisp variable, initialize them.
+ (make_buffer_string): Run this new hook.
+
+ * minibuf.c (read_minibuf): Pass PROPS arg to make_buffer_string.
+ Let make_buffer_string handle the gap.
+
+1995-12-03 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * config.h (EMACS_INT, EMACS_UINT): Definitions deleted
+ because lisp.h also defines them.
+
+ * Makefile.in (keymap.o): Depend on puresize.h.
+
+ * keymap.c: Include puresize.h.
+ (store_in_keymap): Check PURE_P (def) and copy if nec.
+
+ * puresize.h (PURE_P): New macro (three definitions).
+ (CHECK_IMPURE): Use PURE_P.
+
+ * buffer.c (Fkill_buffer): Rename arg bufname to buffer.
+ Don't gcpro it after the last use.
+ (Fswitch_to_buffer, Fpop_to_buffer): Rename arg bufname to buffer.
+ (Fset_buffer): Likewise, and rename local buffer to buf.
+
+1995-12-01 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * Makefile.in (THIS_IS_MAKEFILE): New definition.
+ * s/irix6-0.h (C_SWITCH_SYSTEM): #undef this if THIS_IS_MAKEFILE.
+
+ * macros.c (Fstore_kbd_macro_event): New function.
+ (syms_of_macros): defsubr it.
+
+1995-11-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (message_dolog): Save and restore windows_or_buffers_changed.
+
+1995-11-28 Paul Eggert <eggert@twinsun.com>
+
+ * Makefile.in (lisp): Remove c-mode.elc.
+
+1995-11-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * msdos.c (sys_select): Check timer once even if input is pending.
+
+1995-11-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c (x_set_menu_bar_lines) [USE_X_TOOLKIT]:
+ Don't crash for non-X frame.
+
+ * callint.c (Fcall_interactively): In `c' case, clear out the message
+ after reading the character.
+
+ * xdisp.c (decode_mode_spec): For p and P, avoid overflow with
+ large buffer sizes.
+
+ * xmenu.c (set_frame_menubar): When called with deep_p == 0,
+ that invalidates the previous f->menu_bar_vector.
+
+1995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Version 19.30 released.
+
+ * msdos.c (IT_set_menu_bar_lines): Clear last_modified field.
+
+1995-11-23 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * keyboard.c (read_char): Handle unread events from popup menus.
+
+1995-11-22 Geoff Voelker <voelker@cs.washington.edu>
+
+ * makefile.nt (DOC, clean): Don't use switches to del not supported
+ by Windows 95.
+
+1995-11-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (XTmouse_position): Exit the loop if child == win.
+ (x_iconify_frame): Call FRAME_SAMPLE_VISIBILITY.
+ (XTframe_up_to_date): Block and unblock input.
+
+1995-11-22 Eli Zaretskii <eliz@is.elta.co.il>
+
+ * msdos.c (internal_terminal_init): Initialize the_only_x_display.font.
+
+ * xfaces.c (Fset_face_attribute_internal) [MSDOS]:
+ Set font field to 1.
+
+1995-11-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * msdos.c (dos_set_keyboard): If CODE is not recognized,
+ initialize to the US keyboard table.
+
+1995-11-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/linux.h (LIB_MOTIF): New definition.
+
+ * editfns.c (Fcurrent_time): Doc fix.
+
+ * s/hpux10.h (FORCE_ALLOCA_H): Defined (for getdate.y).
+ (HPUX10): Defined.
+
+ * window.c (Fdisplay_buffer): Always deiconify the window's frame.
+ (display_buffer_1): New subroutine.
+
+ * m/alpha.h [LINUX] (LINUX_SBRK_BUG): Defined.
+ * emacs.c (main): Add LINUX_SBRK_BUG conditional call to __sbrk.
+
+ * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Increased.
+
+ * dosfns.c (syms_of_dosfns): Use 0x75 for dos_keypad_mode.
+
+1995-11-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * alloc.c (Flist): Avoid using -- in while condition.
+
+ * xfaces.c (unload_color, unload_font): Never invalidate computed
+ faces 0 and 1.
+
+ * minibuf.c (choose_minibuf_frame): On MSDOS, just use minibuf_window.
+
+1995-11-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (show_mouse_face):
+ When clearing cursor, use proper column range.
+
+ * lread.c (Vsource_directory): New variable.
+ (init_lread): Initialize it.
+ (syms_of_lread): Set up Lisp var.
+
+1995-11-18 Fred Fish <fnf@cygnus.com>
+
+ * s/linux.h: #undef SIGPOLL and SIGURG as well as SIGIO.
+
+1995-11-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * data.c (Fmake_local_variable): Call find_symbol_value
+ before making a new local binding.
+
+1995-11-15 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * mem-limits.h [_LIBC] (start_of_data): Use weak ref to
+ __data_start; use &etext if not present.
+
+1995-11-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (XTread_socket): Verify a ButtonPress was actually in the
+ menu bar before generating a menu_bar_activate_event event.
+
+ * s/hpux10.h: New file.
+
+ * textprop.c (Fset_text_properties): Call set_properties
+ even if we also merge an interval.
+
+ * xselect.c (x_clear_frame_selections): Get selection_symbol properly.
+ (syms_of_xselect): Doc fix.
+
+ * doprnt.c (doprnt1): Add a cast.
+
+ * alloc.c (mark_object): Don't overwrite original argument value.
+
+ * .gdbinit (xsymbol): Cast name explicitly to (char *).
+
+1995-11-14 Geoff Voelker <voelker@cs.washington.edu>
+
+ * w32term.h: New file.
+
+1995-11-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (Fexecute_extended_command):
+ Call Fwhere_is_internal just once to handle all the maps.
+
+ * xdisp.c (Qredisplay_end_trigger_functions): Renamed from ..._hook.
+ (syms_of_xdisp): Set up new name.
+ (display_text_line): Call them with arguments.
+
+ * window.c (Fset_window_redisplay_end_trigger): Doc fix.
+
+ * fileio.c (check_executable) [DOS_NT]: Treat all dirs as executable.
+
+1995-11-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.h (FRAME_WINDOW_P): Always define it one way or another.
+
+ * m/alpha.h: Declare calloc like malloc.
+
+1995-11-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xselect.c (x_clear_frame_selections): Undo previous change.
+
+ * fileio.c (Fcopy_file): Don't chmod output file on MSDOS
+ unless we have DJGPP version 2.
+
+ * s/usg5-4.h (LIBS_STANDARD): Definition deleted.
+
+ * s/isc2-2.h (LIBS_SYSTEM): Fix typo in prev change.
+
+ * dispnew.c: Always include dispextern.h before cm.h.
+
+1995-11-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (display_text_line): Handle redisplay_end_trigger
+ before getting the face of the next character. Reset next_face_change.
+
+ * frame.c (syms_of_frame_1): Set up Vdefault_frame_alist here.
+ (syms_of_frame): Not here.
+ (Vdefault_frame_alist): Definition now unconditional.
+
+ * msdos.c (dos_menubar_clock_displayed): New variable.
+ (check_timer): Erase the clock if it has been turned off.
+
+ * doc.c (Fdocumentation): Reject a file reference
+ at the end of a lambda body.
+
+ * xdisp.c (display_menu_bar): Fix backwards conditional.
+ (update_menu_bar, redisplay_window): Don't use FRAME_EXTERNAL_MENU_BAR
+ in #ifdef, since it is always defined.
+
+1995-11-10 Simon Leinen <simon@lia.di.epfl.ch>
+
+ * s/hpux9.h (NO_EDITRES): Defined.
+ (LIBXMU): Define once again.
+
+ * xfns.c (HACK_EDITRES): Don't define if NO_EDITRES is defined.
+
+ * xterm.c (HACK_EDITRES): Define here as in xfns.c.
+ (XTread_socket): Test HACK_EDITRES.
+
+1995-11-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/isc2-2.h (LIB_STANDARD_1): New macro.
+ (LIB_STANDARD): Use LIB_STANDARD_1.
+ (LIBS_SYSTEM): Use it here too.
+
+ * print.c (debug_print): Explicitly print a CR.
+
+ * keyboard.c (interrupt_signal): Do special things in GC.
+
+1995-11-10 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * frame.c (set_menu_bar_lines): Record the fact that the window
+ configuration changes.
+ (set_menu_bar_lines_1): Mark the window as modified.
+
+1995-11-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * floatfns.c (Fexpt): Doc fix.
+
+ * window.h (struct window): New field redisplay_end_trigger.
+
+ * window.c (Fwindow_redisplay_end_trigger): New function.
+ (Fset_window_redisplay_end_trigger): Likewise.
+ (syms_of_window): defsubr them.
+
+ * xdisp.c (display_text_line): Get redisplay_end_trigger from window.
+
+1995-11-09 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * buffer.c (syms_of_buffer): Delete the buffer-redisplay-end-trigger
+ local variable.
+
+1995-11-09 Simon Leinen <simon@lia.di.epfl.ch>
+
+ * xmenu.c: Don't include Xaw/Paned.h unless USE_LUCID is defined.
+ (set_frame_menubar): Conditionalized some code on USE_LUCID that
+ depends on the fact that the parent widget of the menu bar is an Xaw
+ "Paned" widget.
+
+1995-11-09 Erik Naggum <erik@naggum.no>
+
+ * eval.c (run-hook-with-args, run-hook-list-with-args): Safeguard
+ against a t in the global value of hook variables.
+
+1995-11-08 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * s/msdos.h (SYMS_SYSTEM): Add syms_of_msdos.
+
+ * Makefile.in (lisp): Add loadup.el.
+
+ * indent.c (compute_motion): Update next_boundary
+ when we skip to next newline.
+
+1995-11-07 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * lread.c (oblookup): Clear ARRAY_MARK_FLAG in obsize.
+
+ * callint.c (syms_of_callint): Set up Qlet, Qletx, Qsave_excursion.
+ (Fcall_interactively): Look past those special forms
+ when checking for a call to `list'.
+
+1995-11-07 Geoff Voelker <voelker@cs.washington.edu>
+
+ * config.in [HAVE_X_WINDOWS] (HAVE_WINDOW_SYSTEM): New macro.
+ * s/windowsnt.h [HAVE_NTGUI] (HAVE_WINDOW_SYSTEM): New macro.
+ * dispextern.h dispnew.c, emacs.c, frame.c, keyboard.c, process.c,
+ scroll.c, sysdep.c, window.c, xdisp.c: Use HAVE_WINDOW_SYSTEM
+ instead of testing for specific window systems.
+
+ * frame.h [HAVE_X_WINDOWS] (FRAME_WINDOW_P): Macro defined.
+ [HAVE_NTGUI] (FRAME_WINDOW_P): Macro defined.
+ * dispnew.c, frame.c, scroll.c, xdisp.c: Use FRAME_WINDOW_P
+ instead of testing for specific window system frames.
+
+ * xdisp.c (update_menu_bar, redisplay_window): Test for definition
+ of FRAME_EXTERNAL_MENU_BAR before using it.
+
+1995-11-06 Kevin Gallo <kgallo@microsoft.com>
+
+ * xterm.h (FRAME_INTERNAL_BORDER_WIDTH, FRAME_LINE_HEIGHT): New macros.
+ * dispnew.c (update_frame): Use FRAME_INTERNAL_BORDER_WIDTH.
+ (update_line): Use FRAME_LINE_HEIGHT and FRAME_FONT.
+
+ * xdisp.c [HAVE_NTGUI] (set_menu_framebar): Declare external.
+ [HAVE_NTGUI] (frame_title_buf, frame_title_ptr): Include variables
+ for Win32 window system.
+ [HAVE_NTGUI] (store_frame_title, x_consider_frame_title): Include
+ procedures for Win32 window system.
+ [HAVE_NTGUI] (x_consider_frame_title): Test for Win32 frame.
+ [HAVE_NTGUI] (display_text_line): Test for Win32 frame on face change.
+ [HAVE_NTGUI] (display_menu_bar): Perform no-op for NT window system.
+
+ * window.c [HAVE_NTGUI] (Fset_window_configuration): Set menu
+ bar lines.
+
+ * term.c [HAVE_NTGUI] (FRAME_TERMCAP_P): Don't redefine.
+
+ * sysdep.c [HAVE_NTGUI] (init_sys_modes, reset_sys_modes):
+ Don't initialize terminal mode when using window system.
+ [HAVE_NTGUI] (BUFFER_SIZE_FACTOR): Increase for use with window system.
+
+ * scroll.c [HAVE_NTGUI] (do_scrolling, do_direct_scrolling):
+ Update frame geometry.
+
+ * process.c [HAVE_NTGUI] (POLL_FOR_INPUT): Define macro.
+
+ * keyboard.c [HAVE_NTGUI]: Include w32term.h.
+ [HAVE_NTGUI] (KBD_BUFFER_SIZE): Increase for NT window system.
+ [HAVE_NTGUI] (POLL_FOR_INPUT): Define.
+ [HAVE_NTGUI] (kbd_buffer_get_event): Enable windowing and menu events.
+ [HAVE_NTGUI] (lispy_function_keys): Define array for NT.
+ [HAVE_NTGUI] (make_lispy_event): Enable menu bar events.
+ [HAVE_NTGUI] (modify_event_symbol): Map symbol to keysym.
+ [HAVE_NTGUI] (read_char_x_menu_prompt): Display menus.
+
+ (FUNCTION_KEY_OFFSET): New macro.
+ (make_lispy_event): Use FUNCTION_KEY_OFFSET to modify event codes
+ before applying modifiers.
+
+ * frame.c [HAVE_NTGUI]: Test for a Win32 frame in procedures
+ that test for an X frame.
+
+ * frame.h (output_method): New method: output_win32.
+ (output_data): New data: win32.
+ (FRAME_WIN32_P): New macro.
+ [HAVE_NTGUI] (external_menu_bar): Define variable.
+ [HAVE_NTGUI] (FRAME_EXTERNAL_MENU_BAR): Defined macro.
+
+ * fns.c [HAVE_NTGUI] (Fy_or_n_p, Fyes_or_no_p): Allow popup.
+
+ * emacs.c [HAVE_NTGUI]: Declare Vwindow_system.
+ [HAVE_NTGUI] (main): Enable inhibit_window_system.
+ Initialize environment from registry.
+ Declare syms of Win32 windowing modules.
+
+ * dispnew.c [HAVE_NTGUI]: Include w32term.h.
+ Include dispextern.h before cm.h since dispextern.h includes windows.h.
+ [HAVE_NTGUI] (make_frame_glyphs, free_frame_glyphs, scroll_frame_lines,
+ update_frame, update_line): Test for WIN32 frame.
+ [HAVE_NTGUI] (init_display): Initialize WIN32 window system.
+
+ * dispextern.h [HAVE_NTGUI]: Include win32.h.
+ [HAVE_NTGUI] (struct frame_glyphs): Include pixel fields.
+
+ * w32term.c, w32xfns.c, w32fns.c, w32faces.c, w32select.c,
+ w32menu.c, w32reg.c, win32.h: New files.
+
+ * s/windowsnt.h [HAVE_NTGUI] (abort): New macro.
+ [HAVE_NTGUI] (HAVE_FACES): Defined.
+
+ * unexnt.c [HAVE_NTGUI] (WinMain): New procedure.
+ [HAVE_NTGUI] (hinst, hprevinst, lpCmdLine, nCmdShow): New variables.
+ [HAVE_NTGUI] (_start): Invoke WinMainCRTStartup.
+
+ * ntterm.c (nt_ring_bell): Renamed from ring_bell, now global.
+ (initialize_win_nt_display): Use nt_ring_bell.
+ [HAVE_NTGUI] (pixel_to_glyph_coords, glyph_to_pixel_coords):
+ Don't define.
+
+ * ntproc.c [HAVE_NTGUI] (create_child): Pass handles to children.
+ [HAVE_NTGUI1] (sys_select): Support alternate keyboard handling.
+
+ * nt.h (nt_get_resource): Prototype defined.
+
+ * nt.c (nt_get_resource, init_environment): Defined.
+ (prepare_standard_handles, restore_standard_handles) [HAVE_NTGUI]:
+ Don't duplicate or restore standard handles.
+
+ * makefile.nt (SUBSYSTEM, TLIBW32, TLASTLIB, WIN32OBJ): Defined.
+ (w32term.obj, w32xfns.obj, w32fns.obj w32faces.obj, w32select.obj,
+ w32menu.obj, w32reg.obj): Defined.
+ (LINK_FLAGS): Use SUBSYSTEM.
+ (OBJ1): Remove lastfile.obj.
+ (LIBS, TEMACS): Use TLASTLIB.
+ (LIBS) [NTGUI]: Use TLIBW32 and GUI libs.
+ (EMACS): Remove Windows 95 conditional.
+ (clean): Remove paths.h.
+
+1995-11-06 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * xdisp.c (display_string): Detect truncation more carefully.
+
+ * dispnew.c (update_line): Avoid indexing into obody by -1.
+
+ * s/hpux9.h (LIBXMU): Never define this.
+
+1995-11-06 Erik Naggum <erik@naggum.no>
+
+ * print.c (debug_print): Print newline to stderr, too.
+
+1995-11-05 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * xfaces.c (unload_font): Invalidate computed faces.
+ (unload_color): Likewise.
+ (new_computed_face): Reuse invalidated computed faces.
+
+1995-11-04 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * indent.c (Fmove_to_column): Doc fix.
+
+ * buffer.c (Fmake_overlay): New args front-advance
+ and rear-advance.
+
+ * fileio.c (Fwrite_region): Move the code that writes annotations
+ for empty files.
+
+1995-11-03 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * msdos.h (struct x_output): Rename from struct x_display.
+ * msdos.c (the_only_x_display): Type is now struct x_output.
+ (internal_terminal_init): frame member is now named output_data.
+ (init_environment): Fix timezone rules.
+ * emacs.c (main): [MSDOS] Call init_gettimeofday.
+ * frame.c [!MULTI_FRAME] (Fmodify_frame_parameters): Add missing
+ declaration and initialization.
+ [MULTI_FRAME] (choose_minibuf_frame): Moved to minibuf.c; now
+ unconditional.
+ * minibuf.c (choose_minibuf_frame): Moved here from frame.c.
+
+1995-11-01 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * Makefile.in (USE_@X_TOOLKIT_TYPE@): Define here, if appropriate.
+ (THIS_IS_YMAKEFILE): Definition deleted.
+
+1995-10-31 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * doprnt.c: Include lisp.h.
+ (doprnt1): Renamed from doprnt. New arg LISPSTRINGS.
+ This is now a static subroutine.
+ (doprnt): New definition calls doprnt1.
+ (doprnt_lisp): New function.
+
+ * editfns.c (Fformat): Use doprnt_lisp.
+
+ * s/dgux.h: Test NOT_C_CODE instead of THIS_IS_YMAKEFILE.
+ Get fatal error if not using GCC.
+
+ * xdisp.c (redisplay_window): On non-X frame, always use
+ FRAME_MENU_BAR_LINES as criterion for whether to display menu bar.
+ (update_menu_bar): Likewise.
+ (display_menu_bar): Do the work here for non-X frames
+ regardless of USE_X_TOOLKIT.
+
+ * m/alpha.h: Don't test THIS_IS_YMAKEFILE.
+
+ * s/usg5-4.h: Always include sys/wait.h unless NOT_C_CODE;
+ don't test #ifdef emacs for that.
+
+1995-10-31 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * m/7300.h, m/acorn.h, m/alliant-2800.h, m/alliant.h, m/altos.h:
+ * m/amdahl.h, m/apollo.h, m/att3b.h, m/aviion.h, m/celerity.h:
+ * m/clipper.h, m/cnvrgnt.h, m/cydra5.h, m/delta.h, m/delta88k.h:
+ * m/dpx2.h, m/dual.h, m/elxsi.h, m/gec63.h, m/gould.h, m/hp9000s300.h:
+ * m/i860.h, m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h:
+ * m/irist.h, m/isi-ov.h, m/masscomp.h, m/mega68.h, m/mg1.h, m/news.h:
+ * m/next.h, m/nh3000.h, m/nh4000.h, m/ns16000.h, m/ns32000.h, m/nu.h:
+ * m/orion.h, m/orion105.h, m/pfa50.h, m/plexus.h, m/pyramid.h:
+ * m/sequent.h, m/sparc.h, m/sps7.h, m/stride.h, m/sun1.h, m/sun2.h:
+ * m/tad68k.h, m/tahoe.h, m/targon31.h, m/tek4300.h, m/tekxd88.h:
+ * m/template.h, m/tower32.h, m/tower32v3.h, m/ustation.h, m/vax.h:
+ * m/wicat.h, m/windowsnt.h, m/xps100.h:
+ (SHORTBITS, INTBITS, LONGBITS): Deleted; now in config.h.
+
+1995-10-30 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * alloc.c, data.c, doprnt.c, floatfns.c, fns.c, indent.c
+ * insdel.c, lisp.h, lread.c, print.c, xdisp.c, xfaces.c, xterm.c
+ (BITS_PER_SHORT, BITS_PER_INT, BITS_PER_LONG): Rename from
+ SHORTBITS, INTBITS, LONGBITS.
+ * m/alpha.h, m/convex.h, m/hp800.h, m/intel386.h, m/iris4d.h
+ * m/iris5d.h, m/mips-siemens.h, m/mips.h:
+ (SHORTBITS, INTBITS, LONGBITS): Deleted; now in config.h
+ Used new names for those macros in all references.
+
+1995-10-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * config.in (BITS_PER_CHAR, BITS_PER_INT, BITS_PER_SHORT)
+ (BITS_PER_LONG): Define if not already defined.
+
+ * print.c (debug_print): Print a newline here.
+
+ * .gdbinit (pr): Don't print newline here.
+
+ * syntax.c (check_syntax_table): Check the purpose slot.
+ Use Qsyntax_table_p for the error message.
+
+ * lisp.h (CHECK_CHAR_TABLE): Don't accept nil.
+
+ * Makefile.in (prefix-args): Use LDFLAGS, not ALL_LDFLAGS.
+
+ * unexalpha.c (fatal_unexec): Don't use varargs.
+
+ * editfns.c (Fencode_time): Add cast.
+ (Fset_time_zone_rule): Add cast.
+
+ * xterm.h: Move the include of Xlocale.h after setting HAVE_X11R5.
+
+ * keyboard.c (command_loop_1): Test pre- and post-command hooks
+ for non-nil-ness by looking at the V... variable.
+
+1995-10-29 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * m/m68k.h [linux]: Define NO_REMAP and TEXT_START,
+ and also DATA_SEG_BITS if compiling for ELF.
+ (HAVE_ALLOCA, alloca): Define if compiling with GCC.
+
+ * keymap.c (describe_translation): Insert newline after key
+ description.
+
+ * fns.c (Fsafe_length): Add missing parentheses around &
+ within comparison.
+
+ * minibuf.c (temp_echo_area_glyphs): Only delete the temporary
+ message.
+
+1995-10-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * syssignal.h [POSIX_SIGNALS] (signal): Undef before defining.
+
+ * unexelfsgi.c (find_section): New arg old_section_h.
+ Rename file_h to old_file_h and fix type.
+ Calls changed.
+
+ * syntax.c (Fmodify_syntax_entry): Don't fail to init MATCH.
+
+ * lisp.h (PVEC_TYPE_MASK): Remove the 0x100 bit.
+
+ * keyboard.c (command_loop_1): No direct display if Column Number mode.
+ (Vcolumn_number_mode): New variable.
+ (syms_of_keyboard): Set up Lisp variable.
+
+ * marker.c (Fset_marker_insertion_type): Doc fix.
+
+ * alloc.c (Fmake_char_table): Doc fix.
+
+ * casetab.c (Fset_case_table): Doc fix.
+
+ * alloc.c: Cast first arg to bzero.
+
+1995-10-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.h (FRAME_XIC): Fix wrong field name.
+
+ * alloc.c (Fmemory_use_counts): Cast 1 to EMACS_INT before shift.
+
+ * eval.c (run_hook_with_args): Add forward declaration.
+
+1995-10-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Makefile.in (TAGS): Separate export DIR=`pwd` into two commands.
+
+ * syntax.h (SYNTAX, SYNTAX_WITH_FLAGS, SYNTAX_MATCH):
+ Fix the non-GCC definitions.
+
+ * callint.c (Fcall_interactively): New arg KEYS.
+
+ * keyboard.c (Fcommand_execute): New arg KEYS. Callers changed.
+ (read_char): Specify KEYS when handling Vspecial_event_map.
+
+1995-10-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * msdos.c (IT_ring_bell): Use intdos, not write.
+
+1995-10-25 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * data.c [!HAVE_FMOD] (fmod): Make consistent with ANSI definition.
+ Don't use drem; it's not the same function.
+
+1995-10-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/linux.h (REGEXP_IN_LIBC): Definition turned off.
+
+ * minibuf.c (syms_of_minibuf): Doc fix.
+
+1995-10-23 Erik Naggum <erik@churchy.gnu.ai.mit.edu>
+
+ * fns.c (map_char_table): Map over only CHAR_TABLE_ORDINARY_SLOTS
+ slots, not vector size.
+
+ * casetab.c (Fcase_table_p, Fcurrent_case_table): Delete unused
+ local variables.
+ (set_case_table): Delete obsolete local variable `down', use
+ `table' where referenced. Fix assignment to `canon' when nil.
+ Store eqv in extras[2], not extras[0].
+ (init_casetab_once): Case-tables have 3 extra slots, not 4.
+
+1995-10-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * msdos.c (recent_doskeys_index, total_doskeys, recent_doskeys):
+ New variables.
+ (Frecent_doskeys): New function.
+ (syms_of_msdos): New function.
+
+ * search.c (string_match_1): Pass the POSIX arg to compile_pattern.
+
+ * keyboard.c (ok_to_echo_at_next_pause): Make it a char *.
+ (read_char): Copy and compare with echo_area_glyphs.
+
+ * buffer.c (reset_buffer_local_variables): Call
+ Fset_standard_case_table if std case table seems to have been changed.
+
+1995-10-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * buffer.c (reset_buffer): Initialize redisplay_end_trigger slot.
+ Initialize extra1, extra2 and extra3 slots.
+
+ * textprop.c (Fnext_single_property_change): Rearrange handling of
+ limit = t; don't return t.
+
+ * xdisp.c (try_window_id): Stop the compute_motion at ZV, not Z,
+ when checking if all changes are below the window.
+
+ * keyboard.c (read_char): If we reread a char, the next pause
+ can start echoing despite a remaining echo area message.
+ (ok_to_echo_at_next_pause): New variable.
+ (cancel_echoing): Clear ok_to_echo_at_next_pause.
+
+1995-10-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (Qredisplay_end_trigger_hook): New variable.
+ (syms_of_xdisp): Set up Lisp variable.
+ (display_text_line): Run the hook when appropriate.
+
+ * buffer.c (init_buffer_once): Mark redisplay_end_trigger always local.
+ Also fix previous change.
+ (syms_of_buffer): Set up Lisp var buffer-redisplay-end-trigger.
+
+ * buffer.h (struct buffer): New slot redisplay_end_trigger.
+ Also extra1, extra2, extra3.
+
+1995-10-19 Erik Naggum <erik@naggum.no>
+
+ * fns.c (Fmap_char_table): Call map_char_table with correct args.
+
+1995-10-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * config.in (RE_TRANSLATE_TYPE): New definition.
+
+ * casetab.c: Case tables are now char-tables,
+ and the case table is stored in the downcase_table slot only.
+ (Fcurrent_case_table, Fstandard_case_table, set_case_table)
+ (compute_trt_inverse, init_casetab_once): Use new data format.
+
+ * buffer.c (reset_buffer_local_variables):
+ Get the up, eqv and canon tables from within the down case table.
+
+ * editfns.c (Fchar_equal): Handle char-table as case table.
+
+ * fns.c (Fchar_table_subtype): New function.
+ (syms_of_fns): defsube it.
+
+ * fns.c (map_char_table): When possible, use a number
+ to describe the range.
+
+ * doc.c (Fsubstitute_command_keys): Pass new arg to describe_map_tree.
+
+ * keymap.c (describe_map_tree): New arg always_title. Callers changed.
+
+ * search.c (compile_pattern_1, compile_pattern, search_buffer):
+ Case tables are char-tables now.
+
+1995-10-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * lisp.h (UPCASE_TABLE): Definition deleted.
+ (UPPERCASEP, LOWERCASEP, NOCASEP, UPCASE, UPCASE1, DOWNCASE)
+ (DOWNCASE_TABLE): Case tables are now char-tables.
+ (Vascii_upcase_table, Vascii_canon_table, Vascii_eqv_table):
+ Declarations deleted.
+
+ * keyboard.c (read_char): Let Vkeyboard_translate_table be char-table.
+ (syms_of_keyboard): Doc fix.
+
+1995-10-15 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * lread.c (read1): Handle #' as prefix.
+ (Qfunction): New variable.
+ (syms_of_lread): Set up Qfunction.
+
+ * fns.c (Fchar_table_range): New function.
+ (syms_of_fns): defsubr it.
+
+1995-10-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * unexelfsgi.c (find_section): New function.
+ (unexec): Use it. Also simplify previous changes.
+
+1995-10-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * unexelfsgi.c (unexec): Find the old data section.
+ New variable new_offsets_shift used instead of new_data2_size
+ since they are not always the same. Simplify logic for copying
+ the headers and inserting new ones.
+
+ * xterm.c (x_term_init, XTread_socket): Add HAVE_X_I18N support.
+
+ * xfns.c (x_window, both versions): Add HAVE_X_I18N support.
+
+1995-10-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.h (HAVE_X_I18N): New macro.
+ Maybe include Xlocale.h.
+ (struct x_output): New field xic.
+ (FRAME_XIC): New macro.
+
+ * window.c (Fdelete_other_windows): Set w->force_start.
+
+ * xdisp.c (syms_of_xdisp): Doc fix.
+
+1995-10-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fileio.c (Finsert_file_contents): If replacing,
+ set selected_window->start_at_line_beg.
+
+1995-10-11 Kim Storm <kfstorm@wombat.gnu.ai.mit.edu>
+
+ * keyboard.c (make_lispy_event) [!USE_X_TOOLKIT]: Dragging
+ the mouse into the menu-bar and releasing it there did
+ not create a drag-mouse event.
+ (set-input-mode) [MSDOS]: Do not call reset_sys_modes and
+ init_sys_modes.
+
+ * dosfns.c (insert-startup-screen): New function.
+ (msdos-memget, msdos-memput): New functions.
+ (msdos-set-keyboard, insert-startup-screen): New functions.
+ (dos-timezone-offset, dos-display-scancodes, dos-menubar-clock,
+ dos-hyper-key, dos-super-key, dos-keypad-mode, dos-keyboard-layout,
+ dos-decimal-point): New variables.
+
+ * dosfns.h (dos_timezone_offset, dos_display_scancodes,
+ dos_menubar_clock, dos_hyper_key, dos_super_key, dos_keypad_mode,
+ dos_keyboard_layout, dos_decimal_point): New variables.
+
+ * msdos.c: [!HAVE_X_WINDOWS]:
+ Reworked display code to perform immediate screen output.
+ Added menu-bar clock.
+ Reworked keyboard code to support international keyboards.
+ Improved keypad handling (see dos-keypad-mode).
+ Properly distinguish between C-end and C-kp-1 etc.
+ Corrected M-return & M-kp-enter.
+ Added support for hyper and super keys.
+ Reworked mouse code to avoid mouse flicker.
+ Saves and restores DOS-screen prior to emacs startup.
+ (sys_select): Would abort if rfds = NULL.
+ (dos_direct_output): New function.
+ (dos_dump_scancodes): New variable.
+
+ * msdos.h (internal_flush): Removed
+ (mouse_init1, mouse_check_moved, mouse_pressed, mouse_released): Removed.
+ (dos_get_saved_screen, dos_set_keyboard): New functions.
+
+ * s/msdos.h: Check that DJGPP v. 1 is used.
+ Define __DJGPP__ to 1.
+ Simplified INTERNAL_TERMINAL termcap definition.
+ Removed #define fflush internal_flush.
+
+ * sysdep.c: (init_sys_modes) [!HAVE_X_WINDOWS (MSDOS)]:
+ Always call set_terminal_modes.
+ (reset_sys_modes) [MSDOS]: Do not look at EMACSCOLORS.
+
+
+1995-10-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * buffer.c (Fkill_buffer): Don't kill auto save file if not recent.
+
+ * keymap.c (describe_vector): Support nested char-tables.
+
+1995-10-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Give char-tables a new slot `purpose'.
+
+ * lisp.h (struct Lisp_Char_Table): New slot `purpose'.
+ (CHAR_TABLE_STANDARD_SLOTS): Add one.
+
+ * alloc.c (Qchar_table_extra_slots): New variable.
+ (syms_of_alloc): Initialize it.
+ (Fmake_char_table): Take new arg PURPOSE and get N from a property.
+
+ * fns.c (Fcopy_sequence): Call Fmake_char_table the new way.
+ (map_char_table): No longer static. New arg C_FUNCTION.
+ (Fmap_char_table): Call to map_char_table changed.
+ (Fset_char_table_parent): Allow nil s new parent.
+ Fix the code that checks for a loop in parents.
+
+ * syntax.c (Qsyntax_table): New variable.
+ (init_syntax_once): Call Fmake_char_table the new way.
+ Set up Qsyntax_table.
+ (Fsyntax_table_p): Check the `purpose' field.
+
+ * disptab.h (DISP_TABLE_P): Check the `purpose' slot.
+ (Qdisplay_table): Declared.
+ * dispnew.c (Qdisplay_table): New variable.
+ (syms_of_display): Initialize it.
+
+1995-10-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * data.c (Qvector_or_char_table_p): New variable.
+ (Fvector_or_char_table_p): New function.
+ (syms_of_data): Set up Lisp var and function.
+
+ * lisp.h (CHECK_VECTOR_OR_CHAR_TABLE): New macro.
+
+1995-10-09 Erik Naggum <erik@naggum.no>
+
+ * buffer.c (buffer-display-table): Document new implementation.
+
+1995-10-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * minibuf.c (temp_echo_area_glyphs): Restore the old point value.
+
+1995-10-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (exec_sentinel, read_process_output):
+ Call record_asynch_buffer_change only if caller is reading kbd input.
+
+ * buffer.c (init_buffer_once): Make file_format always local,
+ not just local when set.
+
+1995-10-07 Erik Naggum <erik@naggum.no>
+
+ * alloc.c (Fmake_char_table): Initialize parent to nil.
+
+1995-10-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (command_loop_1): Access display tables as char-tables.
+
+ * indent.c (buffer_display_table): Use DISP_TABLE_P. Return type
+ struct Lisp_Char_Table * since display tables are now char-tables.
+ (character_width, disptab_matches_widthtab, recompute_width_table)
+ (current_column, Fmove_to_column, compute_motion):
+ Corresponding changes.
+
+ * window.c (window_display_table): Use DISP_TABLE_P. Return type
+ struct Lisp_Char_Table * since display tables are now char-tables.
+ * xdisp.c (redisplay_window, redisplay_window, display_text_line):
+ Fix up calls to window_display_table. Access display tables
+ as char-tables.
+
+ * disptab.h (DISP_TABLE_EXTRA_SLOTS, DISP_TABLE_P): New macros.
+ (DISP_TRUNC_GLYPH, DISP_CONTINUE_GLYPH, DISP_ESCAPE_GLYPH)
+ (DISP_CTRL_GLYPH, DISP_INVIS_VECTOR, DISP_BORDER_GLYPH):
+ Use the `extras' field.
+ (window_display_table, buffer_display_table): Change return type.
+
+ * keymap.c (describe_vector): Use Flength to get length of vector.
+
+ * Makefile.in (bytecode.o): Depend on syntax.h.
+
+1995-10-06 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * syntax.c (describe_syntax): Handle new syntax-table data format.
+ (Fmodify_syntax_entry, init_syntax_once): Use SET_RAW_SYNTAX_ENTRY.
+ Handle new syntax-table data format.
+ (check_syntax_table): Use CHECK_CHAR_TABLE. Now static.
+ Don't return anything; callers changed.
+ (Fcopy_syntax_table): Use Fcopy_sequence.
+ (Fchar_syntax, Fmatching_paren, Fforward_comment): Copy complex args
+ to SYNTAX into variables before using them.
+ (Fsyntax_table_p): Accept any char-table.
+ (syntax_parent_lookup): New function.
+ (syntax_temp): New variable.
+
+ * syntax.h: Use char tables as syntax tables.
+ (RAW_SYNTAX, RAW_SYNTAX_MATCH): Macros deleted.
+ (RAW_SYNTAX_ENTRY, SET_RAW_SYNTAX_ENTRY): New macros.
+ (SYNTAX, SYNTAX_MATCH): Rewritten.
+ (SYNTAX_ENTRY, SYNTAX_WITH_FLAGS): New macros.
+ (SYNTAX_COMSTART_SECOND, SYNTAX_COMEND_FIRST, SYNTAX_COMEND_SECOND)
+ (SYNTAX_PREFIX, SYNTAX_COMMENT_STYLE): Use SYNTAX_WITH_FLAGS.
+
+ * callint.c (callint_message, callint_message_size): New vars.
+ (syms_of_callint): Set up new vars.
+ (Fcall_interactively): Keep the prompt in the heap.
+
+1995-10-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * window.c (Fset_window_hscroll): Don't reject args > SHORTBITS.
+
+ * indent.c (Fmove_to_column): Make it interactive.
+
+1995-10-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * lisp.h (struct Lisp_Char_Table): New structure.
+ (CHAR_TABLE_STANDARD_SLOTS, CHAR_TABLE_ORDINARY_SLOTS): New macros.
+ (CHAR_TABLE_EXTRA_SLOTS): New macro.
+
+ * buffer.c (Fmake_indirect_buffer): Was taking marker positions
+ from current buffer, which is irrelevant.
+ (init_buffer_once): Make buffer-file-format always local.
+
+1995-10-03 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * unexec.c (write_segment): Write valid data in units of 1<<13,
+ but write zeros only a page at a time.
+
+ * window.c (window_scroll): Always set force_start.
+
+1995-10-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * eval.c (run_hook_with_args_2): New function.
+
+ * unexec.c (write_segment): Use pagesize as unit of writing
+ instead of 128.
+
+ * lisp.h (CHECK_CHAR_TABLE): New macro.
+
+ * frame.c (Qmouse_leave_buffer_hook): New variable.
+ (syms_of_frame_1): Initialize it.
+ (Fhandle_switch_frame): Run the hooks.
+
+ * keyboard.c (Vsuggest_key_bindings): New variable.
+ (syms_of_keyboard): Set up Lisp variable.
+ (Fexecute_extended_command): When enabled, show an equivalent
+ key binding.
+
+1995-10-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_connection_signal_1): New function.
+ (x_connection_signal): Try all the server connections
+ to see which one was lost.
+
+1995-09-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (Qwindow_scroll_functions, Vwindow_scroll_functions):
+ New variables.
+ (syms_of_xdisp): Initialize them.
+ (redisplay_window): Call the functions when appropriate.
+
+ * xterm.c (XTcondemn_scroll_bars): No error if
+ FRAME_CONDEMNED_SCROLL_BARS is non-nil already.
+ Just move all the scroll bars into there.
+
+ * dispnew.c (get_display_line): Don't abort if there's text
+ in the line to the right beyond HPOS.
+ (quit_error_check): Make this a no-op.
+
+ * fileio.c (barf_or_query_if_file_exists): New arg STATPTR.
+ Callers changed.
+ (Fcopy_file): Error if input and output are the same file.
+
+1995-09-28 Carsten Bormann <cabo@informatik.uni-bremen.de>
+
+ * m/ibmrs6000.h: Add early support for Solaris 2.5 on PowerPCs.
+ [USG5_4] (CANNOT_DUMP): Define this if USG5_4.
+ (UNEXEC): Don't define if already defined.
+ [USG5_4] (DATA_SEG_BITS, LIBS_MACHINE): Alternate definitions.
+ (C_SWITCH_MACHINE, LD_SWITCH_MACHINE, NLIST_STRUCT, WORDS_BIG_ENDIAN)
+ (TEXT_START, DATA_START, TEXT_END, DATA_END):
+ Don't define, if USG5_4.
+
+1995-09-27 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
+
+ * lisp.h (pvec_type): Add PVEC_CHARTABLE and PVEC_BOOLVECTOR.
+ Move PVEC_BUFFER to a higher bit.
+ (CHARTABLEP, GC_CHARTABLEP, XSETCHARTABLE, XCHARTABLE): New macros.
+ (XBOOLVECTOR, XSETBOOLVECTOR, BOOLVECTORP, GC_BOOLVECTORP): New macros.
+ (struct Lisp_Boolvector): New data type.
+
+ * lread.c (read1): Handle chartables and boolvectors.
+ * print.c (print): Handle chartables and boolvectors.
+ (print_boolvector): New function.
+ * data.c (Fchartablep, Fboolvectorp): New functions.
+ (syms_of_data): defsubr them.
+ (Faref, Faset, Fsequencep): Handle chartables and boolvectors.
+
+ * fns.c (Fset_char_table_range): New function.
+ (make_char_table, Fmap_char_table): New function.
+ (Fchar_table_extra_slot, Fset_char_table_extra_slot): New functions.
+
+ * fns.c (Fcopy_sequence, Felt, internal_equal, Ffillarray):
+ Handle chartables and boolvectors.
+ (Flength, concat): Handle boolvectors as args.
+ (Flength): Handle chartables as args.
+
+ * alloc.c (Fmake_chartable, Fmake_boolvector): New functions.
+ (syms_of_alloc): defsubr them.
+
+ * buffer.c (Fmake_overlay): Set end-marker's insertion_type to 1.
+
+1995-09-22 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * xfns.c (Fx_create_frame): Set up buffer-predicate slot.
+
+ * gmalloc.c (current_core_address): New function.
+ (_malloc_internal): Use current_core_address.
+ (morecore): Avoid using __morecore (0).
+
+ * ralloc.c (r_alloc_sbrk): Round up amount being returned.
+
+1995-09-20 Paul Eggert <eggert@twinsun.com>
+
+ * msdos.c (gettimeofday, init_gettimeofday, daylight, gmtoffset):
+ Undo previous change to msdos.c.
+ (init_environment): No need to call tzset and init_gettimeofday,
+ since `main' now does that for us.
+ (gettimeofday): Ignore tzp; it's obsolescent.
+ (init_gettimeofday): Invoke tzset first.
+ * s/msdos.h (LOCALTIME_CACHE, tzset): New macros.
+
+1995-09-17 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * xfns.c (x_decode_color): Get error if color not defined.
+
+ * xmenu.c (popup_get_selection): Pop menu down if button is pressed
+ outside the menu.
+
+ * minibuf.c (read_minibuf_unwind): Use safe_run_hooks.
+
+ * keyboard.c (safe_run_hooks): No longer static.
+
+ * keyboard.c (read_char_x_menu_prompt):
+ When unreading events generated by a menu,
+ turn symbols and integers into lists,
+ for the sake of last_nonmenu_event and thus y-or-n-p.
+
+1995-09-15 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * lread.c (Fload): Rename arg STR to FILE.
+
+1995-09-14 Richard Stallman <rms@whiz-bang.gnu.ai.mit.edu>
+
+ * ralloc.c (r_alloc_sbrk): Get the right heap data address
+ in multi-heap case.
+
+1995-09-12 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * s/isc2-2.h (BROKEN_SELECT_NON_X): Define this instead of turning
+ off HAVE_SELECT.
+ * s/isc3-0.h (BROKEN_SELECT_NON_X): Moved to s/isc2-2.h.
+ (HAVE_SELECT): Deleted; s/isc2-2.h no longer undefs this.
+
+1995-09-12 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * insdel.c (signal_after_change): Call report_interval_modification.
+
+ * textprop.c (call_mod_hooks): Moved from intevals.c
+ (verify_interval_modification): Moved from intervals.c.
+ (interval_insert_behind_hooks, interval_insert_in_front_hooks):
+ New variables.
+ (report_interval_modification): New function.
+ * intervals.c (call_mod_hooks, verify_interval_modification):
+ Functions moved to textprop.c.
+
+1995-09-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xmenu.c (xmenu_show): Ignore `quote' when looking up the result.
+
+1995-09-10 Paul Eggert <eggert@twinsun.com>
+
+ * editfns.c (Fencode_time): Use mktime to do the real work;
+ this fixes bugs involving out-of-range dates and leap seconds,
+ and allows date arithmetic via out-of-range values for arguments.
+ Allow the ZONE parameter to be a TZ-style string.
+ Doc string fix: `1900' -> `this century'.
+ (set_time_zone_rule): New function.
+ (Fset_time_zone_rule): Use it.
+ (environ, make_time): Add extern declarations.
+ (days_per_month): Remove.
+
+1995-09-09 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (command_loop_1): Set this_command to nil
+ before reading a command.
+
+ * editfns.c (Fdecode_time): Doc fix.
+
+1995-09-08 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * m/apollo.h (HAVE_UNISTD_H): Add #undef.
+
+1995-09-07 Paul Eggert <eggert@twinsun.com>
+
+ * editfns.c (Fset_time_zone_rule): New function.
+ (syms_of_editfns): defsubr it.
+ * msdos.c (gettimeofday): Don't bother setting time zone,
+ since nobody uses it, and our hacks to get it get in the way
+ of the above fix. Use simpler method for getting time stamp.
+ (init_gettimeofday, daylight, gmtoffset): Remove.
+ * msdos.h (init_gettimeofday): Remove declaration.
+
+1995-09-06 Paul Eggert <eggert@twinsun.com>
+
+ * configure.in (LOCALTIME_CACHE): Define if tzset exists and
+ if localtime caches TZ. Check for tzset.
+
+ * emacs.c (main): Call tzset only if LOCALTIME_CACHE is defined;
+ not all Suns have this bug.
+ * m/pmax.h, s/386bsd.h, s/bsd386.h, s/freebsd.h, s/gnu.h,
+ s/netbsd.h (LOCALTIME_CACHE): Remove; now configured automatically.
+
+1995-09-06 Erik Naggum <erik@naggum.no>
+
+ * alloc.c (Fmake_marker): Initialize insertion_type to 0.
+
+1995-09-03 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * insdel.c (adjust_markers_for_insert): New function.
+ (insert_from_buffer_1, insert_from_string_1, insert_1): Call it.
+
+1995-09-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fileio.c (Fmake_symbolic_link, Fadd_name_to_file):
+ Look for handler for the new name as well as for the target.
+
+ * dired.c (Ffile_name_all_completions, Ffile_name_completion):
+ Look for handler for FILE as well as for DIRNAME.
+
+1995-08-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * marker.c (Fcopy_marker): New arg TYPE.
+ (Fmarker_insertion_type, Fset_marker_insertion_type): New functions.
+ (syms_of_marker): defsubr them.
+
+ * buffer.c (Fmake_indirect_buffer): Set the insertion_type of the
+ zv_marker markers to 1.
+
+ * window.c (save_window_save): Pass the new arg to Fcopy_marker.
+
+ * editfns.c (save_excursion_save): Pass the new arg to Fcopy_marker.
+
+1995-08-31 Erik Naggum <erik@naggum.no>
+
+ * keyboard.c (Fcommand_execute): Ignore `disabled' property on
+ commands if `disable-command-hook' is nil.
+
+1995-08-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_key_sequence): Validate the event position
+ before calling get_local_map.
+
+1995-08-29 Jack Repenning <jackr@sgi.com>
+
+ * unexelfsgi.c: Compute new data offset based on memory
+ address; also, copy .got from memory not temacs.
+
+1995-08-29 Kim Storm <kfs@olicom.dk>
+
+ * dosfns.c (Fmsdos_mouse_enable, Fmsdos_mouse_disable)
+ (Fmsdos_mouse_init): New functions.
+ (syms_of_dosfns): defsubr them.
+ (Fmode25, Fmode4350): Call mouse_off unconditionally.
+ (Fset_mouse_position): Return nil.
+
+ * msdos.h (sleep_or_kbd_init): Delete declaration.
+
+ * frame.c [!MULTI_FRAME] (Factive_minibuffer_window): New function.
+ [!MULTI_FRAME] (syms_of_frame): defsubr it.
+
+ * sysdep.c (sys_subshell) [MSDOS]: Handle SUSPEND env var.
+ Disable error report from subshell if system returns non-zero.
+ Don't call vfork before calling system.
+ Don't call wait_for_termination.
+ (sys_select): Turn it off if MSDOS.
+ (reset_sys_modes): Support EMACSCOLORS env var.
+
+ * puresize.h (SITELOAD_PURESIZE_EXTRA): New macro.
+ (BASE_PURESIZE): Use SITELOAD_PURESIZE_EXTRA.
+
+ * msdos.c (putchar): Call internal_flush instead of _flsbuf.
+ (DO_TERMSCRIPT): New macro to support open-termscript.
+ (internal_flush): Corrected handling of flush in middle of
+ escape sequences. Handle screen width > 127.
+ (flush_escape): New function for use by internal_flush.
+ (sys_select): New MS-DOS specific version with us timing.
+ (EMACSCOLORS): New environment variable.
+ (IT_clear_end_of_line): Set default face.
+ (run_msdos_command): Restore mouse position after command.
+ Close "backup fd"s.
+ Corrected switch to cooked mode while running command.
+ (mouse_on, mouse_off): Now checks have_mouse > 0.
+ Note: "have_mouse < 0" means that a mouse is present, but
+ it has been disabled via msdos-mouse-disable.
+ (IT_write_glyphs): Allow esc-character itself to be printed.
+ (event_timestamp): New function to make reliable times stamps.
+ (sys_chdir): Skip drive letter before calling chdir.
+ (sleep_or_kbd_hit): Handle 60 seconds time wrap.
+ (mouse_get_pos): Return event_timestamp.
+
+
+1995-08-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * msdos.c (struct IT_menu_state): Refer to it as struct, not typedef.
+
+ * editfns.c (Fdecode_time): Doc fix.
+
+ * minibuf.c (Fdisplay_completion_list): Clear all text properties
+ for the whitespace between completion items.
+
+ * xterm.c (x_wm_set_icon_pixmap): If trying to turn off icon
+ pixmap, do nothing.
+
+1995-08-28 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * s/gnu.h (GETPGRP_NO_ARG, WAIT_USE_INT, UNEXEC): New macros.
+ (HAVE_SOCKETS, A_TEXT_SEEK, NO_REMAP): Macros removed.
+
+1995-08-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * doprnt.c (doprnt): Fix typo in error message.
+
+1995-08-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * emacs.c (decode_env_path): Use ".", not nil, for current dir.
+
+1995-08-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (modifier_names): Add 4 bits to modifier bit positions.
+
+1995-08-21 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * xdisp.c (display_text_line): Write blanks under the entire
+ scroll bar, not just the first column.
+
+1995-08-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/irix5-2.h (SA_RESTART): Add #undef.
+
+ * keyboard.c:
+ (Qpost_command_idle_hook, Vpost_command_idle_hook): New vars.
+ (syms_of_keyboard): Set up new vars.
+ (command_loop_1): Run Qpost_command_idle_hook.
+
+1995-08-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/aix3-1.h (SYSTEM_TYPE): Change to just "aix".
+
+ * s/aix4.h: Include aix3-2-5.h, not aix3-2.h.
+ * s/aix4-1.h (sigsetmask, _setjmp, _longjmp): Delete undefs.
+ [__GNUC__] (_NO_PROTO): Add undef.
+
+ * s/aix3-2-5.h (POSIX_SIGNALS, CLASH_DETECTION): Defined.
+ (SIGNALS_VIA_CHARACTERS, MAIL_USE_LOCKF): Defined.
+ (sigmask, sigsetmask, _setjmp, _longjmp): Add undefs.
+
+1995-08-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * dispnew.c: Include syssignal.h.
+
+ * lisp.h (struct Lisp_Marker): Make insertion_type an unsigned int.
+
+1995-08-16 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * syntax.c (scan_sexps_forward): Fix previous change.
+
+1995-08-15 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * emacs.c (sort_args): Initialize best_priority smaller than any
+ actual priority.
+
+1995-08-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fileio.c (Fwrite_region): New arg lockname.
+ (auto_save_1): Pass new arg.
+
+ * callproc.c (Fcall_process_region): Pass new arg to Fwrite_region.
+
+ * emacs.c (standard_args): Fix previous change.
+
+1995-08-14 Erik Naggum <erik@naggum.no>
+
+ * emacs.c (standard_args): Add option --eval to evalute an
+ expression on the command line and print the result.
+
+1995-08-14 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * cmds.c (Fself_insert_command): Optimize the case with arg > 2
+ to avoid running change hooks lots of times.
+
+1995-08-13 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/isc4-1.h (NO_SOCKETS_IN_FILE_SYSTEM): Defined.
+ (START_FILES): Defined.
+ (LIB_STANDARD): New definition, details depending on __GNUC__.
+
+ * syntax.c (scan_sexps_forward): Use the initial depth
+ in the starting state for tracking when we reach TARGETDEPTH.
+
+1995-08-11 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * m/alpha.h: Test OSF1, not __osf1__.
+ (ORDINARY_LINK): Define only if OSF1.
+ (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF, PTY_OPEN):
+ Define only if OSF1.
+ (TEXT_END, DATA_END): Fix the definitions.
+
+1995-08-10 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/linux.h (ULIMIT_BREAK_VALUE, SEGMENT_MASK): Moved to intel386.h
+ (LIBS_SYSTEM): Define this instead of LIBS_MACHINE.
+
+ * m/intel386.h [linux] (ULIMIT_BREAK_VALUE, SEGMENT_MASK):
+ Moved from linux.h.
+
+ * m/alpha.h [linux] (COFF, NO_TERMIO): Defined.
+ [linux] (TEXT_END, DATA_END): New definitions.
+
+ * unexalpha.c (fatal_unexec): Use vfprintf, not _doprnt.
+
+ * m/alpha.h (LIBS_DEBUG, START_FILES, LIBS_MACHINE):
+ Define only if __osf1__.
+
+ * macros.c (Fcancel_kbd_macro_events): New function.
+ (syms_of_macros): defsubr it.
+
+ * frame.c (store_frame_param): Don't call set_menu_bar_lines if X.
+
+1995-08-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_key_sequence): Undo previous change.
+ Instead, put back the orig_uppercase event if key is not defined.
+ When downcasing, back up one step in key-translation processing.
+
+ * doprnt.c (doprnt): Error if %-width is too big.
+
+ * editfns.c (Fformat): Limit minlen to avoid stack overflow.
+
+1995-08-07 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * insdel.c (signal_before_change, signal_after_change): Fix
+ spelling of Vbefore_change_functions and Vafter_change_functions.
+
+1995-08-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * doprnt.c (doprnt): Don't let size_bound be gigantic.
+ Fix error message.
+
+1995-08-06 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * buffer.c (get_truename_buffer): New function.
+ * filelock.c (lock_file): Use get_truename_buffer.
+
+ * emacs.c (main) [USG5]: Call setpgrp without testing INTERRUPT_INPUT.
+
+ * xdisp.c (redisplay): Compute mini_frame the same way
+ echo_area_display does.
+
+ * keyboard.c (kbd_buffer_store_event):
+ Don't insert two buffer_switch_event's in a row.
+
+ * xfns.c (x_set_menu_bar_lines) [USE_X_TOOLKIT]: When turning
+ menu bar on, make sure next redisplay creates it.
+
+ * eval.c (run_hook_with_args): Move the GCPRO2; add UNGCPRO.
+
+ * process.c (read_process_output, exec_sentinel): Call
+ record_asynch_buffer_change after any eval. Don't call
+ prepare_menu_bars.
+ (wait_reading_process_input): Don't call prepare_menu_bars.
+
+1995-08-05 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * search.c (Freplace_match): New arg SUBEXP.
+
+ * eval.c (run_hook_with_args): Add gcpros.
+ * print.c (print_string): Use insert_from_string for output to buffer.
+ * minibuf.c (Fdisplay_completion_list): gcpro elt.
+
+ * insdel.c (signal_before_change, signal_after_change): Major rewrite.
+ (before_change_function_restore, after_change_function_restore)
+ (before_change_functions_restore, after_change_functions_restore):
+ Functions deleted.
+ * eval.c (run_hook_list_with_args): New function.
+ * buffer.c (Qbefore_change_functions, Qafter_change_functions):
+ New variables.
+ (syms_of_buffer): Initialize them.
+ * buffer.h (Qbefore_change_functions, Qafter_change_functions):
+ Declared.
+
+ * frame.c (Fset_mouse_position, Fset_mouse_pixel_position): Doc fixes.
+ [not MULTI_FRAME] (Fframe_visible_p): New function.
+ [not MULTI_FRAME] (syms_of_frame): defsubr it.
+
+ * xfns.c (Ffocus_frame, Funfocus_frame): Make them no-ops.
+
+1995-08-04 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_delete_display) [AIX]: Don't call XRmDestroyDatabase.
+
+ * msdos.c (IT_write_glyphs): Call ScreenSetCursor.
+
+ * lread.c (saved_doc_string*): New variables.
+ (load_force_doc_strings): New variable.
+ (syms_of_lread): Set up Lisp var load-force-doc-strings.
+ (read_list): Handle load_force_doc_strings.
+ Use the saved_doc_string, if it's right; otherwise, reread from file.
+ (read1): Save last doc string in saved_doc_string.
+
+1995-08-03 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.c (set_menu_bar_lines, set_menu_bar_lines_1): New functions.
+ (store_frame_parameter): Call set_menu_bar_lines.
+ [!MULTI_FRAME] (Fmodify_frame_parameters): Call set_menu_bar_lines.
+
+ * frame.c: Move various Q... vars to top of file, unconditional.
+ (Vterminal_frame): Just one definition, at top of file, unconditional.
+ (syms_of_frame_1): New function.
+ (syms_of_frame. both definitions): Call syms_of_frame_1.
+
+1995-08-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_key_sequence): Don't downshift an event
+ if that fails to make it bound.
+ (follow_key): Don't alter contents of NEXT until the end.
+
+ * xmenu.c [USE_X_TOOLKIT] (xmenu_show): Compute root-based
+ coordinates. Make a dummy event to pass them to lw_popup_menu.
+
+ * lread.c (Funintern): Fix deleting the last symbol in a chain.
+
+1995-08-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xdisp.c (redisplay): When displaying a terminal frame,
+ if it isn't the same one as last time, clear it and redraw.
+ Don't redisplay mini_frame as well, if it is a termcap frame.
+
+ * frame.c (do_switch_frame): Do nothing special when switching
+ between terminal frames.
+
+1995-07-31 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * s/usg5-4.h, s/sol2-5.h (GETTIMEOFDAY_ONE_ARGUMENT): Deleted;
+ configure handles this now.
+
+1995-07-31 Simon Marshall <simon@duality.gnu.ai.mit.edu>
+
+ * eval.c (run_hook_with_args): Renamed from Frun_hook_with_args.
+ Take extra arg CONDITION, and return appropriately based on hook
+ function value if CONDITION is until_success or until_failure.
+ (Frun_hooks, Frun_hook_with_args,
+ Frun_hook_with_args_until_success,
+ Frun_hook_with_args_until_failure): New functions, use it.
+ (syms_of_eval): defsubr them.
+
+ * lisp.h (Frun_hook_with_args,
+ Frun_hook_with_args_until_success,
+ Frun_hook_with_args_until_failure): Declare them.
+
+1995-07-31 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (XTread_socket): For UnmapNotify, use x_top_window_to_frame.
+
+ * keyboard.c (kbd_buffer_get_event, swallow_events): Fix prev change.
+
+1995-07-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xmenu.c (single_submenu):
+ Only ignore 1st char of pane name if that is an @.
+
+ * frame.c (Fmake_terminal_frame): Copy face_alist from selected frame.
+
+ * s/linux.h (HAVE_XRMSETDATABASE): Define if not defined.
+
+1995-07-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/isc3-0.h (HAVE_SELECT): Defined.
+
+ * s/isc4-1.h (HAVE_SOCKETS, NEED_NET_ERRNO_H): Defined.
+ (HAVE_TERMIOS): Defined.
+ (HAVE_TERMIO): Add undef.
+
+ * s/isc4-0.h (sigblock, SIG_BLOCK): Don't define them if POSIX_SIGNALS.
+
+ * process.c: Maybe include net/errno.h.
+
+ * alloc.c (cons_cells_consed, floats_consed, vector_cells_consed)
+ (symbols_consed, string_chars_consed, misc_objects_consed)
+ (intervals_consed): New vars.
+ (make_float, Fcons, make_interval, allocate_vectorlike, Fmake_symbol)
+ (allocate_misc, make_uninit_string): Increment them.
+ (Fmemory_use_counts): New function.
+ (syms_of_alloc): defsubr it.
+
+1995-07-28 Gvran Uddeborg <uddeborg@carmen.se>
+
+ * s/isc4-1.h: ISC 4.1 has termios.
+
+1995-07-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * config.in (GETTIMEOFDAY_ONE_ARGUMENT): Add #undef.
+
+1995-07-27 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * eval.c (syms_of_eval): Add missing defsubr.
+
+ * buffer.c: (struct sortstrlist): New type.
+ (overlay_heads, overlay_tails): Change to struct sortstrlist.
+ (overlay_heads_len, overlay_tails_len): Deleted; now part of struct.
+ (record_overlay_string): New function.
+ (overlay_strings): Simplify. Use record_overlay_string.
+ Check for window match in overlays_after loop, not just in
+ overlays_before.
+ Handle zero-sized overlays better.
+
+1995-07-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keymap.c (describe_buffer_bindings): Print bindings from
+ Vfunction_key_map and from Vkey_translation_map.
+ (describe_translation): New function.
+ (describe_command): Handle vector like string.
+ (describe_map_tree): New arg TRANSL. Callers changed.
+
+ * keymap.c (Vkey_translation_map): Defined.
+ (syms_of_keymap): Set up Lisp var.
+ * keyboard.c (Vkey_translation_map): Just declare, don't define.
+ (syms_of_keyboard): Don't set up Lisp var.
+
+1995-07-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * Makefile.in (prefix-args): Pass ALL_LDFLAGS.
+
+ * xdisp.c (syms_of_xdisp): Doc fix.
+
+ * keyboard.c (kbd_buffer_get_event): Update input_pending after
+ discarding one event from the queue, if we process the event here.
+ (swallow_events): Likewise.
+
+1995-07-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * m/iris4d.h (LIBS_MACHINE): Delete -lsun.
+ * s/irix3-3.h (LIBS_SYSTEM): Defined.
+
+ * frame.h (struct frame): Rename `display' member to `output_data'.
+ Use new data type name for output_data.x.
+ * xterm.h (struct x_output): Renamed from struct x_display.
+ * xterm.c, xfns.c, xmenu.c, dispnew.c, frame.c, xfaces.c: Do renamings:
+ frame->display => frame->output, struct x_display -> struct x_output.
+
+1995-07-25 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * lisp.h (Frun_hook_with_args): Declare this function.
+ * eval.c (Frun_hook_with_args): New C function, formerly in subr.el.
+ * insdel.c (signal_before_change): Use Frun_hook_with_args.
+ (signal_after_change): Likewise.
+
+1995-07-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (next_noop_dpyinfo): New variable.
+ (XTread_socket): Use that to cycle through all displays for XNoOp.
+
+1995-07-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * undo.c (Fprimitive_undo): Don't end inner loop
+ just because a previous-modtime doesn't match any more.
+
+1995-07-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * process.c (Fstart_process):
+ Don't expand the file name before trying openp.
+
+1995-07-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.h (struct x_display): New fields saved_button_event, id.
+ * termhooks.h (enum event_kind): Added menu_bar_activate_event.
+ * xterm.c (XTread_socket) [USE_X_TOOLKIT]: For ButtonPress in menu bar,
+ save the event--don't pass to Xt yet. Make a menu_bar_activate_event.
+ (temp_index, temp_buffer): Now static.
+ * keyboard.c (kbd_buffer_get_event) [USE_X_TOOLKIT]:
+ Handle menu_bar_activate_event by calling x_activate_menubar.
+ * xmenu.c: Include buffer.h.
+ (x_activate_menubar): New function.
+ (set_frame_menubar): New arg deep_p. Callers changed.
+ Run various hooks here when deep_p is true.
+ (frame_vector): Variable deleted.
+ (syms_of_xmenu): Don't staticpro it.
+ (frame_vector_add_frame): Function deleted.
+ (menubar_id_to_frame): New function.
+ (menubar_selection_callback): Use menubar_id_to_frame.
+ (next_menubar_widget_id): New variable.
+ (set_frame_menubar): Use next_menubar_widget_id.
+ (free_frame_menubar): Get id from f->display.x->id.
+
+ * xdisp.c (update_menu_bar): Pass new arg to set_frame_menubar.
+ * xfns.c (x_menubar_window_to_frame): New function.
+
+ * window.c (Fprevious_window, Fnext_window): When minibuf = nil,
+ accept only the minibuffer window that is currently active.
+
+1995-07-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * lread.c (read_list): When a file loaded from site-init.el uses #$,
+ turn it into a relative file name starting with ../lisp.
+
+ * dispnew.c (update_frame): Check that the echo area is in the
+ frame being displayed.
+
+ * keyboard.c (command_loop_1): Clear echo area after 2 sec
+ only if the minibuffer is in the same place as the echo area.
+
+ * window.h (echo_area_window): Declared.
+
+ * xdisp.c (echo_area_display): Use selected frame's minibuf window
+ but don't set the minibuf_window (don't call choose_minibuffer_frame).
+ (message2_nolog, message): Likewise.
+ (echo_area_window): New variable.
+ (echo_area_display): Set echo_area_window.
+ (redisplay_window): Distinguish minibuf_window and echo_area_window.
+
+ * fileio.c (do_auto_save_unwind): Set auto_saving to 0.
+ (Fdo_auto_save): Don't clear auto_saving here. Set it to 1
+ only when we make the unwind-protect.
+
+ * xdisp.c (redisplay): Skip shortcuts if buffer's clip_changed is set.
+ (redisplay_window): If buffer's clip_changed is set, update mode line.
+
+ * frame.c (do_switch_frame): Don't call choose_minibuffer_frame.
+ (choose_minibuf_frame): Choose frame regardless of minibuffer level.
+ * minibuf.c (read_minibuf): Call choose_minibuffer_frame.
+ First save the previous minibuf_window.
+ (read_minibuf_unwind): Restore old minibuf_window.
+
+1995-07-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/aix4.h (AIX4): New definition.
+ * m/ibmrs6000.h (LD_SWITCH_MACHINE) [AIX4]: New alternate definition.
+
+ * xmenu.c (set_frame_menubar): If the Lisp-level menu bar menus
+ are unchanged, don't recompute the widgets.
+
+ * xmenu.c (syms_of_xmenu): Set up Qdebug_on_next_call.
+ (set_frame_menubar): Bind it to nil.
+
+ * fileio.c (Ffile_modes) [DOS_NT]: Use check_executable.
+ (check_executable): DOS_NT code moved here from Ffile_modes.
+ (check_writable): New code for MSDOS.
+
+ * editfns.c (Fformat): Doc fix.
+
+1995-07-20 Karl Heuer <kwzh@gnu.ai.mit.edu>
+
+ * fns.c (Fsafe_length): Return a conservative upper bound.
+
+1995-07-20 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * editfns.c (Fsubst_char_in_region):
+ Bind buffer-file-name to nil if NOUNDO is true.
+
+ * insdel.c (prepare_to_modify_buffer): Don't lock the file
+ if current_buffer->filename is nil.
+
+ * msdos.c (init_environment): Move alloca call out of function arg.
+
+ * puresize.h [!MULTI_FRAME] (BASE_PURESIZE): Increased to 325000.
+
+1995-07-19 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * textprop.c (Fget_char_property): If OBJECT is non-current buffer,
+ use it properly for overlays_at.
+
+1995-07-18 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * alloc.c (init_alloc_once): Set gc_cons_threshold from Lisp obj size.
+
+ * editfns.c (Fmessage): Doc fix.
+ (Fformat): Increment total for size of control string.
+
+ * window.c (Fwindow_start): Doc fix.
+
+ * xfaces.c (unload_color): Don't free colors if immutable colormap.
+
+ * eval.c (Ffuncall, Fapply): Doc fix.
+
+ * callint.c (Fcall_interactively): Doc fix.
+
+ * fileio.c (Fexpand_file_name): Initial ~ means name is absolute.
+
+ * config.in: Renamed from config.h.in.
+ * paths.in: Renamed from paths.h.in.
+ * Makefile.in: Renamed from Makefile.in.in.
+ (paths.h): Depend on paths.in.
+ (config.h): Depend on config.in.
+ (distclean): Delete Makefile.c, not Makefile.in.
+ (SOURCES): Corresponding changes.
+
+ * callproc.c (init_callproc): Set Vdoc_directory based on
+ Vinstallation_directory when that's non-nil, regardless of whether
+ we had to set Vexec_directory.
+
+ * unexsunos4.c (unexec): If not SUNOS4_SHARED_LIBRARIES
+ or if apparently not dynamically linked, just clear rel and erel.
+
+ * s/sunos4shr.h (SUNOS4_SHARED_LIBRARIES): Defined.
+
+1995-07-18 Mikael Djurfeldt <mdj@kidjo.nada.kth.se>
+
+ * xdisp.c (decode_mode_spec): New arg spec_width.
+ Use pint2str for %l and %c. New code to output ??.
+ (display_mode_element): New var minendcol.
+ Pass new arg to decode_mode_spec.
+ (pint2str): New function.
+
+1995-07-17 Karl Heuer <kwzh@kropotkin.gnu.ai.mit.edu>
+
+ * bytecode.c (Fbyte_code): Fix variable names in previous change.
+
+1995-07-17 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xfns.c [USE_MOTIF]: Don't include X11/Xaw/Paned.h, X11/Xaw/Label.h.
+
+1995-07-16 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * keyboard.c (kbd_buffer_get_event): Discard a selection_clear_event
+ before processing it.
+
+ * bytecode.c (Fbyte_code): For Beqlsign, if both args are ints,
+ compare as ints.
+
+ * xterm.c [HAVE_X11XTR6]: Include locale.h
+ (x_term_init) [HAVE_X11XTR6]: Set LC_NUMERIC and LC_TIME back to C.
+
+ * data.c (Fnumber_to_string): Make `buffer' long enough.
+
+1995-07-15 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * xselect.c (x_clear_frame_selections): Delete duplicate code.
+
+ * alloc.c (Flist): Rewritten.
+
+1995-07-13 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * dispnew.c (Fsit_for): Don't call prepare_menu_bars here.
+
+ * emacs.c (main): Add to usage message.
+
+ * s/netbsd.h (AMPERSAND_FULL_NAME): Defined.
+
+1995-07-12 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * s/sco4.h (SCO_R4): Defined.
+
+1995-07-10 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * floatfns.c (Fexpt): Use EMACS_INT for integer calculation.
+ (Ffloor): Likewise.
+
+1995-07-09 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * buffer.c (last_overlay_modification_hooks): New variable.
+ (last_overlay_modification_hooks_used): Likewise.
+ (syms_of_buffer): Init last_overlay_modification_hooks.
+ (add_overlay_mod_hooklist): New function.
+ (call_overlay_mod_hooks): Call add_overlay_mod_hooklist.
+ (report_overlay_modification): When AFTER is non-nil,
+ call the functions recorded in last_overlay_modification_hooks.
+
+ * s/aix4-1.h (_setjmp, _longjmp): Add #undef's.
+
+ * alloc.c (allocating_for_lisp): New variable.
+ (init_intervals, make_interval, init_symbol, Fmake_symbol)
+ (init_float, make_float, init_cons, Fcons)
+ (allocate_vectorlike, init_marker, allocate_misc)
+ (init_strings, make_uninit_string): Set allocate_misc temporarily.
+
+ * Makefile.in.in (TAGS): Use etags from build dir, but make TAGS
+ file in source dir.
+ (${lispsource}TAGS): Renamed from ../lisp/TAGS. Deps changed too.
+ (tags): Corresponding changes.
+ (lisptagsfiles): Delete the term/*.el files.
+
+ * fileio.c (Fwrite_region): If fsync fails with EINTR, don't
+ report a Lisp error.
+
+1995-07-08 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * process.c (keyboard_bit_set): Fix one-off in loop end.
+
+1995-07-07 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * keymap.c (current_minor_maps): Catch errors in Findirect_function.
+ (current_minor_maps_error): New function.
+
+1995-07-06 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * frame.h (struct frame): New field `mouse_moved'.
+ * keyboard.c (mouse_moved): Variable deleted.
+ (kbd_buffer_get_event, readable_events):
+ Check mouse_moved in all frames.
+ Check do_mouse_tracking for non-nil ness.
+ (Ftrack_mouse): Set do_mouse_tracking to t.
+ * xterm.c (note_mouse_movement): Set mouse_moved in the x_display_info.
+ (XTmouse_position, x_scroll_bar_note_movement): Likewise.
+ (x_scroll_bar_report_motion): Likewise.
+
+ * xterm.c (x_draw_box, x_display_box_cursor, x_display_bar_cursor):
+ New args x, y. Don't use curs_x or curs_y here. Callers changed.
+
+ * ntinevt.c (win32_mouse_position, mouse_moved_to):
+ Access mouse_moved in selected_frame.
+ * msdos.c (mouse_get_pos, mouse_check_moved, XMenuActivate):
+ Access mouse_moved in selected_frame.
+
+ * lread.c (Fread): Rename arg READCHARFUN to STREAM.
+
+ * xfns.c (Fx_list_fonts): Don't free thisinfo if it is 0.
+
+ * sysdep.c (sys_close): Handle Sunos 4.1 bug in close errno value.
+
+1995-07-05 Richard Stallman <rms@gnu.ai.mit.edu>
+
+ * Makefile.in.in (lispsource): Renamed from lispdir.
+
+ * sysdep.c (init_system_name): Add cast in init for fqdn.
+
+1995-07-03 Michael Shields <shields@tembel.org>
+
+ * m/intel386.h [linux]: Include values.h and #undef
+ certain macros, to avoid conflict later.
+
+1995-07-06 Karl Heuer <kwzh@nutrimat.gnu.ai.mit.edu>
+
+ * s/irix6-0.h [!__GNUC__] (LD_SWITCH_SYSTEM): Define this.
+
+ * s/usg5-4-2.h (LIB_MOTIF, VFORK_RETURN_TYPE): Define these.
+
+ * xterm.c (x_initialize) [USE_X_TOOLKIT]: Set fallback resources.
+
+ * window.c (Fset_window_hscroll): Set clip_changed in the buffer.
+ (temp_output_buffer_show): Likewise.
+
+ * lisp.h (get_keymap_1): Declared.
+
+ * editfns.c (Fwiden): Set clip_changed in current buffer.
+ (Fnarrow_to_region, save_restriction_restore): Likewise.
+
+ * buffer.c (overlays_in): Don't count empty overlays at END.
+ (Foverlays_in): Likewise.
+
+1995-07-02 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (read_char): Temporarily clear Vquit_flag
+ while checking Vspecial_event_map.
+
+ * xdisp.c (redisplay_window): Fix typos in clip_changed change.
+
+ * buffer.h (struct buffer): New field clip_changed.
+
+ * xdisp.c (clip_changed): Variable deleted.
+ (prepare_menu_bars): Don't look at clip_changed.
+ (redisplay): Don't set clip_changed. Do set b's clip_changed.
+ (redisplay_window): Check clip_changed in current_buffer.
+ (mark_window_display_accurate): Clear clip_changed
+ in the window's buffer.
+
+1995-07-01 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * keyboard.c (Vspecial_event_map): New variable.
+ (syms_of_keyboard): Define Lisp var; init the map.
+ (read_char): Look up each event in Vspecial_event_map; if bound,
+ execute the binding here and read another event.
+ (keys_of_keyboard): Make bindings for iconify-frame,
+ make-frame-visible and delete-frame.
+
+ * fns.c (Fsafe_length): New function.
+ (syms_of_fns): defsubr it.
+ * lisp.h (Fsafe_length): Declared.
+ * xfaces.c (compute_char_face): Use Fsafe_length.
+
+ * s/aix4-1.h (sigsetmask): Add #undef.
+
+ * s/riscos5.h: New file.
+
+ * xfns.c (x_set_icon_type, x_set_icon_name): Don't ever remap the
+ frame window; changing the icon doesn't make it disappear.
+
+ * process.c (Fstart_process): Expand PROGRAM.
+ Error if it is a directory.
+
+ * s/sunos4shr.h (LIBXMU): New definitions (two alternative ones).
+
+ * s/sunos4-1-3.h: Don't use sunos4shr.h; go back to 19.28 definition.
+
+1995-06-30 Geoff Voelker (voelker@cs.washington.edu)
+
+ * nt.c (PASSWD_FIELD_SIZE): Defined.
+ (the_passwd_name, the_passwd_passwd, the_passwd_gecos,
+ the_passwd_dir, the_passwd_shell, getpwuid): Use PASSWD_FIELD_SIZE.
+ (get_emacs_configuration): Check if processor macros are defined.
+
+ * ntheap.c: Include config.h.
+ (syspage_mask, real_data_region_end): Defined.
+ (allocate_heap) [WINDOWS95]: Reverse conditional, end search
+ at 0xD00000.
+ (sbrk): Commit and uncommit memory in machine dependent
+ page size chunks.
+
+ * s/windows95.h (CANNOT_DUMP): Undefined.
+ * makefile.nt (EMACS) [win95]: Removed.
+
+ * makefile.nt (TLASTLIB): Defined.
+ (TEMACS): Use TLASTLIB.
+ * unexnt.c (get_section_info): Set the end of the data region
+ to be just before the start of the shared library data.
+ (read_in_bss): Read directly into memory.
+ (map_in_heap): Read directly into memory if unable to map.
+
+1995-06-30 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/hpux9.h (LIBX11_SYSTEM): Add undef.
+
+ * m/intel386.h [SOLARIS] (LIBS_MACHINE): Move this out of the
+ SOLARIS2_4 conditional.
+
+ * xdisp.c (redisplay_window): Update individual window's mode line
+ if %c calls for an update.
+ (redisplay): Set update_mode_line for selected window only,
+ if it needs this because of %c.
+
+1995-06-29 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/aix3-2-5.h (C_OPTIMIZE_SWITCH, C_DEBUG_SWITCH): Use these
+ names instead of C_SWITCH_OPTIMIZE, C_SWITCH_DEBUG.
+
+ * s/aix4.h: Include aix3-2.h, not aix3-2-5.h.
+
+ * callproc.c (child_setup): Don't get confused if in == err.
+
+ * xterm.c (XTread_socket): Turn off meta, super, hyper and alt bits
+ in the arg for XLookupKey.
+
+1995-06-28 Morten Welinder <terra+@cs.cmu.edu>
+
+ * unexmips.c [MACH]: Include a.out.h.
+ [MACH] (STYP_INIT, _RDATA, STYP_RDATA, _SDATA, STYP_SDATA): Defined.
+ [MACH] (_SBSS, STYP_SBSS, HDRR, pHDRR): New definitions.
+ (unexec): Add MACH conditionals.
+
+ * m/pmax.h [MACH]: Use built-in alloca, set START_FILES.
+
+ * s/mach-bsd4-3.h: New file.
+
+1995-06-28 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * term.c (term_init): Alternative error messages for TERMCAP/TERMINFO.
+
+ * m/alpha.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN)
+ (PTY_TTY_NAME_SPRINTF): New definitions.
+
+ * dispnew.c (update_frame): Pretend cursor is in echo area
+ rather than put it in a minuffer hidden by the echo area.
+
+1995-06-27 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/hpux9.h (LIBXMU): New definition.
+
+ * s/hpux9-x11r4.h, s/hpux9shxr4.h: New files.
+
+ * xmenu.c (single_submenu): Handle commands appearing directly
+ in the menu bar.
+
+1995-06-26 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xterm.c (x_display_bar_cursor, x_display_box_cursor):
+ Don't alter curs_x or curs_y here.
+ (x_display_cursor): Copy them from the frame cursor here.
+ (x_update_cursor): New function.
+ (frame_highlight, frame_unhighlight): Use x_update_cursor.
+
+ * xdisp.c (echo_area_display): Don't set FRAME_CURSOR_... here.
+ (redisplay): In the "point hasn't moved" shortcut,
+ make sure that the cursor is in the right window already.
+
+ * msdos.c (IT_cursor_to, IT_clear_end_of_line, IT_write_glyphs):
+ (IT_set_face): Call internal_flush if short of room.
+
+1995-06-25 Morten Welinder <terra+@cs.cmu.edu>
+
+ * emacs.c (init_cmdargs): Make Vinvocation_directory
+ absolute if it isn't already.
+
+1995-06-25 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * frame.c (Fdelete_frame): It's ok to have no minibuffer left on
+ a kboard if there are no frames on it either.
+
+ * buffer.c (overlays_in): New function.
+ (Foverlays_in): New function.
+ (syms_of_buffer): defsubr it.
+
+ * xfns.c (Fx_open_connection, x_display_info_for_name):
+ Error if window-system is not x.
+
+ * process.c (Fopen_network_stream): Sleep 1 sec before connect retry.
+
+ * frame.c (next_frame, prev_frame): Consider only frames on same kbd.
+ (Fdelete_frame): If next_frame finds nothing, try an alternative.
+
+ * buffer.c (overlay_strings): Fix calls to xrealloc.
+
+1995-06-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * s/aix4-1.h (LIB_MOTIF): Defined.
+
+ * emacs.c (main): Fix --help message.
+
+ * window.c (Fsplit_window): Nicer error if split size is too small.
+
+ * Makefile.in.in (LIBXMU): New macro.
+ (LIBXT): Use LIBXMU.
+
+1995-06-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * fileio.c (directory_file_name): Don't get confused by // at end
+ on Unix-like systems.
+
+1995-06-22 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * xmenu.c (menu_item_enabled_p_1): Special handling for quit.
+ (set_frame_menubar): Inhibit quitting.
+
+1995-06-21 Richard Stallman <rms@mole.gnu.ai.mit.edu>
+
+ * buffer.c (syms_of_buffer): Doc fix.
+
+ * Makefile.in.in (SOME_MACHINE_OBJECTS): Add dosfns.o,
+ intervals.o, textprop.o.
+
+See ChangeLog.5 for earlier changes.
diff --git a/src/bitmaps/README b/src/bitmaps/README
new file mode 100644
index 00000000000..3312f386119
--- /dev/null
+++ b/src/bitmaps/README
@@ -0,0 +1,4 @@
+This directory contains bitmap files that Emacs uses from
+/usr/include/X11/bitmaps. That directory doesn't seem to exist under
+VMS.
+
diff --git a/src/bitmaps/cntrpmsk.xbm b/src/bitmaps/cntrpmsk.xbm
new file mode 100644
index 00000000000..1eeebc4e896
--- /dev/null
+++ b/src/bitmaps/cntrpmsk.xbm
@@ -0,0 +1,6 @@
+#define cntr_ptrmsk_width 16
+#define cntr_ptrmsk_height 16
+static unsigned char cntr_ptrmsk_bits[] = {
+ 0xc0, 0x03, 0xc0, 0x03, 0xe0, 0x07, 0xe0, 0x07, 0xf0, 0x0f, 0xf0, 0x0f,
+ 0xf8, 0x1f, 0xf8, 0x1f, 0xfc, 0x3f, 0xfc, 0x3f, 0xfc, 0x3f, 0xdc, 0x3b,
+ 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03};
diff --git a/src/bitmaps/cntrptr.xbm b/src/bitmaps/cntrptr.xbm
new file mode 100644
index 00000000000..545442cc4f4
--- /dev/null
+++ b/src/bitmaps/cntrptr.xbm
@@ -0,0 +1,8 @@
+#define cntr_ptr_width 16
+#define cntr_ptr_height 16
+#define cntr_ptr_x_hot 7
+#define cntr_ptr_y_hot 1
+static unsigned char cntr_ptr_bits[] = {
+ 0x00, 0x00, 0x80, 0x01, 0x80, 0x01, 0xc0, 0x03, 0xc0, 0x03, 0xe0, 0x07,
+ 0xe0, 0x07, 0xf0, 0x0f, 0xf0, 0x0f, 0x98, 0x19, 0x88, 0x11, 0x80, 0x01,
+ 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00};
diff --git a/src/bitmaps/crosswv.xbm b/src/bitmaps/crosswv.xbm
new file mode 100644
index 00000000000..45ffbb48bda
--- /dev/null
+++ b/src/bitmaps/crosswv.xbm
@@ -0,0 +1,6 @@
+#define cross_weave_width 16
+#define cross_weave_height 16
+static unsigned char cross_weave_bits[] = {
+ 0x55, 0x55, 0x88, 0x88, 0x55, 0x55, 0x22, 0x22, 0x55, 0x55, 0x88, 0x88,
+ 0x55, 0x55, 0x22, 0x22, 0x55, 0x55, 0x88, 0x88, 0x55, 0x55, 0x22, 0x22,
+ 0x55, 0x55, 0x88, 0x88, 0x55, 0x55, 0x22, 0x22};
diff --git a/src/bitmaps/dimple1.xbm b/src/bitmaps/dimple1.xbm
new file mode 100644
index 00000000000..c1a36e5c91b
--- /dev/null
+++ b/src/bitmaps/dimple1.xbm
@@ -0,0 +1,6 @@
+#define dimple1_width 16
+#define dimple1_height 16
+static unsigned char dimple1_bits[] = {
+ 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00,
+ 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00,
+ 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00};
diff --git a/src/bitmaps/dimple3.xbm b/src/bitmaps/dimple3.xbm
new file mode 100644
index 00000000000..25eb294beac
--- /dev/null
+++ b/src/bitmaps/dimple3.xbm
@@ -0,0 +1,6 @@
+#define dimple3_width 16
+#define dimple3_height 16
+static unsigned char dimple3_bits[] = {
+ 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
diff --git a/src/bitmaps/gray.xbm b/src/bitmaps/gray.xbm
new file mode 100644
index 00000000000..d0e7a02bfac
--- /dev/null
+++ b/src/bitmaps/gray.xbm
@@ -0,0 +1,4 @@
+#define gray_width 2
+#define gray_height 2
+static unsigned char gray_bits[] = {
+ 0x01, 0x02};
diff --git a/src/bitmaps/gray1.xbm b/src/bitmaps/gray1.xbm
new file mode 100644
index 00000000000..186ea2233c6
--- /dev/null
+++ b/src/bitmaps/gray1.xbm
@@ -0,0 +1,4 @@
+#define gray1_width 2
+#define gray1_height 2
+static unsigned char gray1_bits[] = {
+ 0x01, 0x02};
diff --git a/src/bitmaps/gray3.xbm b/src/bitmaps/gray3.xbm
new file mode 100644
index 00000000000..0356c8dab5c
--- /dev/null
+++ b/src/bitmaps/gray3.xbm
@@ -0,0 +1,4 @@
+#define gray3_width 4
+#define gray3_height 4
+static unsigned char gray3_bits[] = {
+ 0x01, 0x00, 0x04, 0x00};
diff --git a/src/bitmaps/leftpmsk.xbm b/src/bitmaps/leftpmsk.xbm
new file mode 100644
index 00000000000..722abe63f15
--- /dev/null
+++ b/src/bitmaps/leftpmsk.xbm
@@ -0,0 +1,6 @@
+#define left_ptrmsk_width 16
+#define left_ptrmsk_height 16
+static unsigned char left_ptrmsk_bits[] = {
+ 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0xfc, 0x00, 0xfc, 0x01,
+ 0xfc, 0x03, 0xfc, 0x07, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x01, 0xdc, 0x03,
+ 0xcc, 0x03, 0x80, 0x07, 0x80, 0x07, 0x00, 0x03};
diff --git a/src/bitmaps/leftptr.xbm b/src/bitmaps/leftptr.xbm
new file mode 100644
index 00000000000..8a3e0d5aa4f
--- /dev/null
+++ b/src/bitmaps/leftptr.xbm
@@ -0,0 +1,8 @@
+#define left_ptr_width 16
+#define left_ptr_height 16
+#define left_ptr_x_hot 3
+#define left_ptr_y_hot 1
+static unsigned char left_ptr_bits[] = {
+ 0x00, 0x00, 0x08, 0x00, 0x18, 0x00, 0x38, 0x00, 0x78, 0x00, 0xf8, 0x00,
+ 0xf8, 0x01, 0xf8, 0x03, 0xf8, 0x07, 0xf8, 0x00, 0xd8, 0x00, 0x88, 0x01,
+ 0x80, 0x01, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00};
diff --git a/src/bitmaps/rtpmsk.xbm b/src/bitmaps/rtpmsk.xbm
new file mode 100644
index 00000000000..28e83f21430
--- /dev/null
+++ b/src/bitmaps/rtpmsk.xbm
@@ -0,0 +1,6 @@
+#define right_ptrmsk_width 16
+#define right_ptrmsk_height 16
+static unsigned char right_ptrmsk_bits[] = {
+ 0x00, 0x30, 0x00, 0x38, 0x00, 0x3c, 0x00, 0x3e, 0x00, 0x3f, 0x80, 0x3f,
+ 0xc0, 0x3f, 0xe0, 0x3f, 0xf0, 0x3f, 0xf0, 0x3f, 0x80, 0x3f, 0xc0, 0x3b,
+ 0xc0, 0x33, 0xe0, 0x01, 0xe0, 0x01, 0xc0, 0x00};
diff --git a/src/bitmaps/rtptr.xbm b/src/bitmaps/rtptr.xbm
new file mode 100644
index 00000000000..a8a63806d46
--- /dev/null
+++ b/src/bitmaps/rtptr.xbm
@@ -0,0 +1,8 @@
+#define right_ptr_width 16
+#define right_ptr_height 16
+#define right_ptr_x_hot 12
+#define right_ptr_y_hot 1
+static unsigned char right_ptr_bits[] = {
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x18, 0x00, 0x1c, 0x00, 0x1e, 0x00, 0x1f,
+ 0x80, 0x1f, 0xc0, 0x1f, 0xe0, 0x1f, 0x00, 0x1f, 0x00, 0x1b, 0x80, 0x11,
+ 0x80, 0x01, 0xc0, 0x00, 0xc0, 0x00, 0x00, 0x00};
diff --git a/src/bitmaps/stipple.xbm b/src/bitmaps/stipple.xbm
new file mode 100644
index 00000000000..2e5b9411701
--- /dev/null
+++ b/src/bitmaps/stipple.xbm
@@ -0,0 +1,4 @@
+#define stipple_width 16
+#define stipple_height 4
+static unsigned char stipple_bits[] = {
+ 0x55, 0x55, 0xee, 0xee, 0x55, 0x55, 0xba, 0xbb};