Fri Aug 5 15:24:40 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * callproc.c (call-process): Check the arguments to see if the call was like "/bin/sh -c" on Unix, and do something wise about it. * descrip.mms_in_in: Made sure the logical name `sys' is correctly defined even when `sys_includes' is an empty string. Added vms-date.el in VMS_SUPPORT. Made sure Emacs gets a base address at 8K. Finally removed the ugly system-specific #ifdef's. * dired.c (file-name-all-completions-with-versions): New function. (file_name_completion): Changed to use optimal file patterns when looking for a file. Good for speed. (file_name_as_directory): Changed to become more reliable. (expand-file-name): Now always upcases the result. * process.c (start-process): Now does the same check as call-process, as described above. * sysdep.c (rename_sans_version): Changed `#ifdef __ALPHA' to `#ifdef __DECC'. * vmsfns.c (vms-expand-search-paths): Takes an optional extra argument, and is generally more reliable. * vmsmap.c: Changed `#ifdef __ALPHA' to `#ifdef __DECC'. * vmsproc.c (hack_vms_program_name): Now handles the case when some arguments have sneaked into the program name string. (create_process): like call-process and start-process, described above. * xterm.c: Changed to use the Compose Key as Meta key in some cases. (x_find_modifier_meanings): Doesn't try to check codes that are zero any more. Wed Jun 29 18:55:27 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * vmsfns.c (Fvms_expand_search_paths): Takes one optional second argument which tells it if it should expand the path completelly, or just so the path will be unique. (expand_search_paths): Modified accordingly, and removed a bug for the case the file would not exist. * xterm.c (x_find_modifier_meanings, XTread_socket): Add some code to make XK_Multi_key to act as a Meta key in some cases. Fri May 20 14:27:01 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * descrip.mms_in_in: the targets `all' and `all_debug' are now dependent on $(OLDXMENU). The target is now using the script [-.vms]makedoc.com. The redefinition of `CPP' is now commented out. The target `really-oldXMenu' is now restored. The target `mostlyclean' now correctly removes the dump file. * s/vms.h: Changed to set up the use of the old MultiNet style. * sysdep.c: Always include . Added a debug line. * vmsproc.c(select): always setup the bits in allMask, even when rdsc is 0. Sun Apr 10 16:32:51 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * dired.c (file_name_completion): VMS needs to GCprotect save_file as well. * fileio.c (report_file_error): Apparently, there might be cases when sys_errlist[errno] is NULL, so protect against it. * fileio.c (Fcopy_file): Make some changes so chmod on VMS doesn't reset the modification time of the file. * systime.h: define the macro USE_UTIME, and include utime.h. * vmsproc.c (select): Changed to return -1 if an interrupt occured. This is somewhat magic, since all we handle are interrupts. * xselect.c (x_decline_selection_request): Added a call to XFlushQueue (); Tue Mar 29 12:26:46 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * dired.c (file_name_completion): Added GC protection of some variables. Thu Mar 24 10:50:06 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * sysdep.c (sys_write): Changed so fixed-format files can be written properly. * vmsproc.c (select): Changed to return -1 when an interrupt occurs. Sun Mar 20 21:36:42 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * alloca.c: Now, the function follow_alloca_headers is officialy added. It's purpose is to be used from the debugger. * callproc.c: Added the possibility to give yet another numeric argument call-process and its' companions, to get the output from programs as messages in the echo area. Also corrected a few bugs. * descrip.mms_in_in: The object files are split up in even smaller groups now... * dired.c(file-name-all-completions-with-versions): New function. * dired.c(file_name_completion): Now knows how to expand a bunch of zeroes at the beginning of directory specifications. * regex.c: Made re_match_2 to be a wrapper around re_match_2_real, which does what re_match_2 did before. The reason for this is some potential alloca() problems. * sysdep.c: A small change permitting end_kbd_queue to know if there is an AST to cancel or not. * systime.h: Removed some potential variable problem. * vmsproc.c: A whole bunch of bugs removed. * vmstime.c(sys_gmtime): Changed to be carefull when offset is 0. * vmstime.h: Defines HAVE_TZNAME. * xfns.c: Three calls to XSelectAsyncEvent added. Now, selections work as expected. Wed Feb 23 00:47:15 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * alloca.c: Removed a bug. * config.h_in: Added the VMS-specific macro USE_DEBUG_HACK, which is used in DESCRIP.MMS_IN_IN. * descrip.mms_in_in: Removed a few bugs, and started using USE_DEBUG_HACK. * emacs.c (fatal_error_signal): Signal SS$_DEBUG instead of aborting. * emacs.c (main): Only use mtrace when debugging. * process.c (process_send_signal): Use SYS$FORCEX instead of trying to send ^Y to a process. * sysdep.c (kbd_input_ast): Extended the debug info when ASTDEBUG is defined. * sysdep.c (sys_getenv): Treat "TERM", "HOME", "PATH", "USER" in a special way. * termcap.c (tgetent): Is not dependent on the logical name EMACS_LIBRARY any more. Instead, let PATH_DATA decide where termcap.dat can be found. * vmsproc.c (vms_write_pty, vms_make_pty, vms_close_fd): Removed a bug in the handling of the PTD$ routines. Thu Feb 10 03:29:44 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * vmsproc.c (vms_close_fd,vms_make_pty): removed dum_PTY_BUFFERS, and changed the calls to LIB$*_VM_PAGES to valloc() and free(). Sun Feb 6 21:47:54 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * descrip.mms_in_in: Changed the dependency on oldXMenu so Emacs will not get linked every time you run MMS. Also, a few other clean ups. * dired.c: A change to handle version numbers better. * sysdep.c: Corrected a bug with terminal settings. Tue Jan 18 22:58:29 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * config.h.in: Changed the name PATH_SEPARATOR back to SEPCHAR. * dired.c (file_name_completion): Now really makes good use of opendir () and closedir (). Also handles completion of directories. * getpagesize.h: the page size on VMS is no longer hardcoded to 512, thanks to the AXP architecture. * keyboard.c (reinvoke_input_signal): Make this function work on VMS as well, by invoking an AST. * process.c: Some quantities should be static, but some functions in vmsproc.c need them, so don't make them static on VMS. * process.c (read_process_output, exec_sentinel): unbind_to was called with only 1 arg when 2 are needed. Qnil was added as second arg. * sysdep.c (change_input_fd) : Fixed to work on VMS. * sysdep.c (kbd_input_ast): Changed to do exactly the same operation as the input_available_signal and read_avail_input in keyboard.c. There's no more need for a separate AST routine for X-windows. * sysdep.c (opendir, readdir, closedir): Fixed to work on VMS. Also, opendir takes an optional second argument, which is used as a file pattern. * sysdep.c (rmdir): Fixed to work right on VMS. * sysdep.c (sys_translate_unix): Fixed to really treat a directory specification not starting with a slash as a relative spec. * sysdep.c (getpagesize): Added for the AXP architecture. * systime.h: Changed so VMS can specify microseconds also. * vmsgmalloc.c (__default_morecore): Changed to support the AXP architecture. * vmsmap.c: Changed to suport the AXP architecture. * vmstime.c (__vms_time_secs, __vms_time_usecs, __vms_set_secs, _vms_set_usecs, vms_ad_time, __vms_sub_time, __vms_negate_time): Added functions to better support the definitions in systime.h. * xfns.c (x_window): Connect the routine kbd_input_ast to the window event input stream, instead of vms_X_ast. * xrdb.c (search_magic_path): Use SEPCHAR instead of PATH_SEPARATOR. * xselect.c: Please, DO include termhooks.h. * xterm.c: If HAVE_FCNTL_H is not defined, include file.h instead of fcntl.h. Same goes for HAVE_PARAM_H and sys/param.h. * xterm.c (x_scroll_bar_create): Just as for x_window in xfns.c, connect the routine kbd_input_ast to the window event stream. * xterm.c (vms_X_ast): REMOVED. It is now obsolete. * xterm.c (x_term_init): Assign read_socket_hook, just as on Unix. * m/avms1-5.h: Added to support AXP/VMS. * s/template.h: Changed PATH_SEPARATOR back to SEPCHAR. * s/vms.h: #define SEPCHAR to ',' instead of PATH_SEPARATOR. * s/vms.h: Stop #defining malloc and friends to sys_malloc et al. Mon Dec 6 22:49:45 1993 Richard Levitte (LEVITTE@elin.e.kth.se) * sysdep.c (vms_low_readdir): New function to help the functions readdir and readdirver. * sysdep.c (opendir, closedir, readdir, readdirver): Modified to use the library functions LIB$FIND_FILE and LIB$FIND_FILE_END. Sat Nov 27 04:41:22 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.22 released. Fri Nov 26 05:38:17 1993 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. Thu Nov 25 00:39:17 1993 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. Wed Nov 24 03:01:23 1993 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. Tue Nov 23 00:09:48 1993 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. Mon Nov 22 10:01:51 1993 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. Sun Nov 21 14:06:21 1993 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. Sat Nov 20 00:52:53 1993 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. Sat Nov 20 00:16:59 1993 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. Fri Nov 19 22:49:05 1993 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. Fri Nov 19 20:42:06 1993 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. Fri Nov 19 12:43:47 1993 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. Thu Nov 18 01:04:39 1993 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. Wed Nov 17 06:01:02 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (Fkey_binding): Doc fix. * cmds.c (keys_of_cmds): Make 0377 self-inserting. Tue Nov 16 00:34:22 1993 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. Sun Nov 14 18:00:30 1993 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. Sun Nov 14 00:14:37 1993 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. Sun Nov 14 01:29:44 1993 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. Sat Nov 13 01:18:56 1993 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. Fri Nov 12 15:38:15 1993 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. Wed Nov 10 21:32:40 1993 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. Wed Nov 10 17:58:16 1993 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 *. Wed Nov 10 15:12:22 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/convexos.h: New file. Wed Nov 10 15:12:22 1993 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. Wed Nov 10 01:09:22 1993 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. Tue Nov 9 16:33:49 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c, editfns.c: Doc fix. Sat Nov 6 00:13:11 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * sysdep.c (child_setup_tty): Make the pty handle 8-bit characters. Thu Nov 4 17:09:11 1993 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. Wed Nov 3 15:31:21 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_new_font): xmalloc arg was 1 too small. Mon Nov 1 23:59:26 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sunos4-1-3.h (HAVE_TERMIOS): Defined. Mon Oct 25 00:41:31 1993 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. Sun Oct 24 17:25:52 1993 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. Fri Oct 22 07:22:12 1993 Brian Fox (bfox@albert.gnu.ai.mit.edu) * config.h.in: Add #undef HAVE_UNISTD_H so configure can edit it correctly. Thu Oct 21 21:15:37 1993 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. Tue Oct 19 22:46:54 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * data.c [hpux 7] (_MAXLDBL, _NMAXLDBL): New macro definitions. Tue Oct 12 18:14:58 1993 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. Mon Oct 11 00:13:12 1993 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. Sat Oct 9 16:43:23 1993 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. Fri Oct 8 11:05:23 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sco4.h (SYSTEM_TYPE): Put into #if 0. (BSTRING): Define only if HAVE_BCOPY. Fri Oct 8 03:36:20 1993 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. Thu Oct 7 21:29:38 1993 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. Mon Oct 4 03:48:51 1993 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)". Sun Oct 3 12:21:23 1993 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. Sun Oct 3 19:03:19 1993 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? Sat Oct 2 15:07:50 1993 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. Thu Sep 30 01:22:06 1993 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. Thu Sep 30 19:37:15 1993 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. Tue Sep 28 05:56:12 1993 Jim Blandy (jimb@geech.gnu.ai.mit.edu) * termhooks.h (enum event_kind): Doc fix. Mon Sep 27 08:59:44 1993 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. Fri Sep 24 18:22:32 1993 Brian Fox (bfox@ai.mit.edu) * textprop.c (validate_plist): Add declaration for `list' argument. * frame.c (Fhandle_switch_frame): Doc fix. Sat Sep 25 18:46:34 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * puresize.h: [MULTI_FRAME]: Increase PURESIZE to 220000. Thu Sep 16 16:09:05 1993 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. Tue Sep 14 15:06:08 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * m/mips4.h (LIB_STANDARD): Add a second -lc after crtn.o. Mon Sep 13 00:07:33 1993 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. Sun Sep 12 08:36:02 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * sysdep.c (bzero, bcopy, bcmp): Don't define as functions if they are defined as macros. Sat Sep 11 21:28:18 1993 Roland McGrath (roland@baalperazim.gnu.ai.mit.edu) * lread.c, callproc.c, filelock.c: Include , not "paths.h". Sat Sep 11 17:34:38 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/linux.h (LIBS_MACHINE): Make definition empty. Fri Sep 10 01:03:00 1993 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 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. Wed Sep 8 12:16:25 1993 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'. Wed Sep 8 17:25:40 MET 1993 Francesco Potorti` (pot@cnuce.cnr.it) * filelock.c (fill_in_lock_short_file_name): Fix the crc generation algorithm. Thu Aug 19 16:19:30 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * textprop.c (F{next,previous}_single_property_change): Doc fix. Wed Sep 15 13:09:20 1993 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. Tue Sep 14 01:53:37 1993 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. Fri Jul 9 17:19:35 1993 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. Wed Sep 1 09:47:36 1993 Brian Fox (bfox@ai.mit.edu) * window.c (Fdelete_windows_on): Fix DEFUN to allow optional second argument to appear. Mon Aug 30 08:03:49 1993 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. Fri Aug 27 00:43:06 1993 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. Tue Aug 17 12:20:43 1993 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'. Sat Aug 14 00:23:11 1993 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. Fri Aug 13 23:49:07 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fns.c (internal_equal): All markers in no buffer are equal. Fri Aug 13 19:35:52 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * config.h.in: Added #undef HAVE_XSCREENNUMBEROFSCREEN. Fri Aug 13 17:38:53 1993 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. Fri Aug 13 07:42:39 1993 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) * m/dpx2.h: Delete conditionals for HAVE_X_WINDOWS and HAVE_SOCKETS. Fri Aug 13 00:33:48 1993 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. Thu Aug 12 01:38:36 1993 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. Wed Aug 11 00:25:31 1993 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. Wed Aug 11 02:21:15 1993 Shane Hartman (shane@nugget.spr.com) * buffer.c (verify_overlay_modification): Initialize endpos. * keymap.c (describe_buffer_bindings): Declare shadow just once. Tue Aug 10 01:46:40 1993 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. Tue Aug 10 15:12:13 1993 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. Mon Aug 9 21:40:23 1993 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. Mon Aug 9 21:32:01 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * unexelf.c (unexec): Add casts for some comparisons. (PATCH_INDEX): Likewise. Sun Aug 8 01:15:30 1993 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. Sun Aug 8 01:56:15 1993 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. Sat Aug 7 14:56:25 1993 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. Fri Aug 6 13:28:24 1993 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. Thu Aug 5 13:38:03 1993 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. Wed Aug 4 00:14:53 1993 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. Tue Aug 3 14:21:15 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * m/7300.h (CRT0_COMPILE): Add -O and -Demacs. * ymakefile (CRT0_COMPILE): Add missing #endif. Tue Aug 3 02:58:23 1993 Jim Blandy (jimb@geech.gnu.ai.mit.edu) Changes for 3b1 suggested by Andy Fyfe * 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. Mon Aug 2 22:40:05 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * sysdep.c (vfork): Move this outside the USG conditional. Mon Aug 2 18:16:39 1993 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. Mon Aug 2 17:18:46 1993 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. Mon Aug 2 01:54:41 1993 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. Sun Aug 1 04:42:30 1993 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. Sat Jul 31 01:36:33 1993 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. Sat Jul 31 01:36:33 1993 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. Fri Jul 30 19:11:58 1993 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. Fri Jul 30 13:30:31 1993 Richard Levitte (LEVITTE@elin.e.kth.se) * callproc.c: Made some changes for VMS GNU C. Not tested. * callproc.c (call_process_kill, call_process_cleanup): Small changes for VMS. * callproc.c (call-process): Some changes to make this work on VMS. * config.h.in: Added UCX, MULTINET to designate which (by Emacs supported) TCP/IP package should be used. * config.h.in: Added PATH_SEPARATOR to hold the character which separates the entries in a path. * dired.c (file-attributes): Now returns a list of three numbers for the inode. * emacs.c (init_cmdargs): Changed for VMS so invocation-name won't hold a file name with extension and version number. * emacs.c (decode_env_path): Now uses PATH_SEPARATOR instead of SEPCHAR. * fileio.c (file_name_as_directory): Changed for VMS to handle the [000000] directory entry (the root). * fileio.c (expand-file-name): Changed for VMS to handle the [000000] directory entry, and to convert the delimiters < and > to [ and ]. * floatfns (logb): Make VMS do it the same way as USG. * keyboard.c (read_avail_input): Make this function available on VMS, but make it a dummy. * keyboard.c (interrupt_signal): Call sys$clrast () before signaling quit. sys$clrast () is an undocumented system service. * process.c [VMS]: Include the proper include files, depending on which TCP/IP package is used. Also made sys_siglist available again. * process.c (status_message): Now, Emacs is not prevented from using sys_siglist, so do not use sys_errlist anymore! Also, if the exit code has bit 0 set to 1, consider the process finished. * process.c (make_process, remove_process) [VMS]: Changed to store some proper data in the VMS process data structure. See vmsproc.h. * process.c (start-process) [VMS]: Changed to hack the program name to be called properly. * process.c (open-network-stream) [VMS]: On older versions of UCX, getservbyname () is just an entry with no real function, and thus returns -1. This is now handled. * process.c (deactivate_process, close_process_descs, read_process_output, send_process) [VMS]: Changed to reflect the changes in vmsproc.c. * process.c (process_send_signal) [VMS]: Changed to properly assign pid and gid. * s/template.h: changed SEPCHAR to PATH_SEPARATOR, for readability. * s/vms.h: #defines HAVE_PTYS. * s/vms.h: #defines PATH_SEPARATOR to ','. * s/vms.h: #defines HAVE_SOCKETS and HAVE_GETHOSTNAME if any TCP/IP package is used. * s/vms.h: #defines LIBS_STANDARD and C_SWITCH_SYSTEM conditionaly, depending on if we compile on OpenVMS AXP or VAX/VMS. * s/vms5-5.h: #defines HAVE_VMS_PTYS and HAVE_GETPPID. * sysdep.c (wait_for_termination) [VMS]: Isn't used here. The true definition is defined in vmsproc.c. * sysdep.c (kbd_input_ast): Changed to reflect changes in keyboard.c and vmsproc.c * sysdep.c (sys_sleep) [VMS]: Use timer #2 instead of #1, because the latter is used by VAX C alarm (). * sysdep.c ({request,unrequest}_sigio) [VMS]: Will not croak anymore. * sysdep.c (get_system_name) [VMS]: Uses gethostname () instead of looking directly at the env var SYS$NODE. * sysdep.c (rename_sans_version) [VMS]: Changed to reflect a change in one include file on OpenVMS AXP. Not yet tested. * sysdep.c [VMS]: Added sys_siglist. * systime.h [VMS]: Includes vmstime.h. * vmsfns.c (vms-system-info): Changed the handling of the logical names, to also take an index. This is useful when dealing with VMS search paths. * vmsfns.c (vms-expand-search-paths, expand_search_paths, vms_trnlnm): New functions. * vmsfns.c (vms_trnlog): Changed to take two arguments. * vmsgmalloc.c: Changed to reflect changes in gmalloc.c, and to handle two heaps a better way. * vmsmap.c: Changed slightly for VMS GNU C. * vmsproc.h, vmsproc.c: Lots of changes. * xfns.c (x_window) [VMS]: Connect an AST routine to the window event stream. * xrdb.c (search_magic_path): Use PATH_SEPARATOR instead of ':'. * xrbd.c [VMS]: Various changes to use the DECWindows/Motif file names and logical names. * xterm.c (x_scroll_bar_create) [VMS]: Connect an AST routine to the window event stream. * xterm.c (vms_X_ast) [VMS]: New function. * xterm.c (x_term_init) [VMS]: Do not assign read_socket_hook. Fri Jul 30 03:45:05 1993 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. Thu Jul 29 00:56:12 1993 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. Thu Jul 29 00:07:47 1993 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. Wed Jul 28 20:25:49 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * xfns.c (syms_of_xfns): Use DEFVAR_LISP, not DEFVAR_INT, for Vx_pointer_shape. Wed Jul 28 04:57:37 1993 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. Tue Jul 27 03:25:16 1993 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. Mon Jul 26 14:37:40 1993 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. Mon Jul 26 12:26:09 1993 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. Mon Jul 26 05:12:26 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * puresize.h [MULTI_FRAME] (PURESIZE): Increased to 210000. Sun Jul 25 22:24:46 1993 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. Sun Jul 25 01:38:00 1993 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. Sat Jul 24 01:42:53 1993 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. Fri Jul 23 17:05:49 1993 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. Fri Jul 23 16:38:15 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * mem-limits.h: [_LIBC]: Define BSD4_2. Fri Jul 23 03:47:49 1993 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. Thu Jul 22 15:38:17 1993 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. Thu Jul 22 14:59:43 1993 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 , and skip hairy #ifdef mess. Thu Jul 22 04:06:21 1993 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. Wed Jul 21 18:09:12 1993 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. Wed Jul 21 00:37:25 1993 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. Tue Jul 20 01:08:47 1993 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. Mon Jul 19 17:15:20 1993 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. Mon Jul 19 17:07:22 1993 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * ymakefile: config.h is in current directory, not ${srcdir}. Sun Jul 18 00:17:28 1993 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. Sat Jul 17 02:45:04 1993 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. Fri Jul 16 21:43:32 1993 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. Thu Jul 15 20:52:15 1993 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. Thu Jul 15 19:05:38 1993 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. Thu Jul 15 02:01:59 1993 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. Thu Jul 15 00:56:31 1993 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. Wed Jul 14 12:02:17 1993 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. Wed Jul 14 00:14:31 1993 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. Tue Jul 13 17:25:32 1993 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. Tue Jul 13 17:03:09 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * minibuf.c (Fdisplay_completion_list): Run completion-setup-hook. Mon Jul 12 18:46:17 1993 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. Mon Jul 12 16:41:12 1993 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. Mon Jul 12 14:43:38 1993 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) * xterm.c, sysdep.c (F_SETOWN_BUG): Defined. * m/dpx2.h: New file. Sat Jul 10 19:23:41 1993 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. Sat Jul 10 18:49:26 1993 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 , 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. Fri Jul 9 17:41:49 1993 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. Thu Jul 8 19:45:22 1993 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). Thu Jul 8 17:43:11 1993 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. Wed Jul 7 03:58:15 1993 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. Tue Jul 6 11:05:14 1993 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". Tue Jul 6 01:58:20 1993 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. Mon Jul 5 03:15:17 1993 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. Sun Jul 4 16:00:40 1993 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. Sun Jul 4 00:51:00 1993 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. Sat Jul 3 22:19:19 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_char): After Fgarbage_collect, call redisplay. Sat Jul 3 17:11:19 1993 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. Sat Jul 3 02:58:05 1993 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. Fri Jul 2 23:57:42 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (Faccessible_keymaps): Doc fix. Fri Jul 2 18:48:58 1993 Jim Blandy (jimb@churchy.gnu.ai.mit.edu) * textprop.c (set_properties): Don't try to make undo records if OBJECT is a string. Fri Jul 2 01:42:41 1993 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. Thu Jul 1 22:25:05 1993 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. Thu Jul 1 19:56:28 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * callint.c (Vmark_even_if_inactive): New var, with Lisp variable. (check_mark): Use it. Thu Jul 1 00:03:50 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xfaces.c [XOS_NEEDS_TIME_H]: #undef USG while #including , 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. Wed Jun 30 16:12:09 1993 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. Wed Jun 30 13:50:08 1993 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. Wed Jun 30 00:55:41 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * keyboard.c (kbd_buffer_get_event): Correctly generate switch-frame events when reading mouse motion events. Tue Jun 29 19:05:54 1993 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. Tue Jun 29 01:27:22 1993 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. Mon Jun 28 15:18:53 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (describe_map_2): Cleanups. Check there's no previous definition in same keymap. Thu Jun 24 00:15:54 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * keyboard.c (read_char): Don't do idle autosaves if we're not interactive. Wed Jun 23 21:32:25 1993 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). Tue Jun 22 02:58:40 1993 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. Mon Jun 21 22:02:48 1993 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. Mon Jun 21 15:37:06 1993 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. Sun Jun 20 16:01:51 1993 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. Sat Jun 19 17:14:27 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * version 19.15 released. Sat Jun 19 16:24:58 1993 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. Fri Jun 18 11:05:46 1993 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. Thu Jun 17 19:29:56 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * Version 19.14 released. Thu Jun 17 15:05:29 1993 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. Thu Jun 17 00:07:22 1993 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. Wed Jun 16 22:16:40 1993 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. Wed Jun 16 18:37:24 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * editfns.c (Finsert_buffer_substring): Doc fix. Wed Jun 16 10:12:49 1993 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 : * 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. Tue Jun 15 03:47:10 1993 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. Mon Jun 14 13:29:51 1993 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. Mon Jun 14 11:06:35 1993 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. Mon Jun 14 03:05:17 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * window.c (Fdelete_window): Handle deleting a parent of the selected window. Sun Jun 13 04:10:08 1993 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. Sat Jun 12 19:52:07 1993 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. Sat Jun 12 13:35:37 1993 John Hughes (john@moonlite.CalvaCom.fr) * term.c (term_get_fkeys): Use `prior', not `previous', for %8/kP. Sat Jun 12 13:00:03 1993 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. Sat Jun 12 12:56:36 1993 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. Sat Jun 12 05:30:40 1993 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. Sat Jun 12 00:43:07 1993 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. Fri Jun 11 16:49:38 1993 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. Fri Jun 11 12:15:29 1993 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. Fri Jun 11 11:41:04 1993 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. Fri Jun 11 07:17:59 1993 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. Fri Jun 11 03:13:54 1993 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. Fri Jun 11 02:43:09 1993 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. Thu Jun 10 17:14:25 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * lread.c (Fload): Forward all 4 args to magic-name handler. Thu Jun 10 03:25:20 1993 Shane Hartman (shane@nugget.spr.com) * window.c (Fscroll_left): Make argument optional. (Fscroll_right): Ditto. Thu Jun 10 01:18:09 1993 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 : (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 . (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. Wed Jun 9 00:36:00 1993 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. Tue Jun 8 23:54:04 1993 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. Tue Jun 8 12:24:22 1993 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. Tue Jun 8 00:38:15 1993 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. Mon Jun 7 23:54:46 1993 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. Mon Jun 7 00:10:09 1993 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. Mon Jun 7 17:07:28 1993 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. Sun Jun 6 18:38:55 1993 Paul Eggert (eggert@twinsun.com) * uaf.h (uaf$v_thursday): Fix misspelling of "thursday". * floatfns.c (Fceiling): Fix spelling of "ceiling". Sun Jun 6 13:41:08 1993 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. Sun Jun 6 13:42:35 1993 Nobuyuki Hikichi (hikichi@sra.co.jp) * m/news-risc.h (NO_MODE_T): Defined. (LINKER): Add #undef. Sun Jun 6 02:44:47 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (access_keymap, store_in_keymap): Discard meaningless high bits of a character event. Sat Jun 5 04:04:33 1993 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. Fri Jun 4 03:06:37 1993 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. Fri Jun 4 12:41:07 1993 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. Thu Jun 3 00:07:07 1993 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. Wed Jun 2 16:12:30 1993 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. Wed Jun 2 20:11:29 1993 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. Wed Jun 2 02:06:21 1993 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. Tue Jun 1 22:07:46 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (syms_of_keymap): Add missing 2nd arg to Fcons. Tue Jun 1 00:27:03 1993 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. Tue Jun 1 00:07:11 1993 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. Mon May 31 14:04:22 1993 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. Mon May 31 10:07:48 1993 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. Mon May 31 01:33:06 1993 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. Sun May 30 20:04:19 1993 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. Sun May 30 19:24:09 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * buffer.c (Fgenerate_new_buffer_name): Doc fix. Sun May 30 19:10:09 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in (clean): Delete libXMenu11.a. Sun May 30 17:48:11 1993 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. Sun May 30 16:51:56 1993 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. Sun May 30 15:49:17 1993 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xfaces.c (unload_color): Don't #include , , or . 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. Sun May 30 14:18:26 1993 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. Sun May 30 13:01:54 1993 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.