Fri Aug 5 14:54:38 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * descrip.mms_in: Corrected a typo, and made sure the logical name `sys' is correctly defined even when `sys_includes' is an empty string. * make-docfile.c (main): Now goes back to the original default directory. * vmsgetmail.c (main): Reorganised to make it possible to show the count of new mails and exit. Wed Jun 8 17:58:43 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * vmsgetmail.c (main): Changed the display of the count of new mail to use whatever VMS considers to be the right count. (getmail_usage): Changed `exit (44)' to `exit (SS$_ABORT)', and enhanced the message a little. Tue Jun 7 23:25:53 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * descrip.mms_in: Corrected a typo. Fri May 20 13:59:03 1994 Richard Levitte (LEVITTE@elmer.e.kth.se) * descrip.mms_in: removed ctags.exe from INSTALLABLES, since it is not supported. Removed the references to hackargv, since it has been included in vmslib, and etags-vmslib.obj, since it has been replaced with hackargv. Sun Mar 20 18:44:57 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * mail.h, maildef.h, mailmsgdef.h, vmsgetmail.c, vmsgetmail.readme: New files, to support reading of mail. * vmssendmail.c: Changed an error message. Wed Feb 23 00:43:40 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * alloca.c: Removed a bug. Sun Feb 6 21:46:12 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * descrip.mms_in: Clean up, especially the installation clauses. Tue Jan 18 22:13:54 1994 Richard Levitte (LEVITTE@eliza.e.kth.se) * alloca.c: Use BLOCK_INPUT and UNBLOCK_INPUT when freeing the chunks. * b2m.c: Define NOT_C_CODE before including config.h. Also, on VMS, include config.h instead of ../src/config.h. The include path his corectly set to handle that. * env.c: Define NOT_C_CODE before including config.h. Include errno.h. Also, when on VMS, include unixlib.h and perror.h. * etags-vmslib.c: Define system () ONLY when OLD is defined, not the other way around. * etags.c: Define NOT_C_CODE before including config.h. Also, for VMS, include config.h instead of ../src/config.h. The include path his corectly set to handle that. Also, defining main () to be of type void is wrong with ANSI C. When the format is ctags, output should go to `ctags' instead of `tags'. Put the returned value from gfnames () in a variable. * getopt.c, getopt1.h: Define NOT_C_CODE before including config.h. * make-docfile.c: On VMS, handle the fact that file names might be coma-separated. Also, change the extension `.obj' to `.c'. * wakeup.c: Define NOT_C_CODE before including config.h. * yow.c: on VMS, include paths.h instead of ../src/paths.h Sat Nov 27 04:41:49 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.22 released. Fri Nov 26 06:08:35 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in (mostlyclean): Make it distinct from clean. Wed Nov 24 07:24:06 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in (${archlibdir}): Don't do chown or chgrp. Tue Nov 16 03:23:28 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.21 released. * Makefile.in (install): Don't change mode or group when installing. * etags.c (FUNCST, TYPEDST, STRUCTST, DEFINEST): Delete excess commas. Fri Nov 12 01:24:44 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * make-docfile.c (read_c_string): For "", concatenate the two strings. * movemail.c (main): Fix error message text. Thu Nov 11 10:08:43 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.20 released. Mon Nov 8 19:56:20 MET 1993 Tom Hageman (tom@basil.icce.rug.nl) * etags.c: (C_entries): Keep track of ()-parenthesis level so that functions returning a pointer to a function, a la `signal', can be parsed. This also required new state `fstartlist' to `FUNCST'. (SAVE_TOKEN, RESTORE_TOKEN, TOKEN_SAVED_P): 1-deep token save stack. (C_entries, CNL): use it to isolate preprocessor directive processing from the other state engines. (begtk): add '~', for C++ class destructors. Tue Nov 2 19:46:52 1993 Francesco Potorti` (pot@cnuce.cnr.it) * etags.c (consider_token): removed unused variable firsttok. (prolog_getit): call pfnote with the right number of arguments. Tue Oct 19 02:50:31 1993 Paul Eggert (eggert@twinsun.com) * rcs2log (printlogline): Don't generate lines containing only white space. Mon Oct 4 00:31:33 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * Makefile.in (${archlibdir}): Install ${SCRIPTS} from ${srcdir}, not cwd. Sun Oct 3 15:54:26 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * Makefile.in: Fixed typos or brainos of whoever thought `@' was the comment character. Fri Oct 1 10:44:25 1993 Francesco Potorti` (pot@cnuce.cnr.it) * etags.c (process_file): dead code removed. (S_ISREG): #define it using S_IFREG if not defined. (process_file): regular files have nothing to do with symlinks. Tue Sep 28 14:10:32 1993 Brian Fox (bfox@ai.mit.edu) * Makefile.in (${archlibdir}): Install ${SCRIPTS} from ${srcdir}, not from current directory. Only chmod and chgrp files that we installed, which excludes ${INSTALLABLE_SCRIPTS}. They go in ${bindir}. (INSTALLFLAGS): Deleted definition, since it is an unused variable now. Mon Sep 27 09:02:40 1993 Brian Fox (bfox@ai.mit.edu) * Makefile.in (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Let configure figure out the correct values for these variables. Tue Sep 14 00:55:44 1993 Brian Fox (bfox@ai.mit.edu) * Makefile.in (archlibdir): Only install execuatables internally used by emacs; don't install bindir binaries here. Fri Sep 24 01:03:32 1993 Paul Eggert (eggert@twinsun.com) * rcs2log: Add -h, -n, -r options. By default, look for *,v files as well as RCS/*,v files. Use $TMPDIR (default /tmp) instead of /tmp. Mon Sep 20 18:06:12 1993 Francesco Potorti` (pot at fly) * etags.c (C_entries): is_func is initialised here instead of in consider_token for the sake of the yacc rules section. (C_entries): Now class, struct, enum, union and typedef produce named tags. Sat Sep 11 21:37:09 1993 Roland McGrath (roland@baalperazim.gnu.ai.mit.edu) * yow.c: Include , instead of "src/paths.h". Fri Sep 10 00:47:13 1993 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * Support configuring in a different directory when ${srcdir} has already been configured. * Makefile.in (ALL_CFLAGS, CPP_CFLAGS): Put -I. -I../src before -I${srcdir} -I${srcdir}/../src. (b2m, movemail, fakemail, env, emacsserver, emacsclient, getdate.o, timer.o, timer): Remove `-I${srcdir}/../src', since it is already in CPP_FLAGS. * etags.c, emacsclient.c, wakeup.c, timer.c, b2m.c, fakemail.c, movemail.c, emacsserver.c: Include instead of "config.h". Wed Aug 25 01:19:33 1993 Paul Eggert (eggert@twinsun.com) * rcs2log: Change /{/ to /\{/ for Posix ERE compatibility; otherwise, HP awk complains. * vcdiff: Append /usr/ccs/bin and /usr/sccs to PATH, since these are common hangouts for SCCS commands. Sat Aug 14 00:23:11 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.19 released. Thu Aug 12 18:23:49 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in (make-path): Dep on config.h. Wed Aug 11 16:54:39 1993 Richard Stallman (rms@mole.gnu.ai.mit.edu) * b2m.c (TRUE, FALSE): Don't define if already defined. Mon Aug 9 22:06:00 1993 Paul Eggert (eggert@twinsun.com) * rcs2log (awkscript): Some sites put comma-separated junk after the fullname. Remove it, but leave "Bill Gates, Jr" alone. Remove the junk from fullnames like "0000-Admin(0000)". 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:19:55 1993 Richard Levitte (LEVITTE@elin.e.kth.se) * descrip.mms: New file for VMS. This is a Makefile for MMS. * make-docfile.c (scan_c_file): Small change for VMS to change ".obj" rather than ".o" to ".c". * vmssendmail.c, vmssendmail.info: New files. This program helps vms-sendmail-send-it (defined in vms-sndmai.el) to really send the message. 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.