diff options
author | Dave Love <fx@gnu.org> | 1999-09-29 16:37:29 +0000 |
---|---|---|
committer | Dave Love <fx@gnu.org> | 1999-09-29 16:37:29 +0000 |
commit | 615d01824a509f565a0ecf3075fc953b509c313d (patch) | |
tree | 6ab983e0335ef3d98db1e40b6d12044bd6268509 /src | |
parent | 6bf7aab68402fd010eae5d280350bd399014406a (diff) | |
download | emacs-615d01824a509f565a0ecf3075fc953b509c313d.tar.gz |
#
Diffstat (limited to 'src')
-rw-r--r-- | src/ChangeLog.1 | 3524 | ||||
-rw-r--r-- | src/ChangeLog.2 | 4780 | ||||
-rw-r--r-- | src/ChangeLog.3 | 16533 | ||||
-rw-r--r-- | src/ChangeLog.4 | 6903 | ||||
-rw-r--r-- | src/ChangeLog.5 | 7145 | ||||
-rw-r--r-- | src/ChangeLog.6 | 5363 | ||||
-rw-r--r-- | src/bitmaps/README | 4 | ||||
-rw-r--r-- | src/bitmaps/cntrpmsk.xbm | 6 | ||||
-rw-r--r-- | src/bitmaps/cntrptr.xbm | 8 | ||||
-rw-r--r-- | src/bitmaps/crosswv.xbm | 6 | ||||
-rw-r--r-- | src/bitmaps/dimple1.xbm | 6 | ||||
-rw-r--r-- | src/bitmaps/dimple3.xbm | 6 | ||||
-rw-r--r-- | src/bitmaps/gray.xbm | 4 | ||||
-rw-r--r-- | src/bitmaps/gray1.xbm | 4 | ||||
-rw-r--r-- | src/bitmaps/gray3.xbm | 4 | ||||
-rw-r--r-- | src/bitmaps/leftpmsk.xbm | 6 | ||||
-rw-r--r-- | src/bitmaps/leftptr.xbm | 8 | ||||
-rw-r--r-- | src/bitmaps/rtpmsk.xbm | 6 | ||||
-rw-r--r-- | src/bitmaps/rtptr.xbm | 8 | ||||
-rw-r--r-- | src/bitmaps/stipple.xbm | 4 |
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 "e 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}; |