summaryrefslogtreecommitdiff
path: root/src/ChangeLog.3
diff options
context:
space:
mode:
authorDave Love <fx@gnu.org>1999-09-29 16:37:29 +0000
committerDave Love <fx@gnu.org>1999-09-29 16:37:29 +0000
commit615d01824a509f565a0ecf3075fc953b509c313d (patch)
tree6ab983e0335ef3d98db1e40b6d12044bd6268509 /src/ChangeLog.3
parent6bf7aab68402fd010eae5d280350bd399014406a (diff)
downloademacs-615d01824a509f565a0ecf3075fc953b509c313d.tar.gz
#
Diffstat (limited to 'src/ChangeLog.3')
-rw-r--r--src/ChangeLog.316533
1 files changed, 16533 insertions, 0 deletions
diff --git a/src/ChangeLog.3 b/src/ChangeLog.3
new file mode 100644
index 00000000000..3d112da7345
--- /dev/null
+++ b/src/ChangeLog.3
@@ -0,0 +1,16533 @@
+1993-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Version 19.10 released.
+
+1993-05-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): If we changed buffers during
+ read_char, go to replay_sequence.
+
+ * frame.c (Ficonify_frame, Fmake_frame_invisible):
+ Select some other frame. Move minibuffer off this frame.
+
+ * frame.c (Fhandle_switch_frame): Don't call Ffocus_frame.
+ (Fredirect_frame_focus): Call Ffocus_frame here.
+
+ * xterm.c (x_bitmap_icon): Don't free icon_bitmap;
+ create it if it hasn't been created before.
+
+ * xterm.c (XTread_socket): For UnmapNotify, if frame was visible,
+ mark it now as iconified.
+ (x_make_frame_invisible): If async_iconic, work does need to be done.
+ Don't let this frame stay highlighted.
+ (x_iconify_frame): Don't let this frame stay highlighted.
+
+ * s/usg5-4-2.h (sigsetmask): #undef this.
+
+ * sysdep.c (sys_signal): Use 0, not NULL, to set sa_flags.
+
+1993-05-29 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * linux.h (C_OPTIMIZE_SWITCH): Set this to the empty string;
+ configure guesses just fine.
+
+ * tekXD88.h: New file, from Kaveh Ghazi.
+
+ * systty.h (CDISABLE): #undef it before re-#defining it.
+
+ * sysdep.c (sys_siglist): Comment out #endif trailer.
+ * xmenu.c (TRUE, FALSE): Same.
+ * xterm.c (dumprectangle): Same.
+
+ * emacs.c: Don't include termios.h directly--let systty.h do it.
+
+1993-05-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfaces.c [HPUX]: Include time.h and define __TIMEVAL__.
+
+ * emacs.c (shut_down_emacs): Maybe close X connection. New arg NO_X.
+ (Fkill_emacs): Don't close it here. Pass new arg.
+ (fatal_error_signal): Pass new arg.
+ * xterm.c (x_connection_closed): Pass new arg.
+
+ * xdisp.c (syms_of_xdisp): Make highlight-nonselected-windows Lisp var.
+ (display_text_line): Obey it.
+ (display_text_line): Really check for just the selected window.
+
+ * s/usg5-4-2.h: New file.
+
+ * keyboard.c (menu_bar_items): Save Vinhibit_quit by hand
+ instead of using specbind.
+ (menu_bar_items): Call Fnreverse before restoring Vinhibit_quit.
+
+ * s/hpux8.h (OLDXMENU_OPTIONS): Add quotations.
+
+ * m/ibmrt.h (C_SWITCH_MACHINE): Define only if not __GNUC__.
+ (HAVE_FTIME): Defined.
+ (EMACS_BITMAP_FILES): Defined.
+
+ * xfns.c (Fx_close_current_connection): Clear x_current_display.
+ * xterm.c (XTring_bell): Do nothing if x_current_connection is 0.
+
+ * buffer.c (reset_buffer): Clear mark_active field here.
+ (reset_buffer_local_variables): Not here.
+ (Fswitch_to_buffer, Fpop_to_buffer): Return the buffer.
+ (Fmove_overlay): Fix data types in last change.
+
+ * sysdep.c (gettimeofday): Don't store in *tzp if tzp is 0.
+
+ * process.c (MAXDESC): Get it from FD_SETSIZE if that exists.
+
+ * s/sco4.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
+ Redefined.
+ (SIGNALS_VIA_CHARACTERS): Defined.
+ [HAVE_SOCKETS] (HAVE_GETTIMEOFDAY): Defined.
+ (MAIL_PROGRAM_NAME): Defined (two alternate definitions).
+
+ * xfns.c (Fx_list_fonts): Use CHECK_LIVE_FRAME on the frame arg.
+
+1993-05-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/hpux8.h (LIBX11_SYSTEM): Defined.
+
+ * ymakefile: Replace config.h as dep with $(config_h).
+ (really-oldXMenu): Use two make vars to pass values
+ of C_SWITCH_... within doublequotes.
+
+ * xfns.c (x_figure_window_size): Never set PPosition or PSize.
+
+ * keymap.c (syms_of_keymap): Create global_map 256 slots long.
+ * cmds.c (keys_of_cmds): Predefined 0240-0376 as self-insert.
+
+ * xterm.c (XTread_socket, case KeyPress) [HPUX]:
+ Recognize the extended function keys.
+
+ * buffer.c (Fgenerate_new_buffer_name): New arg IGNORE.
+ (Frename_buffer): Pass new arg.
+
+1993-05-28 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * keyboard.c (menu_bar_items): Bind Qinhibit_quit to Qt while we
+ call the keymap accessors; this gets called during redisplay.
+
+ * ymakefile (alloca.o): Call $(CC), not cc.
+
+ * s/linux.h (SIGNALS_VIA_CHARACTERS): Try this out for a bit.
+
+ * buffer.c (Fmove_overlay): If the overlay is changing buffers,
+ do a thorough redisplay.
+
+ * xfns.c (x_set_frame_parameters): Use the first
+ position/size parameter we find, not the last.
+
+ * s/hpux8.h: Don't define HAVE_RANDOM.
+
+ * config.h.in (UNEXEC_SRC): New macro, set by the configure
+ script.
+ * ymakefile (UNEXEC_SRC): Give it a default value here, and make
+ UNEXEC depend on it.
+
+ * ymakefile (lispdir): Set this in terms of ${srcdir}.
+
+1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (Fsleep_for): Don't return without waiting when SEC is 0.
+
+ * emacs.c (syms_of_emacs) [CANNOT_DUMP]: Don't defsubr Sdump_emacs*.
+
+ * alloc.c (mark_object): Add debugging code to check for ptr clobbered.
+
+1993-05-27 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * Version 19.9 released.
+
+1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_char): Correct previous change.
+
+1993-05-27 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * systty.h: Always terminate comments, to avoid confusion.
+
+ * xfns.c: Make resource manager work correctly even when
+ Vinvocation_name has periods and asterisks in it.
+ (Vxrdb_name): New variable.
+ (Fx_get_resource): Use it instead of Vinvocation_name.
+ (Fx_open_connection): Initialize it to a copy of Vinvocation_name,
+ with the dots and stars replaced by hyphens.
+ (syms_of_xfns): staticpro it here.
+
+ * xfns.c (Fx_get_resource): Use the proper format string when the
+ attribute has been specified.
+
+1993-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_get_resource_string): New function.
+
+ * ymakefile (ALL_CFLAGS): Put CFLAGS last.
+
+1993-05-26 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * s/sol2.h: (SOLARIS_BROKEN_ACCESS): Don't define this.
+
+ * s/aix3-2.h (C_SWITCH_SYSTEM): Don't define this to be "-ma" if
+ we're using GCC - that's an XLC switch.
+
+ * s/aix3-2.h (LIBS_SYSTEM): Put -LIM -Liconv here.
+
+ * systty.h (HAVE_LTCHARS, HAVE_TCHARS): New macros; define them if
+ we have those structures, but *don't* define them if we have
+ TERMIOS, whose functions take care of those parameters; that
+ screws up AIX.
+ (struct emacs_tty): Test those symbols, instead of the ioctl
+ commands.
+ * sysdep.c (emacs_get_tty, emacs_set_tty, new_ltchars, new_tchars,
+ init_sys_modes): Same.
+
+ * config.h.in (HAVE_RENAME): Include an #undef for this, so
+ configure will have something to edit.
+
+1993-05-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (window_loop, case GET_LRU_WINDOW):
+ Get frame's width properly.
+
+ * xselect.c (x_get_local_selection): If no conversion function
+ exists for the requested type, just return nil.
+
+ * s/linux.h (HAVE_TCATTR): Defined.
+
+ * sysdep.c [HAVE_SOCKETS]: Include socket.h, netdb.h.
+ (get_system_name) [HAVE_SOCKETS]: Use gethostbyname.
+
+1993-05-26 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * s/hpux8.h (LIB_X11_LIB, C_SWITCH_SYSTEM, LD_SWITCH_SYSTEM,
+ LD_SWITCH_SYSTEM, OLDXMENU_OPTIONS): Add X11R5 directories to the
+ search paths in these lists; they shouldn't do any harm if they
+ don't have X11R5.
+
+ * s/aix3-2.h (C_SWITCH_SYSTEM): Don't #define this if we're using
+ GCC.
+
+1993-05-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xrdb.c (magic_searchpath_decoder): Fix typos.
+
+ * xdisp.c (display_text_line): Don't call compute_char_face
+ for a non-X frame.
+
+ * xfns.c (Fx_rebind_key, Fx_rebind_keys): X10 definitions deleted.
+ (syms_of_xfns): Install them only if X11.
+
+ * ralloc.c (r_alloc_sbrk): Declare already_available as long, not SIZE.
+
+ * xfns.c (x_set_cursor_type): If arg not recognized, use box cursor.
+
+ * s/hpux8.h (LD_SWITCH_SYSTEM) [__GNUC__]: Pass -a archive to ld.
+ (HAVE_RANDOM): Defined.
+
+ * s/hpux.h (rand, srand): Definitions deleted.
+
+ * keyboard.c (Fcurrent_input_mode): Fix the call to Flist.
+ (make_lispy_event): Fix off-by-1 error with hpos in menu bar.
+
+ * s/sunos4-1-3.h: New file.
+
+ * ymakefile (XOBJ) [!HAVE_X_MENU]: Add xfaces.o.
+
+ * s/irix4-0.h (SIGNALS_VIA_CHARACTERS): Defined.
+
+ * xterm.c (x_wm_set_size_hint): Don't set hints for max size.
+
+1993-05-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m/ibmrs6000.h (LIBS_MACHINE): Add -lIM and -liconv.
+ (HAVE_GETTIMEOFDAY): Deleted.
+
+ * sysdep.c (wait_for_termination): Don't use the BSD alternative
+ for LINUX. Use the UNIPLUS alternative.
+
+ * keyboard.c (read_char): If kbd_buffer_get_event returns nil,
+ redisplay and retry.
+ (kbd_buffer_get_event): If event is handled here, return nil.
+ (swallow_events): New function.
+ * process.c (wait_reading_process_input): Call that.
+
+ * ralloc.c (POINTER): Always use char *.
+
+ * s/sol2.h (C_SWITCH_X_SYSTEM): Deleted.
+ (LD_SWITCH_SYSTEM): Delete the -L option, leave just -R.
+
+ * m/symmetry.h (PTY_TTY_NAME_SPRINTF, PTY_NAME_SPRINTF):
+ Use pty_name, not ptyname.
+
+ * syntax.c (Fforward_comment): Arg is a Lisp_Object.
+ Convert it to an int.
+
+ * ymakefile (alloca.o): Get alloca.c and alloca.s from ${srcdir}.
+
+ * floatfns.c (logb): Don't declare if hpux.
+
+ * syntax.c (Fforward_comment): Always set point.
+
+ * s/dgux.h, s/hpux.h, s/esix.h (HAVE_GETTIMEOFDAY): Deleted.
+
+ * s/irix4-0.h (C_ALLOCA, alloca): Definitions deleted.
+ [!NOT_C_CODE]: Include alloca.h.
+ (NEED_SIOCTL): #undef this.
+
+ * xterm.h (PIXEL_TO_CHAR_COL, PIXEL_TO_CHAR_ROW):
+ Fix mismatch in arg names.
+
+ * xfns.c (Fx_open_connection): Set xrm_option correctly.
+
+1993-05-25 David J. MacKenzie (djm@wiki.eng.umd.edu)
+
+ * xfns.c (x_figure_window_size): Make the default frame coords (0,0).
+
+1993-05-25 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * Version 19.8 released.
+
+1993-05-25 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xfns.c: Clear out the old face stuff.
+ (x_face_table, n_faces, x_set_face, x_set_glyph, Fx_set_face_font,
+ Fx_set_face, Fx_get_face): Removed.
+ (syms_of_xfns): Remove defsubr for Fx_set_face.
+
+ Arrange for font names to get fully resolved - no wildcards.
+ * xfns.c (x_set_frame_parameters): Store the value in the frame
+ parameter alist before we call the setter function, so the setter
+ function can touch up the value if it chooses.
+ (x_set_foreground_color, x_set_background_color): Call
+ recompute_basic_faces, so their GC's will reflect the changes.
+ (x_new_font): Add extern declaration - this returns a Lisp_Object
+ now, the fully resolved font name.
+ (x_set_font): Accept the fully resolved name from x_new_font, and
+ put it in the frame's parameter alist. Call recompute_basic_faces.
+ * xterm.c (x_new_font): Return the fully resolved font name, Qnil
+ (if no match), or Qt (match, but unacceptable metrics).
+ * xterm.c (x_new_font): Don't call init_frame_faces.
+
+ * xterm.h: New section for declarations for xfaces.c.
+ (init_frame_faces, free_frame_faces, intern_face,
+ face_name_id_number, same_size_fonts, recompute_basic_faces,
+ compute_char_face, compute_glyph_face): Declare these here.
+ * xfaces.c (same_size_fonts): We can now remove this extern
+ declaration.
+ * xfns.c (face_name_id_number): Likewise.
+ * xterm.c (intern_face): Likewise.
+
+ * xterm.c (dumpglyphs): Remember that the default faces can have
+ null fonts, too.
+
+ * xfns.c (Fx_list_fonts): Remember that FACE may not have a font
+ specified. Don't specify 30000 as the maximum limit on the number
+ of fontns returned - 2000 is more reasonable.
+
+ * xfaces.c (build_face, unload_font, free_frame_faces): Don't
+ forget to block input while making X calls.
+
+ Treat faces as structures specifying modifications to the frame's
+ parameters, rather than things which need to specify a complete
+ set of parameters by themselves.
+ * xfaces.c (init_frame_faces): Don't set up the two frame display
+ faces by querying the GC - just leave all their fields blank, and
+ call recompute_basic_faces, letting build_face do the work of
+ consulting the frame when necessary.
+ (recompute_basic_faces): New function.
+ (compute_base_faces): New function for obtaining the "identity"
+ for compute_char_face and compute_glyph_face.
+ (compute_char_face, compute_glyph_face): Call it, instead of copying
+ FRAME_DEFAULT_FACE.
+ * xfns.c (x_make_gc): No need to call init_frame_faces here.
+
+ * xfaces.c (intern_frame_face): This can be static.
+
+ * dispextern.h (struct face): New field - `copy', to help us with
+ resource allocation.
+ * xfaces.c (free_frame_faces): Do free the first two faces; don't
+ free anything from a face that's a copy.
+ (intern_frame_face): Mark every face we intern as a copy; its
+ resources are actually a combination of the real faces.
+ (Fset_face_attribute_internal): No need to check if we're trying
+ to free one of the frame's GC's; they never enter into the
+ picture.
+
+ * casetab.c: Fix formatting, so as not to confuse etags.
+
+ * xfns.c (Fx_list_fonts): New function.
+ (face_name_id_number): Add extern declaration for this.
+ * xfaces.c (face_name_id_number): Make this externally visible,
+ and make the FRAME argument a FRAME_PTR, not a Lisp_Object.
+ (compute_char_face): Call face_name_id_number properly.
+
+ * xfaces.c (unload_color): Don't free the pixel for now.
+
+ * xfaces.c (merge_faces): You can't tell if a font is a
+ character-cell font or not by testing whether or not it has a
+ per_char table. They all do.
+ * xterm.c (x_new_font): Same deal.
+ * xfns.c (Fx_list_fonts): Same deal.
+
+ * m/iris4d.h: Dyke out the section which specifies how to get the
+ load average.
+
+ * paths.h (PATH_INFO): New path, to edited by the configuration
+ process.
+ * callproc.c (Vconfigure_info_directory): New variable, used
+ internally by build process.
+ (syms_of_callproc): DEFVAR it and initialize it.
+
+ * keyboard.c (Fcurrent_input_mode): Use XFASTINT to build the last
+ element of the return value, not XSETINT.
+
+1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ Changes for OSF/1:
+ * mem-limits.h [__osf__ && (__mips || mips)]: #include
+ <sys/time.h> and <sys/resource.h>.
+ (get_lim_data): OSF wants a definition like BSD4_2's.
+ * s/osf1.h: #include "bsd4-3.h", not "s-bsd4-3.h".
+
+ * ymakefile (LIBX): Put LD_SWITCH_X_SITE before the libraries, so
+ it actually has an effect.
+
+ Some makes can't handle form feed characters in their makefiles.
+ * s/usg5-3.h: Remove form feed.
+ * s/template.h, m/template.h: Remove form feeds.
+
+ * xfns.c (select_visual): Include the screen number in the
+ template of things XGetVisualInfo must match.
+
+1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/dgux.h (NO_GET_LOAD_AVG): Test _M88KBCS_TARGET, not __GNUC__.
+
+ * xterm.c (XTread_socket, ConfigureNotify case):
+ Convert from parent window, not Emacs window.
+ (XTread_socket): Handle ReparentNotify events.
+
+ * m/i860.h: New file.
+
+ * keyboard.c (lispy_function_keys): Add kp-numlock. Fix kp-backspace.
+
+1993-05-24 Thorsten Ohl (ohl@chico.harvard.edu)
+
+ * m/next.h (C_SWITCH_MACHINE): Definition deleted.
+
+ * lread.c: Don't #undef NULL.
+
+1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * buffer.c (Fmake_overlay): Put beg and end in the
+ right order.
+ (Fmove_overlay): If beg and end are markers, make sure they're in
+ the right buffer.
+
+1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (modify_event_symbol): If a name_table elt is null,
+ generate a name to use. Don't crash.
+
+ * fileio.c (Fread_file_name): If input is empty, do return the default
+ even if !insert_default_directory.
+
+ * xterm.c (XTread_socket): For ConfigureNotify event,
+ translate coordinates if send_event field is false
+ provided the x-coord value is not large.
+
+1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/irix4-0.h (NO_MATHERR): Defined.
+ * floatfns.c [NO_MATHERR]: Undef HAVE_MATHERR.
+
+1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * fileio.c (Ffile_writable_p): Pass XSTRING (foo)->data to
+ ro_fsys, not XSTRING (foo).
+
+ * xterm.c (x_new_font): Reject fonts with varying spacing. We
+ don't support them yet.
+ * xfns.c (x_set_font): Report the error message properly.
+
+ * xfns.c (Fx_parse_geometry): No need to call check_x here; it
+ doesn't interact with the server at all, and we need it in order
+ to create our first frame.
+
+1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/linux.h (HAVE_SETSID): Defined.
+ (HAVE_SOCKETS): Defined.
+
+ * process.c (create_process): Ignore retval from TIOCSTTY.
+ (sys_siglist) [LINUX]: Don't even declare it.
+
+1993-05-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * syssignal.h (sys_signal): Declare the second argument to have
+ type signal_handler_t. We're told this is necessary for Linux.
+
+1993-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/dgux.h (NO_GET_LOAD_AVG): Define, if __GNUC__.
+
+1993-05-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * s/hpux8.h (NO_SIOCTL_H): Defined.
+
+1993-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/linux.h (HAVE_DUP2, HAVE_ALLOCA_H): Deleted.
+
+1993-05-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * syssignal.h: Don't #include <signal.h>
+ * alloc.c: #include <signal.h>, but before "config.h".
+
+1993-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfaces.c (Fset_face_attribute_internal): Don't call unload_font
+ for the frame's own font.
+
+ * xfns.c (check_x): New function.
+ Call it in almost every Lisp function in this file.
+ (x_set_menu_bar_lines_1): Pass both args in recursive call.
+
+1993-05-23 Paul Eggert (eggert@twinsun.com)
+
+ * editfns.c (Fcurrent_time_zone): Make `am' an int, not long.
+
+1993-05-23 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ Changes for SGI from Matthew J Brown <mjb@doc.ic.ac.uk>.
+ * m/iris4d.h, m/iris5d.h: Don't use the --cckr CC switch if we're
+ using GCC.
+ * m/iris4d.h (NEED_SIOCTL): Move this to...
+ * s/irix3-3.h (NEED_SIOCTL): ... here; apparently it's not
+ necessary in irix4-0.h.
+ * s/irix4-0.h: Remove declaration of getpty; apparently Irix 4.0
+ already declares this elsewhere.
+ (PTY_TTY_NAME_SPRINTF): #undef this before re-#defining it.
+ * m/ibmps2-aix.h, m/pfa50.h, s/hpux.h, s/isc2-2.h, s/linux.h,
+ s/sco4.h, s/usg5-4.h: Remove HAVE_RENAME; configure guesses that now.
+
+ * config.h.in (LD_SWITCH_X_SITE, C_SWITCH_X_SITE): Change the
+ #defines to #undef's, so ../configure knows it should tweak them.
+
+ * xterm.c (x_scroll_bar_report_motion): Set *TIME whether or not
+ the mouse is over a scroll bar.
+
+ * xfaces.c (Fset_face_attribute_internal): Don't free the frame's
+ normal_gc or reverse_gc.
+
+ * keyboard.c (make_lispy_movement): Deal properly with mouse
+ motion outside of all windows.
+
+ * lisp.h (GLYPH_FACE): Remember that the face portion of a glyph
+ can be 24 bits, not just eight.
+
+1993-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c: Move signal.h and stdio.h before config.h.
+
+ * editfns.c (Fcurrent_time_zone): Assign gmt, instead of init.
+
+1993-05-22 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * Version 19.7 released.
+
+ * Makefile.in (SUBMAKEFLAGS): Add CFLAGS to the list.
+
+ * puresize.h [not HAVE_X_WINDOWS] (PURESIZE): Make this 185k,
+ not 196k. We're actually using ~180k.
+
+ * editfns.c: #include <sys/types.h>, to get time_t for Eggert's
+ changes.
+
+1993-05-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (FRAME_SUPPORT): Add mouse.elc, select.elc, scroll-bar.elc.
+
+ * xdisp.c (display_text_line): Highlight in any frame's sel window.
+
+ * keyboard.c (modifier_names): Update to match *_modifier in termhooks.
+
+1993-05-22 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * xterm.c (x_scroll_bar_handle_click): Never grab the scroll bar;
+ that feature requires more support to work correctly.
+
+ * keyboard.c (make_ctrl_char): New function.
+ (read_char): Call it.
+ (kbd_buffer_store_event): Call it to see if the new character is
+ the quit or stop character.
+ (make_lispy_event): Call it.
+
+1993-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_window_to_frame): Use XGCTYPE.
+
+1993-05-21 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * process.c (Fopen_network_stream): Deal with older systems, which
+ only have the h_addr field in their struct hostent.
+
+ * systty.h [SYSV_PTYS]: #include <sys/types.h>. Francesco
+ Potorti` <pot@fly.CNUCE.CNR.IT> says it's necessary on his
+ machine, and it should be harmless.
+
+1993-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * sysdep.c (wait_for_termination): Copy code from 18.59
+ (but sans BSD4_1 alternatives).
+
+1993-05-21 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * ymakefile (alloca.o): #define malloc and free to be xmalloc and
+ xfree on the command line of this compilation.
+
+ * s/sco4.h: (TIME_WITH_SYS_TIME): This is no longer needed.
+
+ * s/linux.h: Remove copyright notices by Michael K. Johnson and
+ Rik Faith. They have both sent in papers now which make their
+ changes public domain.
+
+ * sysdep.c (sys_suspend): Set synch_process_alive, so that
+ wait_for_termination has something to wait for.
+
+1993-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (display_text_line): Highlight only in selected window.
+
+ * xfns.c (syms_of_xfns): Don't make Lisp vars
+ x-mode-pointer-shape and x-nontext-pointer-shape.
+
+1993-05-20 Ian Lance Taylor (ian@cygnus.com)
+
+ * s/sco4.h (SCO): Don't define (no longer needed).
+ (HAVE_SYS_TIME_H): Don't define (set by configure).
+ (TIME_WITH_SYS_TIME): Define.
+
+1993-05-20 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * dispnew.c (preserve_other_columns): Remember to multiply the
+ size argument to bcopy by the size of a glyph.
+
+1993-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Reexamine this_command
+ after pre-command-hook runs.
+
+ * xterm.c (x_find_modifier_meanings): If some keys are meta and alt,
+ make them just meta, not alt.
+
+1993-05-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ Some time-handling patches from Paul Eggert:
+ * editfns.c (Fcurrent_time_zone): Take an optional argument specifying
+ what (absolute) time should be used to determine the current time zone.
+ Yield just offset and name of time zone, including DST correction.
+ Yield time zone offset in seconds, not minutes.
+ (lisp_time_argument, difftm): New functions.
+ (Fcurrent_time_string): Use lisp_time_argument.
+ * systime.h (EMACS_CURRENT_TIME_ZONE, EMACS_GET_TZ_OFFSET,
+ EMACS_GET_TZ_NAMES): Remove.
+ * config.h.in: Add HAVE_TM_ZONE.
+
+ Some more changes from Michael K. Johnson for Linux.
+ * s/template.h: Mention that you should #define HAVE_TERMIO or
+ HAVE_TERMIOS, but not both, and that HAVE_TERMIOS is preferred.
+ * systty.h (EMACS_SET_TTY_PGRP): Don't assign the return value of
+ tcsetpgrp to *pgid; it's just a status value.
+ * config.h.in (HAVE_RANDOM): This shouldn't be defined on Linux
+ systems using XFree386, and perhaps is inappropriate in general.
+ * m/intel386.h: #undefine the integer size macros, since the Linux
+ <values.h> file #defines them itself.
+ * mem-limits.h (get_lim_data): Linux has the ulimit call; if it
+ fails, fall back on ULIMIT_BREAK_VALUE.
+ * process.c: Linux needs the WAITTYPE, etc. definitions.
+ * unexec.c (hdr, ohdr): Linux has the ordinary `struct exec' type;
+ no need to use SYSV names.
+ * s/linux.h: New file.
+
+ Some changes from Michael K. Johnson for Linux.
+ * sysdep.c (sys_siglist): Don't define this if HAVE_SYS_SIGLIST is
+ #defined. That lets the system provide it, if it has it.
+ * syssignal.h (sigmask): Only define this if <signal.h> hasn't
+ given us a definition already.
+ * syssignal.h (sys_sigpause): Fix argument in prototype.
+ * sysdep.c (init_signals): The masks are called empty_mask and
+ full_mask, not signal_empty_mask and signal_full_mask.
+ (signal_handler_t): Moved ....
+ * syssignal.h: ... to here.
+ * systty.h (EMACS_SET_TTY_PGRP): Call tcsetpgrp with the correct
+ arguments.
+ * emacs.c (main): Don't try to establish signal handlers for
+ SIGBUS and SIGSYS unless they're actually #defined.
+
+ * systty.h [HAVE_TERMIO, __DGUX]: #include <sys/ioctl.h>.
+
+ * xdisp.c (redisplay_window): Compute the scrollbar start and end
+ properly.
+
+1993-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fcurrent_input_mode): Return META as 3-way flag.
+
+1993-05-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * fileio.c (Ffind_file_name_handler): Check that FILENAME is a
+ string.
+
+ * process.c (wait_reading_process_input): Undo change of April
+ 29th, since that re-introduces the race condition the comments are
+ warning about. Call clear_waiting_for_input before calling
+ status_notify, though.
+
+ * process.c (wait_reading_process_input): Don't forget to call
+ clear_waiting_for_input when we exit the loop because process
+ input has arrived.
+
+ Changes for Silicon Graphics Iris 5D.
+ * unexelfsgi.c: New file; like unexelf.c, but tolerates program
+ segments above BSS.
+ * m/iris5d.h: New file.
+ * s/irix5-0.h: New file.
+ * process.c [__sgi] (allocate_pty): Give up immediately if pty is
+ inaccessible.
+
+1993-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (follow_key): Check char in range before UPPERCASEP.
+
+1993-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_set_menu_bar_lines): Fix typo in last change.
+
+ * keyboard.c (make_lispy_event): Controlify lower case letters too.
+
+1993-05-18 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xdisp.c (display_text_line): If the newline (or C-m, in
+ selective-display) has a non-default face, apply that face to the
+ remainder of the line, so that the fill occupies the entire line.
+
+ * xterm.c (x_new_font): Tell the frame display faces about the
+ newly chosen font.
+
+ Make sure that all the display faces use fonts of the
+ same dimensions as the default face, so as not to confuse the rest
+ of the redisplay code.
+ * xfaces.c (same_size_fonts): New function.
+ (merge_faces): Only merge in a new font from the FROM face if it
+ is the same size as the font in the TO face.
+
+ * xfns.c (x_set_menu_bar_lines): Minibuffer-only frames can't have
+ menu bars.
+
+ * keyboard.c (read_key_sequence): Don't lay down an unwind_protect
+ to restore the original buffer until we actually get a mouse click.
+
+ * window.c (window-dedicated-p): Doc fix.
+
+1993-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Turn off ControlMask for XLookupString.
+ * keyboard.c (make_lispy_event): Controlify here.
+
+1993-05-17 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xdisp.c (redisplay_window): Make the scrollbar reflect the
+ extent of the visible region, not the whole buffer.
+
+ * xfaces.c (free_frame_faces): Don't free the resources from the
+ first two faces.
+
+ * lisp.h (malloc, realloc): Declare these to return void *, to
+ avoid conflicts with ANSI header files.
+
+ * sysdep.c (reset_sys_modes): Test the return value of
+ EMACS_SET_TTY properly.
+ * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Document the return
+ values.
+
+1993-05-16 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * config.h.in (STDC_HEADERS, TIME_WITH_SYS_TIME,
+ CRAY_STACKSEG_END, STACK_DIRECTION): Add #undef clauses for these,
+ since otherwise the autoconf tests in configure.in won't do us
+ much good.
+
+1993-05-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (overlays_at): New arg EXTEND.
+ (Foverlays_at, Fnext_overlay_change): Pass 1.
+ * xfaces.c (compute_char_face): Pass 0.
+ Try first with small overlay_vec, then use a big enough one.
+
+ * lread.c (syms_of_lread): Make Vcurrent_load_list ordinary Lisp var.
+ Set up Qcurrent_load_list.
+ (readevalloop): Specbind Qcurrent_load_list instead of ad-hoc saving.
+ (build_load_history): Do nothing when loading pure files.
+
+ * xterm.c (dumpglyphs): Create a temporary merged gc
+ when cursor falls on char with non-default face.
+
+ * xterm.h (x_display): New field cursor_foreground_pixel.
+ * xfns.c (x_set_cursor_color): Set cursor_foreground_pixel.
+
+ * casefiddle.c (casify_region): Remove mistaken arg to record_change.
+
+1993-05-15 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * xfaces.c (Fset_face_attribute_internal): Jolt redisplay, so it
+ knows something has changed.
+
+ * xfaces.c (unload_color): Don't try to unload the standard black
+ or white pixel.
+
+ More changes from David Mackenzie.
+ * ymakefile (emacs): No need to edit srcdir into a lisp file and
+ then load it; we can just take advantage of the PATH_DUMPLOADSEARCH.
+ (crt0.o): Remember that crt0.c is in ${srcdir}.
+
+ Install David Mackenzie's patches to make ${srcdir} work.
+ * Makefile.in (srcdir, VPATH): Get this value from the top-level
+ Makefile.
+ (xmakefile): Use ${srcdir} to find the files from which we produce
+ xmakefile. Edit the values for srcdir and VPATH into xmakefile.
+ * ymakefile (srcdir, VPATH): New definitions for the Makefile
+ to edit.
+ (ALL_CFLAGS): Remove `-Is' and `-Im'; add `-I${srcdir}', and
+ `-I.'.
+ (emacs): Adjust dumping commands to deal with a separate source
+ directory.
+ (${etc}DOC): Pass `-d ${srcdir}' to make-docfile, to tell it where
+ to find the source files.
+ (prefix-args): Find the source code in ${srcdir}.
+
+ * process.c (wait_reading_process_input): If we're running
+ Solaris, it's not necessary to check if we should redeliver SIGIO,
+ according to David Mackenzie.
+ * s/sol2.h: #include "usg5-4.h", and #define const.
+
+ * systime.h: Borrow CPP sequence from getdate.y to include the
+ proper combination of <time.h> and <sys/time.h>.
+
+1993-05-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.h (struct window): New slot region_showing.
+ * xdisp.c (mark_window_display_accurate): Set region_showing fields.
+ (redisplay_window): Update region_showing field.
+ (display_text_line): Set region_showing to t if will show one.
+
+ * xselect.c (Fx_selection_exists_p): Handle nil, t as SELECTION arg.
+ Don't die if SELECTION is not recognized.
+
+ * dispnew.c (direct_output_forward_char): Just give up
+ if region is being highlighted.
+
+ * xdisp.c (redisplay, redisplay_window): Don't use the cursor-motion
+ special-case code if the region is or was highlighted.
+
+ * xfaces.c (compute_char_face): New args REGION_BEG, REGION_END.
+ Don't sort if noverlays is 0 or 1.
+
+ * dispnew.c (direct_output_for_insert): Pass those args.
+ * xdisp.c (display_text_line): Pass those args,
+ describing the region if the mark is transient and active.
+
+1993-05-14 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * buffer.c (Fmove_overlay): If the overlay is in no buffer and the
+ BUFFER argument has been omitted, put it in the current buffer,
+ for symmetry with move-marker.
+
+ * buffer.c (Fdelete_overlay): Make the overlay's markers point
+ nowhere, not at 1. Do this after calling redisplay_region, so
+ that code knows what section has changed.
+
+1993-05-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (display_menu_bar): Update FRAME_MENU_BAR_ITEMS here.
+ * keyboard.c (command_loop_1): Don't do it here.
+
+ * keymap.c (access_keymap): Handle any length vector.
+ (store_in_keymap): Likewise.
+ (Fcopy_keymap): Likewise.
+
+1993-05-14 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * buffer.c (Foverlay_start, Foverlay_end, Foverlay_buffer,
+ Foverlay_properties): Functions moved here from subr.el.
+
+1993-05-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xfaces.c (compute_char_face): When merging the overlays,
+ traverse sortvec, not overlay_vec; the latter isn't the one we
+ sorted.
+
+ * xterm.c (dumpglyphs): Give the cursor higher priority than the
+ face specified by the glyph under it.
+
+ * xterm.c (dumpglyphs): Move the underline up a row. I dislike
+ the way X addresses pixels. Quickdraw is much nicer.
+
+ * xfaces.c (intern_face): If the face has a GC, but it's not the
+ default or modeline face, abort. Nothing but those two faces
+ should have a GC *and* be passed to intern_face.
+ (compute_char_face, compute_glyph_face): After copying
+ the frame's default face into face, to use as a base case for
+ calculation, set the `gc' member to zero; that way we don't have
+ things lying around that look like display faces but aren't.
+
+ * xfaces.c (intern_frame_face): When copying the new face into the
+ frame's face array, remember that the number of bytes to copy is
+ sizeof (*new_face), not sizeof (new_face).
+
+ * xfaces.c (compute_char_face): Assume that W is displaying the
+ current buffer. Abort if it isn't.
+
+ * lisp.h (Lisp_Overlay): New tag.
+ (OVERLAYP): New predicate.
+ (CHECK_OVERLAY): New type-checker.
+ (Qoverlayp): New extern declaration.
+ * buffer.c (Foverlayp): New function.
+ (Qoverlayp): New atom.
+ (overlays_at, recenter_overlay_lists): Abort if we encounter an
+ invalid overlay.
+ (syms_of_buffer): defsubr Soverlayp; initialize Qoverlayp.
+ (Fdelete_overlay): Set the overlay's markers to point nowhere.
+ Use CHECK_OVERLAY instead of signalling a special error.
+ (Fmove_overlay, Foverlay_put): Use CHECK_OVERLAY instead of
+ signalling a special error.
+ (Foverlay_get): Use CHECK_OVERLAY.
+ * fns.c (internal_equal): Define this for overlays.
+ * buffer.h (OVERLAY_VALID): Define in terms of OVERLAYP.
+ * print.c (print): Give overlays their own print syntax.
+ * alloc.c (mark_object): Treat overlays like conses.
+
+ * lisp.h (FLOATP): Define this appropriately when LISP_FLOAT_TYPE
+ is not defined.
+
+ * buffer.c (Foverlay_get): Return Qnil if the requested property
+ is missing from the property list.
+
+ The text property routines can now modify buffers other
+ than the current one.
+ * insdel.c (modify_region): New argument BUFFER. Select that
+ buffer while we prepare for the modification, and switch back when
+ we're done.
+ * textprop.c (add_properties, remove_properties): Pass
+ the buffer being modified as the first argument to modify_region.
+ * editfns.c (Fsubst_char_in_region, Ftranslate_region): Pass the
+ current_buffer as the first argument to modify_region.
+ * casefiddle.c (casify_region): Same.
+
+ * dispnew.c (direct_output_for_insert): Compute the face of the
+ character we're inserting properly.
+
+ * xterm.c (dumpglyphs): Pass the proper arguments to intern_face.
+
+ * xterm.c (dumpglyphs): Don't increment left twice.
+
+ * intervals.c (set_point): Check for point out of bounds before
+ checking for an empty interval tree.
+
+ * cmds.c (Fforward_char): Check proposed new position, and then
+ set point, instead of setting point to a potentially invalid
+ position.
+
+ * lread.c, data.c: If STDC_HEADERS is #defined, include <stdlib.h>
+ to get the extern declarations for atof. That's where it is in
+ POSIX.
+
+1993-05-12 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * ymakefile (xfaces.o): Add window.h to the dependencies.
+
+ * xfaces.c (intern_frame_face): Exchange order of arguments, to
+ make callers correct.
+
+ * xfaces.c (compute_char_face): Notice the next property change
+ location correctly.
+
+ * xfaces.c (face_name_id_number): Return 0 (the default face) if
+ the name is undefined.
+
+ * xfaces.c (Fset_face_attribute_internal): Do nothing unless FRAME
+ is an X frame.
+
+ * xdisp.c (copy_rope, copy_part_of_rope): Add face argument.
+ (display_text_line): Initialize current_face to zero. Apply it
+ to characters as we write them to the display matrix.
+ (display_string): Pass the new argument to copy_rope.
+
+ * xdisp.c (display_text_line): Handle the locations of face
+ changes properly.
+
+ * textprop.c (Fnext_single_property_change,
+ Fprevious_single_property_change): Pass arguments to textget in
+ the right order.
+
+ * ymakefile (xfns.o): Remove duplication of buffer.h in dependencies.
+
+ * ymakefile ($(OLDXMENU)): Remove extraneous call to `rm'.
+
+1993-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (Faccessible_keymaps): Use whatever size the vector has.
+ (Fwhere_is_internal): Likewise.
+ (describe_vector): Likewise.
+ (current_minor_maps): Call Findirect_function, so symbols
+ can be used in place of actual maps.
+
+ * xdisp.c (display_text_line): Use break; to exit loop at eol.
+ Duplicate the short MAKE_GLYPH loop after the main loop.
+ If no display table, do obey selective_display_ellipses.
+ (copy_part_of_rope): Arg FROM is now Lisp_Object *.
+
+ * xfaces.c: Do include window.h.
+ (compute_char_face): Supply third arg of Fget_text_property.
+
+ * keyboard.c (make_lispy_event): Don't set shift modifier for C-^.
+
+ * callproc.c (child_setup): Omit duplicates from new env array.
+
+1993-05-10 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * fileio.c (ro_fsys) [SOLARIS_BROKEN_ACCESS]: Check for the
+ filesystem being ro, since Solaris 2.1 doesn't.
+ (file-writable-p): Call ro_fsys.
+ * s/sol2.h (SOLARIS_BROKEN_ACCESS): Define this.
+
+ * systime.h: Use the strategy from getdate.y to include the proper
+ combination of <time.h> and <sys/time.h>.
+
+ * xfns.c (Fx_create_frame): Use an XLFD name for the default font,
+ instead of "9x15" or whatever it was.
+
+ * xdisp.c (display_text_line): Make face-handling code conditional
+ on HAVE_X_WINDOWS macro. Perhaps this isn't the best approach,
+ but it'll do for now.
+
+ * xdisp.c (display_text_line): We can't use the FRAME_DEFAULT_FACE
+ macro here; that's x-specific. Just don't pass the second
+ argument.
+ * xfaces.c (compute_glyph_face): Remove the BASIC_FACE argument;
+ use F's default face.
+
+1993-05-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xfaces.c (Fmake_face_internal): Do nothing for non-X frames.
+
+ * dispextern.h (struct face): Add cached_index member.
+ * xfaces.c (get_cached_face): Use it to avoid unnecessary
+ searches of face_vector.
+
+ * xfaces.c (intern_face): Renamed from get_display_face.
+
+ * xfns.c (x_make_gc): After building the GC's for the frame, call
+ init_frame_faces to set up the first two faces.
+ * xfaces.c (init_frame_faces): Don't just try to copy the default
+ and mode line faces from some other random frame; instead, consult
+ the normal_gc and reverse_gc members of the frame, and build the
+ faces based on their parameters.
+
+ Adjust the face computation functions to return frame face ID's,
+ not pointers to display faces; since we call these functions
+ during display construction, we don't want the display faces yet.
+ * xfaces.c (intern_frame_face): New function.
+ (compute_char_face, compute_glyph_face): Apply intern_frame_face
+ to the computed face, and return the frame face's ID, instead of
+ calling intern_face and returning a pointer to a display frame.
+
+ * xfaces.c: Describe the facial data structures. It took me a
+ while to figure them out; perhaps this will save someone else the
+ trouble.
+
+ Arrange to tell redisplay about changes in overlays.
+ * xdisp.c (redisplay_region): New function.
+ * buffer.c (Fmove_overlay): Call redisplay_region on the areas the
+ overlay has enclosed or left.
+ (Fdelete_overlay): Call redisplay_region on the area the overlay
+ used to occupy.
+ (Foverlay_put): Call redisplay_region on the area the overlay now
+ occupies; we may have put a face property on it.
+
+ * buffer.c (Fmove_overlay): Doc fix.
+
+ * xdisp.c (redisplay): If we're doing a thorough redisplay (all
+ windows on all frames involved), go ahead and flush the GC cache -
+ call clear_face_vector.
+
+ * xdisp.c (display_text_line): Apply faces to characters
+ according to overlays and text properties; use
+ compute_char_face and compute_glyph_face to figure out what
+ face to use, and where a new face starts.
+ * xterm.c (dumpglyphs): Use the upper bits of the glyphs to decide
+ which frame face to use. Call GLYPH_FOLLOW_ALIASES to make sure
+ we're implementing the glyph table properly. If we're not using
+ the default or mode line face, call intern_face to find a display
+ face for the frame face selected by the glyph code. Implement
+ underlining. Remove the `font' argument; we have to derive this
+ from the frame and face anyway. Change all callers.
+ * disptab.h (GLYPH_FOLLOW_ALIASES): New macro.
+
+ * xterm.c (x_destroy_window): Call free_frame_faces.
+
+ The GNU coding standards specify that CFLAGS should be left for
+ users to set.
+ * ymakefile (ALL_CFLAGS): Set this to the long string of
+ compilation switches, not CFLAGS. Changed all uses.
+ (CFLAGS): Make this default to just -g.
+ (.c.o): Define new default rule, to make sure that the right flags
+ get to the compilations.
+
+1993-05-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_char): Exit kbd macro if Vexecuting_macro is t.
+
+ * pwd.h: File deleted.
+
+1993-05-08 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * s/sunos4shr.h: Apply changes from David J. Mackenzie; this isn't
+ used by any configuration right now, but he's trying to make it
+ work.
+ #include "sunos4-1.h" instead of "bsd4-2.h".
+ (O_NDELAY): Don't define this.
+ (SYSTEM_MALLOC): Don't define this, either.
+ (LD_SWITCH_SYSTEM): Remove the definition for this.
+
+ * Makefile.in (DEFS): Remove this; we have configure build a
+ config.h file directly, instead of having lots of -D flags.
+
+ * Makefile.in (CFLAGS): Don't make this carry DEFS from the
+ configure script; the coding standards say that CFLAGS should be
+ left for the user to tweak.
+
+1993-05-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (do_mouse_tracking): Now static.
+
+ * xmenu.c (Fx_popup_menu): Add a vector of prefix keys for the panes.
+ (keymap_panes): Allocate that vector.
+ (single_keymap_panes): Fill in that vector.
+ (xmenu_show): Return a list of events, not just one event.
+
+ * keyboard.c (read_char_menu_prompt): Expect Fx_popup_menu
+ to return a list of events. Don't lose any of them.
+
+ * xfns.c (Fx_get_mouse_event, Fx_mouse_events): Code deleted.
+ * window.c (Vmouse_event): Var deleted.
+ (syms_of_window): Don't make it a Lisp var.
+
+ * keyboard.c (read_avail_input, Fset_input_mode): Make
+ meta_key a three-value variable to support 8-bit input.
+
+1993-05-07 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * ymakefile [__GNUC__ && __GNUC__ > 1] (LIB_GCC): Set this even if
+ LINKER is #defined.
+
+ * ymakefile ($(OLDXMENU)): Remove the link before we re-create it;
+ not all versions of ln have the `-f' flag. Use the LN_S variable,
+ inherited from src/Makefile.
+
+ * Makefile.in (LN_S): New variable, edited by top Makefile.
+ (SUBMAKEFILE): New variable, containing all flags to pass to
+ recursive makes.
+
+ * config.h.in: Adjust this for use by autoconf's AC_CONFIG_HEADER,
+ instead of AC_OUTPUT.
+
+ * xfaces.c (get_display_face): Use face_eql instead of writing it out.
+
+1993-05-06 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keymap.c (Fwhere_is_internal): If FIRSTONLY is non-nil, avoid
+ returning a non-ascii key sequence unless FIRSTONLY is the symbol
+ `non-ascii'.
+
+ * config.h.in: Remove mention of GLYPH datatype; that shouldn't be
+ a user option.
+ * lisp.h (GLYPH, MAKE_GLYPH, GLYPH_CHAR, GLYPH_FACE): New macros.
+
+1993-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (x_get_arg): Call Fintern, not intern.
+
+ * systime.h [SCO]: Include time.h.
+ * s/sco4.h: New file.
+
+ * ymakefile (LIBXMENU): Delete -loldX.
+
+ * emacs.c (main): Handle -display like -d.
+
+1993-05-05 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * s/template.h: Explain the relative significance of the SIGIO and
+ INTERRUPT_INPUT macros.
+
+ * ymakefile (buffer.o, insdel.o): Note that these files also
+ depend on blockinput.h.
+
+ * blockinput.h (UNBLOCK_INPUT): We cannot assume that SIGIO is
+ defined everywhere this file is #included; merge the two
+ definitions for defined (SIGIO) and ! defined (SIGIO) into one,
+ which calls reinvoke_input_signal if interrupt_input_pending is
+ set.
+ * keyboard.c (reinvoke_input_signal): New function.
+
+1993-05-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fdisplay_buffer): Add space to prompt.
+
+1993-05-04 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Doc fix for
+ extra-keyboard-modifiers.
+
+ * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER, CHAR_SHIFT, CHAR_CTL,
+ CHAR_META): Shift these all up one bit, back to where they were.
+
+1993-05-02 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keymap.c (Fdefine_prefix_command): Doc fix.
+
+ * ymakefile (C_DEBUG_SWITCH): Undo April 10 change.
+
+1993-05-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fsuspend_emacs): Doc fix.
+
+1993-04-30 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * data.c (Ffset): Refuse to set the function value of t or nil.
+
+1993-04-29 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Implement extra_keyboard_modifiers properly.
+ * keyboard.c (syms_of_keyboard): Doc fix for
+ extra-keyboard-modifiers; use the same modifier bits as we do for
+ characters.
+ (read_char): Apply all the modifiers in extra_keyboard_modifiers
+ to the input characters, so you can get hyper, super, and the rest
+ of the gang.
+ * xterm.c (x_emacs_to_x_modifiers): New function.
+ (x_convert_modifiers): Renamed to x_x_to_emacs_modifiers, for
+ consistency. Callers changed.
+ (XTread_socket): Apply x_emacs_to_x_modifiers to
+ extra_keyboard_modifiers before setting the state member of the
+ event; this will get all the modifiers on ASCII characters.
+
+ * xterm.c (x_text_icon): Don't call XSetIconName; it should be
+ unnecessary, and perhaps it's killing the icon pixmap.
+
+ * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
+ case we need them.
+ * termhooks.h (alt_modifier, super_modifier, hyper_modifier,
+ shift_modifier, ctrl_modifier, meta_modifier): Define these in
+ terms of the CHAR_mumble macros, to avoid having the same thing
+ defined in two places.
+
+ * keyboard.c (kbd_buffer_get_event): Don't generate switch-frame
+ events if they'd only switch to the frame already selected. This
+ avoids lots of extra switch-frame events when using a separate
+ minibuffer.
+
+1993-04-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fthis_command_keys): Doc fix.
+
+ * process.c (wait_reading_process_input): Move the status_notify
+ call before the set_waiting_for_input call.
+
+ * fileio.c (Fexpand_file_name): Undo last change--too risky for now.
+
+ * data.c (Fdefine_function): New function (same code as Fdefalias).
+
+1993-04-28 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * eval.c (do_autoload): Fixed the bug in the autoload-saving code.
+
+1993-04-28 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (Fcurrent_input_mode): New function.
+
+1993-04-27 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * eval.c (un_autoload): Don't try to save old autoload forms when
+ we load something in. Something about the code now conditioned
+ out by UNLOAD was screwing up ordinary autoloads, notably of
+ picture.el. When I figure out what, I'll fix and re-enable this
+ code.
+
+1993-04-27 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * buffer.c (syms_of_buffer): Doc fix for buffer-display-table.
+
+ * systime.h: Doc fix.
+ (EMACS_SET_USECS): Remember that a `usec' is a microsecond, not a
+ millisecond. What's three orders of magnitude between friends?
+ * dispnew.c (Fsit_for, Fsleep_for): Remember to multiply the
+ `milliseconds' argument by 1000 to get microseconds.
+
+1993-04-26 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * fileio.c (Fexpand_file_name):
+ Don't remove trailing / from NEWDIR if just "/".
+
+1993-04-26 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/mips.h,
+ m/sps7.h, s/hpux.h, s/usg5-4.h (HAVE_DUP2): Removed; derived by
+ configure script.
+ * s/hpux.h, s/irix3-3.h, s/aix3-1.h (HAVE_GETHOSTNAME): Removed;
+ derived by configure script.
+
+ Arrange for Fy_or_n_p to put off switch-frame events.
+ * lread.c (read_filtered_char): New function, which contains the
+ code which used to be in Fread_char, Fread_event, and
+ Fread_char_exclusive; there was a lot of common code.
+ (Fread_char, Fread_event, Fread_char_exclusive): Rewrite in terms
+ of read_filtered_char.
+ * lisp.h (read_filtered_char): Declare this extern here.
+ * fns.c (Fy_or_n_p): Call read_filtered_char, arranging to delay
+ switch-frame events.
+
+ * keyboard.c (read_key_sequence): Let the `modifiers' variable in
+ the code which deals with KEY being unbound be an int, not a
+ Lisp_Object.
+
+ * config.h.in (getenv): Don't test THIS_IS_YMAKEFILE to see if we
+ should exclude the getenv declaration; instead, test NOT_C_CODE.
+ Per suggestion from Francesco Potorti`.
+ * ymakefile (NOT_C_CODE): Define this; it's true, and useful.
+
+ * dispnew.c (Fsleep_for, Fsit_for): Allow SECONDS to be a
+ floating point value.
+
+1993-04-26 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * sysdep.c (read_pending_input):
+ Fix the garbaged-modifiers bug under System Vs previous
+ to r4.
+
+1993-04-25 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Move these into
+ functions in sysdep.c.
+ * sysdep.c (emacs_get_tty, emacs_set_tty): Here they are.
+
+ * sysdep.c (emacs_set_tty): Call tcsetattr over and over again
+ until it does all of what we ask it to, or returns an error.
+
+ * search.c (Freplace_match): Arrange for markers sitting at the
+ beginning or end of the original text to float to the
+ corresponding position in the replacement text.
+
+1993-04-25 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * window.c (Fset-window-buffer):
+ Set horizontal-scrolling on a window to zero when
+ we connect it to a new buffer.
+
+ * buffer.c: Doc fix.
+
+1993-04-24 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Make the modifier manipulation functions more robust. The old way
+ caused a bug once, and probably would again.
+ * termhooks.h (alt_modifier, super_modifier, hyper_modifier,
+ shift_modifier, ctrl_modifier, meta_modifier): Shift these all
+ down one bit in value, to avoid sign extension problems.
+ * lisp.h (CHAR_META, CHAR_CTL, CHAR_SHIFT): Fix these definitions too.
+ * keyboard.c (lispy_modifier_list): Ignore modifier bits beyond
+ what our table of modifier names can handle.
+ (apply_modifiers): Don't abort if you see extra modifier bits,
+ just remove them.
+
+1993-04-23 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * data.c (Fdefine_function):
+ Changed name back to Fdefalias, so we get things
+ in a known-good state.
+
+ * buffer.h (BUF_NARROWED, NARROWED):
+ New macros to test whether a region
+ restriction has narrowed the buffer.
+
+1993-04-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * systime.h: Comment fixes.
+
+ * data.c (Fdefine_function): New function.
+
+ * lisp.h (LOADHIST_ATTACH): New macro.
+ (Vcurrent_load_list, Vload_history): Vars declared.
+
+ * eval.c: (defun, defmacro, defvar, defconst):
+ Attach symbol argument to the list of globals for the input source.
+ (do_autoload): Save the old autoloads, in case we ever unload.
+
+ * fns.c (provide, require): Put appropriately-marked
+ conses in the current-globals list.
+
+ * lread.c (readevalloop):
+ New argument is the source file name (or nil if none).
+ All calls changed. Do the two-step
+ necessary to call build_load_history with the correct current-globals
+ list for the current recursion.
+ (build_load_history): New function.
+ (eval_region, eval_buffer): Call readevalloop with new arg.
+ (load_history): New variable.
+
+1993-04-16 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * lread.c (readevalloop): New argument is the source file name (or
+ nil if none). All calls changed. Do the two-step
+ necessary to call build_load_history with the correct current-globals
+ list for the current recursion.
+ (build_load_history): New function.
+ (Feval_region, Feval_buffer): Call readevalloop with new arg.
+ (Vload_history): New variable.
+
+ * fns.c (Fprovide, Frequire): Put appropriately-marked
+ conses in the current-globals list.
+
+ * eval.c (Fdefun, Fdefmacro, Fdefvar, Fdefconst):
+ Attach symbol argument to the list of globals for the input source.
+ (do_autoload): Save the old autoloads, in case we ever unload.
+
+ * data.c (Fdefine_function): New function.
+
+1993-04-16 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * fileio.c (Fmake_symbolic_link): If a file already exists under
+ the link's filename, delete the file which the link
+ would replace, not the file the link would point at.
+
+ * config.h.in (volatile): Don't define this to be the empty string
+ if some file has #defined HAVE_VOLATILE.
+
+ * emacs.c (SEPCHAR): Instead of defining this to be ',' on VMS and
+ ':' elsewhere, just have it default to ':' if not #defined, and
+ #define it to be ',' in s/vms.h; OS/2 will need it to be ';'.
+ * s/vms.h (SEPCHAR): #define this to be ','.
+ * s/template.h (SEPCHAR): Mention this.
+
+1993-04-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * s/vms.h (xfree): #define this to emacs_xfree, to avoid case
+ conflict with XFree; on VMS, external symbols are case-insensitive.
+
+ * s/usg5-4.h (HAVE_GETTIMEOFDAY): Deleted; ../configure figures
+ that out now.
+
+ Changes for Emacs 19 from Thorsten Ohl <ohl@chico.harvard.edu>:
+ * s/mach2.h: copied from the Emacs 18.59 distribution.
+ Don't define NO_REMAP, define START_FILES as
+ `pre-crt0.o' instead. Define LIB_MATH as `-lm', to override the
+ default `-lm -lc' (there is no libc on the NeXT).
+ * ymakefile (STARTFILES): Allow config.h to set this value even if
+ ORDINARY_LINK is defined.
+ * unexnext.c: Fix subdirectories for the machine dependent include
+ files for NeXTStep 3.0; #include <mach/mach.h> and
+ <mach-o/loader.h> instead of <mach.h> and <sys/loader.h>.
+ (getsectbyname): Remove prototype for this; the system #include
+ files take care of that.
+ (malloc_cookie): New variable.
+ (unexec_doit): Set malloc_cookie to the result returned by
+ malloc_freezedry.
+ * emacs.c (main): Declare malloc_cookie to be extern, so that we can
+ get the value set when we dumped and pass it to malloc_jumpstart.
+ * systime.h: The NeXT has a timezone function.
+
+1993-04-12 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * ymakefile ($(OLDXMENU)): Remove $(OLDXMENU) before trying to
+ link in a new version.
+
+ * lisp.h (Qrange_error, Qdomain_error, Qsingularity_error,
+ Qoverflow_error, Qunderflow_error): Add extern to these declarations.
+
+1993-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfaces.c: Don't include Xmu/Drawing.h.
+
+1993-04-10 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * Makefile.in (xmakefile): Recognize the -O option with a numeric
+ optimization level.
+
+ * ymakefile (C_DEBUG_SWITCH): If we're using version 2 of GCC or
+ higher, use -O99 instead of plain -O.
+
+1993-04-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (command_loop_1): Rebuild menu bar if
+ update_mode_lines is set.
+
+ long_to_cons and cons_to_long are generally useful things; they're
+ needed whether or not X is defined.
+ * xselect.c (long_to_cons, cons_to_long): Moved from here...
+ * data.c (long_to_cons, cons_to_long): ... to here.
+ * lisp.h (long_to_cons, cons_to_long): Add extern declaration.
+
+ * xmenu.c (Qmenu_enable): Definition moved...
+ (syms_of_xmenu): ... along with initialization ...
+ * keyboard.c (Qmenu_enable): ... to here ...
+ (syms_of_keyboard): ... and here.
+
+ * keyboard.c (kbd_buffer_get_event): If we get a selection clear
+ or selection request event, but we were compiled without the
+ window-system-specific code to handle it, abort. Don't try to
+ call a function which doesn't exist.
+
+ * keyboard.c (make_lispy_event): In the code which processes mouse
+ clicks, declare f to be a FRAME_PTR, not a struct frame *; this
+ works when MULTI_FRAME is not #defined.
+
+ * xfaces.c (sort_overlays): Define this to be static, as declared.
+
+ * callproc.c (relocate_fd): Make messages string literals, not
+ initialized arrays.
+
+ * alloc.c (__malloc_hook, __realloc_hook, __free_hook): Declare
+ these extern, not static. (!)
+
+ * alloc.c (__malloc_hook, old_malloc_hook, __realloc_hook,
+ old_realloc_hook): Declare that the functions these point to return
+ void *, not void.
+
+ Adjust for autoconf merger.
+ * config.h.in: Add extra line to top, in case autoconf gets fixed
+ and decides not to add Makefile-style comments to the top of the
+ files it generates which we are forced to lop off.
+ Indicate that the boolean macros here get their definitions via
+ the DEFS Makefile variable.
+ Adjust the operating system and machine #includes to use
+ autoload's @cookies@.
+ (RETSIGTYPE): Give this a default value.
+ (SIGTYPE): Set this from RETSIGTYPE.
+ (LD_SWITCH_X_SITE, C_SWITCH_X_SITE): Get values via @cookies@.
+ * Makefile.in (DEFS): Renamed from CONFIG_CFLAGS.
+ (xmakefile): Pass CFLAGS to ${CPP}.
+
+ * buffer.c (Fmake_overlay, Fmove_overlay): New optional BUFFER
+ arguments.
+ (recenter_overlay_lists): New argument BUF, to use instead of the
+ current buffer.
+ (Foverlay_recenter): Pass the appropriate arguments to
+ recenter_overlay_lists.
+
+ * buffer.c (Fdelete_overlay): Don't assume that overlay is in the
+ current buffer. Don't forget to declare the argument a Lisp_Object.
+
+ * dispnew.c (getenv): Extern declaration deleted; this is done in
+ config.h.
+
+ * Makefile.in (tagsfiles): Remove external-lisp from this list of
+ files; we're not distributing it, so the normal build process
+ shouldn't depend on it.
+
+ * dispnew.c (init_display): Compare the return value of getenv to
+ zero before setting display_arg, instead of just using the pointer
+ as a truth value.
+
+1993-04-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (message, message1): If noninteractive and
+ cursor_in_echo_area, don't print a newline at end of message.
+
+ * fns.c (Fy_or_n_p): Echo the answer just once, at exit.
+
+ * keyboard.c (echo_dash): Do nothing if echoptr is 0.
+
+ * buffer.c (Fkill_all_local_variables): Store each var's current value
+ in the buffer's alist entry, before reverting to the default value.
+
+1993-04-07 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * keyboard.c (apply_modifiers): Fix typo in sanity check.
+
+ * keyboard.c (interrupt_input_blocked, interrupt_input_pending):
+ Remove `extern' keywords - these are the definitions.
+
+1993-04-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * blockinput.h (UNBLOCK_INPUT): Fix typo.
+ (interrupt_input_blocked): Make this signed int.
+
+ * search.c (search_buffer): Fix typo in previous change.
+
+ * insdel.c, buffer.c: Include blockinput.h.
+
+ * xterm.c: Fix typo in comment delimiter.
+
+1993-04-07 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * m/imbrs6000.h: If we're using GCC, define ORDINARY_LINK instead
+ of defining LINKER to use cc.
+ * s/aix3-1.h (LINKER): Don't use cc for linking command if we're
+ using GCC.
+ * s/aix3-2.h (SYSTEM_MALLOC): Undefine this.
+
+ * xterm.c (updating_frame): Declare this extern instead of static,
+ so it's the same variable as the updating_frame in term.c.
+ (XTupdate_begin, XTupdate_end): Don't bother to set
+ updating_frame; the term.c functions take care of that for us.
+
+1993-04-05 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * s/vms.h (EXEC_SUFFIXES): Add definition for this.
+
+1993-03-31 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * xfaces.c: Doc fixes.
+
+ Put interrupt input blocking in a separate file from xterm.h.
+ This isn't specific to X, and it allows us to avoid #including
+ xterm.h in files that don't really have anything to do with X.
+ * blockinput.h: New file.
+ * xterm.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT,
+ UNBLOCK_INPUT_RESIGNAL): These are now in blockinput.h.
+ (x_input_blocked, x_pending_input): Deleted; there are analogs
+ in blockinput.h called interrupt_input_blocked and
+ interrupt_input_pending.
+ * keyboard.c (interrupt_input_blocked, interrupt_input_pending):
+ New variables, used by the macros in blockinput.h.
+ * xterm.c: #include blockinput.h.
+ (x_input_blocked, x_pending_input): Deleted.
+ (XTread_socket): Test and set interrupt_input_blocked and
+ interrupt_input_pending instead of the old variables.
+ * alloc.c, xfaces.c, xfns.c, xmenu.c, xselect.c, keymap.c:
+ #include blockinput.h.
+ * eval.c: #include blockinput.h instead of xterm.h.
+ * keyboard.c: #include blockinput.h.
+ (input_poll_signal): Just test
+ interrupt_input_blocked, instead of testing HAVE_X_WINDOWS and
+ x_input_blocked.
+
+ Block the processing of interrupt input while we're manipulating the
+ malloc heap.
+ * alloc.c: (xfree): New function, to make it easy to free things
+ safely.
+ (xmalloc, xrealloc): Block X input while doing the deed.
+ (VALIDATE_LISP_STORAGE, gc_sweep, compact_strings): Use xfree
+ instead of free.
+ (uninterrupt_malloc): New function, to install input-blocking
+ hooks into the GNU malloc routines.
+ * emacs.c [not SYSTEM_MALLOC] (main): Call uninterrupt_malloc
+ on startup.
+ * alloc.c: (make_interval, make_float, Fcons, Fmake_vector,
+ Fmake_symbol, Fmake_marker, make_uninit_string, Fgarbage_collect):
+ Use xmalloc instead of malloc; don't bother to check if out of
+ memory here.
+ (Fgarbage_collect): Call xrealloc instead of realloc.
+ * buffer.c: Use xmalloc and xfree instead of malloc and free;
+ don't bother to check if out of memory here.
+ (Fget_buffer_create): Put BLOCK_INPUT/UNBLOCK_INPUT pair around
+ calls to ralloc routines.
+ * insdel.c: Same.
+ * lisp.h (xfree): New extern declaration.
+ * xfaces.c (xfree): Don't #define this to be free; use the
+ definition in alloc.c.
+ * dispnew.c, doc.c, doprnt.c, fileio.c, lread.c, term.c, xfns.c,
+ xmenu.c, xterm.c: Use xfree instead of free.
+ * hftctl.c: Use xfree and xmalloc instead of free and malloc.
+ * keymap.c (current_minor_maps): BLOCK_INPUT while calling realloc
+ and malloc.
+ * search.c: Since the regexp routines can malloc, BLOCK_INPUT
+ while runing them. #include blockinput.h.
+ * sysdep.c: #include blockinput.h. Call xfree and xmalloc instead
+ of free and malloc. BLOCK_INPUT around routines which we know
+ will call malloc.
+
+ ymakefile (keyboard.o, keymap.o, search.o, sysdep.o, xfaces.o,
+ xfns.o, xmenu.o, xterm.o, xselect.o, alloc.o, eval.o): Note that
+ these depend on blockinput.h.
+
+ * keyboard.c (parse_modifiers, apply_modifiers): Make sure we're
+ not trying to create modifier masks using integers which are
+ unrepresentable as lisp values.
+
+1993-03-30 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
+ equivalent of /dev/null, and the suffixes used by executable
+ files. This is simple, and helps people porting Emacs to other
+ operating systems.
+ * process.h (NULL_DEVICE): Give this a default value.
+ * process.c (Fstart_process): Pass EXEC_SUFFIXES to openp.
+ (Fprocess_send_eof): Use NULL_DEVICE instead of "/dev/null".
+ * callproc.c (Fcall_process): Pass EXEC_SUFFIXES to openp.
+ Use NULL_DEVICE instead of "/dev/null".
+ * s/vms.h (NULL_DEVICE): #define this.
+
+ Rename int-to-string to number-to-string, since it can handle
+ floating-point as well as integer arguments. subr.el defines the
+ former as an alias for the latter.
+ * data.c (Fnumber_to_string): Renamed from Fint_to_string.
+ (wrong_type_argument): Adjust caller.
+ (syms_of_data): Adjust defsubr.
+ * fns.c (concat): Adjust caller.
+ * lisp.h (Fnumber_to_string): Adjust extern declaration.
+ * mocklisp.c (Finsert_string): Adjust caller.
+ * process.c (status_message): Adjust caller.
+
+1993-03-28 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * systty.h [NO_PTY_H]: Don't include pty.h.
+
+ * m/delta88k.h [USG5_4]: Alternate defining of LIBS_SYSTEM,
+ LIBX11_SYSTEM, HAVE_RANDOM, BSTRING.
+ (NO_PTY_H): Defined.
+
+ * fileio.c (Fwrite_region): Don't fail to set visit_file.
+
+ * keyboard.c (command_loop_1): Clear force_start of selected_window
+ after reading each key sequence.
+ (read_char): Clear Vquit_flag when we return C-g for it.
+
+ * fileio.c (Fexpand_file_name): Default DEFALT at beginning,
+ before expanding it. But avoid unneeded or infinite recursive expand.
+
+1993-03-26 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * editfns.c (Fchar_equal): Don't ignore high bits of character.
+
+ * fileio.c (Fwrite_region): Set visit_file after expanding file arg.
+ Also expand VISIT arg if specified.
+
+ * frame.c (make_frame): Init face_alist field.
+
+1993-03-25 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * xselect.c (SELECTION_QUANTUM): Don't use XMaxRequestSize on R3;
+ access the display structure directly.
+
+1993-03-25 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * ymakefile (xfns.o): Depend on buffer.h.
+
+ * buffer.h (struct buffer): Field `fieldlist' deleted.
+
+ * search.c (Freplace_match): Clean up criterion about converting case.
+ If old text has any capitalized words, capitalize new text.
+
+ * xfaces.c: New file.
+
+ * ymakefile (XOBJ): Add xfaces.o.
+ (xfaces.o): New target.
+ * emacs.c (main): Call syms_of_xfaces.
+
+ * buffer.h (OVERLAY_START, OVERLAY_END, OVERLAY_VALID): New macros.
+ (OVERLAY_POSITION): Likewise.
+ (searchbuf): Decl deleted--doesn't belong here.
+ Delete include of regex.h for VMS.
+ * dired.c (searchbuf): Declare here.
+
+ * frame.h (struct frame): New field face_alist.
+ * alloc.c (mark_object): Mark face_alist of a frame.
+
+ * ymakefile (xselect.o): Depend on dispextern.h.
+
+ * xterm.h (FRAME_FACES, FRAME_N_FACES, FRAME_DEFAULT_FACE)
+ (FRAME_MODE_LINE_FACE): New macros.
+ (struct x_display): New fields faces, n_faces.
+
+ * dispextern.h (struct face): New fields pixmap_h, pixmap_w.
+ Field `font' is now a pointer.
+
+ * fns.c (Fy_or_n_p): Ensure cursor_in_echo_area = 0 when quit.
+
+1993-03-24 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * dispnew.c (getenv): Add extern declaration.
+
+ * ymakefile (really-oldXMenu): Pass C_SWITCH_SITE and
+ C_SWITCH_SYSTEM to the inferior make as separate flags, instead of
+ passing just C_SWITCH_SITE as CFLAGS.
+
+ * keymap.c (Fkeymapp): Doc fix.
+
+ * xterm.h (x_focus_frame): Add extern keyword to declaration.
+
+ * xterm.c [VMS]: Don't #include <sys/termio.h> and <string.h>.
+ * xfns.c [VMS]: Get the gray_bits from [.bitmaps]gray.xbm.
+ * process.c [VMS] (DCL_PROMPT): Remove hack.
+ (WIFSTOPPED, WIFSIGNALED, WIFEXITED, XRETCODE, WSTOPSIG,
+ WCOREDUMP, WTERMSIG): New dummy definitions.
+ (deactivate_process): Add missing semicolon.
+ * dispnew.c (init_display): Get display name from environment
+ properly on VMS as well as Unix.
+
+1993-03-24 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * buffer.c (init_buffer_once, reset_buffer):
+ Delete last vestige of fieldlist slot.
+ (Fregion_fields): Finally deleted.
+
+ * keymap.c (push_key_description): Ignore bits above meta_modifier.
+
+1993-03-23 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * buffer.c (overlays_at, recenter_overlay_lists): New functions.
+ (Fmake_overlay, Fdelete_overlay, Foverlay_get, Foverlay_put): Likewise.
+ (Fmove_overlay, Foverlays_at, Fnext_overlay_change): Likewise.
+ (Foverlay_lists, Foverlay_recenter): Likewise.
+
+ * buffer.h (struct buffer): New fields overlay_center,
+ overlays_before, overlays_after.
+
+1993-03-23 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * config.h.in (HAVE_XFREE386): New flag, set by configure script.
+ If it's set, #define LIBX11_SYSTEM and HAVE_RANDOM as appropriate
+ for XFree386.
+ * sysdep.c (random, srandom): Don't define these if HAVE_RANDOM is
+ #defined.
+
+ * config.h.in (C_SWITCH_X_SITE, LD_SWITCH_X_SITE): New flags.
+ * ymakefile (C_SWITCH_X_SITE, LD_SWITCH_X_SITE): Provide default
+ values. Include C_SWITCH_X_SITE in CFLAGS, include
+ LD_SWITCH_X_SITE in LIBX, and pass C_SWITCH_X_SITE to the make
+ which builds the X Menu library.
+
+1993-03-22 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_parse_geometry): Renamed from Fx_geometry.
+ (Fx_color_defined_p): Renamed from Fx_defined_color.
+ (syms_of_xfns): Adjusted.
+
+1993-03-22 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * indent.c (current_column, Findent_to, position_indentation):
+ (Fmove_to_column, compute_motion): Allow tab_width up to 1000.
+
+ * xdisp.c (display_string, display_text_line):
+ Allow tab_width up to 1000.
+
+ * keyboard.c (Fsuspend_emacs):
+ Change suspend-hooks back to suspend-hook and make it a normal hook.
+
+ * s/dgux.h: Decide automatically whether to use COFF or ELF.
+
+1993-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fns.c (Fy_or_n_p): Handle `recenter' response type.
+
+ * s/dgux.h (HAVE_TERMIO, SIGNALS_VIA_CHARACTERS): Defined.
+
+1993-03-21 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * frame.c (Fhandle_switch_frame): Renamed from Fselect_frame.
+ Doc changed in anticipation of new purpose.
+ (Fselect_frame): Just call Fhandle_switch_frame for now.
+
+1993-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (decode_mode_spec): Handle `%l'.
+ (display_count_lines): New function.
+ (redisplay_window): Update base_line_number and base_line_pos fields.
+ Always update mode line if it's an integer.
+ * window.h (struct window):
+ New fields base_line_number and base_line_pos.
+
+ * window.c (Fselect_window): Use Fhandle_switch_frame.
+ (Fset_window_configuration): Likewise.
+
+1993-03-20 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ Use the `visiblity' parameter to determine the initial state of
+ the frame, instead of the `iconic-startup' and
+ `suppress-initial-map' parameters.
+ * xfns.c (x_icon): Test the Qvisibility parameter against Qicon,
+ instead of the Qiconic_startup against Qt.
+ (x_create_frame): Test Qvisibility against Qnil and
+ Qicon, instead of testing Qsuppress_initial_map and Qvisibility.
+ (Qicon): New symbol.
+ (Qiconic_startup, Qsuppress_initial_map): Removed.
+ (syms_of_xfns): Adjusted appropriately.
+
+ * xfns.c (x_set_visibility): Instead of interpreting only Qt as
+ `make the frame visible' and everything else as `iconify the
+ frame', interpret Qicon as `iconify the frame' and everything else
+ as `make the frame visible.'
+
+ * xfns.c (x_get_arg): When the type of the resource is `symbol',
+ return `true' and `on' as Qt, and `false' and `off' as Qnil.
+
+1993-03-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (init_cmdargs): Fix simple bug in previous change.
+
+1993-03-20 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * dispnew.c (Fsleep_for): Make this take two arguments SECONDS and
+ MILLISECONDS, which add, rather than a second argument which says
+ "treat the first argument as milliseconds."
+ (Fsit_for): Same thing.
+ (Fsleep_for_milliseconds): Deleted; this can be done with Fsleep_for.
+
+ * process.c (wait_reading_process_input): Doc fix.
+
+ * systime.h (EMACS_HAS_USECS): #define this if HAVE_TIMEVAL is
+ #defined.
+
+ * dispnew.c (sit_for): Doc fix.
+
+ * sysdep.c (reset_sys_modes): Fix usage of EMACS_SET_TTY.
+
+ * callproc.c (child_setup): Make sure that in, out, and err are
+ not less than three.
+ (relocate_fd): New function.
+
+ * xterm.c (x_term_init): If the X connection is already in file
+ descriptor zero, don't dup it and close the old one.
+
+ * s/hpux8.h, s/sunos4-1.h (OLDXMENU_OPTIONS): Define this, as in
+ Emacs 18.
+
+ * xfns.c (Fx_open_connection): If we have X11R5, use
+ XrmSetDatabase to set the display's database. In older versions,
+ just store the value into x_current_display->db.
+ * xterm.h (HAVE_X11R5): Define this where appropriate.
+
+ * frame.c (Fraise_frame, Flower_frame): Renamed from
+ Fframe_to_front and Fframe_to_back.
+ (syms_of_frame): Adjusted appropriately.
+
+ * fileio.c (HAVE_FSYNC): Define, if appropriate.
+ (Fwrite_region): Use HAVE_FSYNC.
+ * s-aix3-2.h (HAVE_FSYNC): Define.
+
+ * emacs.c (Finvocation_name): New function.
+ (Vinvocation_name): New variable.
+ (init_cmdargs): Set it.
+ (syms_of_emacs): defsubr Finvocation_name, staticpro and
+ initialize Vinvocation_name.
+ * lisp.h (Vinvocation_name): New extern declaration.
+ * xterm.c (invocation_name): Variable deleted; use
+ Vinvocation_name now.
+ (x_text_icon, x_term_init): Use Vinvocation_name now instead of
+ invocation_name.
+ (x_term_init): Don't initialize invocation_name.
+ (syms_of_xterm): Don't initialize or staticpro invocation_name.
+ * xfns.c (invocation_name): Remove extern declaration for this.
+ [HAVE_X11] (Fx_get_resource): Use Vinvocation_name now instead of
+ invocation_name.
+ [not HAVE_X11] (Fx_get_default): Same.
+
+1993-03-20 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_display_color_p): Renamed from Fx_color_display_p.
+ (syms_of_xfns): Use new name in defsubr.
+
+1993-03-19 Eric S. Raymond (eric@geech.gnu.ai.mit.edu)
+
+ * Makefile.in (unlock, relock): New productions to assist with
+ version control.
+
+1993-03-19 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * fileio.c (Fvisited_file_modtime): New function.
+ (Fset_visited_file_modtime): Accept an argument specifying time value.
+ If arg is nil, really use the filename handler.
+
+ * xselect.c (cons_to_long, long_to_cons): No longer static.
+
+1993-03-18 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * frame.h (FOR_EACH_FRAME): Change the definition so that
+ FRAME_VAR is a lisp object.
+ * dispnew.c (WINDOW_CHANGE_SIGNAL, do_pending_window_change):
+ Adjusted appropriately.
+ * xdisp.c (redisplay): Adjusted appropriately.
+
+ * dispnew.c (Fredraw_frame): Give this appropriate definitions for
+ MULTI_FRAME and non-MULTI_FRAME configurations.
+ (Fredraw_display): Give this a non-MULTI_FRAME-dependent definition.
+
+1993-03-18 Richard Stallman (rms@geech.gnu.ai.mit.edu)
+
+ * lisp.h (CHECK_LIVE_WINDOW): Use Qlive_window_p.
+
+ * xfns.c (x_screen): Make this var file scope.
+ (Fx_server_version): Use Fcons, not list3.
+
+1993-03-17 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * xterm.c (term_get_fkeys): Less klugey version of the last fix.
+
+ * Makefile.in (versionclean): New production nukes binaries and
+ DOC files, forcing a re-load, re-dump and re-makedoc.
+
+1993-03-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c: Doc fix.
+
+1993-03-17 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xterm.c (x_display_box_cursor, x_display_bar_cursor): Don't
+ display the cursor on garbaged frames.
+
+1993-03-17 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * term.c (term_get_fkeys) Supply second args for all tgetstr calls.
+
+1993-03-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (Fprocess_send_eof): Make sure proc is running.
+
+ * s/irix4-0.h (_getpty): Declare this, not _get_pty.
+
+1993-03-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_server_vendor, Fx_server_version, Fx_display_pixel_width)
+ (Fx_display_pixel_height, Fx_display_mm_width, Fx_display_mm_height)
+ (Fx_display_screens, Fx_display_planes, Fx_display_color_cells)
+ (Fx_display_visual_class, Fx_display_backing_store)
+ (Fx_display_save_under): New functions.
+ (x_screen_count, Vx_vendor, x_release, x_screen_height_mm)
+ (x_screen_width_mm, Vx_backing_store, x_save_under, Vx_screen_visual)
+ (x_visual_strings): Vars deleted.
+ (Fx_open_connection): Don't init those vars.
+ (syms_of_xfns): Set up new functions.
+ Don't set up those vars as Lisp vars.
+ Nor x-screen-width and x-screen-height.
+
+1993-03-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * cmds.c (overwrite_binary_mode): Deleted; this implements the
+ wrong feature.
+ (Qoverwrite_mode_binary): New variable.
+ (internal_self_insert): If current_buffer->overwrite_mode is
+ `overwrite-mode-binary', do as overwrite_binary_mode used to.
+ (syms_of_cmds): Remove defvar of overwrite_binary_mode; initialize
+ Qoverwrite_mode_binary.
+ * buffer.c (syms_of_buffer): Doc fix for overwrite_mode.
+ * buffer.h (struct buffer): Doc fix.
+
+ Rename `live-window-p' to `window-live-p', for consistency with
+ `frame-live-p'.
+ * window.c (Fwindow_live_p): Renamed from Flive_window_p.
+ * lisp.h (CHECK_LIVE_WINDOW): Change to use Qwindow_live_p.
+ (Qwindow_live_p): Extern declaration renamed fom Qlive_window_p.
+
+1993-03-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xmenu_show): Do BLOCK_INPUT; unblock just before returning.
+
+ * xterm.h [SIGIO] (UNBLOCK_INPUT): Resignal if x_pending_input.
+
+1993-03-15 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * frame.c (Fframe_height, Fframe_width): Fix doc strings to match
+ those of the multi-frame versions in frame.el. Accept an optional
+ argument FRAME, also for consistency.
+
+ * floatfns.c (logb): Add extern declaration for this.
+
+ * floatfns.c (Flogb): Under SYSV, implement this using frexp.
+
+1993-03-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (dispnew.o): Depend on termhooks.h.
+
+ * xmenu.c (list_of_items): Allow strings among the alist items;
+ they make nonselectable lines.
+
+1993-03-14 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * dired.c (Fdirectory_files): Recompile MATCH (if specified) after
+ expanding the file name and all; those might compile regexp of
+ their own, and change searchbuf.
+
+ * keyboard.h (internal_last_event_frame): This should be extern,
+ dummy.
+
+ * fns.c (Fy_or_n_p): Display the answer.
+
+ Some VMS changes from Richard Levitte <levitte@e.kth.se>:
+ * [VMS] systime.h: Include vmstime.h. VMS has the timezone
+ variable and the tzname array.
+ * s/vms.h: VMS does have select.
+ mth$dmod is the same as Unix's drem.
+ Use the time functions in vmstime.c.
+ No need to rename the malloc routines if we're using GNU malloc.
+ PURESIZE needs to be 330000.
+ * vmstime.c, vmstime.h: New files.
+ * systty.h: Don't try to initialize extern declarations under VAX C.
+ * vmspaths.h (PATH_LOADSEARCH): Include EMACS_LIBRARY:[LOCAL-LISP]
+ in PATH_LOADSEARCH.
+ (PATH_EXEC): Use EMACS_LIBRARY:[LIB-SRC] instead of [ETC].
+ * sysdep.c [VMS] (init_sys_modes): Don't allocate process_ef.
+ [VMS] (queue_kbd_input): Build events structure correctly.
+ [VMS] (gethostname): New function.
+ [VMS] (getwd): Don't get the PATH environment variable; that's
+ dumb. Call getcwd.
+
+1993-03-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c (display_menu_bar): Assume FRAME_MENU_BAR_ITEMS already set.
+ Fill out line with spaces.
+ Put explicit spaces between items.
+ * keyboard.c (command_loop_1): Set FRAME_MENU_BAR_ITEMS here.
+
+ * window.c (Fdelete_other_windows): Handle FRAME_MENU_BAR_LINES.
+
+ * keyboard.c (menu_bar_items): Reverse the list when done.
+
+ * xmenu.c (single_keymap_panes): When storing in ENABLES,
+ check def before enabled.
+
+ * ymakefile (really-oldXMenu): Renamed from ${oldXMenudir}$(OLDXMENU).
+ Add @true.
+ ($(OLDXMENU)): Depend on really-oldXMenu.
+ The idea is to make sure libXMenu11.a is always updated if nec.
+
+ * keyboard.c (command_loop_1): Typo calling Qrecompute_lucid_menubar.
+ (read_key_sequence): Likewise. Also fix call to Vrun_hooks.
+
+1993-03-13 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * ymakefile (YMF_PASS_LDFLAGS): Doc fix.
+
+1993-03-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * print.c (PRINTPREPARE): Handle marker that points nowhere.
+
+ * apollo.h (NO_X_DESTROY_DATABASE): Defined.
+
+ * undo.c (record_property_change, record_delete, record_insert):
+ Don't make boundary or touch last_undo_buffer if cur buf has no undo.
+
+ * ymakefile [__GNUC__ > 1]: Delete the conditional for GCC 2.4.
+ [__GNUC__ > 1] (LIB_GCC): Use -print-libgcc-file-name to find libgcc.a.
+ (YMF_FIND_LIBGCC_A): Definitions and uses deleted.
+
+1993-03-13 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * s/usg5-4.h: Remove extraneous text after #undef LIB_X11_LIB.
+
+1993-03-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xterm.c (Xatom_wm_change_state): Define here.
+ * xfns.c (Xatom_wm_change_state): Just declare.
+ (Xatom_emacs_selection, Xatom_clipboard, Xatom_clipboard_selection):
+ (Xatom_wm_change_state, Xatom_incremental, Xatom_multiple):
+ (Xatom_targets, Xatom_timestamp, Xatom_delete, Xatom_insert_selection):
+ (Xatom_pair, Xatom_insert_property, Xatom_text): Decls deleted.
+ (x_begin_selection_own): Decls deleted.
+ (Fx_open_connection): Set up only the wm atoms here.
+ Call Xatoms_of_xselect.
+
+ * dispnew.c: Include termhooks.h.
+
+ * frame.h (FRAMEP): Macro deleted.
+
+ * xselect.c: Total rewrite, derived from Lucid's version.
+
+ * keyboard.c (kbd_buffer_get_event): Handle selection_clear_event
+ and selection_request_event events.
+
+ * xterm.c (XTread_socket): Handle NEW_SELECTIONS alternative:
+ queue events for SelectionRequest and SelectionClear;
+ call functions for SelectionNotify and PropertyNotify.
+
+ * termhooks.h (selection_request_event, selection_clear_event):
+ New event kinds.
+
+ * xterm.h (SELECTION_EVENT_DISPLAY): New macro.
+ (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
+ (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
+ (SELECTION_EVENT_TIME): New macros.
+ (struct selection_input_event): New structure.
+
+ * process.c (wait_reading_process_input): New option to wait
+ till a given cons cell has a non-nil car.
+ Delete vipc conditionals.
+
+1993-03-12 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * ymakefile (YMF_FIND_LIBGCC_A): New macro, to help GCC find
+ libgcc.a even when -nostdlib is in effect. Define it to be the
+ empty string if nobody else establishes a value for it.
+ (temacs): Include it in the list of flags passed to the linker.
+
+ * ymakefile (LINKER): If we have GCC 2.4 or later, use the
+ -nostartfiles option instead of -nostdlib.
+ (LIBGCC): Under GCC 2.4 or later, define this to be the empty string.
+
+1993-03-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xmenu_show): New arg enable_list.
+ (keymap_panes): New arg enables
+ (single_keymap_panes): New arg enables. Fill in its contents.
+ (list_of_panes, list_of_items): New arg enables. Fill in contents.
+ (Fx_popup_menu): Pass enable and enable_list args.
+ (single_keymap_panes): Set enable flag to -1 if cmd definition is nil.
+
+ * lisp.h (INTEGERP, SYMBOLP, MARKERP, STRINGP, VECTORP): New macros.
+ (COMPILEDP, BUFFERP, SUBRP, PROCESSP, FRAMEP, WINDOWP): New macros.
+ (WINDOW_CONFIGURATIONP, FLOATP): New macros.
+
+1993-03-12 Paul Eggert (eggert@twinsun.com)
+
+ * cmd.c (internal_self_insert): Check that tab_width does not
+ exceed 20, to be consistent with indent.c and xdisp.c.
+
+1993-03-12 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * term.c (CONDITIONAL_REASSIGN): fixed reference to tigetstr.
+ This should have been tgetstr, but I typoed and tigetstr happens
+ to link and even do the right thing if you're on a System V box.
+
+1993-03-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Support Vcurrent_menubar
+ and Qactivate_menubar_hook. Call Qrecompute_lucid_menubar.
+ (syms_of_keyboard): Set up Vcurrent_menubar, Vprevious_lucid_menubar,
+ Qactivate_menubar_hook, and Qrecompute_lucid_menubar.
+
+ * xmenu.c (Fx_popup_menu): Allow a frame instead of a window, in arg.
+ Use Fcar, Fcdr when extracting from event, to check data types.
+
+1993-03-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * frame.h (FRAME_MENU_BAR_ITEMS): New macro (two versions).
+ (struct frame): New field menu_bar_items.
+ * alloc.c (mark_object): Mark the menu_bar_items field.
+
+ * xdisp.c (display_menu_bar): New function.
+ (redisplay_window): Call display_menu_bar.
+
+ * term.c (tigetstr): Add dummy definition to make Emacs link again.
+
+ * keyboard.c (syms_of_keyboard): Set up Qmenu_bar.
+ (menu_bar_items): New function.
+ (menu_bar_one_keymap, menu_bar_item): New functions.
+ (make_lispy_event): Handle menu bar events.
+ (read_key_sequence): Make dummy prefix `menu-bar' for menu bar events.
+
+1993-03-11 Eric S. Raymond (eric@mole.gnu.ai.mit.edu)
+
+ * term.c (fkey_table): Added many more keycap cookies to the
+ fkey_table; it now supports the full intersection of the set of X
+ keysyms and terminfo capabilities. See my lisp directory
+ ChangeLog entry for this date, and lisp/term/README, for details.
+
+1993-03-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * floatfns.c (Flogb): Fix use of IN_FLOAT.
+ Fix arg names. Don't confuse Lisp_Object with integer.
+
+1993-03-11 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * process.c (process_send_signal): In the TERMIOS code for sending
+ control characters to processes, don't try to return Qnil; just
+ return.
+
+1993-03-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (change_frame_size): Handle FRAME_MENU_BAR_LINES.
+
+ * frame.c (Fframe_parameters): Report menu-bar-lines parm.
+ (syms_of_frame): Set up Qmenu_bar_lines.
+
+ * frame.h (FRAME_MENU_BAR_LINES): New macro.
+ (struct frame): New field menu_bar_lines.
+
+ * xfns.c (x_frame_parms): Add elts for visibility and menu-bar-lines.
+ (enum x_frame_parm): Likewise.
+ (x_set_menu_bar_lines, x_set_menu_bar_lines_1): New functions.
+ (x_set_visibility): New function.
+ (Fx_create_frame): Handle menu-bar-lines parm.
+ (x_report_frame_params): Report Qvisibility.
+ (syms_of_xfns): Set up Qvisibility.
+
+ * keyboard.c (command_loop_1): Typo in last change.
+
+ * xmenu.c (syms_of_xmenu): Set up Qmenu_enable.
+ (single_keymap_panes): Test menu-enable property of symbol
+ to decide whether to include it in the menu.
+
+1993-03-10 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Adjust to the fact that display
+ tables are now vectors of vectors, not vectors of strings.
+
+1993-03-10 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * floatfns.c (Flogb): Undo the change of Feb 22.
+
+ * ymakefile (OLDXMENU): Don't assume that we have symbolic links
+ available; use `ln -f' instead of `ln -s'.
+
+ * xterm.c (x_find_modifier_meanings): XDisplayKeycodes only
+ appeared in X11R4; for earlier versions, just access the members
+ of the Display directly.
+
+ * xrdb.c (get_user_db): Since xrdb.c doesn't #include xterm.h,
+ we can't test HAVE_X11R4 to see how we should get the resource
+ manager string; cheat.
+
+ * unexec.c (copy_text_and_data): Error message tweaked.
+
+ * systime.h (timezone): Add an explicit declaration for this
+ variable under USG 5-4.
+
+ * sysdep.c (read_input_waiting): Set e.frame_or_window, not
+ e.frame; the latter doesn't exist anymore.
+
+ * sysdep.c (start_of_data): If ORDINARY_LINK is #defined, we don't
+ have the data_start symbol defined, so we'll just use the address
+ of environ.
+
+ * s/usg5-4.h: Changes from Eric Raymond:
+ If we're doing ordinary linking, define LIB_STANDARD appropriately.
+ Give LIBS_DEBUG a null definition; usg5-4 has no -lg.
+ #define LIBS_STANDARD as "-lc"; usg5-4 has no -lPW.
+ #define NSIG, if it's not already defined.
+ #define HAVE_TERMIOS instead of HAVE_TCATTR.
+ Provide our own definition of LIB_X11_LIB.
+
+ * s/usg5-3.h (LIBX11_SYSTEM): Eric Raymond says the libraries here
+ were slightly wrong.
+
+ * m/intel386.h (LIB_STANDARD): If USG5_4 is #defined, there's no
+ need to include `-lPW'; that has been merged with `-lc'.
+
+ * emacs.c (__do_global_ctors, __do_global_ctors_aux,
+ __do_global_dtors, __CTOR_LIST__, __DTOR_LIST__, __main): Don't
+ define these if ORDINARY_LINK is #defined; in that case, the
+ standard linking procedure will find definitions for these.
+
+ * syssignal.h (sigunblock): Add definition which works under SYSVr4.
+ * emacs.c (fatal_error_signal): Unblock the signal which we're
+ handling using sigunblock.
+
+1993-03-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xfns.c (x_make_gc): Don't forget to block X input around the
+ X calls in this function.
+
+ * xfns.c [not HAVE_X11R4] (select_visual): It's v->visualid, not
+ x->visualid. x isn't defined.
+
+ * m/template.h, s/template.h: Mention that `etc/MACHINES' and
+ `configure' should be updated whenever support for a configuration
+ is added or improved.
+
+ * process.c [! subprocesses] (wait_reading_process_input):
+ Remember to re-enable polling for input.
+
+ * keyboard.c [POLL_FOR_INPUT] (quit_throw_to_read_char): If
+ we're polling for input, abort; input polling should always be
+ suppressed while we're waiting for input.
+
+ * keyboard.c (interrupt_signal): Remove extern declaration of
+ Vwindow_system; this is no longer used.
+
+1993-03-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * editfns.c (Fcurrent_time_string): Optional arg specifies time.
+
+ * keymap.c (Fdefine_key): Use proper meta-bit to clear.
+
+ * intervals.c (set_point): Check invisibility of following character,
+ not previous character.
+
+ * floatfns.c (FLOAT_CHECK_ERRNO): Define unless NO_FLOAT_CHECK_ERRNO.
+
+ * floatfns.c: Changes from Lucid.
+ (HAVE_MATHERR, FLOAT_CHECK_ERRNO, FLOAT_CATCH_SIGILL): New parm macros.
+ (FLOAT_CHECK_DOMAIN, HAVE_RINT): New parm macros.
+ (HAVE_INVERSE_HYPERBOLIC, HAVE_CBRT): New parm macros.
+ [!HAVE_RINT]: Define rint as macro.
+ (IN_FLOAT): Major rewrite; several alternate versions.
+ (IN_FLOAT2): New macro.
+ (arith_error, range_error, domain_error, domain_error2): New macros.
+ (Facos, Fasin, Fatan, Fcos, Fsin, Ftan, Fexp, Fexpt, Flog): Changed.
+ (Flog10, Fsqrt, Fabs, Ffloat, Flogb): Changed.
+ (Ffloor, Fceiling, Fround, Ftruncate): Changed.
+ (Fcube_root): Renamed from Fcbrt.
+ (matherr): New function.
+ (float_error): Only if FLOAT_CATCH_SIGILL.
+
+ * fns.c (Fy_or_n_p): Use query-replace-map.
+
+ * keymap.c (access_keymap): Handle ints beyond the ASCII range.
+ (store_in_keymap): Likewise.
+ (Faccessible_keymaps): Use meta_modifier.
+ Use vectors for the key sequences.
+ (Fwhere_is_internal): Use meta_modifier.
+ (append_key): Always return a vector.
+
+ * lisp.h (Qrange_error, Qdomain_error, Qsingularity_error):
+ (Qoverflow_error, Qunderflow_error): New vars.
+
+ * data.c (syms_of_data) [LISP_FLOAT_TYPE]: Define new error conditions:
+ Qarith_error, Qrange_error, Qdomain_error,
+ Qsingularity_error, Qoverflow_error, Qunderflow_error.
+
+1993-03-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * systty.h: Define HAVE_TCATTR based on HAVE_TERMIOS earlier.
+ (struct emacs_tty): Separate the struct decl
+ from the EMACS_..._TTY... macro definitions.
+ Use HAVE_TCATTR to decide whether to use `struct termios'.
+
+ * xfns.c (Fx_pixel_width, Fx_pixel_height): Fns deleted.
+ (syms_of_xfns): Don't install them.
+ (x_user_set_name): Function deleted.
+ (x_char_height, x_char_width): New functions.
+
+ * frame.c (Fframe_char_height, Fframe_char_width):
+ (Fframe_pixel_height, Fframe_pixel_width):
+ New functions, two versions of each.
+ [MULTI_FRAME] (syms_of_frame): Make them Lisp functions.
+ [!MULTI_FRAME] (syms_of_frame): Likewise. Also Fselected_frame.
+
+ * xterm.c (XTread_socket):
+ Don't reverse the chars that XLookupString returns. Use all of them.
+ Save last 100 chars and keysyms in temp_buffer.
+
+1993-03-07 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * buffer.c (syms_of_buffer): Make erase-buffer a disabled command.
+
+1993-03-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (keyboard.o): Depend on intervals.h.
+ (keymap.o): Depend on termhooks.h.
+
+ * keyboard.c: Include intervals.h.
+ (read_key_sequence): Use get_local_map.
+
+ * textprop.c (Fget_text_property): Use textget.
+ (Fnext_single_property_change): Likewise.
+ (Fprevious_single_property_change): Likewise.
+
+ * intervals.c (textget): Handle categories.
+ (get_local_map): New function.
+ (verify_interval_modification): Call textget correctly.
+
+ * textprop.c (syms_of_textprop): Set up Qcategory, Qlocal_map.
+ * intervals.h: Declare those vars. Declare textget, get_local_map.
+
+ * keymap.c: Include termhooks.h.
+ (push_key_description): Handle all modifiers.
+ Handle large character codes.
+ (Fkey_description): Move the meta bit, if arg is string.
+ (Fsingle_key_description): Don't alter integer value.
+ Make tem long enough.
+
+ * keyboard.c (read_key_sequence):
+ Use meta_modifier for meta keys when handling function_key_map.
+
+ * lread.c (syms_of_lread): Set up Qascii_character.
+ (Fread_char, Fread_char_exclusive): Use that property
+ to convert symbols like tab, return, M-return,... to ASCII.
+
+ * keyboard.c (follow_key): Downcase shift_modifier as well as ASCII.
+ (command_loop_1): Run pre-command-hook and post-command-hook.
+ Set this_command before running pre-command-hook.
+ (syms_of_keyboard): Set up vars for those hooks.
+
+ * buffer.c (reset_buffer_local_variables): Reset mark_active.
+ (syms_of_buffer): New buffer-local var `mark-active'.
+ (init_buffer_once): Initialize mechanism for it.
+
+1993-03-06 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * dispnew.c (init_display): Initialize Vwindow_system.
+
+ * ymakefile (SHELL): No need to set this twice; remove one.
+
+ * emacs.c (main): SIGIOT isn't defined on all systems; don't set
+ its signal handler unless it is.
+
+ * sysdep.c (init_baud_rate): Use input_fd, instead of fd; the
+ latter is undefined.
+
+ * dired.c (NAMLEN): Never use d_nameln to get the length of the
+ directory entry's name; it is used inconsistently. Always call
+ strlen instead.
+
+1993-03-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Handle gaps in modifier_names.
+ (modifier_names): Reorder to match termhooks.h.
+
+ * keyboard.c (parse_modifiers_uncached): Detect `s-', not `super-'.
+ (apply_modifiers_uncached): Make `s-', not `super-'.
+
+ * lread.c: Include termhooks.h.
+ (read_escape): Handle \H, \A, \s. Use ..._modifier.
+ * ymakefile (lread.o): Depend on termhooks.h.
+
+ * termhooks.h (alt_modifier, super_modifier, hyper_modifier):
+ (shift_modifier, ctrl_modifier, meta_modifier):
+ Renumber the bits.
+ * keyboard.c (make_lispy_event): For ASCII event, the ..._modifier
+ bits are the right bits to return.
+
+ * keyboard.c (lispy_function_keys): Add codes starting at 0xff00
+ and running through 0xffff.
+
+ * xterm.c (x_alt_mod_mask, x_super_mod_mask, x_hyper_mod_mask):
+ New variables.
+ (x_find_modifier_meanings): Set them.
+ (x_convert_modifiers): Check for them.
+ (XTread_socket): Handle BackSpace, etc, function keys.
+
+ * keyboard.c (read_char): Move metabit when fetching from string macro.
+
+ * callint.c (check_mark): Error if mark is not active.
+
+ * editfns.c (save_excursion_save): Save mark_active of buffer.
+ (save_excursion_restore): Restore mark_active of buffer.
+ Run activate-mark-hook if it's on, or deactivate-mark-hook
+ if it turns off.
+ (region_limit): Error if mark inactive, if transient-mark-mode.
+
+ * insdel.c (prepare_to_modify_buffer): Set Vdeactivate_mark.
+
+ * keyboard.c (command_loop_1): Clear Vdeactivate_mark before cmd.
+ Clear mark_active if command set Vdeactivate_mark.
+ Run deactivate-mark-hook at that time, or activate-mark-hook.
+ (syms_of_keyboard): Define variable deactivate-mark.
+
+ * buffer.c (syms_of_buffer): New buffer-local var `mark-active'.
+ (init_buffer_once): Initialize mechanism for it.
+
+ * buffer.h (struct buffer): New field mark_active.
+
+ * intervals.c (verify_interval_modification): Handle insertions
+ specially. For non-insertions, check only the chars being changed.
+ `modification-hooks' property is now a list of functions.
+ (set_point): Ignore chars outside current restriction.
+
+ * textprop.c (Qmodification_hooks): Renamed from Qmodification.
+ (syms_of_textprop): Changed accordingly.
+
+ * keyboard.c (syms_of_keyboard): New lisp var unread-command-char.
+ (Finput_pending_p): Test unread_command_char.
+ (Fdiscard_input, quit_throw_to_read_char, init_keyboard): Set it.
+ (read_char): Fetch from it.
+
+1993-03-05 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * textprop.c (Fadd_text_properties): Initialize the modified flag.
+ Use a "for (;;)" loop at the end of the function, to indicate that
+ all exiting is taken care of inside the loop.
+ (Fremove_text_properties): Same.
+
+1993-03-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (LIB_MATH): Delete -lc, since duplicates LIB_STANDARD.
+
+ * buffer.c (check_protected_fields): Variable deleted.
+ (syms_of_buffer): Delete vars buffer-field-list
+ and check-protected-fields.
+ * insdel.c (check_protected_fields): Delete decl.
+
+ * disptab.h (DISP_INVIS_VECTOR): Renamed from DISP_INVIS_ROPE.
+ (DISP_CHAR_VECTOR): Renamed from DISP_CHAR_ROPE.
+ All callers changed.
+
+ * xdisp.c (copy_rope): Expect FROM to be a vector.
+ (copy_part_of_rope): New function.
+ (display_string): Expect display table elts to be vectors.
+ * indent.c (current_column, Fmove_to_column, compute_motion):
+ Expect display table elts to be vectors.
+
+ * alloc.c: (Fmake_rope, Frope_elt): Fns deleted.
+
+ * lisp.h (CHAR_META, CHAR_SHIFT, CHAR_CTL): New macros.
+
+ * lread.c (read_escape): Handle M-, C- and S- for new convention.
+ (read1): Move the meta bit to the right place for a string.
+
+ * keyboard.c (Fthis_command_keys, Fread_key_sequence):
+ Fix calls to make_event_array.
+
+ * macros.c (Fend_kbd_macro): Fix call to make_event_array.
+
+ * alloc.c (make_event_array): Renamed from make_array.
+ Chars that fit in a string are 0...127 and their meta variants.
+
+ * keyboard.c (make_lispy_event): Put meta and shift modifiers
+ into an integer.
+ (read_avail_input): Set the modifiers field in the events read.
+ (kbd_buffer_get_event): Pass thru integer event untruncated.
+ (read_char): Likewise.
+ (read_key_sequence, read_char): Only -1 means EOF.
+ (kbd_buffer_store_event): Don't ignore 0200 bit in quit char.
+ (follow_key): Use new meta bit flag.
+
+ * xterm.c (XTread_socket): Set bufp->modifiers for all kinds of keys.
+
+ * keymap.c (Flookup_key): Use 0x800000 as meta-bit if from vector.
+ (Fdefine_key): Likewise.
+
+1993-03-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dgux.h (ELF): Handle this parameter.
+ [! COFF] (UNEXEC, USG_SHARED_LIBRARIES): New definitions.
+ (_BSD_TTY_FLAVOR): Don't define if already defined.
+ (C_COMPILER, LINKER, MAKE_COMMAND): New definitions.
+
+1993-03-04 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (Fsuspend_emacs): Remember that `suspend-hooks' isn't
+ necessarily bound.
+
+1993-03-04 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * Makefile.in (xmakefile): Add missing quote.
+
+1992-03-03 Wilson H. Tien (wtien at urbana.mcd.mot.com)
+
+ * unexelf.c (unexec): Move data2 section header up so all section
+ headers will be in ascending order. This will prevent the unexeced
+ emacs that being processed by other applications (such as strip)
+ to fail.
+
+1993-03-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/isc2-2.h (S_IFLNK): Add #undef.
+ (C_SWITCH_SYSTEM): Add conditional definition.
+ (NO_ASM, USE_UTIME, NO_X_DESTROY_DATABASE): Defined.
+ (LIB_STANDARD): Alternate definition if __GNUC__.
+ (SIGTSTP): #undef deleted.
+ (LIBS_SYSTEM): Define only if HAVE_X_WINDOWS.
+ * s/isc3-0.h: New file.
+
+ * unexelf.c: Handle rounding of section boundaries.
+ (round_up): New function.
+
+1993-03-02 Karl Berry (karl@cs.umb.edu)
+
+ * s/isc2-2.h (USG_SHARED_LIBRARIES, CLASH_DETECTION, NO_FCHMOD):
+ Define.
+ (HAVE_TIMEVAL): Do not define.
+ (NO_ASM): Only define once.
+
+1993-03-02 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * print.c (float_to_string): Define buf to be an unsigned char, to
+ match the data field of strings.
+
+ * keyboard.c (kbd_buffer_get_event): Protect assignment to
+ Vlast_event_frame in a "#ifdef MULTI_FRAME" clause.
+
+ * syntax.c (describe_syntax_1): Delete excess arg to describe_vector.
+ (check_syntax_table): Delete excess arg to wrong_type_argument.
+
+1993-03-01 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * buffer.c (buffer-undo-list): Doc fix.
+
+ * xdisp.c (redisplay): Protect calls to request_sigio and
+ unrequest_sigio in "#ifdef SIGIO" clauses; these are not defined
+
+ * cmds.c (Fnewline): Doc fix.
+
+1993-03-01 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * insdel.c (del_range): Update point before offset_intervals.
+
+ * intervals.h: Don't include dispextern.h more than once.
+ (INTERVAL_VISIBLE_P): NILP test was backwards.
+
+ * intervals.c (intervals_equal): Handle one arg null and other not.
+ (set_point): Considerable rewrite. Handle intervals both
+ before and after the old and new point values.
+ Redo handling of invisible intervals, and of motion hooks.
+ (textget): New function.
+
+ * textprop.c (Fadd_text_properties, Fremove_text_properties):
+ Add len>0 as condition for main loop.
+ Abort if reach a null interval.
+ (Fset_text_properties): Abort if reach a null interval.
+ (Ftext_properties_at, Fget_text_property):
+ Return nil if POS is end of OBJECT.
+ (add_properties): Use NILP to test result of Fequal.
+ No longer inline.
+ (remove_properties): No longer inline.
+ (set_properties): Total rewrite as function.
+ (validate_interval_range): Don't alter *begin at end of buffer.
+ But do search for a position just before the end.
+ Return null for an empty string.
+
+1993-02-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile.in (emacs, temacs): Add @true to prevent Make confusion.
+
+ * lread.c (read1--strings with properties case):
+ Detect end of list, and invalid syntax, using recursive read1 calls.
+
+ * intervals.c (graft_intervals_into_buffer):
+ create_root_interval needs Lisp object arg.
+ Set tree to new root interval.
+ Don't test TREE_LENGTH if buffer has no intervals.
+ Rearrange code to copy properties so that it really
+ does merge the inserted ones into the inherited ones.
+ (traverse_intervals): Pass `arg' on recursive calls.
+ (split_interval_left): Use new_length as basis for length of new.
+
+ * print.c (print--string case):
+ Any non-null interval means print intervals.
+ Get rid of var obj1; just use obj.
+
+ * textprop.c (validate_interval_range): Allow 0 as position in string.
+ Add 1 to specified string positions.
+ (Fprevious_single_property_change): Subtract 1 if object is string.
+ (Fnext_single_property_change): Likewise.
+ (Fprevious_property_change, Fnext_property_change): Likewise.
+
+ * xterm.c (x_do_pending_expose, XTframe_rehighlight):
+ (x_window_to_scrollbar): Use XGCTYPE.
+
+1993-02-28 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Use the term `scroll bar', instead of `scrollbar'.
+ * alloc.c, frame.c, frame.h, indent.c, keyboard.c, keyboard.h,
+ lisp.h, term.c, termhooks.h, window.c, window.h, xdisp.c, xfns.c,
+ xterm.c, xterm.h: Terminology changed.
+
+ Don't generate switch-frame events by checking Vlast_event_frame;
+ use a separate variable for that bookkeeping. In order to
+ generate them properly, we may need to fiddle with it.
+ * keyboard.c (internal_last_event_frame): New variable.
+ (command_loop_1): Check internal_last_event_frame, not
+ Vlast_event_frame.
+ (read_char, kbd_buffer_store_event): Set both Vlast_event_frame and
+ internal_last_event_frame.
+ (kbd_buffer_get_event): Check internal_last_event_frame to decide
+ whether to generate a switch-frame event. Set Vlast_event_frame
+ after each event.
+ (init_keyboard): Initialize both Vlast_event_frame and
+ internal_last_event_frame.
+ * keyboard.h (internal_last_event_frame): Add extern declaration
+ for this.
+ * frame.c (Vlast_event_frame): Remove external declaration for
+ this.
+ (Fselect_frame): Set internal_last_event_frame to Qnil to force a
+ switch-frame event, not Vlast_event_frame; the latter is supposed
+ to convey information to the user.
+
+ * keyboard.c (syms_of_keyboard): Doc fix for unread_command_events.
+
+1993-02-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Doc fix.
+
+1993-02-26 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * ymakefile (LIBES): Exchange the order of LIB_MATH and
+ LIB_STANDARD, to avoid duplicated symbols under SunOS.
+
+ * buffer.c (syms_of_buffer): Add the extra argument to the
+ commented-out DEFVAR_PER_BUFFER for `mode-line-format', so
+ make-docfile will find the docstring properly.
+
+1993-02-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (intervals.o): Dep on intervals.c, not textprop.c.
+
+ * textprop.c (remove_properties): Call modify_buffer.
+ (add_properties): Likewise.
+
+ * undo.c (record_property_change): Typo in last change.
+
+ * cmds.c (syms_of_cmds): Typo in last change.
+
+ * print.c (print): Never declare OBJ arg as `register'.
+ Special handling for strings with intervals.
+ (print_intervals): New function.
+ * lread.c (read1): Handle reading strings with properties.
+
+ * intervals.c (traverse_intervals): New arg ARG.
+ * alloc.c (mark_interval): Add ignored arg.
+ (mark_interval_tree): Pass new arg to traverse_intervals.
+
+1993-02-24 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xterm.c (x_window_to_scrollbar, x_scrollbar_expose,
+ x_scrollbar_handle_click, x_scrollbar_note_movement): Remember
+ that these can be called during GC; we have to ignore mark bits.
+ * lisp.h (GC_NILP, GC_EQ): New macros to help with that.
+
+ * print.c (float_to_string): Define buf to be an unsigned char, to
+ match the data field of strings.
+
+ * lisp.h (RETURN_UNGCPRO): Remove "do ... while (0)" wrapper
+ around macro.
+
+ * data.c (Fstring_to_number): Declare p to be an unsigned char, to
+ match the data field of strings.
+
+ * data.c (Fstring_to_number): Just skip tabs and spaces; don't use
+ the <ctype.h> macros. The <ctype.h> stuff apparently varies from
+ locale to locale more than we'd like. Don't include <ctype.h>.
+
+1993-02-24 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * buffer.c (Ferase_buffer): Added interactive spec.
+
+1993-02-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * undo.c (Fprimitive_undo): Handle property-change undo entry.
+ (record_property_change): New function.
+
+ * textprop.c (Fadd_text_properties): Pass new arg to add_properties.
+ (Fremove_text_properties): Likewise.
+ (add_properties, remove_properties): New arg OBJECT. Record undo info.
+ (Fput_text_property): New function.
+
+ * buffer.c (syms_of_buffer): Doc fix.
+
+ * cmds.c (syms_of_cmds): New var `overwrite-binary-mode'.
+ (internal_self_insert): Handle that var.
+
+1993-02-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_avail_input): Args to `kill' were backwards.
+
+1993-02-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * alloc.c (make_pure_float): Assure that PUREBEG + pureptr is
+ aligned, not pureptr itself.
+
+ * emacs.c (fatal_error_signal): Unblock the signal before we try
+ to deliver it to ourselves. #include "syssignal.h" to get the
+ right definitions.
+
+ * abbrev.c (Fexpand_abbrev): Only copy the text we're going to
+ expand - from wordstart to wordend, not from wordstart to point -
+ into the buffer. There might be non-word text between wordend and
+ point.
+
+1993-02-23 Richard Stallman (rms@geech.gnu.ai.mit.edu)
+
+ * unexec.c (adjust_lnnoptrs): Handle symentry.n_type == 0x2400.
+ (make_hdr) [USG_SHARED_LIBRARIES]: Set bias using bss_start.
+
+1993-02-22 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * process.c: Make sure we don't miss processes exiting, by having
+ the sigchld handler clear *input_available_clear_time.
+ (wait_reading_process_input): Check for process activity after
+ setting the timeout and calling set_waiting_for_input.
+ (sigchld_handler): If the process which has exited is one we care
+ about, clear *input_available_clear_time.
+
+ * frame.c (Fselect_frame): Set Vlast_event_frame to Qnil after
+ switching frames, to make sure we'll get a switch-frame event.
+ (Vlast_event_frame): Add external declaration for this here.
+
+ * alloc.c (make_pure_float): Align pureptr according to __alignof,
+ if it's available, or sizeof (struct Lisp_Float) if it's not.
+
+ * .gdbinit (xprocess): New command.
+
+ * floatfns.c (Flogb): Always implement this by calling Flog, even
+ on non-USG systems, which supposedly have a logb function.
+ (Fround): Always implement this by calling floor, even on systems
+ that have rint.
+
+ * process.c (process_send_signal): Use TERMIOS functions in
+ preference to BSD ioctls. Some systems attempt to provide the BSD
+ functions for backward compatibility, and get it wrong.
+
+ * data.c (Fstring_to_number): Skip initial spaces, to make Emacs
+ lisp parse consistently on different operating systems.
+ #include <ctype.h> to help with this.
+
+ * data.c (Fstring_to_int): Rename this to Fstring_to_number, since
+ it parses floats as well as integers. Fix docstring.
+ (syms_of_data): Fix defsubr.
+ (wrong_type_argument): Change use.
+ (Fint_to_string): Doc fix.
+ * lisp.h (Fstring_to_int): Change extern declaration.
+
+1993-02-22 Charles Hannum (mycroft@hal.gnu.ai.mit.edu)
+
+ * ibmrs6000.h (C_ALLOCA, STACK_DIRECTION): Only define if HAVE_ALLOCA
+ is not defined.
+ (X_DEFAULT_FONT): Change to `fixed', as `Rom14.500' only works on the
+ console.
+
+ * aix3-1.h: Changes from 18.58.
+ (HAVE_TERMIOS): Changed from HAVE_TERMIO.
+ (unix): Define.
+
+ * sysdep.c (child_setup_tty): Recognize HAVE_TERMIOS as well as
+ HAVE_TERMIO.
+
+ * xrdb.c (getuid): Remove declaration.
+
+ * systty.h [HAVE_TERMIOS]: Include fcntl.h.
+
+ * systime.h [_AIX]: Move test outside of previous #if.
+ (EMACS_GET_TZ_OFFSET) [USG]: Don't declare twice. Prefer tzset.
+
+ * keyboard.c (init_keyboard): Recognize HAVE_TERMIOS as well as
+ HAVE_TERMIO.
+
+ * aix3-2.h: New file. Specifies difference between AIX 3.1 and 3.2.
+
+1993-02-20 Richard Stallman (rms@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (Fsuspend_emacs): Make tem not register.
+
+ * syntax.c (Fforward_comment): New function.
+
+ * search.c (Fskip_syntax_backward): New function.
+ (Fskip_syntax_forward): Likewise.
+ (skip_chars): New argument syntaxp.
+
+ * alloc.c (Fmemory_limit): Doc fix.
+
+1993-02-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fsuspend_emacs): Rename suspend-hook to suspend-hooks
+ and run it manually.
+
+ * keymap.c (describe_map): Call Fkey_description before build_string.
+
+1993-02-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fopen_dribble_file): Doc fix.
+
+ * lread.c (syms_of_lread): Doc fix.
+
+1993-02-18 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * textprop.c (Fget_text_property): Fix typo in function's declaration.
+
+ * floatfns.c (IN_FLOAT): Make this work properly when SIGTYPE is void.
+
+ * alloc.c: Add description lines to the top of each page.
+
+ * alloc.c (mark_interval_tree): Remove spurious & in front of
+ function name.
+
+ * alloc.c (UNMARK_BALANCE_INTERVALS): Fix to accomodate compilers
+ other than GCC, which do not allow casts on the LHS of an
+ assignment.
+
+ * config.h.in: #define USE_TEXT_PROPERTIES by default.
+
+ * alloc.c (mark_object, mark_buffer): Remove some unused
+ variables.
+
+ * buffer.c (Fswitch_to_buffer): Pass the correct number of
+ arguments to Fnext_window.
+
+ * buffer.c (Fbury_buffer): Pass the correct number of arguments to
+ Fother_buffer.
+
+ * bytecode.c (Fbyte_code): Pass the correct number of arguments to
+ temp_output_buffer_show.
+
+ * callint.c (Fcall_interactively): Pass the correct number of
+ arguments to wrong_type_argument.
+ * casefiddle.c (caseify_object): Same.
+ * casetab.c (check_case_table): Same.
+ * search.c (Fstore_match_data): Same.
+ * syntax.c (check_syntax_table): Same.
+
+ * callproc.c (delete_temp_file): Declare this to return
+ Lisp_Object, to smooth type-checking.
+
+ * data.c (wrong_type_argument): Pass the correct number of
+ arguments to Fstring_to_int.
+
+ * data.c (arithcompare): Add a default case which aborts, just to
+ make me happy.
+
+ * dispnew.c (sit_for): Pass the correct number of arguments to
+ gobble_input.
+
+ * editfns.c (Fmessage): Don't forget to return a value when
+ args[0] == Qnil.
+
+ * fns.c (Fequal): Call internal_equal to recurse on elements of
+ lists and vectors, not Fequal.
+
+ * frame.c (Fdelete_frame): If FRAME is a dead frame, return Qnil,
+ not nothing.
+
+ * keyboard.c (echo_char): Apply XINT to c before passing it to
+ push_key_description.
+
+ * keyboard.c (recursive_edit_1, command_loop_1): Pass the proper
+ number of arguments to unbind_to.
+ * lread.c (Feval_buffer): Same.
+ * window.c (Fscroll_other_window): Same.
+
+ * keyboard.c (command_loop_1): Apply XINT to c before passing it
+ to internal_self_insert and direct_output_for_insert.
+
+ * keyboard.c (make_lispy_movement): Rename the variable `part'
+ declared in the block handling scrollbar movement to `part_sym',
+ to avoid potential conflicts with the argument named `part'.
+ Apparently the semantics of expressions like this are unclear.
+
+ * keyboard.c (Fread_key_sequence): Backslash the newlines in this
+ docstring.
+ * textprop.c (Fget_text_property): Same.
+
+ * keymap.c (Fdescribe_vector): Pass the proper number of arguments
+ to describe_vector.
+ * syntax.c (describe_syntax_1): Same.
+
+ * minibuf.c (Fdisplay_completion_list): Pass the proper number of
+ arguments to Flength.
+ * xmenu.c (list_of_items): Same.
+
+ * window.c (Fset_window_configuration): Pass the proper number of
+ arguments to Fselect_frame.
+
+ * xfns.c (x_set_icon_type): Pass the proper number of arguments to
+ x_bitmap_icon.
+
+ * xterm.c (XTread_socket): Pass the proper number of arguments to
+ construct_mouse_click.
+
+ * config.h.in (HAVE_CONST): New macro. If it's not #defined, #define
+ const to be the empty string.
+
+ * config.h.in: If we're not __STDC__, define volatile to be the
+ empty string.
+
+ * buffer.h: Remove code which #includes "undo.h" if lint is
+ defined. undo.h no longer exists.
+
+ * buffer.c (buffer_slot_type_mismatch): Make symbol_name an
+ unsigned char *, to match the type of a string's data.
+
+1993-02-17 Michael I Bushnell (mib@geech.gnu.ai.mit.edu)
+
+ * process.c (Fstart_process): Jimb's change of December 11
+ had a misplaced paren. This only became apparent because of
+ jimb's change on February 8 to Fexpand_file_name.
+ * callproc.c (Fcall_process): Ditto.
+
+1993-02-17 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * callproc.c (init_callproc): Move the initialization of
+ Vprocess_environment to its own function.
+ (set_process_environment): This is that.
+ * emacs.c (main): Call set_process_environment earlier than
+ init_callproc.
+
+1993-02-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c (Frename_buffer): Make prefix arg set UNIQUE.
+
+1993-02-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xterm.c (x_set_window_size): Call change_frame_size instead of
+ just setting the `rows' and `cols' members of the frame, and
+ leaving the window tree in complete disarray.
+
+ * dispnew.c (remake_frame_glyphs): When re-allocating the frame's
+ message buffer when echo_area_glyphs is pointing at it, relocate
+ echo_area_glyphs too. Same for previous_echo_glyphs.
+ * window.h (previous_echo_glyphs): Add extern declaration for this.
+
+ * frame.c (Fframe_parameters): Report the `minibuffer' parameter of
+ minibufferless frames as nil, not `none'.
+ (Qnone): Remove declaration and initialization for this. It's not
+ needed anymore.
+ * xfns.c (Qnone): Add them here; we still accept "none" as a valid
+ value for the `minibuffer' parameter.
+
+ * xfns.c (x_frame_params): Remember that the parameters are called
+ "auto-raise" and "auto-lower", not "autoraise" and "autolower".
+
+ * xdisp.c (message): Set echo_frame to the frame whose message buf
+ we want to use, not to the message buf itself.
+
+1993-02-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * textprop.c (Fadd_text_properties): Put OBJECT arg last.
+ Make it optional.
+ (Fset_text_properties, Fremove_text_properties): Likewise.
+ (Fnext_single_property_change, Fprevious_single_property_change):
+ (Fnext_property_change, Fprevious_property_change): Likewise.
+ (Ferase_text_properties): #if 0.
+ (Fget_text_property): New function.
+
+ * s/irix4-0.h (C_SWITCH_MACHINE): Don't define if GCC.
+
+1993-02-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * s/usg5-4.h: #include "usg5-3.h", not "s-usg5-3.h".
+
+1993-02-11 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xterm.c (x_io_error_quitter): New function.
+ (x_error_quitter): Note that this is only used for protocol
+ errors now, not I/O errors.
+ (x_term_init): Set the I/O error handler to x_io_error_quitter.
+
+1993-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * editfns.c (Finsert_buffer_substring): Proper error for non-ex buffer.
+ (Fcompare_buffer_substrings): Likewise.
+
+1993-02-10 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * fileio.c (Fdo_auto_save): If NO_MESSAGE is non-nil, don't tell
+ users that buffers have shrunk a lot. This is called when Emacs
+ is crashing, so we don't want to run any code that isn't
+ absolutely necessary. Also, autosave buffers which don't have
+ specially handled autosave file names first.
+
+1993-02-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * editfns.c (Fcompare_buffer_substrings): Ignore case
+ if case-fold-search is non-nil.
+
+1993-02-08 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keymap.c (Flookup_key, Fkey_binding, Flocal_key_binding,
+ Fglobal_key_binding, Fminor_mode_key_binding): Add a new optional
+ argument ACCEPT_DEFAULT, to control whether this function sees
+ bindings for t.
+ (Fwhere_is_internal, describe_map_tree, describe_map_2,
+ describe_vector): Pass the proper arguments to Flookup_key.
+
+ * fileio.c (Fexpand_file_name): Pass DEFALT through
+ Fexpand_file_name before using it.
+
+ * fileio.c (Fexpand_file_name): Doc fix.
+
+1993-02-07 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xdisp.c (message): Use the message buffer of the frame we're
+ going to display the message on to format the message, not that of
+ the selected frame.
+
+1993-02-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * Makefile (emacs, temacs): Add no-op commands to these rules.
+
+ * dispnew.c (char_ins_del_cost): Use FRAME_WIDTH, not FRAME_HEIGHT.
+
+ * editfns.c (Fcompare_buffer_substrings): New function.
+
+1993-02-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (extra_keyboard_modifiers): New Lisp var.
+ (read_char): Support ctl and meta bits in extra_keyboard_modifiers.
+ * xterm.c (XTread_socket): Support extra_keyboard_modifiers.
+
+1993-01-29 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * window.c (Fscroll_left, Fscroll_right): Don't forget to apply
+ XWINDOW to selected_window before passing it to window_internal_width.
+
+ * xmenu.c (Fx_popup_menu): Don't forget to turn the frame-relative
+ coordinates for the menu position into root-window-relative
+ coordinates.
+
+ * lread.c (read1): Although digits followed by a '.' are an
+ integer, a single . by itself (like, say, \.) should be a symbol.
+
+1993-01-25 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * fns.c (internal_equal): Protect the clause for comparing numbers
+ of different types with a "#ifdef LISP_FLOAT_TYPE".
+
+1993-01-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/hpux8.h [__GNUC__] (LD_SWITCH_SYSTEM): Remove -a.
+ [__GNUC__] (ORDINARY_LINK): Defined.
+
+ * m/sparc.h [TERMINFO]: Don't define LIBS_TERMCAP.
+
+1993-01-25 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ `live-frame-p' has become `frame-live-p'.
+ * frame.c (Qlive_frame_p): Renamed to Qframe_live_p.
+ (Flive_frame_p): Renamed to Fframe_live_p.
+ (syms_of_frame): Defsubrs and initializations adjusted.
+ * frame.h (CHECK_LIVE_FRAME): Use Qframe_live_p, not Qlive_frame_p.
+ (Qlive_frame_p): Changed extern declaration to Qframe_live_p.
+
+ * lread.c (read1): Treat a string of digits ending in a period as
+ an integer.
+
+ Turn `first-change-function' into `first-change-hook'.
+ * buffer.c (Vfirst_change_function): Renamed to Vfirst_change_hook.
+ (Qfirst_change_hook): New symbol, for passing to Vrun_hooks.
+ (syms_of_buffer): Change DEFVAR; initialize Qfirst_change_hook.
+ * buffer.h (Vfirst_change_function): Renamed to Vfirst_change_hook.
+ (Qfirst_change_hook): Added declaration.
+ * insdel.c (signal_before_change): Change references to
+ Vfirst_change_function, and apply Vrun_hooks to
+ Qfirst_change_hook, instead of just calling Vfirst_change_function
+ directly.
+
+ x-selection-value has been renamed to x-selection.
+ x-own-selection has been renamed to x-set-selection, and the order
+ of its arguments has been reversed, for consistency with other
+ lisp functions like put and aset.
+ * xselect.c (Fx_own_selection): Rename to Fx_set_selection,
+ reverse the order of the args, and therefore make the type
+ non-optional. Doc fix.
+ (Fx_selection_value): Rename to Fx_selection; make the type
+ argument non-optional, for symmetry with Fx_set_selection. Doc
+ fix.
+ (syms_of_xselect): Adjusted.
+
+ * xselect.c (Fx_own_selection, Fx_selection_value): Remove "#if
+ 0"'ed code which made cut buffers look like a special selection
+ type.
+
+ * xfns.c (Vx_selection_value): Removed extern declaration for
+ this; it's never used.
+
+ * data.c (Fcompiled_function_p): Renamed to Fbyte_code_function_p.
+ (syms_of_data): Adjusted.
+
+ * data.c (Fnumberp, Fnumber_or_marker_p): Use the NUMBERP macro,
+ instead of writing it out.
+
+ * fns.c (internal_equal): If the operands are both numbers,
+ compare them numerically, so that (equal 1.0 1) => t.
+ Compare Lisp_Compiled objects like vectors.
+
+ Add lisp functions to raise and lower frames.
+ * termhooks.h (frame_raise_lower_hook): New hook.
+ * term.c (frame_raise_lower_hook): Define it.
+ * frame.c (Fframe_to_front, Fframe_to_back): New functions.
+ (syms_of_frame): defsubr them.
+ * xterm.c (XTframe_raise_lower): New function.
+ (x_term_init): Set frame_raise_lower_hook to XTframe_raise_lower.
+
+ * frame.c: Doc fixes.
+
+1993-01-24 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Make the cursor style a frame parameter.
+ * xterm.h (struct x_display): Rename the `text_cursor_kind' member
+ to `current_cursor'; add new member `desired_cursor'.
+ (FRAME_DESIRED_CURSOR): New accessor for new member.
+ * xterm.c (x_display_bar_cursor): Rewritten so as not to damage
+ the characters the cursor is displayed over, and to handle
+ transitions between box and bar styles.
+ (x_display_bar_cursor, x_display_box_cursor): Use current_cursor
+ instead of text_cursor_kind.
+ (Vbar_cursor): Delete external declaration.
+ (x_display_cursor): Use the FRAME_DESIRED_CURSOR accessor instead
+ of Vbar_cursor to decide how to draw the cursor.
+ * xfns.c (Vbar_cursor): Remove definition.
+ (Qbar, Qbox, Qcursor_type): New symbols.
+ (syms_of_xfns): Init and staticpro them; remove DEFVAR for
+ Vbar_cursor.
+ (x_set_cursor_type): New setter.
+ (x_frame_parms): Add it to the list.
+ (Fx_create_frame): Get default values for the cursor type.
+
+ * frame.c (Fmouse_position): Pass the appropriate arguments to
+ *mouse_position_hook; the protocol was changed, but this caller
+ wasn't fixed.
+
+ * xterm.c (XTclear_frame): Call x_scrollbar_clear.
+ (x_scrollbar_clear): New function.
+
+ * xterm.c (XTflash): Totally rewritten. Only defined if
+ HAVE_TIMEVAL and HAVE_SELECT are defined, since we use select for
+ our timing.
+ (timeval_subtract): New function, to help XTflash.
+ (x_invert_frame): Removed. This didn't work anyway.
+ (XTring_bell): Remove "#if 0" around call to XTflash, and remove
+ calls to x_invert_frame. If both HAVE_TIMEVAL and HAVE_SELECT
+ aren't defined, then just do the ordinary beep.
+
+ * window.c (Fscroll_other_window): Prefer windows on the selected
+ frame, then look for windows on other visible frames.
+
+ * keyboard.c (Fmouse_click_p): Removed; with the 'e' spec, this
+ isn't necessary anymore.
+ (syms_of_keyboard): Remove defsubr for it.
+ * keyboard.h (Fmouse_click_p): Remove extern declaration for it.
+
+ * xfns.c (gray_bits): Remove this declaration; the same data is in
+ <X11/bitmaps/gray>. #include that instead.
+ [not HAVE_X11] (x_set_border_pixel): Use gray_width and
+ gray_height, instead of assuming that the bitmap is 16x16.
+ (x_make_gc): Instead of creating a pixmap and then calling
+ XPutImage to make it into a grey stipple, just call
+ XCreatePixmapFromBitmapData to do it all at once.
+
+ * xterm.c (x_text_icon): Move the request for font information
+ into the "not HAVE_X11" part of the function; the X11 code doesn't
+ need this.
+
+ * xterm.c (x_wm_set_icon_pixmap): Instead of setting the
+ icon_pixmap to None, just remove IconPixmapHint from the flags of
+ the XWMHints structure.
+
+ * window.c (Fprevious_frame): Use prev_frame when we get to the
+ end of the current frame, not next_frame. Doc fix.
+ * frame.c (prev_frame): Remove "#if 0" from this function. It
+ turns out we do need it, to make prev_frame work right.
+
+ * frame.c (next_frame): Check that FRAME is a live frame.
+
+ * frame.c (Fselect_frame): Remove "#ifdef MULTI_FRAME" clause
+ around the code which calls Ffocus_frame; this code is already
+ inside an "#ifdef MULTI_FRAME" clause.
+ (next_frame, prev_frame, Fnext_frame): For the same reasons,
+ remove the "#ifdef MULTI_FRAME" clause around these functions.
+
+ unread-command-event has been replaced by unread-command-events.
+ * commands.h (unread_command_event): Change extern declaration.
+ * keyboard.c (unread_command_event): Change the definition.
+ (syms_of_keyboard): Change DEFVAR, and adjust the docstring.
+ (command_loop_1, read_char, Finput_pending, Fdiscard_input,
+ quit_throw_to_read_char, init_keyboard): Change to use
+ unread_command_events, with the new semantics.
+ * lread.c (read_char): Same.
+ * minibuf.c (temp_echo_area_glyphs): Same.
+ * xterm.c (unread_command_event): Remove external declaration for
+ this; it is only used by obsolete code.
+
+ * Makefile.in: Some makes can't handle comments in the middle of
+ commands; move them to before the whole rule.
+
+1993-01-21 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (make_lispy_event): When handling a mouse click event
+ on a window, change x and y from screen coordinates to window
+ coordinates even when the click isn't in the text area.
+
+ * xterm.c (x_scrollbar_create): Remove code which asks for
+ EastGravity for windows; Emacs can't correctly deal with them
+ moving around unexpectedly.
+
+ * xterm.c (XTread_socket): Minor reformatting.
+
+ * xterm.c (x_set_window_size): Always mark the frame garbaged.
+
+ * window.c (Vmouse_window): Variable removed; it can't be handled
+ properly without race conditions, and the events give you all the
+ information you need anyway.
+ (syms_of_window): Remove DEFVAR.
+ * callint.c (Fcall_interactively): Change the `@' spec to select
+ the window of the first parameterized event in the key sequence
+ which invoked the command, instead of using Vmouse_window, which
+ isn't even updated anymore. Adjust the documentation
+ accordingly.
+
+1993-01-20 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xterm.c (x_scrollbar_create): Set the scrollbars to use
+ EastGravity.
+
+ * keyboard.c (make_lispy_event): Deal with button releases with no
+ stored down-going position. Make sure we always store a Qnil in
+ the right button_down_location element after using it.
+
+1993-01-19 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * frame.c (Fdelete_frame): Clear the frame's display after calling
+ the window-system-dependent frame destruction routine. We
+ no longer need to pass the display as a separate argument to
+ x_destroy_window.
+ * xterm.c (x_destroy_window): Put the code which clears out f's
+ display here, right after we free the storage it points to. Put
+ everything, including the code which clears x_focus_frame and
+ x_highlight_frame, inside the BLOCK/UNBLOCK_INPUT pair.
+
+ * dispnew.c (Fredraw_display): Undo change of Jan 12; redraw only
+ frames whose garbaged flag is set. The change to
+ FRAME_SAMPLE_VISIBILITY on Jan 14 should address the problem better.
+
+ keyboard.c (read_char_menu_prompt): Test HAVE_X_WINDOWS, not
+ HAVE_X_WINDOW.
+
+ The CPP symbol indicating whether or not we have mouse menu
+ support under X Windows is HAVE_X_MENU, not not NO_X_MENU.
+ * emacs.c (main): Test HAVE_X_MENU, instead of NO_X_MENU.
+ * keyboard.c (read_char_menu_prompt): Same.
+ * ymakefile: Same.
+
+ * keyboard.c (read_char, read_char_menu_prompt): Use the
+ EVENT_HAS_PARAMETERS macro from keyboard.h, instead of writing it
+ out.
+
+ * keyboard.c (read_char_menu_prompt): Doc fix.
+
+ * keyboard.c (read_char_menu_prompt): Fix test for no menus;
+ comparing name to Qnil doesn't work if we are called with no maps.
+
+ * keymap.c (Fdefine_key): Call Fkey_description to make the string
+ to use in the error message.
+
+1993-01-18 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * window.c (Fdisplay_buffer): Doc fix.
+
+1993-01-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xterm.c (x_window_to_scrollbar): Search frames'
+ condemned_scrollbars list as well; input might arrive during
+ redisplay.
+ (x_scrollbar_report_motion): Don't forget to BLOCK_INPUT.
+ (XTjudge_scrollbars): Clear the condemned scrollbar list before
+ traversing it, so we don't try to process an event on a scrollbar
+ we've killed.
+
+1993-01-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Frecent_keys): Doc fix.
+
+1993-01-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fwindow_at): Doc fix.
+
+1993-01-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xterm.c (x_scrollbar_create): Include PointerMotionHintMask in
+ the event mask for scrollbars.
+
+ * dispnew.c (Fredraw_display): DEFUN was missing a closing paren.
+
+ * term.c (set_vertical_scrollbar_hook, condemn_scrollbars_hook,
+ redeem_scrollbar_hook, judge_scrollbars_hook): Removed dumbo
+ "externs" from these. They're supposed to be real definitions.
+
+ * .gdbinit: Add "-geometry +0+0" to default args.
+ (xscrollbar): New command.
+
+ Make scrollbar structures into lisp objects, so that they can be
+ GC'd; this allows windows and scrollbars can refer to each other
+ without worrying about dangling pointers.
+ * xterm.h (struct x_display): vertical_scrollbars and
+ judge_timestamp members deleted.
+ (struct scrollbar): Redesigned to be a template for a Lisp_Vector.
+ (SCROLLBAR_VEC_SIZE, XSCROLLBAR, SCROLLBAR_PACK, SCROLLBAR_UNPACK,
+ SCROLLBAR_X_WINDOW, SET_SCROLLBAR_X_WINDOW,
+ VERTICAL_SCROLLBAR_INSIDE_WIDTH, VERTICAL_SCROLLBAR_TOP_RANGE,
+ VERTICAL_SCROLLBAR_INSIDE_HEIGHT, VERTICAL_SCROLLBAR_MIN_HANDLE):
+ New macros, to help deal with the lispy structures, and deal with
+ the graphics.
+ * frame.h (WINDOW_VERTICAL_SCROLLBAR): Macro deleted.
+ (struct frame): New fields `scrollbars' and
+ `condemned_scrollbars', for use by the scrollbar implementation.
+ [MULTI_FRAME and not MULTI_FRAME] (FRAME_SCROLLBARS,
+ FRAME_CONDEMNED_SCROLLBARS): Accessors for the new field.
+ * window.h (struct window): Doc fix for vertical_scrollbar field.
+ * frame.c (make_frame): Initialize the `scrollbars' and
+ `condemned_scrollbars' fields of the new frame.
+ * alloc.c (mark_object): Mark the `scrollbars' and
+ `condemned_scrollbars' slots of frames.
+ * xterm.c (x_window_to_scrollbar): Scrollbars are chained on
+ frames' scrollbar field, not their x.display->vertical_scrollbars
+ field.
+ (x_scrollbar_create, x_scrollbar_set_handle, x_scrollbar_move,
+ x_scrollbar_remove, XTset_vertical_scrollbar,
+ XTcondemn_scrollbars, XTredeem_scrollbar, XTjudge_scrollbars,
+ x_scrollbar_expose, x_scrollbar_handle_click,
+ x_scrollbar_handle_motion): Substantially rewritten to correct
+ typos and brainos, and to accomodate the lispy structures.
+
+ * xterm.c (x_scrollbar_background_expose): Function deleted; we
+ don't want anything in the background there after all.
+ (XTread_socket): Don't call x_scrollbar_background_expose. We
+ don't care.
+
+ * frame.h (FRAME_SAMPLE_VISIBILITY): Make sure frame is marked as
+ garbaged whenever it goes from invisible to visible.
+ * dispextern.h (frame_garbaged): Move extern declaration from here...
+ * frame.h (frame_garbaged): ... to here. The FRAME_SAMPLE_VISIBILITY
+ macro uses it now, and this seems to be just as modular. Make a
+ new page, just for this and message_buf_print.
+ (struct frame): Doc fix for the `visible' field.
+ * process.c: #include "frame.h" instead of "dispextern.h"; the
+ only thing we care about from it is the frame_garbaged
+ declaration.
+ * ymakefile: Note dependency change.
+
+ * xfns.c (Fx_create_frame): After mapping the frame, call
+ SET_FRAME_GARBAGED, not just plain FRAME_GARBAGED.
+
+ * window.c (window_internal_width): New function, which accounts
+ for scrollbars if present.
+ * lisp.h (window_internal_height, window_internal_width): Add
+ extern declarations for these.
+ * dispnew.c (direct_output_for_insert, direct_output_forward_char,
+ buffer_posn_from_coords): Use window_internal_width instead of
+ writing out its definition.
+ * indent.c (compute_motion): Doc fix; mention scrollbars and
+ window_internal_width.
+ (pos_tab_offset, Fvertical_motion): Use window_internal_width
+ instead of writing it out.
+ * window.c (Fpos_visible_in_window_p, Fwindow_width, Fscroll_left,
+ Fscroll_right): Same.
+ * xdisp.c (redisplay, try_window, try_window_id,
+ display_text_line): Same.
+
+ * xdisp.c (display_string): Add new variable `f', to be W's
+ frame. Use it to set desired_glyphs, and to get the frame's width
+ to decide whether or not to draw vertical bars.
+
+ * xdisp.c (display_text_line): If we're using vertical scrollbars,
+ don't draw the vertical bars separating side-by-side windows.
+ (display_string): Same thing. Draw spaces to fill in the part of
+ the mode line that is under the scrollbar in partial-width
+ windows.
+
+ * xfns.c (Qvertical_scrollbars): New symbol. Use it as the name
+ of the parameter which decides whether or not the frame has
+ scrollbars, instead of Qvertical_scrollbar.
+ (Fx_create_frame): Adjusted accordingly.
+ (syms_of_xfns): Initialize and staticpro Qvertical_scrollbars.
+ (x_set_vertical_scrollbar): Renamed to x_set_vertical_scrollbars.
+ (x_frame_parms): Adjusted accordingly.
+
+ * xterm.h (CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT,
+ PIXEL_TO_CHAR_WIDTH, PIXEL_TO_CHAR_HEIGHT): Rewritten, using:
+ (CHAR_TO_PIXEL_ROW, CHAR_TO_PIXEL_COL, PIXEL_TO_CHAR_ROW,
+ PIXEL_TO_CHAR_COL): New macros.
+ * xfns.c [not HAVE_X11] (Fx_create_frame): Use the
+ PIXEL_TO_CHAR_{HEIGHT,WIDTH} macros to figure the frame's
+ character size, and the CHAR_TO_PIXEL* macros for vice versa.
+ * xterm.c (XTwrite_glyphs, XTclear_end_of_line, stufflines,
+ scraplines, dumprectangle, pixel_to_glyph_coords, x_draw_box,
+ clear_cursor, x_display_bar_cursor, x_draw_single_glyph,
+ x_set_mouse_position): Use the CHAR_TO_PIXEL_* macros.
+
+ * xterm.c (x_wm_set_size_hint): The max_width and max_height
+ members of the size_hints are expressed in pixels, not columns.
+
+ * xterm.c (x_set_window_size): Remove ibw var; it's not used.
+ Set FRAME_WIDTH (f) to cols instead of rows. Duh.
+
+ * xterm.c (pixel_to_glyph_coords): Properly set *bounds to the
+ character cell bounding the position, even when the position is
+ off the frame.
+
+ * xfns.c (x_set_name): To request that the modelines be redrawn,
+ execute the statement "update_mode_lines = 1;" instead of the
+ silly statement "update_mode_lines;".
+
+ * xfns.c (x_set_vertical_scrollbars): Don't try to set the
+ X window's size if the frame's X window hasn't been created yet.
+
+ * xfns.c (x_figure_window_size): Set the frame's
+ vertical_scrollbar_extra field before trying to calculate its
+ pixel dimensions.
+
+ * xfns.c (x_window): When calling x_implicitly_set_name for the
+ sake of drawing the name for the first time, remember to clear and
+ set the frame's explicit_name member as well as its name member.
+ (Fx_create_frame): Set the frame's explicit_name member if the
+ user specified the name explicitly.
+
+ * xdisp.c (display_text_line): Use the usable internal width of
+ the window, as calculated above, as the limit on the length of the
+ overlay arrow's image, rather than using the window's width field,
+ less one.
+
+ * xdisp.c (redisplay): Call condemn_scrollbars_hook and
+ judge_scrollbars_hook whenever they are set, not just when the
+ frame has vertical scrollbars.
+
+ * termhooks.h (mouse_position_hook): Doc fix.
+ (set_vertical_scrollbar_hook): This doesn't return anything any
+ more, and doesn't take a struct scrollbar * argument any more.
+ (condemn_scrollbars_hook, redeem_scrollbar_hook,
+ judge_scrollbars_hook): Doc fixes.
+ * term.c (mouse_position_hook): Doc fix.
+ (set_vertical_scrollbar_hook): This doesn't return
+ anything any more. Doc fixes.
+ * keyboard.c (kbd_buffer_get_event): Receive the scrollbar's
+ window from *mouse_position_hook and pass it to
+ make_lispy_movement, instead of working with a pointer to a struct
+ scrollbar.
+ (make_lispy_event): We don't need a window_from_scrollbar function
+ anymore; we are given the window directly in *EVENT.
+ Unify the code which generates
+ text-area mouse clicks and scrollbar clicks; use the same code to
+ distinguish clicks from drags on the scrollbar as in the text area.
+ Distinguish clicks from drags by storing a copy of the lispy
+ position list returned as part of the event.
+ (button_down_location): Make this a lisp vector, rather than an
+ array of random structures.
+ (struct mouse_position): Remove this; it's been replaced by a lisp
+ list.
+ (make_lispy_movement): Accept the scrollbar's window as a
+ parameter, rather than the scrollbar itself.
+ If FRAME is zero, assume that the other arguments are garbage.
+ (syms_of_keyboard): No need to staticpro each window of
+ button_down_location now; just initialize and staticpro it.
+ * window.c (window_from_scrollbar): Function deleted; no longer
+ needed.
+ * xdisp.c (redisplay_window): Just pass the window to
+ set_vertical_scrollbar hook; don't pass the scrollbar object too.
+ * xterm.c (XTmouse_position): Don't return a pointer to the
+ scrollbar for scrollbar motion; instead, return the scrollbar's
+ window.
+
+ * xterm.c (XTmouse_position): Entirely rewritten, using
+ XTranslateCoordinates. Call x_scrollbar_report_motion to handle
+ scrollbar movement events.
+ (x_scrollbar_report_motion): New function, to help out
+ XTmouse_position.
+
+ * keyboard.c (apply_modifiers): Don't assume that the Qevent_kind
+ property of BASE is set when we first create the new modified
+ symbol. Check that the Qevent_kind property is properly set each
+ time we return any symbol.
+
+ * termhooks.h (struct input_event): Replace the frame member with
+ a Lisp_Object member by the name of frame_or_window. Doc fixes.
+ Remove the scrollbar member; instead, use frame_or_window to hold the
+ window whose scrollbar was clicked.
+ * keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event,
+ make_lispy_event): Adjust references to frame member of struct
+ input_event to use frame_or_window now.
+ * xterm.c (construct_mouse_click, XTread_socket): Same.
+
+ * xterm.c (last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
+ last_mouse_scroll_range_start, last_mouse_scroll_range_end):
+ Replaced with...
+ (last_mouse_scrollbar): New variable.
+ (note_mouse_movement): Clear last_mouse_scrollbar when we have
+ receieved a new motion.
+ (syms_of_xterm): Staticpro last_mouse_scrollbar.
+
+ * xterm.c (note_mouse_position): Renamed to note_mouse_movement,
+ because that's what it really does.
+ (x_scrollbar_handle_motion): Renamed to x_scrollbar_note_movement,
+ for consistency.
+ (XTread_socket): Adjusted.
+
+ * xterm.c (XTset_scrollbar): Renamed to XTset_vertical_scrollbar.
+ (x_term_init): Adjusted.
+
+ * keyboard.c (kbd_buffer_frames): Renamed to
+ kbd_buffer_frame_or_window, and made to exist even when
+ MULTI_FRAME isn't defined; single-frame systems might have
+ scrollbars. Use it to GCPRO the frame_or_window field in the
+ event queue.
+ (kbd_buffer_store_event, kbd_buffer_get_event,
+ stuff_buffered_input): Set and clear the
+ appropriate element of kbd_buffer_frame_or_window, whether or not
+ MULTI_FRAME is #defined.
+ (read_avail_input): When reading characters directly from stdin,
+ set the frame_or_window field of the event appropriately,
+ depending on whether or not MULTI_FRAME is #defined.
+ (Fdiscard_input, init_keyboard): Zap kbd_buffer_frame_or_window,
+ not kbd_buffer_frames.
+ (syms_of_keyboard): Initialize and staticpro
+ kbd_buffer_frame_or_window, whether or not MULTI_FRAME is
+ #defined.
+
+ * keyboard.c (head_table): Make Qscrollbar_movement have a
+ Qevent_kind property of Qmouse_movement, not Qscrollbar_movement.
+
+ * keyboard.c (read_key_sequence): If we decide to throw away a
+ mouse event which has prefix symbols (`mode-line',
+ `vertical-scrollbar', etcetera), remember that we may have to
+ unwind two characters, not just one.
+
+ * keyboard.c (read_key_sequence): Doc fixes.
+
+ * keyboard.c (kbd_buffer_store_event): Fix reversed sense of test
+ for focus redirection.
+
+ * keyboard.c (read_char): Don't echo mouse movements.
+
+ * emacs.c (shut_down_emacs): New function.
+ (fatal_error_signal, Fkill_emacs): Call it, instead of writing it out.
+ * xterm.c (x_connection_closed): Call shut_down_emacs instead of
+ Fkill_emacs; the latter will try to perform operations on the X
+ server and die a horrible death.
+ * lisp.h (shut_down_emacs): Add extern declaration for it.
+
+ * xterm.c (x_error_quitter): Move the abort call to after we print
+ the error message. No harm in that.
+
+ * xdisp.c (echo_area_display): Move the assignment of f and the
+ check for visibility out of the "#ifdef MULTI_FRAME" clause; they
+ should work under any circumstances.
+
+ * xdisp.c (redisplay_window): If we're not going to redisplay this
+ window because it's a minibuffer whose contents have already been
+ updated, go ahead and jump to the scrollbar refreshing code
+ anyway; they still need to be updated. Initialize opoint, so it's
+ known to be valid when we jump. Calculate the scrollbar settings
+ properly for minibuffers, no matter what they are displaying at
+ the time.
+
+ * xdisp.c (redisplay_windows): Don't restore the current buffer
+ and its point before refreshing the scrollbars; we need the buffer
+ accurate.
+
+1993-01-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * print.c (float_to_string): Add final 0 if text ends with decimal pt.
+
+ * dispnew.c (Fredraw_display): Redraw all visible frames.
+ Make the non-multi-frame version interactive.
+
+1993-01-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fset_default_file_modes, Fdefault_file_modes):
+ Renamed from Fset_umask and Fumask; sense of arg is reversed.
+ (Fwrite_region): Doc fix.
+
+1993-01-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * print.c (float_to_string): Add `.0' at end if needed.
+
+ * lread.c (Fload): If warn that .elc file is older, inhibit
+ the ordinary message that would follow.
+
+1993-01-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * fileio.c (Fdo_auto_save): Add CURRENT_ONLY argument, as
+ described in doc string.
+
+1993-01-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fns.c (Frandom): Change arg name.
+
+ * editfns.c: Doc fixes.
+
+1993-01-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * unexhp9k800.c (unexec): Don't call exit, just return.
+
+1993-01-07 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * config.h.in: protect against multiple #inclusions.
+
+ * config.h.in: Add a declaration for getenv.
+
+ * xfns.c (Fx_get_resource): Add CLASS argument, to give class of
+ ATTRIBUTE.
+ [not HAVE_X11]: Change definition of Fx_get_resource macro
+ accordingly.
+ (x_get_arg): Add CLASS argument, to give the class of ATTRIBUTE.
+ Pass it along to Fx_get_resource.
+ (x_figure_window_size, x_icon): Pass new argument to x_get_arg.
+ (x_default_parameter): Add XCLASS argument, to give the class of
+ XPROP. Pass it along to x_get_arg.
+ (Fx_create_frame): Pass new args to x_get_arg and
+ x_default_parameter.
+
+ * xfns.c (Fx_create_frame): Use the same resource names and
+ classes as xterm and Emacs 18.
+
+1993-01-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_get_resource): Use EMACS_CLASS to make class_key
+ even if SUBCLASS is specified. I don't know whether that is
+ right, but that's what the doc says.
+ Cosmetic changes in arg names and doc string.
+
+1992-12-29 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * ralloc.c: [! emacs] [HAVE_CONFIG_H]: #include "config.h"
+
+1992-12-21 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * Makefile.in (tagsfiles): New variable.
+ (TAGS): Depend on $(tagsfiles); use that in cmds.
+ (tags): Separate phony rule; depends on TAGS.
+
+1992-12-21 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c: Protect all references to kbd_buffer_frames with
+ #ifdef MULTI_FRAME.
+
+ * frame.h (struct frame): New fields `can_have_scrollbars' and
+ `has_vertical_scrollbars'.
+ (FRAME_CAN_HAVE_SCROLLBARS, FRAME_HAS_VERTICAL_SCROLLBARS): New
+ accessors, for both the MULTI_FRAME and non-MULTI_FRAME.
+ (VERTICAL_SCROLLBAR_WIDTH, WINDOW_VERTICAL_SCROLLBAR,
+ WINDOW_VERTICAL_SCROLLBAR_COLUMN,
+ WINDOW_VERTICAL_SCROLLBAR_HEIGHT): New macros.
+ * window.h (struct window): New field `vertical_scrollbar'.
+ * xterm.h (struct x_display): vertical_scrollbars,
+ judge_timestamp, vertical_scrollbar_extra: New fields.
+ (struct scrollbar): New struct.
+ (VERTICAL_SCROLLBAR_PIXEL_WIDTH, VERTICAL_SCROLLBAR_PIXEL_HEIGHT,
+ VERTICAL_SCROLLBAR_LEFT_BORDER, VERTICAL_SCROLLBAR_RIGHT_BORDER,
+ VERTICAL_SCROLLBAR_TOP_BORDER, VERTICAL_SCROLLBAR_BOTTOM_BORDER,
+ CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_WIDTH,
+ PIXEL_TO_CHAR_HEIGHT): New accessors and macros.
+ * frame.c (make_frame): Initialize the `can_have_scrollbars' and
+ `has_vertical_scrollbars' fields of the frame.
+ * term.c (term_init): Note that TERMCAP terminals don't support
+ scrollbars.
+ (mouse_position_hook): Document new args.
+ (set_vertical_scrollbar_hook, condemn_scrollbars_hook,
+ redeem_scrollbar_hook, judge_scrollbars_hook): New hooks.
+ * termhooks.h: Declare and document them.
+ (enum scrollbar_part): New type.
+ (struct input_event): Describe the new form of the scrollbar_click
+ event type. Change `part' from a Lisp_Object to an enum
+ scrollbar_part. Add a new field `scrollbar'.
+ * keyboard.c (kbd_buffer_get_event): Pass appropriate new
+ parameters to *mouse_position_hook, and make_lispy_movement.
+ * xfns.c (x_set_vertical_scrollbar): New function.
+ (x_figure_window_size): Use new macros to calculate frame size.
+ (Fx_create_frame): Note that X Windows frames do support scroll
+ bars. Default to "yes".
+ * xterm.c: #include <X11/cursorfont.h> and "window.h".
+ (x_vertical_scrollbar_cursor): New variable.
+ (x_term_init): Initialize it.
+ (last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
+ last_mouse_scroll_range_start, last_mouse_scroll_range_end): New
+ variables.
+ (XTmouse_position): Use them to return scrollbar movement events.
+ Take new arguments, for that purpose.
+ (x_window_to_scrollbar, x_scrollbar_create,
+ x_scrollbar_set_handle, x_scrollbar_remove, x_scrollbar_move,
+ XTset_scrollbar, XTcondemn_scrollbars, XTredeem_scrollbar,
+ XTjudge_scrollbars, x_scrollbar_expose,
+ x_scrollbar_background_expose, x_scrollbar_handle_click,
+ x_scrollbar_handle_motion): New functions to implement scrollbars.
+ (x_term_init): Set the termhooks.h hooks to point to them.
+ (x_set_window_size): Use new macros to calculate frame size. Set
+ vertical_scrollbar_extra field.
+ (x_make_frame_visible): Use the frame accessor
+ FRAME_HAS_VERTICAL_SCROLLBARS to decide if we need to map the
+ frame's subwindows as well.
+ (XTread_socket): Use new size-calculation macros from xterm.h when
+ processing ConfigureNotify events.
+ (x_wm_set_size_hint): Use PIXEL_TO_CHAR_WIDTH and
+ PIXEL_TO_CHAR_HEIGHT macros.
+ * ymakefile (xdisp.o): This now depends on termhooks.h.
+ (xterm.o): This now depends on window.h.
+
+ * xdisp.c: #include "termhooks.h".
+ (redisplay, redisplay_window): Use set_vertical_scrollbar_hook,
+ condemn_scrollbars_hook, redeem_scrollbar_hook, and
+ judge_scrollbars_hook to make scrollbars redisplay properly.
+
+ * keyboard.c (Qscrollbar_movement, Qvertical_scrollbar,
+ Qabove_handle, Qhandle, Qbelow_handle): New symbols.
+ (make_lispy_event): New code to build scrollbar clicks.
+ (make_lispy_movement): New code to handle scrollbar movement.
+ (head_table): Include Qscrollbar_movement in the event heads.
+ (syms_of_keyboard): Init and staticpro Qvertical_scrollbar,
+ Qabove_handle, Qhandle, and Qbelow_handle.
+ * keyboard.h (Qscrollbar_movement): Declare this along with the
+ other event types.
+ * lisp.h (Qvertical_scrollbar): Declare this.
+ * window.c (window_from_scrollbar): New function.
+
+ * xterm.h (struct x_display): Delete v_scrollbar, v_thumbup,
+ v_thumbdown, v_slider, h_scrollbar, h_thumbup,
+ h_thumbdown, h_slider, v_scrollbar_width, h_scrollbar_height
+ fields.
+ * keyboard.c (Qvscrollbar_part, Qvslider_part, Qvthumbup_part,
+ Qvthumbdown_part, Qhscrollbar_part, Qhslider_part, Qhthumbup_part,
+ Qhthumbdown_part, Qscrollbar_click): Deleted; part of an obsolete
+ interface.
+ (head_table): Removed from here as well.
+ (syms_of_keyboard): And here.
+ * keyboard.h: And here.
+ (POSN_SCROLLBAR_BUTTON): Removed.
+ * xscrollbar.h: File removed - no longer necessary.
+ * xfns.c: Don't #include it any more.
+ (Qhorizontal_scroll_bar, Qvertical_scroll_bar): Deleted.
+ (syms_of_xfns): Don't initialize or staticpro them.
+ (gray_bits): Salvaged from xscrollbar.h.
+ (x_window_to_scrollbar): Deleted.
+ (x_set_horizontal_scrollbar): Deleted.
+ (enum x_frame_parm, x_frame_parms): Remove references to
+ x_set_horizontal_scrollbar.
+ (x_set_foreground_color, x_set_background_color,
+ x_set_border_pixel): Remove special code to support scrollbars.
+ (Fx_create_frame): Remove old scrollbar setup code.
+ (install_vertical_scrollbar, install_horizontal_scrollbar,
+ adjust_scrollbars, x_resize_scrollbars): Deleted.
+ * xterm.c (construct_mouse_click): This doesn't need to take care of
+ scrollbar clicks anymore.
+ (XTread_socket): Remove old code to support scrollbars. Call new
+ functions instead for events which occur in scrollbar windows.
+ (XTupdate_end): Remove call to adjust_scrollbars; the main
+ redisplay code takes care of that now.
+ (enum window_type): Deleted.
+ * ymakefile: Note that xfns.o no longer depends on xscrollbar.h.
+
+ * xterm.c (x_set_mouse_position): Clip mouse position to be within
+ frame.
+
+ * xterm.c: Adjust the first line of each page to have a reasonable
+ description. This makes pages-directory more useful.
+
+ * xterm.c (x_do_pending_expose): Declare this routine only if
+ HAVE_X11 is not #defined; X11 doesn't need it.
+ (XTread_socket): Protect call to x_do_pending_expose with `#ifdef
+ HAVE_X11'.
+
+ * xfns.c (syms_of_xfns): Delete defvars for x_mouse_x and
+ x_mouse_y. That interface hasn't been live for years.
+ (x_mouse_x, x_mouse_y): Delete these variables.
+
+ * xterm.c (notice_mouse_movement): Deleted; obsolete and unused.
+
+ * keyboard.c (Fread_key_sequence): Doc fix.
+
+ * keyboard.c (make_lispy_event): Buttons are numbered starting
+ with zero now.
+
+ * keyboard.c (make_lispy_event): Use the proper accessors when
+ manipulating the `x' and `y' fields of struct input_event.
+
+ * keyboard.c (parse_modifiers_uncached): Remember that strncmp
+ returns zero if the two substrings are equal.
+
+ * keyboard.c (do_mouse_tracking, Ftrack_mouse): Doc fix.
+
+ * keyboard.c (read_char): Don't put mouse movements in
+ this_command_keys.
+
+ * xfns.c (Fx_create_frame): Don't initialize the wm_hints field here.
+ (x_window): Do it here, along with all the similar stuff.
+
+1992-12-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * callint.c (Fcall_interactively): For `s', use Fread_string.
+
+1992-12-20 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Properly handle focus shift events, so the cursor is filled and
+ hollow at the appropriate times, even in titleless windows.
+ * xterm.c (x_focus_event_frame): New variable.
+ (XTread_socket): When we receive a FocusIn event that's not
+ NotifyPointer, record the frame in x_focus_event_frame. When we
+ receive a FocusOut event that's not NotifyPointer, clear it. When
+ we get a LeaveNotify event, don't take it seriously if we still
+ have focus.
+
+ * xterm.c (XTread_socket): Remove special code in EnterNotify case
+ to handle scrollbars and fake mouse motion events.
+
+1992-12-19 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * floatfns.c (Flog): Fix unescaped newline in string.
+ * frame.c (Fnext_frame): Same.
+ * textprop.c (Fprevious_single_property_change): Same.
+ (syms_of_textprop): Same, for DEFVAR for
+ `interval_balance_threshold'.
+
+ Change the meaning of focus redirection to make switching windows
+ work properly. Fredirect_frame_focus has the details.
+ * frame.h (focus_frame): Doc fix.
+ [not MULTI_FRAME] (FRAME_FOCUS_FRAME): Make this Qnil, which
+ indicates no focus redirection, instead of zero, which is
+ selected_frame.
+ * frame.c (make_frame): Initialize f->focus_frame to Qnil, rather
+ than making it point to frame itself.
+ (Fselect_frame): If changing the selected frame from FOO to BAR,
+ make all redirections to FOO shift to BAR as well. Doc fix.
+ (Fredirect_frame_focus): Doc fix. Accept nil as a valid
+ redirection, not just as a default for FRAME.
+ (Fframe_focus): Doc fix.
+ * keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event): Deal
+ with focus redirections being nil.
+ * xterm.c (XTframe_rehighlight): Doc fix. Deal with focus
+ redirections being nil.
+
+ * window.c (Fset_window_configuration): Don't restore the frame's
+ focus redirection if the target frame is now dead.
+
+ * ymakefile (ralloc.o): This no longer depends on xterm.h.
+
+ * ymakefile (all, xemacs): We build an executable called `emacs' now,
+ not `xemacs'.
+ * Makefile.in (distclean, xemacs, doxemacs): Same.
+
+ * xterm.h (PIXEL_WIDTH, PIXEL_HEIGHT): Change name of parameter
+ from `s' to `f'; it's a frame pointer.
+
+1992-12-18 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (kbd_buffer_frames): New vector, to GCPRO frames in
+ kbd_buffer.
+ (kbd_buffer_store_event): When we add an event to kbd_buffer, make
+ sure to store its frame in kbd_buffer_frames.
+ (kbd_buffer_get_event): When we remove an event from kbd_buffer,
+ make sure to set the corresponding element of kbd_buffer_frames to
+ Qnil, to allow the frame to get GC'd.
+ (Fdiscard_input, init_keyboard): Clear all elements of
+ kbd_buffer_frames to nil.
+ (syms_of_keyboard): Create and staticpro kbd_buffer_frames.
+
+ * xterm.c (x_error_quitter): Just abort, so we can look at the
+ core to see what happened.
+
+1992-12-17 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * buffer.c (Frename_buffer): Set update_mode_lines.
+
+1992-12-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * scroll.c (do_scrolling): When bcopying the max_ascent field from
+ current_frame to temp_frame, remember that max_ascent is an array
+ of shorts, not ints.
+
+ It's a pain to remember that you can't assign to FRAME->visible.
+ Let's change all references to the `visible' member of struct
+ frame to use the accessor macros, and then write a setter for the
+ `visible' field that does the right thing.
+ * frame.h (FRAME_VISIBLE_P): Make this not an l-value.
+ (FRAME_SET_VISIBLE): New macro.
+ * frame.c (make_terminal_frame, Fdelete_frame): Use FRAME_SET_VISIBLE.
+ (Fframe_visible_p, Fvisible_frame_list): Use FRAME_VISIBLE_P and
+ FRAME_ICONIFIED_P.
+ * dispnew.c (Fredraw_display): Use the FRAME_VISIBLE_P and
+ FRAME_GARBAGED_P accessors.
+ * xdisp.c (redisplay): Use the FRAME_VISIBLE_P accessor.
+ * xfns.c (x_set_foreground_color, x_set_background_color,
+ x_set_cursor_color, x_set_border_pixel, x_set_icon_type): Use the
+ FRAME_VISIBLE_P accessor.
+ (Fx_create_frame): Use FRAME_SET_VISIBILITY.
+ * xterm.c (clear_cursor, x_display_bar_cursor,
+ x_display_box_cursor): Use FRAME_SET_VISIBILITY.
+
+1992-12-12 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * ymakefile (CFLAGS): #define HAVE_CONFIG_H too.
+
+ * Makefile.in (distclean): Don't delete machine.h or system.h;
+ they don't exist anymore.
+
+ * Makefile.in (distclean): Don't delete autosave or backup files.
+ (extraclean): New target; like distclean, but delete autosave
+ and backup files too.
+
+1992-12-11 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * search.c (Fskip_chars_forward, Fskip_chars_backward): Return the
+ distance traveled.
+ (skip_chars): Return the distance traveled, as a Lisp_Object.
+
+ * macros.c (Fend_kbd_macro): Don't use XFASTINT to check if arg is
+ negative; XFASTINT only works on values known to be positive.
+ (Fexecute_kbd_macro): Check QUIT in the repetition loop. If the
+ macro is null, no characters are actually being read, so this
+ matters.
+
+ * Makefile.in (srcdir): New variable, not fully implemented.
+ (xmakefile): Turn -g and -O in CFLAGS into C_DEBUG_SWITCH and
+ C_OPTIMIZE_SWITCH in C_SWITCH_SITE's definition. Delete junk.cpp
+ when done.
+ * ymakefile (archlib): Variable definition deleted. Run programs
+ from ../lib-src directly, or use ${archlibdir}.
+ (${etc}DOC): Run make-docfile from ${libsrc}, not ${archlib}.
+ (${archlib}make-docfile, ${archlib}emacstool): Use ${libsrc}, not
+ ${archlib}.
+
+ * ymakefile (lisp): Don't include version.el in this list.
+
+ Give subprocess creation a way to find a valid current directory
+ for subprocesses when the buffer's default-directory is a handled
+ name.
+ * fileio.c (Funhandled_file_name_directory): New function.
+ (Qunhandled_file_name_directory): New file-name-handler operation.
+ (syms_of_fileio): Defsubr Sunhandled_file_name_directory, and
+ initialize and staticpro Qunhandled_file_name_directory.
+ * callproc.c (Fcall_process): Call Funhandled_file_name_directory
+ on the buffer's default directory. Do it earlier in the function
+ so there's less to GCPRO.
+ * process.c (create_process): Don't check the validity of the
+ buffer's default directory here...
+ (Fstart_process): Instead, do it here; if we call
+ Funhandled_file_name_directory here, there's less GCPROing to do.
+
+ * callproc.c (Fcall_process_region): Return the value returned by
+ Fcall_process.
+
+ * fileio.c (find_file_handler): Rename this to
+ Ffind_file_name_handler, and make it visible to lisp. Add a QUIT
+ to the loop which scans file-name-handler-alist. All uses
+ changed.
+ (syms_of_fileio): Mention this new function in the docstring for
+ Vfile_name_handler_alist. defsubr Sfind_file_name_handler.
+ * lisp.h (Ffind_file_name_handler): Added extern declaration.
+ * dired.c: All uses of find_file_handler changed here too.
+
+ * fileio.c (syms_of_fileio): Add staticpros for Qexpand_file_name,
+ Qdirectory_file_name, Qfile_name_directory,
+ Qfile_name_nondirectory, Qfile_name_as_directory.
+
+1992-12-07 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * window.c (Fset_window_configuration): If we're restoring the
+ configuration of a dead frame, don't bother rebuilding its window
+ tree, restoring its focus redirection, or temporarily resizing it
+ to fit the saved window configuration. If the frame which was
+ selected when the configuration was captured is now dead, don't
+ try to select it.
+
+ * frame.c (Fdelete_frame): Delete all the windows in the frame's
+ window tree, using delete_all_subwindows.
+ * window.c (delete_all_subwindows): Don't make this static
+ anymore.
+
+1992-12-03 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Make sure that frames' visible flag only changes at acceptable
+ times. See FRAME_SAMPLE_VISIBILITY's comments for details.
+ * frame.h (struct frame): New fields called async_visible and
+ async_iconified.
+ (FRAME_SAMPLE_VISIBILITY): New macro, with MULTI_FRAME and
+ non-MULTI_FRAME definitions.
+ * xdisp.c (redisplay): Call FRAME_SAMPLE_VISIBILITY to set the
+ visible and iconified flags appropriately for each frame.
+ (message1): Call FRAME_SAMPLE_VISIBILITY to set the visible and
+ iconified flags for the minibuffer frame.
+ * frame.c (make_frame): Initialize async_visible and
+ async_iconified properly.
+ * xfns.c (Fx_create_frame): Initialize f->async_visible too.
+ * xterm.c (XTread_socket): When we get MapNotify, UnmapNotify,
+ Expose, ExposeWindow, or UnmapWindow, set f->async_visible, not
+ f->visible.
+ (x_do_pending_expose, x_raise_frame, x_lower_frame,
+ x_make_frame_invisible, x_make_frame_visible, x_iconify_frame):
+ Test and set f->async_visible and f->async_iconified, not
+ f->visible or f->async_iconified.
+
+ * keyboard.c (kbd_store_ptr): Declare this to be volatile, if
+ __STDC__ is #defined.
+ (Fdiscard_input): Use cast to keep GCC from complaining about the
+ assignment of kbd_store_ptr to kbd_fetch_ptr.
+
+ * xdisp.c (redisplay): Use FOR_EACH_FRAME to apply
+ redisplay_windows to the root window of each frame. This makes a
+ #ifdef MULTI_FRAME unneeded, but it also means we recompute
+ buffer_shared from scratch even on non-MULTI_FRAME configurations.
+ Don't skip elements of Vframe_list that aren't frames; go ahead
+ and crash here.
+
+ * xdisp.c (redisplay): Remove #ifdef MULTI_FRAME around the code
+ which updates separate minibuffer frames specially; there's
+ nothing there that won't work on a single-frame configuration.
+
+ * dispextern.h (struct frame_glyphs): Doc fix.
+
+1992-12-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * dispnew.c: Remove dyked-out copy of safe_bcopy.
+
+ * environ.c: File removed; Changes on 1/13/1992 made it
+ unnecessary.
+
+1992-12-01 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * process.c (wait_reading_process_input): Doc fix.
+
+1992-11-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * next.h: Copy changes from 18.59:
+ (NeXT): Defined.
+ (BIG_ENDIAN): Define only if __BIG_ENDIAN__.
+ (m68000, COMPILER_REGISTER_BUG): Defs deleted.
+ (SIGN_EXTEND_CHAR, LIB_X11_LIB, NO_T_CHARS_DEFINES, UNEXEC): Defined.
+ (LIBS_DEBUG, LIB_GCC, C_SWITCH_MACHINE, ORDINARY_LINK): Defined.
+ (TEXT_START, TEXT_END, DATA_END, LD_SWITCH_MACHINE): Defined.
+ (KERNEL_FILE): #undef it.
+ (environ): Define as _environ.
+
+1992-11-25 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * doc.c (store_function_docstring): New function, made from part
+ of Fsnarf_documentation, which handles docstrings for macros
+ properly.
+ (Fsnarf_documentation): Call store_function_docstring.
+
+ * data.c (indirect_function): Delete unused argument ERROR.
+
+1992-11-23 Jim Blandy (jimb@apple-gunkies.gnu.ai.mit.edu)
+
+ * Makefile.in (clean): Remove prefix-args.
+
+1992-11-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sol2.h (LD_SWITCH_SYSTEM): Make alternate version for GCC.
+
+1992-11-19 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * m/sparc.h: Don't include <sys/param.h> here; that screws up the
+ xmakefile. Instead, include it in getloadavg.c, which is the only
+ place that uses LOAD_AVE_CVT, which is the only reason
+ <sys/param.h> was here in the first place.
+
+1992-11-15 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * dispnew.c [not MULTI_FRAME] (Fredraw_display): Pass the correct
+ number of arguments to mark_window_display_accurate.
+
+ * undo.c (Fprimitive_undo): Remove whitespace in front of #ifdef
+ and #endif.
+
+ * systty.h: Doc fix.
+
+ * systty.h, process.c, buffer.h, callproc.c, sysdep.c, dired.c:
+ Added VMS changes from Roland Roberts.
+ * vmspaths.h: New version from Roland Roberts.
+
+ * xdisp.c (display_string): Use w's buffer's value of
+ tab-width to display the string, instead of the current buffer's,
+ which could be anything.
+
+ * s/sol2.h (LD_SWITCH_SYSTEM): Add -R option.
+
+ * process.c (read_process_output): Save, widen, insert the process
+ output, and then restore the restriction if inserting text outside
+ the visible region.
+
+1992-11-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * buffer.c (Ferase_buffer): Doc fix.
+
+ * dispnew.c (safe_bcopy): Use the right terminating condition in
+ the loop which uses multiple bcopy calls to transfer a block to an
+ overlapping higher block.
+
+1992-11-13 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * process.c (Fstart_process): Establish an unwind-protect to
+ remove PROC from the process list if an error occurs while
+ starting it.
+ (start_process_unwind): New function to help with that.
+ (create_process): There's no need to explicitly call
+ remove_process if the fork fails; the record_unwind_protect in
+ Fstart_process will take care of it.
+
+ * commands.h (unread_command_event): Doc fix.
+
+ Don't ever throw away switch-frame events.
+ * lread.c: #include "keyboard.h".
+ (Fread_char, Fread_char_exclusive): Don't signal an
+ error for or throw away switch-frame events; instead, put them off
+ until after we've found a character we can respond to.
+ * commands.h (unread_switch_frame): Declare this extern.
+ * keyboard.c (unread_switch_frame): Don't declare this static.
+ * ymakefile (lread.o): Note that this depends on keyboard.h.
+
+ * keyboard.c (Vlast_event_frame): Doc fix.
+
+ * process.c (wait_reading_process_input): Test the C preprocessor
+ symbol "ultrix", not "__ultrix__" to see if we should ignore
+ ENOMEM errors from select.
+
+ * fileio.c (Fexpand_file_name): Don't fiddle with "/." if it's the
+ entire string.
+
+ * buffer.c (Fbury_buffer): Make this behave as in 18.59, although
+ that behavior is very odd - only remove the buffer from the
+ selected window if BUFFER was nil or omitted.
+
+ * keyboard.c (read_char): Write composite events to the dribble
+ file properly.
+
+ * keyboard.c (init_keyboard): Initialize Vlast_event_frame to
+ Qnil, rather than the selected frame.
+
+ * mem-limits.h [DATA_SEG_BITS] (EXCEEDS_LISP_PTR): Remember to
+ remove DATA_SEG_BITS from the pointer before testing if the
+ pointer fits in VALBITS.
+
+ * Makefile.in (doxemacs, dotemacs): Explicitly pass along the CC
+ variable in these rules, just as in the `doall' rule.
+
+ * ralloc.c (relocate_some_blocs): Handle BLOC == NIL_BLOC.
+ (free_bloc): This can now be simplified.
+
+ * ralloc.c (r_alloc_sbrk): When we allocate new space for the
+ malloc heap, zero it out even if we don't have any blocs in the
+ free list.
+
+1992-11-12 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * process.c (process_send_signal): On systems which have both
+ the TIOCGETC and TCGETA ioctls, just use the former.
+
+ * xselect.c (Fx_get_cut_buffer): Correct check for buf_num in
+ range.
+
+ * xselect.c (Fx_get_cut_buffer, Fx_set_cut_buffer): Fix error
+ message format; use NUM_CUT_BUFFERS instead of literal 7.
+
+ * keyboard.c (lispy_modifier_list): Added sanity check before
+ indexing into modifier_symbols.
+
+ * keyboard.c (add_command_key): When copying the contents of the
+ old this_command_keys to new_keys, remember to multiply size by
+ sizeof (Lisp_Object) to get the amount we really need to copy.
+
+ Rename unread_command_char to unread_command_event; it has
+ subtly different semantics now, and we should use
+ `make-obsolete-variable' to warn people.
+ * command.h (unread_command_char): Change name in extern declaration.
+ * keyboard.c (unread_command_char): Rename.
+ (command_loop_1, read_char, Finput_pending, Fdiscard_input,
+ quit_throw_to_read_char, init_keyboard, syms_of_keyboard): Change
+ references.
+ * lread.c (Fread_char): Change reference.
+ * minibuf.c (temp_echo_area_glyphs): Change reference to
+ unread_command_char to unread_command_event.
+ * xfns.c (unread_command_char): Change name in extern declaration
+ to unread_command_event.
+
+1992-11-11 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * m/pmax.h: Don't define SYSTEM_MALLOC; this was only necessary
+ for Ultrix version 4.1, and the current version is 4.3.
+
+ * s/bsd4-2.h, s/bsd4-3.h: #define SIGNALS_VIA_CHARACTERS.
+ * process.c (process_send_signal): Put all the code for sending
+ signals via characters in a #ifdef SIGNALS_VIA_CHARACTERS. Decide
+ whether to use the Berkeley-style or SYSV-style ioctls by seeing
+ which ioctl commands are #defined.
+
+ * minibuf.c (read_minibuf): If get_minibuffer gives the
+ new minibuffer a nil default directory, find another buffer with a
+ better default directory and use that one's instead.
+
+1992-11-10 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * process.c (process_send_signal): Doc fix.
+
+ * keyboard.c (read_key_sequence): Don't use
+ save_excursion_{save,restore} to protect the caller against buffer
+ switches; use Fset_buffer and Fcurrent_buffer; redisplay might
+ change point, and we don't want to undo that.
+
+ * keyboard.c (kbd_buffer_get_event): When checking a mouse
+ movement for a frame switch, don't assume Vlast_event_frame
+ contains a Lisp_Frame object.
+
+1992-11-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/dgux.h (SYSTEM_TYPE): Use berkeley-unix.
+
+1992-11-04 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * alloc.c: #include "frame.h" unconditionally. frame.h does the
+ right thing when MULTI_FRAME isn't defined.
+
+ * Makefile.in: Rearrange dependencies to make sure that xmakefile
+ is built before we try to use it, even using a parallel make.
+
+ Changes for SYSV from Eric Raymond:
+ * process.c [SYSV]: Don't include <termios.h>, <termio.h>, or
+ <fcntl.h>.
+ (process_send_signal): Don't try to send SIGTSTP
+ unless SIGTSTP is defined.
+ * sysdep.c (init_baud_rate) [HAVE_TERMIO, not HAVE_TCATTR]: Use
+ TCGETA, not TIOCGETP.
+ * systime.h [USG] (EMACS_GET_TZ_OFFSET): Assign to *(offset), not
+ (offset). Don't forget the while corresponding to the do.
+ Include USG in the list of systems that have a tzname array.
+
+ * keyboard.c (read_key_sequence): Removed the
+ replay_sequence_new_buffer label; replay_sequence should be here
+ instead.
+
+ Arrange to get compile-time errors for uses of Lisp_Frame in a
+ non-MULTI_FRAME configuration.
+ * lisp.h [not MULTI_FRAME]: Don't declare the Lisp_Frame tag.
+ * minibuf.c (read_minibuf): Protect call to Fredirect_frame_focus
+ with a #ifdef MULTI_FRAME.
+ * window.c (Fset_window_configuration): Protect call to
+ Fselect_frame with a #ifdef MULTI_FRAME.
+ [not MULTI_FRAME] (Fcurrent_window_configuration): Don't bother
+ setting the window configuration's selected_frame member.
+ * keyboard.c (Vlast_event_frame): Arrange for this to exist iff
+ MULTI_FRAME is defined.
+ [not MULTI_FRAME] (syms_of_keyboard): Don't DEFVAR Vlast_event_frame.
+ [not MULTI_FRAME] (read_char): Don't try to set Vlast_event_frame.
+ [not MULTI_FRAME] (kbd_buffer_store_event): Don't try to set
+ Vlast_event_frame for quit characters.
+ [not MULTI_FRAME] (kbd_buffer_get_event): Don't try to generate
+ switch-frame events.
+
+ * buffer.c (init_buffer): If PWD is accurate, use it instead of
+ calling getwd.
+ #include <sys/types.h> and <sys/stat.h>, for the call to stat.
+
+ Indicate whether an autoload form stands for a keymap or not.
+ * eval.c (Fautoload): Renamed fifth argument TYPE. Document the
+ fact that (eq TYPE 'keymap) means FUNCTION will become a keymap
+ when loaded.
+ (Fmacroexpand): Instead of assuming that every autoload
+ form with a fifth element is a macro, actually check the fifth
+ element against t and `macro', which are the only values which
+ denote macroness.
+ * keymap.c (get_keymap_1): Don't try to autoload OBJECT's function
+ unless the autoload form indicates that it's a keymap.
+
+1992-11-03 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * .gdbinit (mips): New command.
+
+1992-10-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fmake_directory_internal): Renamed from Fmake_directory.
+ Pass nil as third arg to handler.
+ Lisp function `make-directory' is now in files.el.
+
+1992-10-30 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ Clean up errors due to treating Lisp_Objects like integers.
+ * abbrev.c (Funexpand_abbrev): Just assign the last abbrev's value
+ to val; don't use XSET. Make sure that the value of the
+ abbrev-symbol is a string.
+ * alloc.c (Frope_elt): Declare arguments to be Lisp_Objects.
+ * buffer.c (reset_buffer): Don't assign to b->save_length as if it
+ were an int; use XFASTINT.
+ * buffer.h (Fbuffer_name, Fget_file_buffer): Added external
+ declarations.
+ * bytecode.c (Fbyte_code): Use EQ to compare string_saved with
+ bytestr.
+ * casefiddle.c (operate_on_word): Declare end to be an int, not a
+ Lisp_Object.
+ * casetab.c (set_case_table): Declare this to be static, and
+ return a Lisp_Object. Add static declaration for this
+ before Fset_case_table and Fset_standard_case_table.
+ (Fset_case_table, Fset_standard_case_table): Return the return
+ value of set_case_table, instead of returning garbage.
+ * commands.h (unread_command_char): Declare this to be a
+ Lisp_Object, not an int.
+ * data.c (Fset): See if current_alist_element points to itself
+ using EQ, not ==.
+ (float_arith_driver): Declare this extern above arith_driver.
+ * dired.c (find_file_handler): Declare this extern.
+ (Ffile_attributes): Use NILP, not == Qnil.
+ * dispextern.h (sit_for): Declare this extern.
+ * doc.c: #include keyboard.h.
+ * floatfns.c (Flog): Don't forget to declare the BASE argument a
+ Lisp_Object.
+ * fns.c: #include keyboard.h.
+ (Fdelete): Check if Fequal returns Qnil, not zero.
+ * frame.c: #include buffer.h.
+ * keyboard.c: #include dispextern.h.
+ (recursive_edit_unwind, command_loop, Fthis_command_keys): Declare
+ these to return Lisp_Objects at the very top of the file, to avoid
+ having them implicitly declared as ints.
+ (echo_char): Use EQ to compare C to help_char.
+ (read_char): Remember to apply XFASTINT to the return value of
+ Flength before using it. Apply XINT to c when clearing its high
+ bits and meta bits, and when writing it to the dribble file.
+ (read_char_menu_prompt): Use EQ to compare obj with
+ menu_prompt_more_char and its control-character analog.
+ (read_key_sequence): Declare PROMPT to be char *, not a
+ Lisp_Object. Use the appropriate accessors on keybuf when looking
+ for ASCII function key sequences.
+ * keyboard.h (get_keymap_1, Fkeymapp, reorder_modifiers,
+ Fmouse_click_p, read_char): Add external declarations for these.
+ * keymap.c (Fdefine_key, Flookup_key, describe_map): Don't assume
+ that Flength returns an integer.
+ * lisp.h (Fdefault_boundp, make_float, Ffloat, Fnth, Fcopy_alist,
+ Fmake_byte_code, Fverify_visited_file_modtime, Ffile_exists_p,
+ Fdirectory_file_name, Ffile_name_directory,
+ expand_and_dir_to_file, Ffile_accessible_directory_p, Fbyte_code,
+ Fundo_boundary, truncate_undo_list): Add extern declarations for
+ these.
+ * lread.c (read_char): Add an extern declaration for this,
+ indicating that it returns a Lisp_Object.
+ * minibuf.c (read_minibuf): Use EQ to compare, not ==.
+ (temp_echo_area_glyphs): Use XFASTINT to assign to
+ unread_command_char.
+ * print.c (print): Cast the frame's address to an integer before
+ passing it to sprintf to form the frame's printed form.
+ * process.c: (status_convert): Declare this to return a
+ Lisp_Object at the top of the file.
+ (decode_status): Don't untag XCONS (tem)->cdr before storing it in
+ tem; tem is a Lisp_Object, too.
+ (process_send_signal): Declare this to be static void. Don't
+ return Qnil; nobody cares.
+ (sigchld_handler): Use XFASTINT to manipulate p->infd.
+ * search.c (Fstore_match_data): Don't assume Flength returns a
+ C integer.
+ * undo.c (record_insert): Use accessors on BEG and LENGTH.
+ (truncate_undo_list): Use NILP, not == Qnil.
+ * window.c (Fwindow_width, Fset_window_hscroll): Use accessors on
+ w->width, w->left, w->hscroll, and arguments.
+ (replace_window): Use EQ, not ==.
+ (Fdelete_window): p->top and p->left are not C integers.
+ (Fnext_window, Fprevious_window): Use EQ, not ==.
+ * window.h (make_window, window_from_coordinates,
+ Fwindow_dedicated_p): Add extern declarations for these.
+ * xdisp.c (redisplay): Use ! EQ to compare the old and new arrow
+ positions, not !=.
+ (mark_window_display_accurate): Barf if WINDOW isn't a window.
+ (display_string): Test buffer_defaults.ctl_arrow using NILP,
+ instead of comparing it with zero.
+ * xfns.c (x_decode_color, Fx_color_display_p): x_screen_planes is
+ an int, not a Lisp_Object.
+ (x_set_mouse_color): Give separate error messages for the
+ different cursors we try to set.
+ (Fx_geometry): Declare STRING to be a Lisp_Object.
+ (Fx_create_frame): No need to use XSET to assign NAME to f->name;
+ they're both Lisp_Objects.
+ (adjust_scrollbars): Use XINT to access w->hscroll.
+ (Fx_open_connection): x_screen_count, x_release, x_screen_height,
+ x_screen_height_mm, x_screen_width, x_screen_width_mm,
+ x_save_under, and x_screen_planes are integers, not Lisp_Objects.
+ (syms_of_xfns): x_mouse_x, x_mouse_y, and mouse_buffer_offset are
+ integers, not Lisp_Objects.
+ * xselect.c (own_selection): selection_type is an X Atom value,
+ not a Lisp_Object.
+ (x_selection_arrival): Declare this static, and add a forward
+ declaration at the top of the page.
+ * xterm.c (x_convert_modifiers): Declare this to return an
+ unsigned int, not a Lisp_Object. Remember that the quiescent
+ value for part is Qnil, not zero, that x_mouse_x and x_mouse_y
+ are ints, not Lisp_Objects, and that RESULT->x and RESULT->y are
+ Lisp_Objects, not ints.
+ (XTread_socket): Declare this to return int, not Lisp_Object.
+ When calling construct_mouse_click on a non-scrollbar click, pass
+ PART as Qnil, not zero.
+ (x_calc_absolute_position): Remember that x_screen_width and
+ x_screen_height are ints, not Lisp_Objects.
+ * xterm.h (x_screen_count, x_release, x_screen_height,
+ x_screen_height_mm, x_screen_width, x_screen_width_mm,
+ x_save_under, x_screen_planes): Declare this as ints, to match
+ their definitions in xterm.c.
+ * ymakefile: Note the new dependencies caused by the new
+ #inclusions above.
+
+ * xdisp.c (last_arrow_position, last_arrow_string): Make these
+ static.
+
+ * process.c (pty_process): Variable deleted; it's no longer used.
+ (syms_of_process): Don't initialize it.
+
+ * buffer.h (struct buffer_local_types): This declaration needed an
+ extern qualifier.
+
+ * floatfns.c (Fexpt): Don't return the value of the XSET function
+ call; that's not guaranteed to be the value assigned.
+
+ * dired.c (Ffile_attributes): Doc fix.
+
+ * lisp.h (DEFVARLISP, DEFVARBOOL, DEFVARINT, DEFVARPERBUFFER):
+ Removed these definitions; we should be using the versions whose
+ names use underscores.
+
+ * keyboard.c (echobuf): Make this 300 characters, not 100. This
+ isn't a real fix, but it's quick.
+
+1992-10-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * callint.c (preserved_fns): New var.
+ (Fcall_interactively): Preserve all fns listed in preserved_fns.
+ (syms_of_callint): Set preserved_fns and staticpro it.
+ Don't set up Qregion_beginning or Qregion_end.
+
+1992-10-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (count_blanks): Leave argument r constant, and increment p.
+
+1992-10-28 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xdisp.c (message): Re-write this in terms of message1.
+ (message1): Move code to clear out echo_area_glyphs and
+ previous_echo_glyphs from message to here.
+
+ * keyboard.c (read_char): When returning an unread switch-frame
+ event, jump to reread_first to return it, rather than reread; this
+ makes sure the event gets echoed (if appropriate) and goes into
+ this_command_keys.
+
+ * keyboard.c (read_key_sequence): If the key sequence starts with
+ a mouse click, read the key sequence using the keymaps of the
+ buffer clicked on, not the current buffer.
+
+ * keyboard.c (unread_switch_frame): Make this static, to indicate
+ that nobody outside of this file uses it.
+
+ * keymap.c: Deal with autoloaded keymaps properly.
+ (get_keymap_1): Renamed to inner_get_keymap; made
+ static. New argument AUTOLOAD says to pursue autoloads if
+ non-zero.
+ (Fkeymapp, get_keymap, get_keyelt, Flookup_key): Ask get_keymap_1
+ not to perform autoloads.
+ (Fdefine_key): Ask get_keymap_1 to perform autoloads. Since
+ autoloading may GC, remember that we have to GCPRO our local
+ variables now.
+ (Fminor_mode_key_binding): Call get_keymap instead of calling
+ get_keymap_1 with equivalent arguments.
+ * keyboard.c (follow_key): Ask get_keymap_1 to perform autoloads.
+ (read_key_sequence): When pursuing potential bindings in the
+ function key map, ask get_keymap_1 to perform autoloading. This
+ is hardly important, but it's consistent.
+ * doc.c (Fsubstitute_command_keys): Ask get_keymap_1 to
+ perform autoloads. Autoloading might GC; we need to GCPRO our
+ local variables now.
+ (Fdocumentation, Fdocumentation_property): Autoloading in
+ Fsubstitute_command_keys might GC; we need to GCPRO our
+ local variables now.
+
+1992-10-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/irix3-3.h (HAVE_SETSID, IRIX): Defined.
+
+ * s/irix4-0.h: New file.
+
+1992-10-27 Noah Friedman (friedman@nutrimat.gnu.ai.mit.edu)
+
+ * sysdep.c (get_system_name): Use gethostname for USG systems if
+ HAVE_GETHOSTNAME is defined.
+ * s/hpux7.h, s/irix3-3.h (HAVE_GETHOSTNAME): Define it.
+
+1992-10-27 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * callproc.c: Arrange for synchronous processes to get SIGINT the
+ first time the user quits, or SIGKILL if the user quits again.
+ #include "syssignal.h".
+ (call_process_kill): New function.
+ (call_process_cleanup): Send SIGINT to the subprocess, and then
+ arrange to call call_process_kill if the user quits while we wait
+ for it to terminate.
+ (Fcall_process, Fcall_process_region): Doc fix.
+
+1992-10-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * unexmips.c [sony, IRIS_4D]: Include getpagesize.h and fcntl.h.
+ (unexec): #if 0 the error check of hdr.fhdr.f_nscns.
+ Clear text_section->s_scnptr.
+
+ * callint.c (Fcall_interactively): Preserve (region-beginning)
+ and (region-end) into the command history when they appear
+ in an interactive spec which is a call to `list'.
+
+ * batcomp.com: New file. Waiting for papers from richard@ttt.kth.se.
+
+1992-10-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * emacs.c (main): Correct spelling of HAVE_X_WINDOW to
+ HAVE_X_WINDOWS in conditionals around the call to syms_of_xmenu.
+
+1992-10-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ralloc.c (relinquish):
+ Adjust page_break_value by amount of memory actually given back.
+ (r_alloc_sbrk): Provide hysteresis in relocating the blocs.
+
+1992-10-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ralloc.c (relinquish): Sign of arg to *real_morecore was backwards.
+
+1992-10-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ralloc.c (relinquish): Never free less than extra_bytes;
+ keep extra_bytes of empty space.
+ (obtain): Always get extra_bytes additional space.
+ (r_alloc_init): Set extra_bytes and page_size.
+ (ALIGNED, ROUNDUP, ROUND_TO_PAGE): Use page_size.
+
+1992-10-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Properly staticpro this_command_keys.
+
+ * mem-limits.h (get_lim_data): Make it static.
+
+ * ymakefile (mallocobj): Use vm-limit.o along with ralloc.o.
+
+ * ralloc.c [emacs]: Define POINTER and SIZE.
+ [!emacs]: Delete definition of EXCEEDS_LISP_PTR.
+
+ * eval.c (grow_specpdl): Increase max_specpdl_size before Fsignal.
+
+1992-10-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xfns.c (x_set_face): Dyked out this function; it has no callers,
+ and refers to an obsolete version of struct face.
+
+ * xterm.c (compose_status): New variable.
+ (XTread_socket): Pass it by reference to XLookupString.
+
+1992-10-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/esix5r4.h (BROKEN_FIONREAD): Defined.
+
+1992-10-16 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/vms5-5.h: New file.
+
+1992-10-16 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * xdisp.c (message): If M is zero, clear echo_area_glyphs and
+ previous_echo_glyphs, so that the minibuffer shows through.
+* * editfns.c (Fmessage): With no arguments, clear any active
+ message; let the minibuffer contents show through.
+ * minibuf.c (temp_echo_area_glyphs): Don't clear echo_area_glyphs
+ and previous_echo_glyphs; let message do that work.
+
+ * keyboard.c (this_command_keys): Make this a vector, instead of
+ an array of Lisp_Objects.
+ (this_command_keys_size): Deleted.
+ (echo, add_command_key, Fthis_command_keys): Adjusted
+ appropriately.
+ (init_keyboard): Don't allocate it here.
+ (syms_of_keyboard): Allocate it here, and staticpro it.
+ * keyboard.h (this_command_keys): Extern declaration changed. Doc fix.
+ * callint.c (Fcall_interactively): Change handling of 'e' spec;
+ this_command_keys is now a vector.
+
+ * keyboard.c (read_char): Call ourselves with the appropriate
+ number of arguments.
+ (read_char_menu_prompt): If USED_MOUSE_MENU is zero, don't try to
+ store things in it.
+
+ * window.c: Try to deal coherently with deleted windows:
+* (Flive_window_p): New function.
+ (Qlive_window_p): New variable, to name it in type errors.
+ (syms_of_window): Defsubr Slive_window_p, init and staticpro
+ Qlive_window_p.
+ * lisp.h (CHECK_LIVE_WINDOW): New predicate.
+ (Qlive_window_p): Extern declaration for this.
+ * window.c (decode_window): Use CHECK_LIVE_WINDOW instead of
+ CHECK_WINDOW; the only thing a user should be able to do to a dead
+ window is check its type.
+ (Fcoordinates_in_window_p, Fnext_window, Fprevious_window,
+ Fdelete_other_windows, Fselect_window, Fsplit_window,
+ Fscroll_other_window): Use CHECK_LIVE_WINDOW instead of
+ CHECK_WINDOW.
+ * frame.c (make_frame_without_minibuffer, Fwindow_frame): Same.
+ * sunfns.c (Fsun_menu_internal): Same.
+ * xmenu.c (Fx_popup_menu): Same.
+ * window.c (Fdelete_window): If WINDOW is a deleted window, do nothing;
+ there's no harm in allowing people to delete deleted windows.
+ Delete all of WINDOW's subwindows, too.
+ (delete_all_subwindows): Set the buffer, vchild, and hchild of the
+ windows we delete all to nil.
+ * window.h (struct window): Doc fix.
+
+ * window.c (Fwindow_minibuffer_p): Make the WINDOW argument
+ optional, like all the other window-querying functions.
+
+ * window.c (Fpos_visible_in_window_p): Use decode_window to handle
+ the WINDOW argument, instead of writing out that function's code.
+
+ * window.c (check_frame_size): Don't define this extern; that
+ doesn't mean anything.
+
+ * xterm.c: Clean up some of the caps lock handling:
+ (x_shift_lock_mask): New variable.
+ (x_find_modifier_mappings): Set it, based on the modifier mappings.
+ (x_convert_modifiers): Use x_shift_lock_mask, instead of assuming
+ that the lock bit always means to shift the character.
+ (XTread_socket): When handling KeyPress events, don't pass an
+ XComposeStatus structure along to XLookupString. When handling
+ MappingNotify events, call XRefreshKeyboardMapping for both
+ MappingModifier and MappingKeyboard events, not just the latter.
+
+1992-10-15 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * window.c (Fdelete_window): Choose an alternative when we delete
+ any frame's selected window, not just when we delete the selected
+ frame's selected window.
+
+1992-10-15 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * vm-limit.c (check_memory_limits): Declare __morecore.
+ Remove unused variable `result'.
+
+1992-10-15 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * vm-limit.c (morecore_with_warning): Removed.
+ (check_memory_limits): New fn; most code from
+ morecore_with_warning, but only checks limits, doesn't do any work.
+ (memory_warnings): Set __after_morecore_hook to check_memory_limits;
+ don't set __morecore.
+
+1992-10-14 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * intervals.c (traverse_intervals): New parameter `depth'.
+ Increment this when passing recursively.
+
+ * alloc.c (mark_interval_tree): Pass 0 as initial depth argument
+ to traverse_intervals.
+
+ * xterm.h: Declaration of struct face removed.
+
+ * dispextern.h: New element of frame structure `max_ascent'.
+ Removed elements `nruns' and `face_list'.
+ LINE_HEIGHT and LINE_WIDTH macros removed.
+ New struct face with associated typedef FACE declared, along with
+ accessing macros.
+
+ * scroll.c (do_scrolling): Don't bcopy non-existant `nruns' or
+ `face_list' elements. Do copy new `max_ascent' frame element.
+
+ * dispnew.c (scroll_frame_lines): All references to frame elements
+ `nruns' and 'face_list' removed. Handle new element `max_ascent'.
+ (free_frame_glyphs): Don't free nonexistent elements `nruns' and
+ `face_list'; do free `max_ascent' element.
+ (make_frame_glyphs): Don't allocate nonexistent elements `nruns'
+ and `face_list'; do allocate `max_ascent' element.
+ (update_frame): Replaced use of macro LINE_HEIGHT with element
+ frame element `pix_height'.
+
+1992-10-14 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (modify_event_symbol): Arrange to set the
+ click_modifier bit on otherwise unmodified mouse clicks.
+
+ * keymap.c (store_in_keymap): Don't forget to QUIT in the
+ keymap-scanning loop. Don't treat vectors as binding tables if
+ they're the wrong length.
+
+1992-10-12 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_get_event): Remember that
+ *mouse_position_hook may set *FRAME to 0; don't generate
+ switch-frame events in this case. Fix fencepost bug in fetching
+ events from keyboard buffer.
+
+1992-10-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (ralloc.o): Delete dep mem_limits.h
+ (vm-limit.o): Rename dep to mem-limits.h.
+
+1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * ralloc.c: Removed #include "mem-limits.h".
+ [emacs]: Moved #undef NULL and #include "getpagesize.h" here.
+ [! emacs]: #include <unistd.h>, <malloc.h>, <string.h>.
+ (r_alloc_init): Use NIL, not NULL.
+
+1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * ralloc.c (sbrk): Removed decl.
+ (real_morecore): New static variable.
+ (warnlevel, warn_function, check_memory_limits): Removed.
+ (obtain): Don't call check_memory_limits.
+ (obtain, relinquish, r_alloc_sbrk): Use (*real_morecore) in place
+ of sbrk; it returns 0 for errors, not -1.
+ (r_alloc_init): Set real_morecore to old value of __morecore.
+ Don't initialize lim_data or warnlevel, and don't call get_lim_data.
+ (memory_warnings): Function removed.
+
+1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * vm-limit.c (warnfunction): Renamed to warn_function (was used
+ inconsistently).
+ (morecore_with_warning, memory_warnings): Change callers (were
+ inconsistent).
+
+1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * mem-limits.h (start_of_data): Removed extra defn.
+ (get_lim_data): Define to return void.
+
+1992-10-12 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * mem_limits.h: File renamed to mem-limits.h.
+ * vm-limit.c, ralloc.c: Changed #includes.
+
+1992-10-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * syntax.c (find_defun_start): scan_buffer returns start of line;
+ no need to advance over newline.
+
+ * vm-limit.c (morecore_with_warning):
+ Reduce warnlevel when usage drops far enough.
+ * ralloc.c (check_memory_limits): Likewise.
+
+ * vm-limit.c (memory_warnings): Renamed from malloc_init.
+ Don't set lim_data or warnlevel. Use start_of_data if start is 0.
+ * ralloc.c (memory_warnings): New function; just set warning data.
+ Use start_of_data if start is 0.
+ * emacs.c (Fdump_emacs, main): Use memory_warnings.
+
+ * mem_limits.h [!emacs]: Don't define POINTER, SIZE or NULL.
+ (start_of_data): Define as macro, if !emacs.
+ * ralloc.c [!emacs]: Don't include config.h or lisp.h;
+ instead, use stddef.h. Define POINTER, SIZE, EXCEEDS_LISP_PTR.
+ * vm-limit.c [!emacs]: Don't include config.h or lisp.h;
+ instead, use stddef.h. Define POINTER, SIZE, EXCEEDS_LISP_PTR.
+
+ * ralloc.c [!emacs] (safe_bcopy): Define as macro using memmove.
+ (r_alloc_free): Clear *ptr.
+ (r_alloc_init): Renamed from malloc_init. Take no args.
+ Make it static; declare at top of file.
+ (r_alloc): Call r_alloc_init, if not initialized yet.
+ (r_alloc_initialized): Renamed from malloc_initialized; moved to top.
+ (ROUNDUP): Subtract 1, in case arg is already aligned.
+
+ * mem_limits.h (EXCEEDS_LISP_PTR): Renamed from EXCEEDS_ELISP_PTR.
+ * vm-limit.c (morecore_with_warning): Use EXCEEDS_LISP_PTR.
+ * ralloc.c (check_memory_limits): Use EXCEEDS_LISP_PTR.
+
+1992-10-10 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * keyboard.c (Vlast_event_frame): Make this variable exist even
+ when MULTI_FRAME isn't #defined. People might find it
+ necessary for writing correct programs, even when the programs
+ don't explicitly use multiple frames.
+ (read_char, kbd_buffer_store_event, kbd_buffer_get_event): No need
+ to test MULTI_FRAME before setting Vlast_event_frame.
+ (syms_of_keyboard): DEFVAR Vlast_event_frame whether or not
+ MULTI_FRAME is defined.
+
+ * keyboard.c: Add switch-frame events.
+ (Qswitch_frame): New event header symbol.
+ (head_table): Include Qswitch_frame in the table of event heads.
+ (kbd_buffer_get_event): Detect when a frame switch has occurred,
+ and return a frame switch event before the enqueued event.
+ (make_lispy_switch_frame): New function.
+ (unread_switch_frame): New variable.
+ (read_key_sequence): Don't throw away the key sequence if the user
+ switches frames in the middle of the sequence. Instead, when we
+ receive a switch-frame event in the middle of a key sequence, save
+ it, and stuff it into unread_switch_frame when the sequence
+ is complete.
+ (read_char): If unread_switch_frame is set, return that value.
+ (command_loop_1): No need to check Vlast_event_frame and select
+ new frames here; that's taken care of by switch-frame events now.
+ (syms_of_keyboard): Initialize and staticpro unread_switch_frame.
+ * keyboard.h (Qswitch_frame): Declare this extern.
+
+ * frame.c: #include "commands.h" and "keyboard.h".
+ (Fselect_frame): Make this interactive, and accept
+ switch-frame events as arguments, so we can bind this function to
+ switch-frame events.
+ (keys_of_frame): New function; bind switch-frame to Fselect_frame.
+ * emacs.c (main): Call keys_of_frame.
+ * keymap.c (initial_define_lispy_key): New function, for defining
+ non-ascii keys.
+ * ymakefile: Note that frame.o depends on commands.h and keyboard.h.
+
+ * callint.c (Fcall_interactively): Allow multiple 'e' specs.
+ (Finteractive): Doc fix.
+ * keyboard.h (this_command_keys, this_command_key_count): Added
+ external declarations.
+
+ * keymap.c (access_keymap): Treat bindings for Qt as default
+ bindings, when new argument T_OK is non-zero.
+ (get_keyelt, Fdefine_key, Flookup_key): Call access_keymap with
+ T_OK false.
+ * keyboard.c (follow_key, read_key_sequence): Call access_keymap
+ with T_OK true.
+
+ * keyboard.c (apply_modifiers): Copy the value of BASE's
+ Qevent_kind property to the new symbol.
+
+ * keyboard.c (syms_of_keyboard): Qevent_kind should be initialized
+ to intern ("event-kind"), not intern ("event-type").
+
+1992-10-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fwrite_region): If VISIT is a file name,
+ use that as file name to visit, and print it in the message.
+ Use it for file locking too.
+
+ * m-ibmps2-aix.h [__GNUC__ >= 2] (LIB_STANDARD): Don't define.
+
+1992-10-09 Jim Blandy (jimb@totoro.cs.oberlin.edu)
+
+ * ymakefile (FLOATSUP): Renamed to FLOAT_SUPPORT.
+ (FRAME_SUPPORT, VMS_SUPPORT): New macros.
+ (lisp): Rebuild this from loadup.el, using the _SUPPORT macros.
+
+ * ymakefile [HAVE_X_WINDOWS, not NO_X_MENU, HAVE_X11] (LIBXMENU):
+ Link against -loldX, to get the association table functions.
+
+ * xterm.c, xrdb.c: #include <stdio.h> before "xterm.h", to avoid
+ warnings about redefining NULL under GCC 2.2.2.
+
+1992-10-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m/pyrmips.h: New file.
+
+ * s/aix3-1.h (PTY_ITERATION, etc.): Defined.
+ (FIRST_PTY_LETTER): Deleted.
+
+1992-10-07 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * m/sparc.h: Include <sys/param.h>, to define the FSCALE constant.
+
+ * ymakefile (YMF_PASS_LDFLAGS): Refer to the prefix-args program
+ using "./prefix-args", not just "prefix-args"; some people don't
+ have . in their paths.
+
+1992-10-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * link.com: Use gcclib if compiling with GCC.
+
+ * fileio.c (directory_file_name): Don't clobber the envvar
+ when handling top-level rooted dir.
+
+ * ymakefile (LIB_STANDARD): If ORDINARY_LINK, default this to empty.
+
+ * m/ibmps2-aix.h [USG_SHARED_LIBRARIES]: Define ORDINARY_LINK.
+ Undef LIB_STANDARD. Modify LD_SWITCH_MACHINE.
+
+ * unexnext.c: New file.
+ * emacs.c (main) [NeXT]: Call malloc_jumpstart.
+
+1992-10-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (window_loop): Pass 2nd arg to Fother_buffer.
+ * frame.c (make_frame): Likewise.
+ * callint.c (Fcall_interactively): Likewise.
+ * buffer.c (Fkill_buffer): Likewise.
+ (Fswitch_to_buffer, Fpop_to_buffer, Fbury_buffer): Likewise.
+
+1992-10-03 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Treat mouse clicks on non-text
+ areas as if they were prefixed with the symbol denoting the
+ area clicked on - `mode-line', etcetera.
+ When we throw away an unbound `down-' event, reset mock_input as
+ well.
+
+ * keyboard.c (Qevent_symbol_element_mask, Qmodifier_cache): Two
+ new symbols, used to implement caches on event heads. These take
+ the place of some of the caching that modify_event_symbol used to do.
+ (parse_modifiers_uncached, apply_modifiers_uncached,
+ lispy_modifier_list, parse_modifiers, apply_modifiers): New
+ functions, which replace format_modifiers and reorder_modifiers;
+ they can be useful elsewhere too.
+ (reorder_modifiers, modify_event_symbol): Re-implement these in
+ terms of parse_modifiers and apply_modifiers. modify_event_symbol
+ now uses a much simpler cache, and takes advantage of the caches
+ maintained by parse_ and apply_modifiers.
+ (follow_key): Don't modify NEXT if KEY has no bindings.
+ (read_key_sequence): Drop unbound `down-' events, and turn unbound
+ `drag-' events into clicks if that would make them bound. This
+ benefits from the rewriting of the modifier key handling code.
+ (syms_of_keyboard): Initialize and intern
+ Qevent_symbol_element_mask and Qmodifier_cache.
+
+ * keyboard.c (echo_prompt): Terminate the echo buffer properly
+ even when the string is too long to display in the minibuffer.
+ (echo_truncate): Just return echoptr - echobuf, rather than
+ calling strlen on echobuf.
+
+ * alloc.c (Fmemory_limit): New function.
+ (syms_of_alloc): Defsubr it.
+
+ * window.c (SAVE_WINDOW_DATA_SIZE): Define this using sizeof,
+ instead of just saying it's 7; that way, we won't get screwed if
+ we add members to struct save_window_data.
+
+ * window.c (struct save_window_data): Save the currently selected
+ frame, too.
+ (Fset_window_configuration): Restore the frame's selected window
+ using Fselect_window, and then restore the selected frame using
+ Fselect_frame.
+ (Fcurrent_window_configuration): Record the currently selected
+ frame. Update docstring to describe the information now recorded.
+
+1992-10-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): Ultrix select seems to
+ return ENOMEM when interrupted. So, under Ultrix, treat ENOMEM
+ like EINTR.
+
+ * keyboard.c (modifier_names): The modifier is named "control",
+ not "ctrl".
+
+ * keyboard.c (modify_event_symbol): Make sure that the unmodified
+ event header gets the proper properties set on it, by recursing
+ and letting the same code build the properties for all event symbols.
+
+ * keyboard.c (Qmouse_click): Fix typo which assigned `mouse-click'
+ symbol to Qmouse_movement.
+
+1992-10-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * undo.c (Fprimitive_undo):
+ When undoing an insert, move point and then delete.
+
+1992-10-02 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * intervals.c: `copy_intervals' no longer static.
+
+ * intervals.h: Declare `copy_intervals'.
+
+ * buffer.c: #include intervals.h.
+
+ * ymakefile: New macro "INTERVALS", controlled by "USE_INTERVALS",
+ which defines the interval include file "intervals.h".
+ New entries for "intervals.c" and "textprop.c".
+
+ * lisp.h: Declare Qbuffer_or_string_p.
+
+1992-10-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xterm.c (x_find_modifier_meanings): If there are no
+ modifiers containing a Meta_ keysym, use the Alt keysyms to
+ denote meta.
+ (construct_mouse_click): Set the down_modifier bit on mouse
+ button press events.
+ (XTread_socket): When processing keypress events, use
+ x_meta_mod_mask when processing ordinary ASCII characters, not
+ just when processing function keys and other non-ASCII events.
+ (XTread_socket): If we receive a MappingNotify event with the
+ `request' member set to `MappingModifier', then call
+ x_find_modifier_meanings to refresh x_meta_mod_mask.
+
+ * window.c (Fset_window_configuration): Clean up the way we save
+ and restore the frame's size.
+
+ * termhooks.h (struct input_event): Doc fix.
+ (NUM_MOUSE_BUTTONS): New constant.
+ (click_modifier): New modifier.
+ (NUM_MODIFIER_COMBOS): Removed.
+
+ * keyboard.h (EVENT_HAS_PARAMETERS): Definition changed - all events
+ are not 5 elements long.
+ (EVENT_HEAD): Work correctly on all sorts of events, not just
+ events with parameters.
+ (EVENT_WINDOW, EVENT_BUFFER_POSN, EVENT_SCROLLBAR_BUTTON,
+ EVENT_WINDOW_POSN, EVENT_TIMESTAMP): These aren't useful
+ anymore; this information may appear twice in an event. These
+ are replaced by the POSN_ accessors, which are meant to be
+ composed with the EVENT_START and EVENT_END accessors.
+ (EVENT_START, EVENT_END): Two new accessors, to get at the
+ starting and ending position of an event.
+ (POSN_WINDOW, POSN_BUFFER_POSN, PONS_SCROLLBAR_BUTTON,
+ POSN_WINDOW_POSN, POSN_TIMESTAMP): New macros, to futher
+ diasassemble the values returned by EVENT_START and EVENT_END.
+ * keyboard.c (echo_char, read_char): Apply EVENT_HEAD without first
+ testing for EVENT_HAS_PARAMETERS; EVENT_HEAD works properly on
+ all sorts of events now.
+ (read_key_sequence): Use the new accessors to decide in which window
+ an event occurred.
+ * keymap.c (access_keymap, store_in_keymap,
+ Fsingle_key_description): No need to check for
+ EVENT_HAS_PARAMETERS before using EVENT_HEAD; the latter now
+ works properly on all sorts of events.
+
+ * keyboard.c (Qevent_unmodified): Replaced by...
+ (Qevent_symbol_elements): New property.
+ (syms_of_keyboard): initialize and staticpro the latter, not the
+ former.
+ * keyboard.h (Qevent_unmodified): Extern declaration replaced by...
+ (Qevent_symbol_elements): This.
+ (EVENT_HEAD_UNMODIFIED): Use the Qevent_symbol_elements
+ property, rather than the Qevent_unmodified property.
+
+ * keyboard.c (readable_events): This doesn't need to scan and
+ discard mouse release events anymore; it just uses
+ EVENT_QUEUES_EMPTY.
+ (kbd_buffer_get_event): No need to skip past mouse release events.
+
+ * keyboard.c (button_down_location): New variable, which
+ stores the location at which each button was pressed, so we
+ can build a complete drag event when the button is released.
+ (make_lispy_event): When a button is pressed, record its
+ location in button_down_location, and turn it into a `down'
+ event. When a button is released, compare its release
+ location with its press location, and decide whether to call
+ it a `click' or `drag' event.
+ Change mouse movement events to be arranged like click events.
+ (format_modifiers): Note that the click modifier has no
+ written representation.
+ (modifier_names, modifer_symbols): New variables, used to
+ create the Qevent_symbol_elements property.
+ (modify_event_symbol): Change the format of the modified
+ symbol cache; there are too many modifier bits now to use a
+ vector indexed by a modifier mask. Use an assoc-list instead.
+ Document the format of the cache.
+ Put the Qevent_symbol_elements property on each new symbol,
+ instead of a Qevent_unmodified property.
+ (symbols_of_keyboard): Put Qevent_symbol_elements properties on
+ the symbols specified in head_table, not Qevent_unmodifed properties.
+ Initialize and staticpro modifier_symbols, and staticpro the
+ window elements of button_down_location.
+
+ * xmenu.c: #include "keyboard.h".
+ (Fx_popup_menu): Use the event accessors defined in keyboard.h,
+ instead of writing out cars and cdrs.
+ * ymakefile: Note that xmenu.o depends on keyboard.h.
+
+1992-10-02 Joseph Arceneaux (jla@wookumz.gnu.ai.mit.edu)
+
+ * textprop.c: Conditionalize all functions on
+ "USE_TEXT_PROPERTIES".
+ * intervals.c: Conditionalize all functions on
+ "USE_TEXT_PROPERTIES".
+ Removed #include of "screen.h".
+
+ * alloc.c: #include "intervals.h".
+ (init_intervals, make_interval,
+ mark_interval, mark_interval_tree): New functions conditionally
+ defined.
+ (make_uninit_string): Call INITIALIZE_INTERVAL.
+ (INIT_INTERVALS, UNMARK_BALANCE_INTERVALS, MARK_INTERVAL_TREE):
+ New macros, conditionally defined.
+ (mark_object): Call MARK_INTERVAL_TREE in case Lisp_String.
+ (gc_sweep): If text properties are in use, place all unmarked
+ intervals on the free list. Call UNMARK_BALANCE_INTERVALS on
+ `buffer->intervals' when unmarking `buffer'.
+ (compact_strings): Include INTERVAL_PTR_SIZE in calculation for
+ target of bcopy when relocating strings.
+ (init_alloc_once): Call INIT_INTERVALS.
+ (make_pure_string): Include INTERVAL_PTR_SIZE in calculation of
+ `size'.
+ Moved static declaration of `mark_object' and other functions up
+ in the file.
+
+ * fileio.c (Finsert_file_contents): Call offset_intervals if
+ text was actually inserted.
+ #include "intervals.h".
+
+1992-09-30 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * data.c: Qbuffer_or_string_p added.
+
+ * syntax.c (describe_syntax): Use insert_char to insert `match'.
+
+ * buffer.c (reset_buffer): Do INITIALIZE_INTERVAL on the buffer's
+ interval component.
+ (Fkill_buffer): Likewise.
+
+ * editfns.c (make_buffer_string): Call copy_intervals_to_string.
+ (Finsert_buffer_substring): Call graft_intervals_into_buffer.
+ #include "intervals.h".
+
+ * insdel.c: #include "intervals.h"
+ (prepare_to_modify_buffer): Call verify_interval_modification.
+ (insert_from_string): Call offset_intervals and
+ graft_intervals_into_buffer.
+ (del_range): Call offset_intervals.
+ (insert): Call offset_intervals.
+
+ * emacs.c: #include "intervals.h".
+ (main): Call syms_of_textprop. This is only really present if
+ Emacs is compiled with USE_TEXT_PROPERTIES defined.
+
+ * buffer.h: New macro TEMP_SET_PT. If intervals are used, SET_PT
+ and TEMP_SET_PT are function calls.
+ Similarly for BUF_SET_PT and BUF_TEMP_SET_PT.
+ Added DECLARE_INTERVALS to buffer structure to conditionally
+ compile an interval tree into it.
+
+ * intervals.h: Declare temp_set_point.
+
+1992-09-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * ymakefile (config.h): Doc fix.
+
+1992-09-30 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * config.h.in: Added a slot for definition of USE_TEXT_PROPERTIES,
+ controlling compilation of interval code.
+ If using GNUC, support inline functions.
+
+ * lisp.h: Conditionally define interval structure and macros.
+ Add DECLARE_INTERVALS to struct Lisp_String.
+
+1992-09-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * buffer.c (Fother_buffer): Add back the VISIBLE_OK argument. It
+ got removed with no comment or ChangeLog entry, and
+ append-to-buffer uses it.
+
+ * window.c (struct save_window_data): Add a member called
+ focus_frame, to save and restore the screen's focus frame.
+ (Fset_window_configuration): Redirect the frame's focus as
+ indicated in the window configuration.
+ (Fcurrent_window_configuration): Record the frame's current focus.
+ * minibuf.c (read_minibuf): Don't bother to save the current
+ frame's focus, and have read_minibuf_unwind restore it; saving and
+ restoring the window configurations will take care of that.
+ (read_minibuf_unwind): Don't worry about restoring the frame's focus.
+
+ * window.c (Fset_window_configuration): Don't select the frame
+ just because we restored its configuration.
+
+ * window.c (Fset_window_configuration): Don't forget to set the
+ frame's selected window when we can't call Fselect_window.
+
+ * xterm.c (x_meta_mod_mask): New variable, indicating which X
+ modifier bits denote meta keys.
+ (x_find_modifier_meanings): New function, to set x_meta_mod_mask.
+ (x_convert_modifiers): Use that.
+ (x_term_init): Call x_find_modifier_meanings.
+
+ * data.c (Fmake_local_variable): If SYM forwards to a C variable,
+ swap in the value for the current buffer immediately.
+
+ * lisp.h: Doc elaboration for Lisp_Buffer_Local_Value.
+
+1992-09-29 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * textprop.c (Ferase_text_properties): Merge intervals when
+ possible.
+
+1992-09-29 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xselect.c (Qcut_buffer0): Symbol removed; we're using a new
+ interface to the cut buffer now.
+ (NUM_CUT_BUFFERS, cut_buffer_atom, cut_buffer_value,
+ cut_buffer_cached, cut_buffer_just_set): New variables.
+ (Fx_own_selection, Fx_selection_value): Dike out the code to
+ handle CUT_BUFFER0 requests.
+ (Fx_get_cut_buffer, Fx_set_cut_buffer, x_watch_cut_buffer_cache,
+ x_invalidate_cut_buffer_cache): New functions.
+ (syms_of_xselect): Don't bother to initialize Qcut_buffer0.
+ Initialize and staticpro cut_buffer_value, and defsubr
+ Sx_get_cut_buffer and Sx_set_cut_buffer.
+ * xterm.c (XTread_socket): Pass PropertyNotify events from the
+ root window to x_invalidate_cut_buffer_cache.
+ (x_term_init): Call x_watch_cut_buffer_cache here.
+
+ * keymap.c (access_keymap): Don't forget to QUIT while scanning
+ the keymap.
+
+ * keyboard.c (recent_keys): This needs to be staticpro'ed. Change
+ it from a C array, which is a pain in the neck to staticpro, into
+ a lisp vector, which is easier.
+ (read_char, Frecent_keys): Access recent_keys as a lisp vector,
+ not a C array.
+ (syms_of_keyboard): Set recent_keys to be a vector, and staticpro it.
+
+ * ymakefile (xfns.o): This doesn't depend on xselect.c.
+
+ * xterm.h (ROOT_WINDOW): Use the DefaultScreen macro, not the
+ XDefaultScreen function.
+
+ * frame.c (Fdelete_frame): Call Fselect_frame with the appropriate
+ number of arguments.
+
+ * data.c (Frem): Use the `fmod' function under SunOS, Ultrix, and
+ HP/UX, not just under USG systems.
+
+ * buffer.c (Fbury_buffer): This used to undisplay the buffer being
+ buried only if the BUFFER argument was nil. Instead, undisplay the
+ buffer whenever it's displayed in the selected window, no matter
+ how it was specified by BUFFER. This is how it behaves in 18.58,
+ and I can't find any ChangeLog entry in 18.58 or 19.0 saying why
+ they differ. Fix the doc string accordingly.
+
+1992-09-28 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * frame.c (Fselect_frame, Fframe_root_window,
+ Fframe_selected_window, Fnext_frame, Fmake_frame_visible,
+ Fmake_frame_invisible, Ficonify_frame): Doc fixes.
+
+ * ralloc.c: Since the users of the relocating allocation code
+ handle memory exhaustion, it's better to return an error code to
+ them than to call abort.
+ (obtain): If we cannot allocate more memory, don't call
+ abort. Instead, return non-zero iff the allocation is successful.
+ (get_more_space): If obtain fails, return zero.
+ (get_bloc): Return zero if we can't allocate the new bloc.
+ (r_alloc_sbrk): Return zero if we can't allocate more memory.
+ (r_alloc): If we can't allocate more memory, set *PTR to zero and
+ return zero.
+ (r_re_alloc): If we can't allocate more memory, leave *PTR
+ unchanged, and return zero.
+
+ * ralloc.c (warnfunction): Renamed to warn_function; users changed.
+
+1992-09-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * insdel.c (del_range): Call record_delete before updating point.
+
+ * fileio.c (Finsert_file_contents): Do record_insert, then inc MODIFF.
+
+ * undo.c (record_delete): Record pos before the deletion.
+ (Fprimitive_undo): Go back to recorded position.
+
+1992-09-28 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * window.c (delete_all_subwindows): Save the window's buffer in
+ its `height' field; we may need to know the window's old buffer
+ once we have restored it from a window configuration.
+ (Fset_window_configuration): When we restore a window, if its
+ `height' field is a buffer, restore its `buffer' field from that.
+ This allows us to leave the window's buffer unchanged if the
+ buffer recorded in the configuration is dead.
+
+ * window.c (delete_all_subwindows): Removed unused variable named
+ "count".
+
+1992-09-27 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (read_char): If we're returning an event from a
+ macro, set Vlast_event_frame to Qmacro, instead of leaving it set
+ to the frame of the previous real event.
+ (read_key_sequence): If Vlast_event_frame isn't a frame, don't
+ bother switching buffers.
+ (syms_of_keyboard): Doc fix for Vlast_event_frame.
+ (Vlast_event_frame): Doc fix.
+
+ * termhooks.h (alt_modifier, hyper_modifier, super_modifier,
+ down_modifier, drag_modifier): New modifiers, to support the new
+ input system. Re-arranged modifiers so that their bits are in
+ canonical order; this makes reorder_modifiers slightly simpler.
+ * keyboard.c (format_modifiers, reorder_modifiers): Handle the new
+ modifier bits.
+
+ * keymap.c (access_keymap): Remove code to notice bindings for
+ Qt.
+
+1992-09-25 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (single_keymap_panes): Handle vectors properly.
+
+1992-09-25 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * keymap.c (Fwhere_is_internal): Don't forget to advance map to
+ the next element when we find something that is neither a vector
+ nor a cons. Don't forget to QUIT in the appropriate places,
+ either.
+
+1992-09-23 Joseph Arceneaux (jla@geech.gnu.ai.mit.edu)
+
+ * textprop.c (Fset_text_properties): Merge adjacent intervals with
+ the same properties.
+ (Fnext_single_property_change, Fprevious_single_property_change):
+ New subrs.
+
+ * intervals.c (merge_interval_left, merge_interval_right): Abort
+ if caller tries to merge first (or last, respectively) interval.
+ Delete the interval node after merging.
+ (copy_intervals): Use `split_interval_right' rather than creating
+ new intervals with make_new_interval and attaching them
+ explicitly.
+ (verify_interval_modification): Changed error message. GCPRO
+ hooks before calling Fnreverse, and correctly Fcdr down the list.
+ Also, don't cons multiple copies of the same consecutive
+ modification hook.
+ (temp_set_point): New function.
+ (set_point): Call point-left and point-entered hooks if moving
+ between text with different properties. Use the old and new
+ positions as arguments to these calls.
+
+ * intervals.c, intervals.h: (map_intervals, make_buffer_interval,
+ make_string_interval,run_hooks): Deleted.
+
+1992-09-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keymap.c (DENSE_TABLE_SIZE): Doc fix.
+ (keymap_table): Function removed; this function exists only to
+ support an incorrect understanding of the format of keymaps.
+ (access_keymap, store_in_keymap, Fcopy_keymap,
+ Faccessible_keymaps): Correctly handle vectors at any point in the
+ keymap; don't assume it must be at the front.
+ (describe_map): Instead of calling describe_vector on the vector
+ in the cadr of the keymap (if present) and then calling
+ describe_alist to do the rest, just call describe_map_2.
+ (describe_alist): Renamed to describe_map_2; call describe_vector
+ when we encounter a vector in the list.
+ * xmenu.c (single_keymap_panes): Comment out the code which
+ tries to handle a dense keymap's table; it uses keymap_table, and
+ the rest of the code never uses the table contents anyway.
+
+ * keymap.c (access_keymap, store_in_keymap): Clarify error message
+ for non-ASCII characters.
+
+ * process.c [SIGCHLD && !BSD && !UNIPLUS && !HPUX]
+ (create_process): #if 0 out the code which sets the child's
+ handler for SIGCHLD to sigchld; the code which gives sigchld its
+ value has been diked out under these CPP symbols, so this should
+ be diked out too.
+
+ * indent.c (Fmove_to_column): Pass the right number of arguments
+ to Findent_to.
+
+1992-09-22 Jim Blandy (jimb@kropotkin.gnu.ai.mit.edu)
+
+ * emacs.c (emacs_priority): Doc fix.
+ (main): Use nice, not setpriority; we just need a
+ simple, portable call to nice here.
+ * callproc.c (child_setup): Use nice, not setpriority.
+ * sysdep.c (sys_suspend): Don't try to use "nice (- nice (0))" to
+ set the subshell's priority to normal; nice doesn't return a
+ defined value on all systems. Instead, since emacs_priority gives
+ the priority that Emacs was nastied to, we can use it to reset the
+ priority in a straightforward way.
+ [BSD4_1], [USG], [VMS] (setpriority): Remove dummy and
+ compatibility definitions of setpriority.
+
+ * keymap.c (access_keymap): Return the binding of Qt as the
+ binding for all unbound characters.
+
+ * fileio.c (syms_of_fileio): Don't try to defsubr Sunix_sync
+ unless it's actually been defined - that is, if unix is #defined.
+
+ * xrdb.c (x_get_resource): Cast the value being assigned to
+ ret_value->addr, rather than ret_value->addr itself; only GCC
+ allows you to cast lvalues.
+
+ * eval.c (unbind_catch): Do the long-jump here. Take a VALUE
+ argument, which specifies the value to return to the catch, or the
+ data to give to the condition handler. Renamed to
+ unwind_to_catch, to reflect new role.
+ (Fsignal, Fthrow): Removed code to set catch tag value and do the
+ long-jump; this is taken care of by unwind_to_catch.
+
+1992-09-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * alloc.c (mark_object): Avoid car recursion on cons with nil in cdr.
+ Avoid recursion on constants-vector of a compiled function.
+
+ * oldXMenu: Symlink deleted; anything that uses it needs fixing
+ in any case to work properly on systems without symlinks.
+
+1992-09-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/sol2.h: New file.
+
+ * fileio.c: Don't include sys/dir.h.
+
+ * s/usg5-4.h (LIBS_SYSTEM): Move non-default libraries here.
+ (LIB_STANDARD, START_FILES): Deleted.
+ (ORDINARY_LINK): Defined.
+
+ * ymakefile [ORDINARY_LINK]: Default LD to $(CC)
+ and make START_FILES and LIB_STANDARD empty.
+ (C_SWITCH_X_MACHINE, C_SWITCH_X_SYSTEM): New macros, default empty.
+ (CFLAGS): Use them.
+
+1992-09-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (${etc}DOC): Use OBJECTS_SYSTEM and OBJECTS_MACHINE.
+
+ * dired.c [VMS]: Include string.h, rms.h, rmsdef.h.
+ [VMS] (Ffile_version_limit): New function.
+
+ * sysdep.c (sys_suspend): Read EMACS_PARENT_PID envvar for parent.
+
+ * syntax.c (scan_lists): When searching back for comment:
+ if comment-end is 2 chars, assume it does end a comment.
+ Otherwise, scan back to previous comment-end to see if there's
+ a comment starter between. Also record whether the string quotes
+ between the start and the end are paired and uniform.
+ If so, skip to comment starter. If not, scan from start of
+ defun to find comment starter if any.
+ (find_defun_start): New function.
+
+ * alloc.c (mark_object): Save last 500 values of objptr.
+ Check for clobberage of ptr, when marking a vector.
+
+1992-09-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (get_keyelt): Skip menu help string after menu item name.
+
+1992-09-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * buffer.c (Fget_buffer_create): Doc fix.
+
+ * lisp.h (struct handler): Remove the poll_suppress_count member
+ of this structure; it is always equal to the poll_suppress_count
+ of its catchtag structure. The non-local exit code in eval.c is
+ difficult enough to understand as it is; needless duplication
+ doesn't help.
+ * eval.c (Fcondition_case): Rearranged for clarity. Don't worry
+ about setting h.poll_suppress_count; it's guaranteed to be the
+ same as c.poll_suppress_count.
+ (internal_condition_case): Don't worry about
+ h.poll_suppress_count.
+ (Fsignal): Use h->tag->poll_suppress_count instead of
+ h->poll_suppress_count.
+
+ * eval.c (Fsignal): It's okay for the debugger to return to the
+ caller if the caller was signalling a quit.
+
+ * eval.c (unbind_catch): Restore the polling suppression count
+ here, instead of in Fsignal and Fthrow.
+ (Fthrow, Fsignal): Don't restore the polling suppression count here.
+
+ * lisp.h (struct specbinding, struct handler): More documentation.
+ * eval.c (struct catchtag): More documentation.
+
+1992-09-17 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (LIBX): Don't use -loldX.
+
+1992-09-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * minibuf.c (get_minibuffer): Enable undo in minibuffers.
+
+1992-09-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * ymakefile (LIBXMENU): Check NO_X_MENU, not HAVE_X_MENU
+ * emacs.c (main): Use X menu code if HAVE_X_WINDOWS and not NO_X_MENU.
+ * keyboard.c (read_char_menu_prompt): Likewise.
+
+ * config.h.in: Delete everything about config.h.
+
+ * emacs.c: Eliminate HIGHPRI as compilation option.
+ (emacs_priority): New C variable, also Lisp variable.
+ (main): Set the priority iff emacs_priority is nonzero.
+
+1992-09-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * eval.c (entering_debugger): Variable renamed
+ when_entered_debugger, and is now a timestamp based on
+ num_nonmacro_input_chars.
+ (init_eval): Initialize when_entered_debugger, not
+ entering_debugger.
+ (call_debugger): Set when_entered_debugger to the current value of
+ num_nonmacro_input_chars.
+ (find_handler_clause): Don't call debugger unless
+ num_nonmacro_input_chars is greater than when_entered_debugger;
+ that way, we won't call the debugger unless the user has had a
+ chance to take control.
+ (Fbacktrace): Don't clear entering_debugger here.
+ * keyboard.h (num_nonmacro_input_chars): Added extern declaration
+ for this.
+
+ * fns.c (Fy_or_n_p): After testing for a QUIT, clear Vquit_flag.
+ Otherwise, if Fy_or_n_p is called while Vinhibit_quit is true and
+ the user presses C-g, this function goes into an infinite loop.
+
+ * dispnew.c (get_display_line): Don't abort if the frame is
+ invisible; since unmap events are handled at the interrupt level,
+ a screen may become invisible at any time.
+
+1992-09-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fverify_visited_file_modtime):
+ Pass buffer itself to handler, if have handler.
+ (Fwrite_region): GCPRO around Fexpand_file_name, Ffile_name_directory.
+ (Fread_file_name_internal): GCPRO around file name manip.
+ (Ffile_writable_p, Ffile_readable_p): Use abspath, not filename,
+ (Ffile_executable_p, Ffile_exists_p): to run the handler.
+ (Fset_file_modes, Ffile_directory_p, Ffile_modes): Likewise.
+ (Ffile_newer_than_file_p): GCPRO around expand_and_dir_to_file.
+
+1992-09-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * s/bsd4-3.h: Give the BSD4_3 and BSD symbols the same numeric
+ definitions they'll get in <sys/param.h>, to avoid warnings.
+
+ * m/hp9000s300.h: Don't include <sys/wait.h>. This really
+ shouldn't be necessary.
+ (BIG_ENDIAN): Define this as "4321", to agree with
+ <machines/endian.h>, and avoid warnings.
+
+ * systime.h: Re-arrange inclusion of <sys/time.h> and <time.h> so
+ that they don't both get included under BSD, and do both get
+ included under AIX.
+
+ * xdisp.c (display_mode_line): If the only other frames are
+ minibuffer frames, don't name the frame after the in the selected
+ window. We can use Fnext_frame to do this test easily.
+
+1992-09-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (Faccept_process_output): Initialize useconds.
+
+ * keyboard.c (num_nonmacro_input_chars): New variable.
+ (read_char): Use num_nonmacro_input_chars to decide on auto-save & gc.
+ Increment it when appropriate.
+ (record_auto_save): Use num_nonmacro_input_chars.
+
+ * fileio.c (Ffile_name_directory, Ffile_name_nondirectory):
+ (Ffile_name_as_directory, Fdirectory_file_name, Fexpand_file_name):
+ Call find_file_handler.
+ (syms_of_fileio): Set up Qfile_name_directory, etc.
+ (Fcopy_file): Call find_file_handler for newname as well as for filename.
+ (syms_of_fileio): Initialize Vfile_name_handler_alist.
+
+1992-09-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callint.c (Fcall_interactively): Remove the 'K' interactive
+ code, in favor of 'e'; that's a better name.
+
+1992-09-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s/esix5r4.h: New file.
+
+ * sysdep.c (init_sys_modes): Handle VDSUSP like V_DSUSP.
+ Use CDISABLE, not CDEL.
+ Turn off IEXTEN if it exists.
+ * systty.h (CDISABLE): New macro; may be defined from CDEL.
+
+ * keyboard.c (command_loop_1): Bind inhibit-quit to t when in Fsit_for.
+
+1992-09-10 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * Makefile.in: Add comments starting with "# DIST: " explaining
+ that this gets munged by the configure script.
+
+1992-09-10 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * s-aix3-1.h (HAVE_GETHOSTNAME): Defined.
+
+1992-09-09 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * frame.c (choose_minibuf_frame): abort if the selected frame has
+ nil in its minibuffer_window slot; this shouldn't happen any more.
+ * window.c (minibuffer_window): Accept an optional FRAME argument;
+ if specified, return the minibuffer used by that frame.
+
+ * keymap.c (describe_buffer_bindings): Adjust key_heading to match
+ the format used by describe_map_tree. Also, don't reprint the
+ "key binding" header above the global bindings if we've already
+ printed it for the local bindings; it's clear enough that the
+ columns mean the same thing as above.
+
+1992-09-08 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * ralloc.c (r_re_alloc): Instead of allocating a new bloc at the
+ end of the heap, copying the data to it, and then freeing the
+ original bloc, just expand the original block. This saves a copy
+ and a call to sbrk, and also removes the large spike in memory
+ allocation that would occur when resizing large buffers. And it's
+ less code.
+
+ * keyboard.h (Vkeyboard_translate_table): Declare this extern
+ here, so describe_buffer_bindings can use it.
+ * keymap.c (describe_buffer_bindings): Declare buf and bufend...
+
+1992-09-05 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * systime.h: Always #include <time.h>, not just when NEED_TIME_H
+ is defined. It gets us struct tm. #include <sys/time.h> whenever
+ HAVE_TIMEVAL is defined and NEED_TIME_H isn't.
+
+ * systime.h: Note that the tz_dsttime field of the struct timezone
+ returned by gettimeofday doesn't say whether daylight savings is
+ _currently- active; rather it specifies whether it is *ever*
+ active.
+ (EMACS_GET_TZ_OFFSET_AND_SAVINGS): Removed `savings_flag'
+ argument, and renamed to EMACS_GET_TZ_OFFSET. Don't try to
+ extract savings information. EMACS_CURRENT_TIME_ZONE should call
+ localtime to figure out whether DST is active.
+
+ * m/hp9000s300.h: #include <sys/wait.h> before doing anything
+ else, to avoid conflicts between the system's and Emacs's
+ definitions of BIG_ENDIAN.
+
+ * keymap.c (describe_buffer_bindings): Set the current buffer to
+ descbuf before calling current_minor_maps; that function's value
+ depends on the values of buffer-local variables. Don't set the
+ current buffer to Vstandard_output until afterwards.
+
+ * keymap.c (describe_buffer_bindings): If
+ Vkeyboard_translate_table is in effect, describe its effects.
+
+ * frame.c (Fnext_frame): Doc fix.
+
+ * frame.c (prev_frame): #if 0'd out; nobody uses this.
+
+ * frame.c (next_frame): The logic which determines whether a frame
+ is acceptable to return was misarranged; rewrote it.
+ (prev_frame): Same thing.
+
+1992-09-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * syntax.c (scan_lists): Improve smarts for backwards scan of comments.
+ Don't modify comstyle inside that loop.
+ If string quotes don't match up, don't take value from OFROM;
+ instead, parse forward using scan_sexps_forward.
+ (scan_sexps_forward): Return value via a pointer passed in.
+ New element in state contains char addr of last comment-starter seen.
+ (Fparse_partial_sexp): Change call to scan_sexps_forward.
+
+1992-09-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xmenu.c (xmenu_show): If no panes, just return.
+
+ * keyboard.c (last_nonmenu_event): New var.
+ (syms_of_keyboard): New Lisp var.
+ (read_key_sequence): Use that instead of prev_event.
+ * commands.h (last_nonmenu_event): Declared.
+ * callint.c (Fcall_interactively): For `K', use last_nonmenu_event.
+ Make `e' alias for `K'.
+
+1992-09-03 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * editfns.c (Fcurrent_time_string): Change docstring to
+ indicate that we will probably add the timezone to the end,
+ now that we have it available on many systems.
+
+ * xrdb.c: Don't include <X11/Xos.h>. Under R4, it stupidly
+ insists on defining SIGCHLD, even if it already has a definition.
+ (file_p): Use the constant 4 instead of R_OK; empirically, the
+ number is more portable than the symbol if you count the #include
+ hair you have to go through to get R_OK defined. Ffile_readable_p
+ does this too.
+
+ * xterm.c (x_wm_set_size_hint): Set the base_width and base_height
+ members of size_hints, if they're available (X11R4 and after);
+ otherwise, approximate the right thing, by using min_width and
+ min_height as the base size.
+
+1992-09-02 Barry A. Warsaw (warsaw@anthem.nlm.nih.gov)
+
+ * Extended syntax.c in the following ways to support up to 2
+ orthogonal comment styles per mode. This is needed for C++.
+ Bit 6 of syntax table entry for a character indicates
+ it is part of the `b' comment style. Otherwise it is
+ part of the `a' style.
+ * syntax.h (SYNTAX_COMMENT_STYLE): New macro.
+ * syntax.c (Fmodify_syntax_entry): Set that flag for `b'.
+ (describe_syntax): Print the `b' flag.
+ (scan_lists, scan_sexps_forward): Handle the new flag.
+ (Fparse_partial_sexp): Return new element in value.
+
+1992-09-02 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * fileio.c (syms_of_fileio): Doc fix for Vfile_name_handler_alist.
+
+1992-09-02 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * keyboard.c (kbd_buffer_get_event): When performing the
+ FRAME_FOCUS_FRAME redirection, don't modify the frame field of
+ the event; that fatally corrupts mouse click events. Instead,
+ just perform the redirection on the value assigned to
+ Vlast_event_frame.
+
+ * callint.c (Fcall_interactively): Don't try to get the
+ `enable-recursive-minibuffers' property from FUNCTION unless
+ FUNCTION is actually a symbol; there are some cases where a key
+ sequence is bound directly to a lambda form, and there's no reason
+ to break these.
+
+ * window.c (Fset_window_configuration): Don't signal an error
+ if the frame size saved in the window configuration doesn't
+ match the frame's current size; instead, temporarily resize
+ the frame while installing the window configuration. This is
+ important because using the minibuffer saves and restores the
+ current window configuration, and you don't want to signal an
+ error just because the user resized the frame while using the
+ minibuffer.
+
+ * doc.c (Fsnarf_documentation): Signal an error if this is
+ called in a dumped Emacs.
+
+ * alloc.c (mark_object): mark a symbol's name after marking its
+ value, function, and property list rather than before; this way,
+ symbols' names are readable, giving us a chance to detect some
+ kinds of heap corruption.
+
+1992-09-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * emacs.c (__main, __do_global_dtors): New dummy functions.
+ (__do_global_ctors_aux, __do_global_ctors): Fix typo in fn names.
+
+1992-09-01 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * prefix-args.c: New file. See comment at top of file.
+ * ymakefile (YMF_PASS_LDFLAGS): Use the prefix-args program to
+ affix the -Xlinker prefix to the linker arguments.
+ (prefix-args): New target.
+ (temacs): Depend on prefix-args.
+
+ * xterm.c (x_catch_errors): Don't forget to initialize
+ x_caught_error_message to the null string, so x_check_errors can
+ tell when an error has occurred.
+
+ * unexmips.c (mark_x): Declare this as static void at the top of
+ the file and at the function definition.
+
+ * keyboard.c (input_available_signal): Declare this to return
+ SIGTYPE.
+
+ * xrdb.c (getuid): Declare this to return short.
+
+ * s/bsd4-3.h: Remove definition of SIGTYPE macro; Mt. Xinu says
+ it's int, but Ultrix says it's void. Since the SIGTYPE guessing
+ code in the `configure' script gives the correct answer for both
+ of these cases, there's no point in listing it here.
+
+ * systime.h (EMACS_CURRENT_TIMEZONE): Change documentation to
+ indicate that *OFFSET should be set to the number of minutes EAST
+ of Greenwich, which is what Ed Reingold says real time gurus want.
+ Changed the definition of the EMACS_GET_TZ_OFFSET_AND_SAVINGS
+ macro to reflect this. Buggily, the Fcurrent_time_zone function
+ was already expecting minutes east of GMT.
+
+ * Makefile.in (distclean): Remove backups from the `m' and `s'
+ directories, too.
+
+ * m/mips.h: Merge changes from Emacs 18.58:
+ [NEWSOS5]: Changes so this file can be used with s/newsos5.h.
+ (SIGN_EXTEND_CHAR): Define this using a cast to signed char. I
+ guess the MIPS compiler and its derivatives all have this type.
+ (HAVE_ALLOCA, C_ALLOCA): Define the former if we're compiling with
+ GCC, and the latter otherwise.
+ (C_SWITCH_MACHINE): Defined, instead of C_SWITCH_SYSTEM.
+ (LINKER): Defined, if BSD.
+ (XUINT, XSET, XUNMARK): Add parentheses to eliminate warnings from
+ GCC. Reindent to fit in 80 columns.
+ INHIBIT_BSD_TIME prevents including bsd/sys/time.h.
+ * s/newsos5.h: New file for Sony NEWS-OS release 5, courtesy of
+ Chris Hanson <cph@klia.ai.mit.edu>.
+
+ * m/mips.h: Don't undefine LOAD_AVE_TYPE; the comment says that
+ Emacs 19 has the crocks to handle it properly.
+
+ * m/pmax.h: Merge changes from Emacs 18.58:
+ (LIB_STANDARD, COFF, TERMINFO): Cancel out definitions from
+ m/mips.h which are only appropriate for USG.
+ (MAIL_USE_FLOCK, HAVE_UNION_WAIT): Do define these.
+ (BROKEN_O_NONBLOCK): Defined.
+ (LINKER): Don't define this.
+ [OSF1]: Undef C_ALLOCA, define HAVE_ALLOCA.
+
+ * s/osf1.h: New file.
+
+ * s/bsd4-3.h: Merge changes from Emacs 18.58:
+ (BSD, BSD4_3): Just define these, don't fret about numerical
+ values or version numbers.
+
+ * m/hp9000s300.h: Merge changes from Emacs 18.58, and hp300bsd.h:
+ Change configuration note to say it's okay to use this file for BSD.
+ Add comment saying that NOMULTIPLEJOBS must be defined for
+ versions of HP/UX before 6.5.
+ Don't define BIG_ENDIAN if it seems that <endian.h> has already
+ done so.
+ [BSD4_3] Define m68000, instead of hp9000s300; crt0.c uses these
+ to decide what sort of startup code to use.
+ [not BSD4_3] Under HP/UX, always define the BSD memory functions
+ (bcopy, bzero, and bcmp) in terms of the SYSV string functions
+ (memcpy, memset, and memcmp), not just under HP/UX 5; version 6's
+ BSD compatibility library has reported bugs in `signal'.
+ (NEED_BSDTTY): Move this symbol's definition inside the "not
+ BSD4_3" conditional, since it's only relevant to HP/UX.
+ * m/hp300bsd.h: File deleted, since m/hp9000s300.h now
+ works with both HP/UX and BSD; it includes m/hp300bsd.h's
+ specifications.
+
+ * m/hp9000s300.h: Remove definition for SIGN_EXTEND_CHAR; this is
+ only used by the regexp code, which has its own portable
+ definition these days.
+
+1992-08-31 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keymap.c (Fmake_sparse_keymap): New optional arg. Callers changed.
+ (Fmake_keymap): Likewise.
+
+ * emacs.c (__do_global_ctors, __do_global_ctors_aux): New dummy fns.
+ (__CTOR_LIST__, __DTOR_LIST__): New dummy variables.
+
+ * fileio.c (Fdo_auto_save): Always call record_auto_save.
+
+ * keyboard.c (read_char): Call read_char_menu_prompt here.
+ Accept 4 new args to pass to it. Include them in recursive call.
+ Don't delay before starting echo if prev_event was a mouse event.
+ Test for eof in batch mode now understands C is a Lisp_Object.
+ (read_key_sequence): Don't call it here; always call read_char.
+ Don't change last_event_buffer after a mouse menu input.
+ (read_char_menu_prompt): Arg PROMPT deleted.
+ Return nil if nothing to do.
+
+ * xmenu.c (Fx_popup_menu): Treat coords relative to spec'd window.
+ (single_keymap_panes): New function; contains guts of keymap_panes.
+ If a command binding for submenu has a prompt string starting with @,
+ make a separate pane for it at this level.
+
+ * xfns.c (Fx_track_pointer): Pass new args to read_char.
+ (Fx_select_region, Fx_horizontal_line): Likewise.
+ * lread.c (Fread_char): Pass new args to read_char.
+ (Fread_event, Fread_char_exclusive): Likewise.
+ * fns.c (Fy_or_n_p): Pass new args to read_char.
+
+1992-08-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Keep track of prev_event.
+ Pass new proper args to read_char_menu_prompt.
+ (read_char_menu_prompt): New arg prev_event. Use Fx_popup_menu.
+ Handle any number of keymaps, not just LOCAL and GLOBAL.
+ Invert meaning of arg PROMPT. Test of menu_prompting was backwards.
+
+ * keymap.c (keymap_table): No longer static.
+
+ * xmenu.c (keymap_panes): New function.
+ (Fx_popup_menu): Accept keymap or list of keymaps as MENU argument.
+ Accept mouse button event as POSITION argument.
+
+1992-08-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * cmds.c (internal_self_insert): Assume Fexpand_abbrev expanded
+ something if it incremented MODIFF.
+
+1992-08-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * unexmips.c (unexec): Allow sections in any order.
+ Adjust addresses of rdata section as well as data section.
+
+ * buffer.c (syms_of_buffer): Made buffer-display-table,
+ buffer-field-list and buffer-undo-list allow any type of value.
+
+1992-08-27 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fns.c (Fappend): Doc fix.
+
+1992-08-24 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * s/usg5-4.h: Incorporate changes from 18.58:
+ (LIBX10_SYSTEM): Undefine this.
+ (GNULIB): Definition deleted -- done in ymakefile.
+ (LIB_STANDARD): Don't use GNULIB.
+ (HAVE_TCATTR): Defined.
+
+ * xfns.c (x_icon): Don't call x_wm_set_icon_positions if the user
+ hasn't specified the icon position. Let the window manager put
+ the icon where it likes.
+
+ * xterm.c (x_make_frame_invisible): Don't forget to check the
+ return value of XWithdrawWindow; it could indicate that the window
+ wasn't successfully redrawn.
+
+ * sysdep.c (init_baud_rate): Re-arranged order of conditionals -
+ test TERMIOS before TERMIO; when two options might both be
+ defined, test the most recent first, so that the most recent
+ functions get used.
+
+ * sysdep.c [HAVE_TERMIO] (init_baud_rate): Don't use tcgetattr
+ unless HAVE_TCATTR is defined. Only very rarely do termio systems
+ have the tc{get,set}attr macros.
+
+ * window.c (coordinates_in_window): Do not assume that all
+ one-line windows are the minibuffer, or that all minibuffers are
+ one line high. Use MINI_WINDOW_P.
+
+ * systerm.h: Renamed to systty.h, to be more consistent with
+ everything else in Unix.
+ * dispnew.c, emacs.c, keyboard.c, process.c, sysdep.c: #include
+ directive changed.
+ * ymakefile: References to systerm.h changed.
+
+ * s/usg5-3.h: Merged changes from 18.58:
+ (HAVE_SYSV_SIGPAUSE): Defined.
+ (BROKEN_TIOCGETC): Defined.
+
+1992-08-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (WCOREDUMP): Define only if not defined.
+ (create_process) [HAVE_SETSID]: Use TIOCSCTTY if exists.
+
+1992-08-20 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * fileio.c (Fdo_auto_save): Call Fsleep_for with the appropriate
+ number of arguments.
+ * fns.c (Fyes_or_no_p): Same.
+
+ * dispnew.c (update_frame): Change the way we handle
+ cursor_in_echo_area. Firstly, ignore this if the frame we're
+ updating doesn't have a minibuffer. Secondly, don't handle the
+ selected frame specially. Thirdly, don't assume that the
+ minibuffer is only one line high. If cursor_in_echo_area < 0, put
+ the cursor in the upper-left corner; if cursor_in_echo_area > 0,
+ put it on the lowest non-empty line in the minibuffer window, or
+ on the top line.
+
+ * dispnew.c (direct_output_for_insert): Fail if
+ cursor_in_echo_area is set; we don't want to do the typing there.
+ (direct_output_for_insert): Same.
+
+1992-08-19 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (x_make_frame_invisible): Use XWithdrawWindow when
+ available [HAVE_X11R4]; send the UnmapNotify event when
+ appropriate [HAVE_X11]; just unmap the window if that's all that's
+ needed [not HAVE_X11].
+
+ * xterm.c (x_set_text_property): Removed; it's only called from
+ one place. Who wants *another* layer of indirection?
+ * xfns.c (x_set_name): Use XSetWM{Name,IconName} when available
+ [HAVE_X11R4], or XSetIconName and XStoreName otherwise.
+
+ * xterm.h (FRAME_X_WINDOW): New macro, for readability.
+ * xterm.c, xfns.c, xselect.c: Use it.
+
+ * emacs.c (Fkill_emacs): Doc fix.
+ (syms_of_emacs): Doc fix for Vkill_emacs_hook.
+
+ * xterm.c (x_death_handler): Renamed to x_connection_closed.
+ (x_term_init): Use x_connection_closed as the SIGPIPE handler.
+
+ * xterm.c (acceptable_x_error_p, x_handler_error_gracefully,
+ x_error_handler): Removed; you can't catch X errors this way,
+ since you can't perform X operations from within an X error
+ handler, and even though we call error, we're still within an X
+ error handler.
+ (x_error_quitter, x_error_catcher): New functions, for panicking
+ on and catching X protocol errors.
+ (x_caught_error_message): Buffer for caught X errors.
+ (x_catch_errors, x_check_errors, x_uncatch_errors): New functions
+ for catching errors.
+ (x_term_init): Set the error handler to x_error_quitter, rather
+ than x_error_handler.
+ * xfns.c (x_set_mouse_color): Use x_catch_errors, x_check_errors,
+ and x_uncatch errors to avoid crashing if the user selects an
+ odd cursor.
+
+ * xterm.c (x_proto_requests): Removed; it's not important.
+
+ * xterm.c (events): Array removed; it's not used.
+
+ * xfns.c (select_visual): Use XVisualIDFromVisual when available
+ [HAVE_X11R4].
+
+ * xrdb.c (get_user_db): Use XResourceManagerString when available
+ [HAVE_X11R4].
+
+ * window.c (change_window_height): If the size of the window will
+ shrink below the minimum, this code would only try to delete it if
+ it had a parent. Well, even if the window doesn't have a parent,
+ you want Fdelete_window to signal an error, since you're trying to
+ resize one of the undeleteable windows into nothingness. So call
+ Fdelete_window even if the window doesn't have a parent.
+
+ * window.c (MINSIZE): Add kludge so that the minibuffer is always
+ allowed to shrink to one line in height.
+ (MINSIZE, CURBEG, CURSIZE): Change these so that their argument
+ are always Lisp_Objects, not struct window *'s.
+ (change_window_height): Changed accordingly.
+
+1992-08-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * frame.h (struct frame): New member - explicit_name.
+ * frame.c (make_frame): Clear it.
+ * xfns.c (x_set_name): Take new argument EXPLICIT, instead of
+ OLDVAL.
+ (x_explicitly_set_name, x_implicitly_set_name): New functions.
+ (x_frame_parms): Use x_explicitly_set_name here.
+ (x_window): Use x_implicitly_set_name here.
+ * xdisp.c (display_mode_line): Use x_implicitly_set_name here.
+
+ * xterm.c (x_wm_hints): Variable deleted. This has to be
+ per-screen. Duh.
+ * xterm.h (struct x_display): New member: wm_hints.
+ * xterm.c (x_wm_set_window_state, x_wm_set_icon_pixmap,
+ x_wm_set_icon_position): Use F->wm_hints, rather than x_wm_hints.
+ (x_term_init): Don't initialize x_wm_hints here.
+ * xfns.c (Fx_create_frame): Instead, initialize f->x_wm_hints
+ here.
+
+ * xterm.c (x_set_text_property): Properly balance the BLOCK_INPUTs
+ and UNBLOCK_INPUTs. And remember that VALUE is the string we want
+ to set the name to, not PROPERTY.
+
+1992-08-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * frame.c (make_minibuffer_frame): Don't set this to auto-raise by
+ default. It's annoying.
+
+ * frame.c (make_minibuffer_frame): Set the prev field of the
+ minibuffer window on a minibuffer-only frame to Qnil, rather than
+ having it point to itself. This confuses code (Fprevious_window
+ and change_window_height, for example), and is only an attempt to
+ support a convention that can't really be used in Emacs 19 anymore.
+ * window.h: Document the fact that we can no longer assume that
+ the minibuffer's previous window is the root window, since a
+ minibuffer window in a minibuffer-only frame has a prev field of
+ nil.
+ * frame.h [not MULTI_FRAME] (FRAME_ROOT_WINDOW): Define this by
+ reference to the_only_frame.root_window, rather than by assuming
+ that minibuf_window->prev is the root window. While this is true
+ in the non-multi-frame case, we want to discourage this assumption
+ in code.
+ * dispnew.c [not MULTI_FRAME] (Fredraw_display): Use
+ FRAME_ROOT_WINDOW instead of minibuf_window->prev.
+ * xdisp.c (redisplay, init_xdisp): Same.
+ * window.c (Fset_window_configuration): Removed #if 0'd code which
+ assumes that minibuf_window is on the same frame as the window
+ configuration. Removed special case for windows whose prevs
+ point to themselves.
+
+ * window.c (Fset_window_configuration): Rename the argument from
+ ARG to CONFIGURATION, so it matches the docstring. The
+ make-docfile program cares.
+
+ * window.c [MULTI_FRAME] (syms_of_window): Don't staticpro
+ minibuf_window; the frame list will take care of it.
+
+ * xterm.h (HAVE_X11R4): Since we can autodetect this, and can
+ write code more likely to be future-compatible, define this when
+ appropriate.
+ * xterm.c (x_set_text_property): Define this appropriately for
+ X11R3 and X11R4.
+
+ * xterm.c (x_set_text_property): Make this take a Lisp_Object
+ string as an argument, rather than a pointer and a length.
+ * xfns.c (x_set_name): Caller changed.
+
+ * xfns.c (x_get_arg): Accept a new type - symbol. If we've
+ retrieved a string from the xrdb database and the user wants a
+ symbol, intern it.
+ (Fx_create_frame): Use the symbol type here.
+
+ * xfns.c (x_figure_window_size, x_icon, Fx_create_frame): Use
+ values from enum resource_types for the last arg to x_get_arg,
+ instead of passing numbers.
+
+ * xfns.c (Fx_create_frame): When setting up the scroll bars, use
+ the type parameter to x_default_parameter, rather than prefixing
+ the resource name with a question mark.
+
+ * xfns.c [not HAVE_X11] (Fx_create_frame): The resource which
+ determines whether or not to use a bitmapped icon is called
+ "IconType", not "BitmapIcon". Update this.
+
+1992-08-15 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c: Doc fixes.
+
+ More SYSV portability changes from Eric Raymond:
+
+ * xterm.c [USG5]: Don't include <sys/types.h>.
+
+ * xterm.c (x_make_frame_invisible): Instead of calling XWithdraw
+ window, which isn't widely available, write out what it does,
+ since that's not much.
+ (x_iconify_frame): Explicitly perform both the X11R3 and X11R4
+ methods for iconification; don't use XIconifyWindow, since that's
+ not present in R3.
+
+ * xterm.c (x_wm_set_size_hint): Don't bother setting the
+ base_width and base_height members; their function is performed
+ just as well by the min_width and min_height members, and if we
+ use XSetNormalHints instead of XSetWMNormalHints, we can be
+ compatible with R3.
+
+ * xterm.c (x_error_handler): There is no way to invoke the default
+ error handler which works on all versions of X11, so don't bother;
+ call XGetErrorText and print the message ourselves.
+
+ * xterm.c (x_term_init): Don't use MAXHOSTNAMELEN; this isn't
+ defined on all systems. Since we only use that as an initial
+ guess anyway, it's not very important.
+
+1992-08-14 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * abbrev.c (Fexpand_abbrev): If pre-expand hook changes the buffer,
+ assume that means we "did an expansion".
+
+ * cmds.c (internal_self_insert): Ignore value of Fexpand_abbrev;
+ instead, check whether buf is modified when it returns.
+
+1992-08-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ Applied SYSV portability changes from Eric Raymond:
+
+ * xrdb.c [USG5]: Define SYSV, and then include <unistd.h>.
+ Apparently, Xlib.h include string.h if SYSV is defined, and
+ strings.h if not.
+ Don't include <sys/types.h>; just declare getuid to return an
+ int. Big deal.
+ (MAXPATHLEN): If this is not defined by the system's include
+ files, give it a value of 256.
+ (get_user_db): Fetch the defaults directly from the display
+ structure, rather than using XResourceManagerString; that
+ function doesn't exist in the older versions of X.
+
+ * xterm.c (x_set_text_property): New function.
+ * xfns.c (x_set_name): Use it instead of XSetWMName and
+ XSetWMIconName.
+
+ * xfns.c (select_visual): Fetch the visual id directly from v;
+ don't call XVisualIDFromVisual, since that function is not
+ available in earlier versions of X.
+
+ * term.c (term_get_fkeys): Some systems define `static' to be the
+ empty string, which means that you can't have constant
+ initialized arrays inside a function. So move the `keys' array
+ outside of the function.
+ * xdisp.c (decode_mode_spec): Same deal, with lots_of_dashes.
+ * xfns.c (x_make_gc): Same deal, regarding cursor_bits.
+
+ * term.c (keys): Include definitions for "K2" (the center key on
+ an IBM keypad), "F1" (F11), and "F2" (F12). Handle "k0" and "k;"
+ specially; see the code for details.
+
+ * term.c (clear_end_of_line): Remember that on some systems,
+ "static" gets defined to be the null string, so we can't declare
+ an array to be static and then initialize it. Since the array in
+ question (buf) is only one element long, just make it a scalar
+ rather than an array; it can then be initialized, even if it's
+ not static.
+
+ * systime.h [not HAVE_TIMEVAL] (EMACS_USECS, EMACS_SET_USECS):
+ Don't forget to define dummy versions of these.
+
+ * systime.h [USE_UTIME]: time_t is a typedef, not a struct.
+ Don't prefix it with `struct'.
+
+ * systerm.h (EMACS_SET_TTY_PGRP): When there doesn't seem to be
+ any way to do this, don't forget to give it a dummy definition.
+
+ * sysdep.c (select): There's no need to cast the return value of
+ signal anymore, since we have the SIGTYPE macro defined.
+
+ * sysdep.c (read_input_waiting): When scanning for quit
+ characters, use the value of quit_char, rather than assuming that
+ C-g is the quit character. And don't forget to declare i.
+
+ * sysdep.c [USG5]: Don't include fcntl.h.
+
+ * s/usg5-3.h: Eric Raymond writes:
+ Define HAVE_SELECT and BSTRINGS only if HAVE_X_WINDOWS is on,
+ because that means we'll be linking in the shared libraries
+ containing the BSD emulations. Teach the file about the shared
+ libraries necessary to link X programs, because AT&T doesn't
+ supply static libraries for X. Also, fix the incorrect assertion
+ that -lg cannot be used with SVr3. Finally, force USE_UTIMES and
+ BROKEN_TIOCGWINSZ. (Note for the future; there may be a
+ utimes(2)) emulation lurking in the X shared libraries.)
+
+ * s/usg5-4.h (USE_UTIME): Remove this definition; the C library
+ still doesn't have utimes.
+
+ * ralloc.c (get_bloc): When initializing new_bloc->variable, cast
+ NIL to (POINTER *).
+ (malloc_init): Give warning if sbrk returns zero. Wonder what
+ that's supposed to mean.
+
+ * process.c (process_send_signal): Don't send SIGTSTP if the
+ system doesn't have that facility.
+
+ * process.c: [USG5] Don't include <fcntl.h>.
+ [USG] Don't bother including <termios.h>, <termio.h>, or
+ <fcntl.h>; systerm.h takes care of all that.
+ Remove the "mis;tak-+;;" line from the code; apparently this
+ section of code does get used.
+
+ * minibuf.c (Fread_from_minibuffer): Put this function's doc
+ string into a comment; it's too long for the PCC preprocessor.
+ Rah.
+ (Fcompleting_read): Same deal.
+
+ * keyboard.c (init_keyboard): Changed "#endif SIGIO" to
+ "#endif /* SIGIO */"
+ * mocklisp.c (Fml_substr): Same sort of thing.
+ * process.c (wait_reading_process_input): Same.
+
+ * floatfns.c (Fexpm1, Flog1p): Function removed; it's not widely
+ available, and hardly vital.
+ (syms_of_floatfns): Adjusted appropriately.
+
+ * floatfns.c (Flog): Accept optional second arg, being the base
+ for the logarithm.
+ [USG] (Flogb): Define this in terms of Flog.
+
+ * data.c [USG] (Frem): Call fmod, rather than drem. Rah.
+
+ * emacs.c [USG5]: Don't #include <fcntl.h> for these systems.
+
+ * alloc.c (Fmake_marker): Removed the test for being called from a
+ signal handler. The original bug is probably gone, the test
+ wasn't written portably, and it should probably go somewhere else
+ anyway - say, funcall or eval.
+
+ End of changes from Eric Raymond.
+
+ * xfns.c (Fx_create_frame): Make the default for the icon-type
+ parameter nil, not t. It seems to cause problems with some X
+ servers.
+
+ * lisp.h (DEFVAR_PER_BUFFER): Add new argument, TYPE, to help
+ check the types of buffer-local variable slots.
+ * buffer.c (syms_of_buffer): Call DEFVAR_PER_BUFFER with the new
+ TYPE argument.
+ * abbrev.c (syms_of_abbrev): Same.
+ * buffer.c (buffer_local_types): New variable.
+ (buffer_slot_type_mismatch): New function.
+ * buffer.h (buffer_local_types): New extern declaration.
+ * data.c (store_symval_forwarding): When storing through a
+ Lisp_Buffer_Objfwd, check if the slot requires a particular type,
+ and report an error if the types clash.
+ * lread.c (defvar_per_buffer): Support new TYPE argument, by
+ setting the appropriate slot in buffer_local_types.
+
+1992-08-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * window.c (window_loop): This used to keep track of the first
+ window processed and wait until we came back around to it. Sadly,
+ this doesn't work if that window gets deleted. So instead, use
+ Fprevious_window to find the last window to process, and loop
+ until we've done that one.
+
+ * window.c [not MULTI_FRAME] (init_window_once): Don't forget to
+ set the `mini_p' flag on the new minibuffer window to t.
+
+ * window.c (Fwindow_at): Don't check the type of the frame
+ argument.
+
+ * window.c [not MULTI_FRAME] (window_loop): Set frame to zero,
+ instead of trying to decode it.
+
+ * frame.h [not MULTI_FRAME] (the_only_frame): Put a comment above
+ this indicating that it's not GCPRO'd. Put parens around some of
+ the FRAME_* macros' definitions.
+ [not MULTI_SCREEN] (Fselected_frame): New function.
+
+ * frame.h [not MULTI_FRAME] (FRAME_ROOT_WINDOW): Define this in
+ terms of minibuf_window, rather than by reference to
+ the_only_frame.
+ * window.c (init_window_once): Initialize minibuf_window before
+ FRAME_ROOT_WINDOW, so the latter actually points to something.
+
+ * keyboard.c (Fexecute_mouse_event): dyked-out function deleted.
+ We're not going to use this mouse interface.
+ (Vmouse_window, Vmouse_event, Vmouse_event_function,
+ Vmouse_left_hook, Vmap_frame_hook, Vunmap_frame_hook,
+ Vmouse_motion_handler): Variables deleted; they were to be used by
+ Fexecute_mouse_event.
+ (syms_of_keyboard): Same.
+ (command_loop_1): Remove dyked-out code to support
+ Fexecute_mouse_event.
+ (read_char): Same.
+
+ * keyboard.c (Vlast_event_frame): Don't define this window if
+ MULTI_FRAME is not #defined.
+ (syms_of_keyboard): Same.
+ (kbd_buffer_store_event): Don't try to work with Vlast_event_frame
+ if MULTI_FRAME is not #defined.
+ (kbd_buffer_get_event): Same.
+
+ * keyboard.c (Fdiscard_input): Removed dyked-out code from when
+ unread_command_char's quiescent value was -1, not nil.
+
+ * frame.c (make_frame): Stop passing zero to make_window; it's not
+ expecting any arguments.
+
+1992-08-12 Jim Blandy (jimb@albert.gnu.ai.mit.edu)
+
+ * unexsunos4.c: Deleted "$Log" header in comments at top of file;
+ this was beginning to grow RCS hair, which we don't want.
+ * xmenu.c: Same deal.
+
+1992-08-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * fileio.c (Fread_filename): Don't add one here.
+ * minibuf.c (Fcompleting_read): Instead, stop subtracting one
+ here, so this function lives up to its doc string, which I think
+ specifies an okay way to work.
+
+ * doc.c (Vdata_directory): Removed; this is declared in callproc.c.
+ (syms_of_doc): Initialization removed.
+
+ * xfns.c (x_get_arg): Return Qunbound for an unspecified
+ resource, not nil. That way, we can tell the difference between a
+ false resource and an unspecified resource.
+ (x_default_error): Use DEFLT if x_get_arg returns Qunbound, not Qnil.
+ (x_figure_window_size, x_icon, Fx_create_frame): Deal with
+ Qunbound and Qnil properly.
+
+ * xfns.c (Fx_create_frame): Pass the correct number of arguments
+ to x_set_font.
+
+ * xfns.c [not HAVE_X11] (Fx_create_frame): Delete section that's
+ only included if we *do* have X11. Blind patching.
+
+ * xfns.c (x_icon): Rewritten to call x_wm_set_icon_position and
+ x_wm_set_window_state instead of calling XSetWMHints directly.
+ * xterm.c (x_wm_hints): New variable.
+ (x_wm_set_window_state, x_wm_set_icon_pixmap,
+ x_wm_set_icon_position): Use x_wm_hints.
+ (x_term_init): Set the `input' field of x_wm_hints, and its flag.
+
+ * xterm.c (x_text_icon): Call x_wm_set_icon_pixmap with a pixmap
+ of zero, to clear the pixmap.
+ (x_wm_set_icon_pixmap): Accept this protocol; if pixmap is zero,
+ specify no pixmap for the icon.
+
+ * xfns.c (x_default_parameter): Don't call store_frame_param here;
+ it's already taken care of by x_set_frame_parameters.
+
+ * xfns.c (Fx_create_frame): Check for the `icon-type',
+ `auto-raise', and `auto-lower' parameters. Have `icon-type'
+ default to t, indicating that we want the nifty gnu in our icons.
+ (Qauto_lower): New symbol.
+
+ * xfns.c (x_set_icon_type): UNBLOCK_INPUT before reporting the
+ error, not after. error doesn't return, sklitch-brain.
+
+ * xterm.c (x_set_window_size): Call check_frame_size to make sure
+ that the requested dimensions are within acceptable limits.
+ Store the new size information in the frame structure.
+
+ * xfns.c (x_set_frame_parameters): Properly recognize changes to
+ the height of the frame. Recognize changes of the frame's
+ position.
+
+ * xfns.c (x_set_frame_parameters): Iterate over ALIST while the
+ current element is cons, not while it's non-nil.
+ (syms_of_xfns): Call init_x_parm_symbols after interning all the
+ other atoms; init_x_parm_symbols expects Qx_frame_parameter to be
+ initialized.
+
+1992-08-10 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xfns.c (Qbackground_color, Qborder_color, Qborder_width,
+ Qcursor_color, Qfont, Qforeground_color, Qgeometry,
+ Qhorizontal_scroll_bar, Qicon_left, Qicon_top, Qiconic_startup,
+ Qinternal_border_width, Qleft, Qmouse_color, Qparent_id,
+ Qsuppress_icon, Qsuppress_initial_map, Qtop, Qundefined_color,
+ Qvertical_scroll_bar, Qwindow_id, Qx_frame_parameter): New
+ symbols, with lisp code to rebuild syms_of_xfns.
+ (syms_of_xfns): Initialize and staticpro them.
+ (Qheight, Qminibuffer, Qname, Qnone, Qonly, Qwidth,
+ Qunsplittable): Add extern declaration for these.
+ (x_init_parm_symbols): Don't initialize Qx_frame_parameter here;
+ it's done in syms_of_xfns.
+ (x_default_parameter): Change the argument char *PROPNAME into a
+ Lisp_Object PROP; let the caller take care of interning the atom.
+ (Fx_geometry, x_figure_window_size, x_icon, Fx_create_frame): Use
+ the new Q... variables, instead of interning things.
+
+ * frame.c (Qheight, Qicon, Qmodeline, Qname, Qnone, Qonly,
+ Qunsplittable, Qwidth, Qx): New symbol, with lisp code to rebuild
+ syms_of_frame.
+ (syms_of_xfns): Initialize and staticpro them.
+ (Fframep, Fframe_visible_p, Fframe_parameters): Use
+ the new Q... variables, instead of interning things.
+ (store_in_alist): Change the argument char *PROPNAME into a
+ Lisp_Object PROP; let the caller take care of interning the atom.
+
+ * frame.c (Fframe_visible_p): Doc fix.
+
+ * frame.c (Fframe_parameters): When figuring the `minibuffer'
+ parameter, if FRAME doesn't have a minibuffer, return `none', not
+ nil. If it does have a minibuffer with other windows, return the
+ window.
+
+ * frame.c (Fmodify_frame_parameters): Don't write out the loop for
+ processing X frame parameters here; do it in the x specific code.
+ Call the function which deals with this stuff
+ x_set_frame_parameters, not x_set_frame_parameter.
+ * xfns.c (x_set_frame_param): Replaced by x_set_frame_parameters.
+ (x_set_frame_parameters): Process the alist of parameters here.
+ Notice `width', `height', `top', and `left' parameters.
+ Hold off changing the frame size and position until the end, so we
+ can do both parameters at once when they are both specified.
+ (x_default_parameter): Call x_set_frame_parameters, not
+ x_set_frame_param.
+
+ * frame.c (Fmake_frame_visible, Fmake_frame_invisible,
+ Ficonify_frame, Fframe_parameters, Fmodify_frame_parameters,
+ Fset_frame_height, Fset_frame_width, Fset_frame_size,
+ Fset_frame_position): Place clauses controlled by FRAME_X_P inside
+ `#ifdef HAVE_X_WINDOWS ... #endif' clauses.
+
+ * frame.c (Fset_frame_position): Doc fix.
+
+ * dispnew.c (Fredraw_frame): Call clear_frame_records before
+ calling update_end, so that x_display_box_cursor can rely on the
+ contents of f->current_glyphs.
+
+ * xfns.c (x_figure_window_size): Indicate that this function
+ returns an int, rather than just leaving it unstated.
+
+ * xterm.c (x_wm_set_size_hint): Don't try to set the base_height
+ and base_width elements of size_hints if PBaseSize is not
+ #defined. Set the minimum frame size according to the information
+ returned by check_frame_size.
+
+ * window.h (MIN_SAFE_WINDOW_HEIGHT, MIN_SAFE_WINDOW_WIDTH): Macros
+ removed.
+ (check_frame_size): New extern declaration.
+ * window.c (MIN_SAFE_WINDOW_HEIGHT, MIN_SAFE_WINDOW_WIDTH): Macros
+ defined here now.
+ (check_frame_size): New function.
+ * dispnew.c (change_frame_size): Call check_frame_size here,
+ rather than writing out its code. Don't declare newheight and
+ newwidth to be register variables, since we take their address.
+
+ * bytecode.c (Fbyte_code): When metering the Bcall opcodes, make
+ sure the count on the symbol's `byte-code-meter' property does not
+ overflow.
+
+ * bytecode.c (syms_of_bytecode): Add a docstring for
+ byte-metering-on.
+
+1992-08-08 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * dispnew.c (in_display): Variable deleted; it's only ever used as
+ an unofficial parameter to change_frame_size.
+ (change_frame_size): New argument, DELAY, which when non-zero
+ indicates to delay the size change until later. This should be
+ passed as one from signal handlers.
+ (window_change_signal): Call change_frame_size with a DELAY of 1.
+ (do_pending_window_change): Call change_frame_size with DELAY of 0.
+ * frame.c [MULTI_SCREEN] (Fset_frame_height, Fset_frame_width,
+ Fset_frame_size): Same.
+ [not MULTI_SCREEN] (Fset_frame_height, Fset_frame_width,
+ Fset_frame_size, Fset_screen_height, Fset_screen_width): Same.
+ * keyboard.c (Fsuspend_emacs): Call change_frame_size with the
+ proper arguments - the height and width are the second and third
+ arguments, not the first and second. Pass 0 for DELAY.
+ * xfns.c (Fx_create_frame): Call change_frame_size with a DELAY of 0.
+ * xterm.c (XTread_socket, x_do_pending_expose): Call
+ change_frame_size with a DELAY of 1.
+
+ * xterm.c (in_display): Deleted this; it's never used in xterm.c,
+ and there is another variable by the same name in dispnew.c.
+
+ * frame.c [not MULTI_SCREEN] (Fset_frame_height, Fset_frame_width,
+ Fset_frame_size, Fframe_height, Fframe_width): New functions, for
+ use when Emacs is not compiled with multiple screens.
+ [not MULTI_SCREEN] (Fset_screen_height, Fset_screen_width):
+ Functions added for backward compatibility with Emacs 18. These
+ would be just aliases, except that the version 18 functions don't
+ take a FRAME argument.
+ [not MULTI_SCREEN] (syms_of_frame): New function, to defsubr the
+ above and add screen-height and screen-width as aliases for
+ Fframe_height and Fframe_width.
+ * emacs.c (main): Call syms_of_frame unconditionally. When
+ MULTI_FRAME is not defined, it still provides the Fframe_width,
+ Fframe_height, Fset_frame_width, and Fset_frame_height functions.
+
+ * frame.c (Fset_frame_width): Change the size of FRAME, not of
+ selected_frame.
+
+ * frame.c (Fset_frame_width, Fset_frame_height): Declare the
+ `frame' argument to be a Lisp_Object. It used to be undeclared.
+
+1992-08-07 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * dispnew.c, frame.c, frame.h, keyboard.c, scroll.c, term.c,
+ window.c, xdisp.c, xfns.c xterm.c (FRAME_IS_TERMCAP, FRAME_IS_X,
+ FRAME_HAS_MINIBUF): Renamed these to FRAME_TERMCAP_P, FRAME_X_P,
+ and FRAME_HAS_MINIBUF_P, for consistency with the rest of the
+ frame macros.
+
+ * window.h (MIN_SAFE_WINDOW_WIDTH, MIN_SAFE_WINDOW_HEIGHT): New
+ macros.
+ * window.c (check_min_window_sizes): New function.
+ (set_window_height): Call it.
+ (Fsplit_window, change_window_height): Call it, instead of writing
+ out its code.
+ * dispnew.c (change_frame_size): If newlength or newwidth are too
+ small (according to the value of MIN_SAFE_WINDOW_{WIDTH,HEIGHT}),
+ force them larger. This isn't really right, but it's better than
+ crashing.
+
+ * editfns.c (Fcurrent_time_zone): Doc fix.
+
+1992-08-06 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * editfns.c (Fcurrent_time_zone): Don't forget to include code to
+ signal an error when EMACS_CURRENT_TIME_ZONE is not defined.
+
+1992-08-06 Joseph Arceneaux (jla@gnu.ai.mit.edu)
+
+ * doc.c (Vdata_directory): Declared.
+ (syms_of_doc): Initialized.
+
+ * fileio.c (Fread_filename): Add 1 to the offset position for the
+ cursor when reading file names.
+
+1992-08-05 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * systime.h (EMACS_CURRENT_TIME_ZONE): New macro.
+ * editfns.c (Fcurrent_time_zone): New function.
+ (syms_of_editfns): defsubr it.
+
+ * keyboard.c (read_key_sequence): Clear the eighth bit of the
+ character from the key sequence, NOT the index of the character IN
+ the key sequence. How many tries will it take to get it right?
+
+1992-08-04 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * eval.c (syms_of_eval): Doc fix for debug-on-quit.
+
+1992-08-03 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callproc.c (Fcall_process): Doc fix. Used to claim that
+ Fcall_process doesn't wait when BUFFER was nil. It does.
+
+1992-07-30 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * keyboard.c (read_key_sequence): Scan for function keys when t >=
+ mock_input, not when t > mock_input. We do want to scan for
+ function keys when t == mock_input.
+
+ * keyboard.c (read_key_sequence): Don't increment fkey_end when
+ testing to see if keybuf[fkey_end] is a meta-character.
+
+1992-07-27 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * Makefile.in (TAGS): Generate tags for files in ../external-lisp
+ too.
+
+1992-07-26 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * eval.c (find_handler_clause): For quit, don't check Vdebug_on_error.
+ (wants_debugger): Rewrite so it cannot get an error.
+
+ * callint.c (Fcall_interactively): Handle enable-recursive-minibuffers
+ property on the command, by enabling recursive minibuffers.
+ (syms_of_callint): Set Qenable_recursive_minibuffers.
+
+1992-07-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * frame.c (Fmake_frame_visible, Fmake_frame_invisible,
+ Ficonify_frame): Make the first argument optional, defaulting to
+ selected_frame.
+ (Ficonify_frame, Fmake_frame_invisible): Add interactive specs, so
+ we can bind these directly to C-z.
+
+1992-07-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fread_file_name): Use new calling convention for
+ Fcompleting_read, with history as Qfile_name_history.
+ (syms_of_fileio): Set Qfile_name_history; set the var to nil.
+ Do staticpro for the recently created Q* vars.
+
+ * minibuf.c (read_minibuf): Two additional args histvar and histpos.
+ All calls changed.
+ (Fcompleting_read): Last arg is now HIST--(HISTVAR . HISTPOS).
+ Arg INIT can now be (INITIAL-STRING . INITIAL-POSITION).
+ Pass BACKUP_N arg to read_minibuf properly as Lisp object.
+ (Fread_from_minibuffer): Likewise.
+ (syms_of_minibuf): Set Qminibuffer_history and staticpro it.
+
+ * eval.c (Ffuncall, Feval): Support subrs with 7 args.
+
+ * fns.c (Fyes_or_no_p): Use Fread_string, not read_minibuf.
+ * callint.c (Fcall_interactively): For 'S', use Fread_no_blanks_input
+ rather than read_minibuf.
+
+1992-07-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * minibuf.c (Vminibuffer_history_variable): New variable.
+ (syms_of_minibuf): Define variable minibuffer-history-variable.
+ (read_minibuf): Push the string on specified history list.
+
+1992-07-23 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * Makefile.in (doall, doxemacs, dotemacs): Put quotes around CC=${CC}.
+ Don't include $(MAKEOVERRIDES); that is always implicit.
+
+1992-07-22 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): If we have read a
+ meta-character, prefix it with meta_prefix_char before looking it
+ up in the function key keymap.
+
+ * lread.c (Fread_char_exclusive): Code this with a do-while loop,
+ not a while loop with its body repeated.
+
+ * lread.c (Fread_event): Don't make this function's definition
+ conditional on X-windows. It ought to be there no matter how
+ Emacs was built.
+ (syms_of_lread): Don't make its defsubr conditional either.
+
+ * lread.c (Fread_char): Doc fix.
+
+ * fileio.c (find_file_handler): It's called
+ Vfile_name_handler_alist, not Vfile_handler_alist.
+ (Fwrite_region): Declare the variable named `handler'.
+ (Fverify_visited_file_modtime): Use `b->filename', not `filename'.
+ (Fset_visited_file_modtime): Declare the variable named `handler'.
+ * dired.c (Fdirectory_files, Ffile_name_completion): Use
+ `dirname', not `filename'.
+ (Qfile_attributes): New variable.
+ (syms_of_dired): Initialize it.
+
+ * xselect.c (Fx_own_selection): If we're trying to set
+ cut-buffer0, and the value is too large for the X server (as
+ indicated by the max_request_size member of the X Display), just
+ set the buffer to the empty string, and return nil.
+
+1992-07-21 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * search.c (fast_string_match): New function.
+ * fileio.c (find_file_handler): New function.
+ (Fcopy_file, Fmake_directory, Fdelete_directory, Fdelete_file):
+ (Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
+ (Ffile_exists_p, Ffile_executable_p, Ffile_readable_p, Ffile_symlink_p)
+ (Ffile_writable_p, Ffile_directory_p, Ffile_accessible_directory_p):
+ (Ffile_modes, Fset_file_modes, Ffile_newer_than_file_p):
+ (Fwrite_region, Fverify_visited_file_modtime):
+ Use find_file_handler; call the handler and return.
+ (Finsert_file_contents): Use find_file_handler;
+ cannot just return after the handler, but must handle VISIT.
+ (syms_of_fileio): Set up Qcopy_file, etc.
+ * dired.c (Fdirectory_files, Ffile_name_completion):
+ (Ffile_name_all_completions, Ffile_attributes):
+ Use find_file_handler; call the handler.
+ (syms_of_dired): Set Qfile_attributes, etc.
+
+1992-07-21 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xselect.c (Fx_own_selection): Initialize val to nil, so that if
+ we don't get the selection, we don't return garbage. When setting
+ cut-buffer0, set val to the string pasted.
+
+ * xfns.c (x_set_name): If ARG is nil, set the frame's name to the
+ current x_id_name.
+ * xdisp.c (display_mode_line): If we should set the frame's name,
+ but there is only one frame currently active, call x_set_name with
+ nil as the name; this will display samething generically
+ appropriate.
+
+1992-07-20 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * lread.c (isfloat_string): Recognize floats without a leading
+ integer part, noting that "e5" is a symbol, not a floating point
+ number.
+
+ * xdisp.c (message, message1): When displaying a message, don't
+ make the minibuf frame visible unless the selected frame is also
+ visible. This means that frames won't pop up unless the user is
+ actually interacting with Emacs.
+
+ * xdisp.c (display_mode_line): If Emacs is currently supporting
+ only one screen, don't change the title of the screen to the name
+ of the current buffer; this is only annoying in this case. We
+ should probably think more carefully about how screens should be
+ named.
+
+1992-07-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * process.c (allocate_pty): Handle PTY_OPEN.
+ Delete system-specific alternatives to PTY_NAME_SPRINTF
+ and PTY_TTY_NAME_SPRINTF.
+
+1992-07-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * callint.c (Fprefix_numeric_value): Fix typo: test raw, not val.
+
+1992-07-17 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xfns.c (x_window): x_set_name normally ignores requests to set
+ the name if the requested name is the same as the current name.
+ This is the one place where that assumption isn't correct; f->name
+ is set, but the X server hasn't been told. So fake it out.
+
+ * emacs.c [sun] (main): On suns, localtime caches the value of the
+ time zone rather than looking it up every time. This means that
+ the dumped Emacs doesn't check the value of the TZ environment
+ variable. Call tzset before entering the editing loop to check
+ the new TZ value.
+
+1992-07-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * dired.c (Fdirectory_files): Don't forget to pass the REGP
+ argument to compile_pattern.
+ * search.c (compile_pattern): If REGP is zero, don't call
+ re_set_registers; nobody cares.
+
+ * fileio.c (auto_save_error): Pass the correct number of arguments
+ to Fsleep_for.
+
+ * lread.c: Include <ctype.h> at the top of the file, instead of
+ just before isfloat_string; read0 wants to use it too.
+
+ * process.c (Fdelete_process, Fprocess_status, Fprocess_send_region,
+ Fprocess_send_string, Fprocess_send_eof, Finterrupt_process): Doc
+ fixes.
+
+ * process.c (Fprocess_status): Use get_process to find the process
+ denoted by the PROC argument, not Fget_process.
+
+1992-07-15 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xdisp.c: Doc fix.
+
+1992-07-14 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * window.c (syms_of_window): Doc fix for pop-up-frames.
+
+ * frame.c (Fframe_parameters): Note that if FRAME is omitted, it
+ defaults to the selected frame.
+
+ * frame.c (Fframe_height, Fframe_width): Blocked out these
+ functions; they have no C callers, and can be written nicely in
+ lisp.
+
+ * frame.c (Fframe_pixel_size): Function removed; there aren't
+ enough other functions available to make this useful. We need
+ functions describing the size of the characters of a font.
+
+ * xterm.h, xterm.c, xselect.c, xmenu.c, xfns.c, xdisp.c, window.h,
+ window.c, termopts.h, termhooks.h, termchar.h, term.c sysdep.c,
+ scroll.c, screen.c, screen.h, process.c, print.c, minibuf.c,
+ lisp.h keyboard.c, indent.c, fns.c, emacs.c, dispnew.c,
+ dispextern.h, cm.h, alloc.c, config.h.in: Screens are now called
+ frames, to avoid even more confusion with X terminology than
+ Emacs's "windows" already cause. All macros, functions, and
+ variables renamed; all uses changed.
+ * screen.c, screen.h: Renamed to frame.c and frame.h. All
+ #includers changed.
+ * ymakefile: Adjusted appropriately.
+ * buffer.c: Doc fixes.
+
+ * xfns.c (Fx_store_cut_buffer): Reversed sense of test for non-X
+ screen.
+
+ * window.c (Frecenter): Doc fix; this function places point in the
+ middle of the current window, not the current screen.
+
+ * window.c (temp_output_buffer_show): Use WINDOW_SCREEN macro
+ instead of accessing the member directly.
+
+1992-07-13 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * print.c (print): Changed code which prints screen objects to use
+ the SCREEN_LIVE_P macro instead of testing the screen structure
+ directly.
+
+ * alloc.c (undo_threshold, undo_high_threshold): Variables renamed
+ to undo_limit and undo_strong_limit.
+ (Fgarbage_collect): Uses changed.
+ (syms_of_alloc): DEFVARs and docstrings changed.
+ * undo.c (truncate_undo_list): Comment adjusted.
+
+ * lread.c (read0): Allow floating-point numbers to begin with a
+ period. `(0 .5)' denotes a list of two numbers, not a dotted pair.
+
+1992-07-11 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fns.c, callproc.c: Doc fix.
+
+1992-07-10 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * bytecode.c (Bsymbol_function, Bfset): Removed comments saying
+ that these are no longer generated. Jamie Zawinski's byte
+ compiler does generate them, and he's actually collected
+ statistics on how often these functions are called.
+
+1992-07-09 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * screen.c (store_screen_param): Clarify error message.
+
+ * xterm.c (x_make_screen_visible): Undo the change made on June
+ 30; that is not the right solution. Apparently there are three
+ states a window may be in: normal, iconified, and invisible.
+
+1992-07-08 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * eval.c (Fmacroexpand): Code cleaned up; there's no need to
+ handle forms like ((macro lambda ...) ...) specially.
+
+ * fileio.c (Finsert_file_contents): Signal an error if we're asked
+ to read from a named pipe.
+
+1992-07-07 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * m/*.h (SIGN_EXTEND_CHAR): Removed these definitions. The only
+ place they were used is in regex.c, and nowadays that has its own
+ definition, which works for any machine. The definitions in the
+ machine description files usually didn't work if given an unsigned
+ character as an argument, anyway.
+
+1992-07-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * buffer.c: Doc fix.
+
+1992-07-02 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * minibuf.c (Fdisplay_completion_list): Declared new variables
+ used in rms' previous change.
+
+1992-07-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * minibuf.c (Fdisplay_completion_list): Handle non-buffer stream.
+
+1992-07-01 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * window.c (Fdisplay_buffer): Add interactive spec.
+
+1992-06-30 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * mem_limits.h: EXCEEDS_ELISP_PTR declared here.
+ * ralloc.c: No longer declared here.
+ * vm-limit.c: Nor here. Also, include "lisp.h" before
+ "mem_limits.h" and additionally include "config.h".
+
+1992-06-30 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (x_make_screen_visible): Don't de-iconify the window;
+ iconification is orthogonal to visibility.
+
+ * emacs.c (syms_of_emacs): Change docstring for `kill-emacs-hook'
+ to describe it as a hook, not as a single function.
+
+1992-06-29 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * minibuf.c (Fread_no_blanks_input): Corrected maximum number of
+ arguments from one to two.
+
+ * emacs.c (Vkill_emacs_hook): Declare this here; it should have a
+ docstring, so we might as well DEFVAR it.
+ (syms_of_emacs): initialize it, and DEFVAR_LISP it with an
+ appropriate docstring.
+
+1992-06-28 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * lread.c (Feval_buffer): Make the DEFUN match the C argument
+ list; this takes two optional arguments, not just one.
+
+ * lisp.h (Lisp_Buffer_Local_Value): Comments neatened.
+
+ * data.c (Fset): Fixed conditional which tests whether the cache
+ is invalid. It used to be pretty munged, and would always declare
+ the cache invalid for Lisp_Buffer_Local_Value variables. Now it
+ declares the cache invalid if the buffer is wrong (obviously), of
+
+1992-06-27 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * data.c (Fset): Comments reformatted for readability.
+
+ * xterm.c (last_mouse_movement_time): New variable.
+ (note_mouse_position): Set it.
+ (XTmouse_position): Return its current value as the position's
+ timestamp.
+
+ * keyboard.c (Qvertical_split): Renamed to `vertical-line',
+ since the window arrangement is actually referred to as a
+ `horizontal split.'
+ (make_lispy_event, make_lispy_movement, syms_of_keyboard): Uses
+ renamed here.
+ keyboard.h (Qvertical_split): Extern declaration changed here.
+ window.c (Fcoordinates_in_window_p): Changed this to return
+ `vertical-line' at the appropriate times, rather than
+ `vertical-split'.
+
+ * window.c (Fcoordinates_in_window_p): Put symbol names in
+ opposing single quotes - `vertical-split', for example.
+
+ * fileio.c (Fexpand_file_name): Don't signal an error if USERNAME
+ in a "~USERNAME/..." filename isn't a real user; just leave the
+ "~USERNAME" unchanged.
+
+ * fileio.c (Fmake_symbolic_link): Rename argument `NEWNAME' to
+ `LINKNAME', to conform with the docstring.
+
+ * Makefile.in (CPP): Pass `-Is -Im' to CPP, to make sure that
+ machine- and system-dependend files can include each other
+ properly.
+ * ymakefile (CFLAGS): Add those directories to the #include path
+ here too.
+
+ * Makefile.in (xmakefile): Build this via a temporary file, so
+ that if preprocessing fails we don't nuke the xmakefile.
+
+ * fileio.c: There are two versions of Fexpand_file_name defined
+ here; the latter is inside a `#if 0' clause. Change its DEFUN to
+ a DEAFUN, so that its docstring doesn't make it into the DOC file
+ and supercede the real docstring.
+
+ * callint.c (Fcall_interactively): For the 'K' interactive spec,
+ set varies[i] to -1, indicating that the mouse click should be
+ quoted if the function makes it into the command history, and that
+ this argument by itself does not qualify the command to be
+ recorded in the history.
+
+1992-06-26 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * data.c (Frem): The drem function will sometimes return a
+ negative number. If it does, add the divisor to it, to make it
+ positive.
+
+ * screen.c: Put '#ifdef MULTI_SCREEN' after the inclusion of
+ config.h.
+
+ * window.c (Fpos_visible_in_window_p): Remember to apply XSCREEN
+ to w->screen before applying SCREEN_WIDTH.
+
+ * screen.h [not MULTI_SCREEN] (last_nonminibuf_screen): Removed
+ #definition of this; it's confusing when debugging.
+ * screen.c (last_nonminibuf_screen): Variable moved from here...
+ * dispnew.c (last_nonminibuf_screen): to here, beside
+ selected_screen. They should both exist, even if the multi-screen
+ support is not present.
+
+ * dispnew.c [not MULTI_SCREEN] (the_only_screen): New variable.
+ Instead of having the non-multi-screen version of Emacs refer to
+ lots of different variables scattered hither and yon, we'll just
+ declare this new variable, of type `struct screen', and define the
+ single-screen versions of the `SCREEN_foo' macros to reference its
+ elements. This avoids conflicts between names of local variables
+ and names of global variables describing the screen, and simplifies
+ some of the differences between the multi-screen and single-screen
+ cases.
+ * screen.h (enum output_method, struct screen): Removed these from
+ the `#ifdef MULTI_SCREEN' conditional.
+ * screen.h [not MULTI_SCREEN] (the_only_screen): extern
+ declaration for it here.
+ [not MULTI_SCREEN] (SCREEN_CURRENT_GLYPHS, SCREEN_DESIRED_GLYPHS,
+ SCREEN_TEMP_GLYPHS, SCREEN_HEIGHT, SCREEN_WIDTH,
+ SCREEN_NEW_HEIGHT, SCREEN_NEW_WIDTH, SCREEN_CURSOR_X,
+ SCREEN_CURSOR_Y, SCREEN_ROOT_WINDOW, SCREEN_INSERT_COST,
+ SCREEN_DELETE_COST, SCREEN_INSERTN_COST, SCREEN_DELETEN_COST,
+ SCREEN_MESSAGE_BUF, SCREEN_SCROLL_BOTTOM_VPOS): Macros changed to
+ refer to the_only_screen.
+ * dispnew.c [not MULTI_SCREEN] (one_screen_cursX,
+ one_screen_cursY, one_screen_current_glyphs,
+ one_screen_desired_glyphs, one_screen_temp_glyphs,
+ delayed_screen_width, delayed_screen_height): Variables
+ deleted; they're all now kept in the_only_screen.
+ * xdisp.c [not MULTI_SCREEN] (message_buf): Variable deleted; same
+ fate.
+ * term.c [not MULTI_SCREEN] (one_screen_width, one_screen_height):
+ Variables deleted; same fate.
+ * screen.h [not MULTI_SCREEN]: extern declarations for the above
+ variables removed.
+ * window.c [not MULTI_SCREEN] (root_window): Variable deleted.
+ [not MULTI_SCREEN] (init_window_once): Use SCREEN_ROOT_WINDOW to
+ refer to the root window, instead of referring to it directly.
+ * window.h [not MULTI_SCREEN] (root_window): extern declaration
+ removed.
+ * scroll.c [not MULTI_SCREEN] (insert_line_cost, delete_line_cost,
+ insert_n_lines_cost, delete_n_lines_cost): Variables deleted; same
+ fate.
+
+ * dispnew.c [not MULTI_SCREEN] (cursX, cursY): Renamed to
+ `one_screen_cursX' and `one_screen_cursY'.
+ * screen.h [not MULTI_SCREEN] (cursX, cursY, SCREEN_CURSOR_X,
+ SCREEN_CURSOR_Y): extern declarations and macros changed
+ accordingly.
+
+ * term.c [not MULTI_SCREEN] (screen_width, screen_height): Renamed
+ to `one_screen_width' and `one_screen_height', so as not to
+ conflict with local variables when referenced by the `SCREEN_foo'
+ macros.
+ * screen.h [not MULTI_SCREEN] (screen_width, screen_height):
+ extern declarations changed accordingly.
+ * termchar.h (screen_width, screen_height): extern declarations
+ deleted. Everyone should go through the `SCREEN_foo' macros.
+ (SCREEN_WIDTH, SCREEN_HEIGHT): Changed accordingly.
+
+1992-06-25 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callint.c (Fcall_interactively): When making a copy of the spec
+ string, cast the return value of `alloca' to `unsigned char *',
+ not `char *', to match the type of `string'.
+
+ * xselect.c (Fx_own_selection): Cast XSTRING (string)->data to a
+ char *, so it can be comfortably passed to XStoreBytes.
+
+ * filelock.c (strcpy): Declare this to return char *.
+
+1992-06-24 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * dispnew.c (current_glyphs, desired_glyphs, temp_glyphs): Renamed
+ to have the prefix `one_screen_', so that the screen macros can
+ refer to them without conflicting with local variables.
+ * screen.h [not MULTI_SCREEN] (SCREEN_CURRENT_GLYPHS,
+ SCREEN_DESIRED_GLYPHS, SCREEN_TEMP_GLYPHS): Changed accordingly.
+
+ * keyboard.c (read_key_sequence): Put the code which restarts the
+ key sequence in a `#ifdef MULTI_SCREEN' conditional.
+
+ * screen.h [not MULTI_SCREEN]: Added definitions for
+ CHECK_LIVE_SCREEN and SCREEN_FOCUS_SCREEN for the non-multi-screen
+ case.
+
+ * screen.h [not MULTI_SCREEN]: The name is
+ `SCREEN_MINIBUF_ONLY_P', not `SCREEN_IS_MINIBUF_ONLY'.
+
+ * xdisp [not MULTI_SCREEN] (Fredraw_display): Removed definition
+ here; the non-multi-screen version is already defined in
+ dispnew.c, alongside the multi-screen version.
+ (syms_of_xdisp): Don't try to defsubr Sredraw_display; it doesn't
+ exist.
+
+ * lread.c (Fread_char_exclusive): Remove this from the `#ifdef
+ HAVE_X_WINDOWS' conditional; it is appropriate in any context.
+
+ * eval.c (Fsignal): Put call to TOTALLY_UNBLOCK_INPUT under the
+ protection of a `#ifdef HAVE_X_WINDOWS' conditional.
+
+ * keyboard.c (kbd_buffer_get_event): Expect *mouse_position_hook
+ to return the timestamp as an unsigned long, not a lisp_Object.
+ This matches the change made to `struct input_event'.
+ (make_lispy_movement): Change argument TIME to an unsigned long.
+ * xterm.c (XTmouse_position): Change TIME argument to a pointer to
+ an unsigned long.
+ * termhooks.h (mouse_position_hook): Doc fix.
+ * term.c (mouse_position_hook): Doc fix.
+
+ * termhooks.h (struct input_event): If MULTI_SCREEN is defined,
+ declare the .screen element to be `struct screen *'; otherwise,
+ declare it to be `int'. See the comment in the file for why I've
+ done this obviously wrong thing.
+
+ * print.c (printbufidx): Doc fix.
+ * xdisp.c (message_buf_print): Doc fix.
+
+ * dispextern.h (message_buf_size): Variable deleted; it's no
+ longer used, since the message buffer is always the width of the
+ screen.
+
+ * screen.h [not MULTI_SCREEN] (message_buf): Add extern
+ declaration for it here.
+ (message_buf_print): Added extern declarations here for both the
+ MULTI_SCREEN and non-MULTI_SCREEN cases.
+ * dispextern.h (message_buf, message_buf_print): Deleted extern
+ declaration for these here. It should never be used directly; it
+ should always be used through the SCREEN_MESSAGE_BUF macro.
+
+ * dispnew.c (temp_glyphs): Added back this variable declaration;
+ screen.h and various other places referred to this; where did it
+ go?
+ * screen.h [not MULTI_SCREEN] (temp_glyphs, desired_glyphs,
+ current_glyphs): Add extern declarations for these.
+
+ * dispnew.c (cancel_my_columns): Use SCREEN_DESIRED_GLYPHS macro,
+ instead of assuming that a SCREEN_PTR is actually a pointer to
+ something; it isn't if we're not using any of the screen support.
+ Remove the variable `screen', and find the value for
+ `desired_glyphs' directly.
+ * xdisp.c (echo_area_display): Use the SCREEN_DESIRED_GLYPHS macro
+ to find screen's desired cursor position, instead of assuming that
+ a SCREEN_PTR is a pointer to something.
+ (display_mode_line): Same.
+ * window.c (Fpos_visible_in_window_p): Use the SCREEN_WIDTH macro.
+ (replace_window): Use the SCREEN_ROOT_WINDOW macro.
+ (window_loop): Use the SCREEN_WIDTH macro.
+
+ * dispnew.c (update_screen): Enclose the statement which
+ increments `downto' in a `#ifdef HAVE_X_WINDOWS' conditional.
+
+ * screen.h [MULTI_SCREEN and not MULTI_SCREEN] (FOR_EACH_SCREEN):
+ New macro.
+ * dispnew.c (window_change_signal, do_pending_window_change): Use
+ FOR_EACH_SCREEN instead of assuming that Vscreen_list exists.
+ * window.h (root_window): Added extern declaration for this.
+
+ * screen.c: Enclose the entire file in a #ifdef MULTI_SCREEN
+ conditional.
+
+
+1992-06-23 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * window.c (Fset_window_dedicated_p):
+ Replaces Fset_window_buffer_dedicated. Second arg just t or nil.
+
+1992-06-22 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * syntax.h (SYNTAX, SYNTAX_MATCH, SYNTAX_COMSTART_FIRST, etc.)
+ Cast character to unsigned char before indexing.
+
+1992-06-19 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (x_wm_set_size_hint): Set size_hints.flags to indicate
+ that we are providing the base_width and base_height data.
+
+ * xfns.c (Fx_create_screen): Default the internal border width to
+ 2; this matches XTerm.
+
+ * syntax.c (Fparse_partial_sexp): Doc fix.
+
+ * syntax.c (Fparse_partial_sexp): Added phony argument list to
+ comment containing the docstring for this function, so that
+ make-docfile.c will get the right arguments.
+
+ * xfns.c (x_set_name): Don't go through the X11 brouhaha to set
+ the name unless we're actually setting it to something different
+ from the current name.
+
+1992-06-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * eval.c (syms_of_eval): Don't forget to escape the ends of the
+ lines in the docstring for `debug-on-quit'.
+
+ * keyboard.c (Fread_key_sequence): Reversed sense of CONTINUE_ECHO
+ argument - set this_command_key_count to zero iff CONTINUE_ECHO is
+ Qnil, not iff it's non-Qnil.
+
+1992-06-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * search.c: Changed to remember the object in which the last
+ search was done, so that markers from match data are placed in
+ that buffer, instead of the current buffer.
+ (search_regs_from_string): Replaced with...
+ (last_thing_searched): This is either Qnil, meaning no searching
+ has been done, Qt, meaning that the last search was done in a
+ string, or a buffer object, meaning that the last search was done
+ in that buffer.
+ (syms_of_search): Initialize and staticpro last_thing_searched.
+ (Flooking_at, search_buffer): Set last_thing_searched to the
+ current buffer.
+ (Fstring_match): Set last_thing_searched to Qt.
+ (Fmatch_data): Test last_thing_searched to see if any searching
+ has been done, and construct integers or markers in the right
+ buffer. Abort if it's not Qt, Qnil, or a buffer.
+ (Fstore_match_data): Set last_thing_searched according to the
+ things we find in LIST.
+
+1992-06-16 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * fns.c (Fload_average): Document the fact that this sometimes
+ returns a list of fewer than three elements, on systems which
+ don't provide 5- and 15-minute load averages.
+
+1992-06-15 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (XTread_socket): If an event arrives to a screen S,
+ don't attribute them to SCREEN_FOCUS_SCREEN (S) here. Do that
+ synchronously, when the events are dequeued. This keeps events
+ from being accidentally routed to the wrong screen, if we
+ temporarily redirect a screen's focus.
+ * keyboard.c (kbd_buffer_store_event): If the character being
+ stuffed is a quit character, do the SCREEN_FOCUS_SCREEN
+ redirection to it here.
+ (kbd_buffer_get_event): And do it here, before returning the
+ event.
+
+ * eval.c (Finteractive_p): This assumed that if the function in
+ the top frame of the lisp backtrace was not a Lisp_Compiled
+ object, then Finteractive_p must have an explicit frame on the top
+ of the stack, which we could skip. It didn't bother to follow the
+ symbol function chaining, and it would break if any C code called
+ from a non-compiled function tried to call Finteractive_p anyway.
+ Changed this to actually check if the top frame's effective
+ function is the Lisp_Subr for Finteractive_p. This also used to
+ skip any number of frames for special forms and/or Fbytecode
+ calls. Changed this to skip an Fbytecode frame (if present),
+ followed by any number of special form frames.
+
+1992-06-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * eval.c (struct backtrace): Doc fix.
+
+1992-06-12 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * m/hp300bsd.h (LOAD_AVE_TYPE): This is long, not double.
+ (LOAD_AVE_CVT): Adjusted as appropriate.
+
+ * fns.c: Moved lots of system-dependent preprocessor cruft
+ dealing with getting the load average to `getloadavg.c'.
+ (Fload_average): Guts moved to `getloadavg.c'.
+ * getloadavg.c: New file, containing the necessary mess to get the
+ load average on many different systems. This file is supposed to
+ be Emacs-independent.
+ * ymakefile (obj): Add getloadavg.o to the list.
+ (getloadavg.o): Note that this depends on its source, and config.h.
+
+ * screen.c (Fdelete_screen): Typo in loop looking for new
+ last_nonminibuf_screen - change `screen = XCONS (screens)->cdr`
+ to `screens = XCONS (screens)->cdr`
+
+ * xdisp.c (echo_area_display): Don't neglect to draw all the lines
+ of the minibuffer window (or echo area) when a message is being
+ displayed. If the minibuffer is more than one line high, they
+ should all be blanked.
+
+1992-06-10 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * sysdep.c [POSIX_SIGNALS] (sys_signal): Fix typo - rather than
+ calling new_action as if it were a function, call sigaction.
+
+1992-06-09 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * lisp.h (Qnumberp, Qnumber_or_marker_p): Declared.
+
+ * eval.c (wants_debugger): Changed NULL to NILP.
+ Who installed these calls to NULL?
+
+1992-06-09 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * dispnew.c (Fsit_for): Don't forget to actually set sec from ARG.
+
+ * termhooks.h (struct input_event): Doc fix - for mouse clicks, .x
+ and .y give the position in characters, not in pixels.
+
+ * keyboard.c (format_modifiers): Order the modifier letters
+ alphabetically - control, meta, shift, and up.
+
+1992-06-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * xfns.c: Move some extern decls out of #if 0, to top of file.
+
+1992-06-08 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * window.c (Fcoordinates_in_window_p): Docstring fix.
+
+ * buffer.c (Fother_buffer): Put a comma between arguments BUFFER
+ and VISIBLE_OK in the argument list. Duh.
+
+ * screen.c (Fdelete_screen): Remember that s is a SCREEN_PTR *,
+ not a Lisp_Object.
+
+ * search.c (search_regs): Doc fix.
+ (compile_pattern): Take a new argument - the search register
+ structure - so we can reassure the regex routines that the
+ registers have been allocated.
+ (Flooking_at, Fstring_match, search_buffer): Changed to pass
+ &search_regs to compile_pattern.
+ (search_buffer): When we've searched for a literal string and
+ found it, make sure that the search registers are allocated before
+ stuffing the location of the search into them.
+ (Fstore_match_data): If we need to allocate more registers,
+ allocate them using re_set_registers, instead of just storing the
+ new registers and hoping that regex doesn't free them.
+
+ * search.c (Freplace_match): Doc fix.
+
+1992-06-07 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * screen.c (Fdeiconify_screen): Function deleted.
+ It was the same as make-screen-visible.
+
+1992-06-06 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c: Doc fix.
+
+ * floatfns.c (Fcbrt): Renamed from Fcube_root, and #if 0'd.
+
+ * lisp.h (CHECK_NUMBER_OR_FLOAT*): Use Qnumberp or Qnumber_or_marker_p.
+ * data.c (syms_of_data): Staticpro those.
+ (Qinteger_or_float_p, Qinteger_or_float_or_marker_p): Deleted.
+ (Fnumberp, Fnumber_or_marker_p): Define these always,
+ but make them work even if not LISP_FLOAT_TYPE.
+
+1992-06-05 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * config.h.in: Undefine REL_ALLOC if a system specific file
+ defines SYSTEM_MALLOC.
+
+ * sysdep.c (save_signal_handlers): Cast result of signal to
+ avoid compiler warning.
+ * process.c (send_process): Likewise.
+
+1992-06-05 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * keyboard.c (Fread_key_sequence): New 2nd arg CONTINUE_ECHO
+ added for the sake of universal-argument.
+
+1992-06-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * editfns.c (Fset_default_file_mode): Function deleted.
+ (Funix_sync): Moved.
+ * fileio.c (Funix_sync): Moved to here.
+
+ * xfns.c (Fx_erase_rectangle, Fx_draw_rectangle, Fx_contour_region):
+ (Fx_uncontour_region): #if 0 these.
+ (x_rectangle, outline_region): Likewise.
+ (syms_of_xfns): #if 0 the defsubrs.
+
+ * dispnew.c (Fsleep_for, Fsit_for): Clean up error messages.
+
+ * eval.c, print.c, keyboard.c: Doc fix.
+
+ * xfns.c (Fx_horizontal_line): Disabled, since not documented.
+
+ * fileio.c (Fdelete_directory): Renamed from Fremove_directory.
+
+ * unexencap.c: Deinstalled (renamed to =unexencap.c)
+ since awaited papers never arrived.
+
+ * xfns.c: Doc fix.
+
+1992-06-04 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * eval.c (stack_trace_on_error, debug_on_error): Made Lisp_Objects V*.
+ (syms_of_eval): Changed DEFVAR_BOOLs to DEFVAR_LISPs.
+ (wants_debugger): New fn.
+ (find_handler_clause): Use it to look in debug-on-error and
+ stack-trace-on-error lists.
+
+1992-06-04 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * floatfns.c (Fbessel_*, Ferf, Ferfc, Flog_gamma): Turned off;
+ not clearly worth including.
+ (Fasinh, Facosh, Fatanh, Fsinh, Fcosh, Ftanh): Likewise.
+
+1992-06-03 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * minibuf.c, keyboard.c: Doc fix.
+
+ * window.c (Fwindow_at): Fix number of args--minimum 2, max 3.
+
+ * screen.c: Doc fix.
+
+1992-06-02 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * lread.c (Feval_buffer): Don't read any arguments, if interactive.
+
+1992-06-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * screen.c (make_screen_without_minibuffer): Apply XSCREEN to
+ Vdefault_minibuffer_screen before calling SCREEN_LIVE_P. The
+ argument to SCREEN_LIVE_P must be a SCREEN_PTR, not a Lisp_Object.
+
+ * dispnew.c (Fsit_for): This used to compare arg with 0 and return
+ Qt immediately. It should actually call sit_for anyway, because
+ sit_for needs to test for input and do the redisplay.
+ (sit_for): Compare sec and usec with zero here, after we've
+ looked for input and done a redisplay.
+
+ * lread.c (Feval_buffer): Use NILP, not NIL_P.
+
+1992-06-01 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * buffer.h: New macro, BUF_SET_PT.
+
+ * lread.c: New subr `eval-buffer', replaces `eval-current-buffer',
+ which is now defined in simple.el.
+
+1992-05-30 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * screen.c (Fdelete_screen): If we're deleting the default
+ minibuffer screen, try to find another minibuffer screen.
+
+1992-05-29 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * buffer.c (Fother_buffer): New optional argument VISIBLE_OK,
+ indicating that buffers currently visible in windows should not be
+ discriminated against.
+
+1992-05-28 Ken Raeburn (raeburn@cygnus.com)
+
+ * screen.c (Fdelete_screen): Fix bugs in walking screen list.
+ (make_screen_without_minibuffer): Signal an error if the default
+ minibuffer screen is dead.
+
+ * xfns.c (x_set_name): Use ICCCM-conforming scheme for changing
+ window name in X11.
+ (Fx_create_screen): Likewise.
+
+1992-05-27 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xselect.c: Support getting and setting the obsolete X cut
+ buffers.
+ (Qcut_buffer0): New atom, denoting the X cut buffer 0.
+ (syms_of_xselect): Initialize and staticpro it.
+ (Fx_own_selection): If TYPE is Qcut_buffer0, interpret this to
+ mean that we should set cut buffer 0 to STRING.
+ (Fx_selection_value): If TYPE is Qcut_buffer0, interpret this to
+ mean that we should retrieve the value of cut buffer 0.
+
+1992-05-21 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (construct_mouse_click): Removed extra assignment of
+ result->timestamp.
+
+ * keyboard.c (last_event_timestamp): Doc fix.
+ * xselect.c (last_event_timestamp): Declare it extern here.
+ (mouse_timestamp): Variable deleted. last_event_timestamp is a
+ more accurate thing to use here.
+ (own_selection, get_selection_value): Use last_event_timestamp
+ instead of mouse_timestamp.
+ * keyboard.c (make_lispy_event): Pass the event's timestamp
+ through the make_number function, to assure that it is properly
+ tagged before incorporating it into the lispy event.
+ * xterm.c (construct_mouse_click): The timestamp element of a
+ struct input_event is no longer a Lisp_Object; it is now an
+ unsigned long. So don't use XSET to assign to it.
+ (XTread_socket): Same here, in processing KeyPress events.
+
+ * keyboard.c (Fexecute_extended_command): Properly initialize
+ this_command_keys to the concatenation of the sequence that
+ invoked Fexecute_extended_command, the characters making up the
+ name of the command we're running, and a return character.
+ Previously, this code would set it to the last key typed while
+ reading the function name from the minibuffer, followed by the
+ name of the function being run.
+
+1992-05-20 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (x_display_box_cursor): Draw the cursor at curs_{x,y},
+ rather than at s->cursor_{x,y}. If cursor_in_echo_area is set,
+ then s->cursor_{x,y} does not accurately describe the position of
+ the cursor. However, if we're not updating, then curs_{x,y} are
+ garbage; set them from s->cursor_{x,y}.
+
+ * dispnew.c (update_screen): Check current_screen->enable and
+ current_screen_used to see if there is any text on the last line,
+ not desired_screen->{enable,used}. When the line isn't enabled,
+ move to line SCREEN_HEIGHT (s) - 1, not SCREEN_HEIGHT (s).
+ Rearranged conditionals.
+
+ * dispnew.c (cursor_in_echo_area): Document the interpretations of
+ positive and negative values of this variable.
+
+1992-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * dispnew.c (Fding): If have arg, don't end a keyboard macro.
+
+1992-05-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * dispnew.c (sit_for): New function, which is a slight
+ generalization of Fsit_for; you can tell it that it's waiting for
+ input, so C-g gets handled properly.
+ (Fsit_for): Call it, instead of replicating all its guts.
+ * keyboard.c (read_char): Call sit_for instead of Fsit_for, and
+ indicate that we're awaiting keyboard input.
+
+ * dispnew.c (Fsit_for): Rename arguments to match docstring. Use
+ NILP instead of EQ (foo, Qnil). If nodisp is non-nil, call
+ wait_reading_process_input with do_display 0, instead of 1; this
+ will inhibit spurious redisplays when process input arrives during
+ a sit-for.
+
+ * process.c (Faccept_process_output): Pass zero as read_kbd
+ argument to wait_reading_process_input when PROC is nil, not when
+ PROC is non-nil.
+
+ * process.c (wait_reading_process_input): Declare read_kbd to be a
+ Lisp_Object, and use the tagging to tell the difference between a
+ process object and an integer.
+ * dispnew.c (Fsleep_for, Fsit_for, Fsleep_for_millisecs): Pass
+ read_kbd argument to wait_reading_process_input as a Lisp_Object.
+ * keyboard.c (kbd_buffer_get_event): Same.
+ * process.c (Faccept_process_output, send_process): Same.
+
+ * keyboard.c (read_char): Use save_getcjmp and restore_getcjmp
+ instead of doing the bcopy explicitly.
+
+ * xterm.c (XTread_socket): When handling an EnterWindow event,
+ don't bother to check waiting_for_input. It's not necessary.
+
+ * keyboard.c (read_char): Don't clear waiting_for_input and
+ input_available_clear_time here.
+ (quit_throw_to_read_char): It's already done here.
+
+ * keyboard.c (quit_throw_to_read_char): Use
+ clear_waiting_for_input instead of clearing waiting_for_input
+ explicitly.
+
+1992-05-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * keyboard.c (read_char): Call clear_waiting_for_input instead of
+ clearing waiting_for_input and input_available_clear_time
+ explicitly.
+
+1992-05-15 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * ymakefile [defined (__GNUC__) and __GNUC__ > 1]: define
+ YMF_PASS_LDFLAGS so that it can deal with an empty flags argument.
+
+ * callproc.c (Fcall_process): Under VMS, a nil INFILE argument
+ means to read from "NLA0:", not "/dev/null".
+
+ * callproc.c (Fcall_process): Use nil as the value for display
+ (the fourth argument) when nargs >= 4, not when nargs >= 3.
+
+1992-05-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * termhooks.h: Change timestamp from a Lisp_Object to an unsigned
+ long.
+ * keyboard.c (kbd_buffer_store_event): We don't have to apply the
+ XINT macro to the timestamp member of the event anymore.
+
+ * process.c (wait_reading_process_output): Don't turn off polling.
+
+ * sysdep.c (setpgrp_of_tty): Pass the address of pid, not pid
+ itself.
+
+ * process.c: Deleted cpp tangle for dealing with system-dependent
+ tty handling; #included "systerm.h".
+ * systerm.h: Add some of the things that were done in process.c:
+ If titan is #defined, then we should include <sys/ttyhw.h> and
+ <sys/stream.h> along with the other SYSV pty stuff.
+ If HPUX is #defined, then EMACS_HAVE_TTY_PGRP isn't true.
+ If XENIX is #defined, then we shouldn't try to use TIOCGETC.
+ * ymakefile: Note that process.o depends on systerm.h now.
+
+1992-05-13 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * callint.c (Fprefix_numeric_value): Value 1 for symbol other than `-'.
+
+1992-05-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * cmds.c (Fforward_line): If the buffer is empty, don't try to see
+ if it contains a newline, and moving nowhere at eob after
+ non-newline should return 1, not 0.
+
+ * search.c (scan_buffer): Doc fix.
+
+ * buffer.c (Fbuffer_disable_undo): Accept a buffer name as an
+ argument.
+
+1992-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c: Include config.h first thing.
+
+ * keyboard.c (clear_input_pending): New subroutine.
+ * process.c (wait_reading_process_input): Make C-g really quit in
+ sit-for case.
+
+ * ymakefile (LD_SWITCH_SYSTEM): Don't use -X with GCC.
+
+1992-05-12 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * eval.c (Fapply): Use indirect_function, instead of doing a dumb
+ loop.
+ * keymap.c (get_keymap_1): Same.
+ * macros.c (Fexecute_kbd_macro): Same.
+
+ * buffer.c (init_buffer_once): Don't disable undos for *scratch*
+ here. Do it in loadup.el.
+
+ * buffer.c (init_buffer_once): Doc fix.
+
+ * doc.c (Fdocumentation): After extracting the doc string from a
+ lambda or autoload expression, don't fall through to the default
+ case and signal an invalid function error; instead, do a `break'.
+
+ * doc.c (Fdocumentation): Use EQ (x, y) instead of XSYMBOL (x) ==
+ XSYMBOL (y).
+
+ * doc.c (Fdocumentation): When decyphering a function made from
+ conses, use 'else if' for the chain of alternatives instead of
+ just 'if'. It used to be that each alternative returned, but
+ that's not true anymore.
+
+ * alloc.c (Fgarbage_collect): Don't call truncate_undo_list on
+ buffers whose undo list is 't.
+
+ * doc.c (Fdocumentation): Renamed argument `fun1' to `function',
+ so make-docstring will list argument consistently with the
+ docstring.
+
+1992-05-11 Joseph Arceneaux (jla@churchy.gnu.ai.mit.edu)
+
+ * xterm.h: Removed definition of `RES_CLASS'.
+
+ * xfns.c (x_get_arg): Eliminated `screen_name' parameter. No
+ longer uses screen name as X resource search component.
+ All calls to x_get_arg changed accordingly.
+ Global variable `screen_class' and #define `SCREEN_CLASS' removed.
+
+ * xterm.c (XTread_socket): Added basic structure for handling
+ various ClientMessage events, using new global variables
+ `Xatom_wm_take_focus', `Xatom_wm_save_yourself',
+ `Xatom_wm_delete_window', `Xatom_wm_configure_denied',
+ `Xatom_wm_moved'.
+ * xfns.c: Declare these variables extern.
+ (syms_of_xfns): Initialize these variables.
+
+ * xselect.c (Fx_own_selection, Fx_selection_value): New optional
+ parameter `type', to specify the selection type.
+ (syms_of_xselect): New symbols Qprimary, Qsecondary, Qclipboard
+ initialized.
+
+1992-05-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * data.c (Qcyclic_function_indirection): New error condition.
+ (indirect_function, Findirect_function): New functions.
+ (syms_of_data): Initialize Qcyclic_function_indirection, put the
+ error properties on it, and staticpro it. Defsubr
+ Findirect_function.
+ * lisp.h (indirect_function, Findirect_function): Declare them here.
+ * callint.c (Fcall_interactively): Get symbol's function by
+ calling indirect_function, instead of just looping.
+ * doc.c (Fdocumentation): Same.
+ * eval.c (Finteractive_p, Fcommandp, do_autoload, Feval,
+ Ffuncall): Same.
+ * keyboard.c (Fcommand_execute): Same.
+
+ * data.c (Fsymbol_function): Name the argument `symbol' instead of
+ `sym', so make-docstring will list argument consistently with the
+ docstring.
+
+ * process.c (wait_reading_process_input): Make sure the screen
+ isn't garbaged (and therefore not displayed) before we enter the
+ select and start waiting for input.
+
+ * keyboard.c: #include <systime.h>.
+ * ymakefile (keyboard.o): This depends on systime.h.
+ * keyboard.c (input_available_clear_word): Replaced with
+ input_available_clear_time, which is a pointer to an EMACSTIME;
+ sometimes the time information is larger than a single word.
+ (read_char): Changed ..._word to ..._time.
+ (input_available_signal): Use the EMACS_SET_SECS_USECS macro to
+ clear *input_available_clear_time, instead of zapping a zero into
+ *input_available_clear_word.
+ (set_waiting_for_input, clear_waiting_for_input): Adjusted
+ appropriately.
+
+1992-05-10 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * editfns.c (make_buffer_string): New function.
+ * lisp.h (make_buffer_string): Declare it here.
+ * editfns.c (Fbuffer_substring): Call make_buffer_string instead
+ of writing it out.
+ (Fbuffer_string): Call make_buffer_string instead of make_string,
+ so we can deal with buffer relocations.
+ * minibuf.c (read_minibuf): Same here.
+
+1992-05-09 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * syssignal.h (sigunblock): New macro, taken from 18.58's
+ emacssignal.h file.
+ * sysdep.c (request_sigio): Use the sigunblock macro to enable
+ reciept of SIGWINCH, instead of the dysfunctional sigblockx.
+
+1992-05-08 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * search.c: Doc fix.
+
+1992-05-06 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * emacs.c (decode_env_path): If EVARNAME is zero, don't try to
+ call getenv on it.
+ * lread.c (init_lread): When we don't have an environment variable
+ to check, pass 0 instead of the empty string.
+
+ * alloc.c (Fmake_marker): Use `SIGMASKTYPE' instead of `int'.
+ Instead of calling sigsetmask twice - once to get the mask, and
+ again to restore it - call sigblock, specifying no additional
+ signals.
+
+1992-05-05 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * alloc.c: #include <syssignal.h>, for the sake of the
+ bug-catching code in Fmake_marker.
+ ymakefile: Add dependency.
+
+ * syssignal.h [not POSIX_SIGNALS] (SIGFULLMASK): New definition,
+ for symmetry with the "defined (POSIX_SIGNALS)" case.
+
+ * callproc.c (child_setup): Since we always get the environment
+ from Vprocess_environment, don't bother to take the environment
+ the subprocess should inherit as an argument anymore.
+ * process.c (create_process): Don't pass environment as a
+ variable. Just preserve it across call to fork.
+
+1992-05-04 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * floatfns.c: #include <syssignal.h>.
+ (float_error): Use SIGEMPTYMASK instead of zero.
+
+ * syssignal.h [POSIX_SIGNALS] (sigmask): Defined to expand to a
+ statement expression under GCC, or a function call otherwise.
+ (sigpause, sigblock, sigunblock, sigsetmask): These are now
+ K&R-compatible macros.
+ * systerm.h [POSIX_SIGNALS] (sys_sigmask): Here is the function
+ the POSIX version of sigmask calls when we're not compiling with
+ GCC.
+ * alloc.c (Fmake_marker): Undo changes of Apr 29.
+ * callproc.c (Fcall_process): Same.
+ * data.c (arith_error): Same.
+ * floatfns.c (float_error): Same.
+ * keyboard.c (gobble_input): Same.
+
+ * sysdep.c (request_sigio, unrequest_sigio)
+
+1992-04-29 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * x11term.h (CLASS): Change this from "emacs" to "Emacs"; class
+ names should always start with an upper-case letter.
+
+ * syssignal.h: Arranged cpp conditionals so that the specific
+ cases come first, generic cases last.
+
+ * syssignal.h (sigpause, sigblock, sigunblock, sigsetmask): Macros
+ removed; they require GCC, and Emacs 19 should compile without GCC.
+ (EMACS_SIGPAUSE, EMACS_SIGBLOCK, EMACS_SIGUNBLOCK,
+ EMACS_SIGSETMASK, EMACS_SIGFREE, EMACS_SIGHOLDX, EMACS_SIGBLOCKX,
+ EMACS_SIGUNBLOCKX, EMACS_SIGPAUSEX): These are new macros that
+ don't require GCC, but expand to statements.
+ * callproc.c (Fcall_process): Use new EMACS_SIG* macros from
+ syssignal.h.
+ * keyboard.c (gobble_input): Same.
+ * sysdep.c (request_sigio, unrequest_sigio): Same.
+ * x11term.h (BLOCK_INPUT, UNBLOCK_INPUT): Same.
+ * alloc.c (Fmake_marker): Same.
+ * data.c (arith_error): Same.
+ * floatfns.c (float_error): Same.
+
+1992-04-28 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * ymakefile: If we're using GCC version 2.0 or later, use "$(CC)
+ -nostdlib" as the linker. This will allow us to find libgcc.a
+ even when GCC puts it in a really weird place.
+ (YMF_PASS_LDFLAGS): New macro.
+ (temacs): Use it.
+
+ * s/hpux.h: Doc fix.
+
+ * filelock.c (egetenv): Declare this.
+ (lock_path, SUPERLOCK_NAME, superlock_path): New variables and
+ macros.
+ (MAKE_LOCK_PATH, lock_file, unlock_file, lock_superlock): Use the
+ variables lock_path and superlock_path instead of the PATH_LOCK
+ and PATH_SUPERLOCK macros.
+ (init_filelock): New function.
+ * emacs.c (main): Call the init_filelock function.
+ * paths.h.in (PATH_SUPERLOCK): Removed. This is now calculated
+ from PATH_LOCK or from the EMACSLOCKDIR environment variable.
+
+ * filelock.c (MAKE_LOCK_PATH): New macro.
+ (lock_file, unlock_file, Ffile_locked_p): Use it.
+
+ * syntax.c (Fmodify_syntax_entry): Note that '-' is a synonym for
+ ' ' (both denote whitespace), that '\\' denotes the escape class,
+ and that '/' denotes the character-quote class. The description
+ used to claim that '\\' denoted the character-quote class, and
+ neglected to mention '-' and '/'.
+
+ * filelock.c (lock_file): Doc fix.
+
+1992-04-27 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callproc.c (init_callproc): Get the default Vexec_path from the
+ environment variable "EMACSPATH"; get Vdata_directory from
+ "EMACSDATA".
+
+ * ymakefile: Fix #endif and #else comments.
+
+1992-04-27 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * ymakefile (xemacs): Link xemacs to temacs if HAVE_SHM.
+
+ * ymakefile (paths.h, config.h): Never copy, always fail.
+
+ * process.c (wait_reading_process_input): Redisplay if screen_garbaged.
+ Call do_pending_window_change first.
+ Include dispextern.h.
+ * ymakefile (process.o): Added dependency.
+
+ * ymakefile (OLDXMENU_OPTIONS): New macro, used compiling oldxmenu.
+
+1992-04-25 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * ymakefile: Changed all references to LD_CMD to LINKER, for
+ compatibility with the 18.58 configuration files.
+ * s/aix3-1.h, s/sunos4shr.h: Same here.
+
+ * ymakefile: Doc fixes.
+
+ * ymakefile (CC, MAKE): Set these variables from optional macros.
+ Change all uses of `make' to ${MAKE}.
+
+ * ymakefile: use HAVE_X11 as alias for X11.
+
+ * ymakefile (LIB_GCC, GNULIB_VAR): Handle GCC 2.
+
+ * process.c (allocate_pty): Re-arranged conditionals to put the
+ system-specific-case first, and the generic case in the #else
+ section, for consistency with the rest of Emacs.
+
+ * process.c (allocate_pty): Wait until we fail to open three ptys
+ in a row before concluding that we've reached the end of the ptys.
+
+1992-04-22 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * ralloc.c: #include "getpagesize.h".
+
+ * search.c (Flooking_at): Use search_regs.num_regs instead of
+ RE_NREGS. As of regex version 0.4, the compiler allocates the
+ registers, and may allocate more than RE_NREGS.
+ (search_buffer): Same.
+ (Freplace_match): Use search_regs.num_regs to tell how many
+ registers are valid. Also note that if none are valid, no search
+ has been performed.
+ (match_limit): Same.
+ (Fmatch_data): Same.
+ (Fstore_match_data): If we're trying to store more registers than
+ search_regs has allocated, re-allocate them to make room.
+
+1992-04-21 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+
+ * callproc.c (egetenv): Declare the type of VAR.
+
+ * lisp.h: Don't undefine NULL. There is no longer any conflict.
+
+ * lisp.h (NUMBERP): New macro.
+ * editfns.c (Fformat): Protect the sections that deal with
+ Lisp_Float objects with a "#ifdef LISP_FLOAT_TYPE".
+ * bytecode.c (Fbyte_code): Use the NUMBERP macro instead of
+ explicitly checking for the Lisp_Float tag.
+ * callint.c (Fcall_interactively): Same here.
+
+ * xrdb.c (magic_searchpath_decoder): Re-allocate string as needed,
+ rather than making it a fixed-size array.
+
+ * xfns.c (Fx_rebind_key): Don't declare modifier_list to be a
+ register variable. It's too big, and we need the address of its
+ first element when we pass it to XRebindKeysym anyway.
+
+ * fileio.c (Fdo_auto_save): Doc fix.
+
+1992-04-20 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * search.c (search_buffer): Cast RE_EXACTN_VALUE to char, because
+ the regex-0.4 distribution says so.
+
+ * ymakefile (dired.o): This depends on regex.h.
+
+ * process.c (wait_reading_process_input): There is code here which
+ sends SIGIO to Emacs if we thought we had input available but
+ didn't get SIGIO. If the system doesn't have SIGIO, then
+ #ifdef it out.
+
+ * print.c (Fexternal_debugging_output): Arguments were declared
+ ANSI-style - rewritten in K&R 1 fashion.
+
+ * floatfns.c (IN_FLOAT): Cast the zero in the `else' clause of the
+ conditional expression to SIGTYPE, to match the type of the
+ float_error call in the `then' clause.
+
+ * s/hpux8: #define HPUX8; this is supposed to be customary
+ procedure, and fileio.c was expecting it, but somehow it didn't
+ get defined.
+
+ * sysdep.h: Move inclusions of [AIX] <sys/hft.h>,
+ <sys/devinfo.h>, <sys/pty.h>, <unistd.h> [NEED_BSDTTY]
+ <sys/bsdtty.h>, [HPUX and HAVE_PTYS] <sys/ptyio.h>, [SYSV_PTYS]
+ <sys/tty.h>, <sys/pty.h>, and [pfa] <sys/file.h> to systerm.h;
+ also move undefinition of LLITOUT under BSD4_1 to systerm.h.
+ * systerm.h: They're here.
+
+ * xterm.c (XTcursor_to, XTclear_end_of_line): Declare to return
+ int in the function definitions as well as their declarations.
+
+1992-04-19 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * fileio.c (directory_file_name): When checking if the string ends
+ with '/', check that slen is a valid length *before* examining
+ dst[slen-1], not after.
+
+1992-04-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * xterm.c (x_death_handler): New function.
+ (x_error_handler): Call x_death_handler to shut down Emacs.
+ (x_term_init): Use x_death_handler to handle SIGPIPE, instead of
+ x_error_handler, which expects to be passed a display and an
+ event.
+ * process.c (send_process): This used to set a handler to
+ catch SIGPIPEs when writing to a subprocess, and then set the
+ handler to SIGDFL after writing, but this would stomp on the
+ SIGPIPE handler for for the X connection. So restore the prevous
+ handler instead of changing to SIGDFL.
+
+1992-04-18 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * indent.c (compute_motion): Fix skipping invis lines and
+ truncation at right margin.
+
+1992-04-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * s/hpux.h (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Use pty_name,
+ not ptyname.
+ * s/rtu.h: Same.
+
+ * process.c (pty_process): Add 'int' to the declaration 'static
+ pty_processes;'. This makes it a happy declaration even when
+ static has been #defined as the empty string.
+ * xterm.c (XTcursor_to, XTclear_end_of_line): Same.
+
+ * unexec.c (sbrk): Declare this to return void * if __STDC__ is
+ defined, or char * otherwise.
+
+ * lread.c init_lread): Re-cleaned logic. To determine whether the
+ load path was changed before dumping, cons up a dump path and
+ compare it. This method is more localized and accurate.
+ (initial_path): Variable removed.
+ (syms_of_lread): Don't staticpro.
+
+ * floatfns.c (float_error): Declare and define this to return
+ SIGTYPE.
+
+ * systime.h [HAVE_TIMEVAL] (EMACS_GET_TIME): Declare dummy to be a
+ real struct timezone, instead of an EMACS_TIME. Since
+ HAVE_TIMEVAL is defined, struct timezone ought to be declared, so
+ there's no harm in passing the genuine article.
+
+ * sysdep.c [USG] (rename): Place under the protection of a new
+ preprocessor symbol, HAVE_RENAME.
+ * s/hpux.h (HAVE_RENAME): Defined.
+
+ * sysdep.c [USG] (setpriority): Declare to return int, not void.
+
+ * s/template.h: Add template section for HAVE_TERMIOS.
+
+ * term.c (cursor_to, raw_cursor_to, fatal): Do declare the types
+ of the arguments.
+
+1992-04-15 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callint.c (Fcall_interactively): When the interactive spec is
+ a string, it may be relocated while reading the arguments. To
+ avoid this, make a copy of the spec to refer to, instead of
+ using a pointer to the data of the spec string.
+
+ * callint.c (Fcall_interactively): When following the function
+ chain of a symbol, check for quits.
+
+1992-04-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * lread.c (init_lread): Make the load path default to
+ PATH_LOADSEARCH when we're not dumping (null purify-flag), and
+ PATH_DUMPLOADSEARCH when we are (not (null (purify-flag))).
+ Change from April 7th incorrectly always used PATH_DUMPLOADSEARCH.
+
+ * lread.c (init_lread): Cleaned up logic; to determine whether the
+ load path was changed before dumping, remember the initial value
+ and compare against it.
+ (initial_path): New variable to support this.
+ (syms_of_lread): staticpro initial_path.
+
+ * ymakefile: Renamed filenames like "*-dist" to "*.in".
+
+ * config.h.in: Doc fixes.
+
+1992-04-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * config.h-dist: Renamed to config.h.in, for consistency with
+ the installation conventions of other GNU programs.
+ * paths.h-dist: Renamed to paths.h.in.
+
+1992-04-11 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu)
+
+ * termcap.c: Declare getenv.
+
+1992-04-08 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * Makefile: Renamed to Makefile.in; the configure script will edit
+ this to produce Makefile.
+
+1992-04-07 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * paths.h-dist (PATH_DUMPLOADSEARCH): New macro.
+ * lread.c (init_lread): If we're building an Emacs to be dumped,
+ use PATH_DUMPLOADSEARCH as the default load path, so we can
+ correctly find our lisp files.
+
+ * config.h-dist, paths.h-dist: Added "-*- C -*-" to top lines, so
+ Emacs will know that these are really C source.
+
+1992-04-03 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * search.c (syms_of_search): When allocating memory
+ searchbuf.buffer, cast the return value of malloc to unsigned char
+ *, not char *; this changed in the most recent version of the
+ regex code.
+
+1992-03-31 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * doc.c (Fdocumentation): Don't forget to end each line of the
+ docstring with "\n\".
+
+ * process.c (Fprocess_connection): Change "#ifdef 0" around this
+ function to "#if 0".
+
+ * eval.c (Flet, FletX): Signal an error if one of the let's binding
+ clauses has more than one value form, as in (let ((a 1 2)) a).
+
+ * eval.c (Ffuncall): Re-install change of March 10; I don't know
+ why it went away.
+
+ * search.c (compile_pattern): Declare the variable which holds the
+ return value of re_compile_pattern to be const, if this is ANSI C.
+
+ * alloc.c (xrealloc): Change "ese" to "else".
+
+ * crt0.c (start1) [sun_soft]: Change 'jst' to 'jsr'. The Sun
+ assembly language manual doesn't list any 'jst' instruction, I
+ don't know of one personally, and all the analogous code
+ around it uses 'jsr'.
+
+ * crt0.c [m68k]: Merged with GNU C Library's version: added
+ conditionals for sun_68881, sun_fpa, sun_soft.
+
+ * config.h-dist: Adjusted for renaming of share-lib to etc.
+ * lread.c (read1): Same.
+ * doc.c (Fdocumentation_property, Fsnarf_documentation): Same.
+ * ymakefile: Same.
+
+1992-03-30 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * crt0.c: Merged changes from 18.58:
+ [hp9000s300]: Set flag_fpa. Define float_loc.
+ [new hp assembler]: Double flag_fpa and flag_68881 if %d2!=0.
+ (start1): Declare to be static at the top of the file.
+ (_start): Removed static declaration in this function; since
+ everyone wants it, we'll just put it here.
+
+1992-03-20 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Finsert_file_contents): Allow quitting from I/O.
+ (Fcopy_file): Likewise.
+
+1992-03-20 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * m-intel386.h (HAVE_ALLOCA): Inhibit if C_ALLOCA.
+ (LIB_STANDARD): Alternate USG value if __GNUC__ or C_ALLOCA
+
+ * alloc.c (xrealloc): If handed a NULL pointer for the block to
+ resize, malloc a new block and return that. Not all reallocs do
+ this.
+
+ * m/elxsi.h: Doc fix.
+
+1992-03-18 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * dispnew.c (Fsleep_for): Call wait_reading_process_input, whether
+ or not we have process support; let the emulator do the work.
+ * emacs.c (fatal_error_signal, Fkill_emacs): Call
+ kill_buffer_processes even when subprocesses is not #defined; we
+ have a stub.
+
+ * process.c [not defined (subprocesses)] (Fget_buffer_process,
+ init_process, syms_of_process): New stub versions of these functions.
+ * emacs.c (main): Call init_process and syms_of_process whether or
+ not subprocesses is #defined.
+ * xdisp.c (decode_mode_spec): Call Fget_buffer_process whether or
+ not subprocesses is #defined.
+
+1992-03-17 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * keyboard.c (kbd_buffer_get_event): Call
+ wait_reading_process_input, even when subprocesses is not
+ #defined, instead of doing a whole lot of hairy SIGIO-pausing
+ stuff.
+ * dispnew.c (Fsit_for): Call wait_reading_process_input, whether
+ or not subprocesses is #defined.
+
+ * process.c (wait_reading_process_input): Since we're no longer
+ checking for exceptional conditions in the call to select, all of
+ the different ways to call select for different systems have
+ become the same; remove the #if conditionals around this.
+
+ * keyboard.c (read_char): When returning quit_char because we got
+ an interrupt signal, claim that the character came from the
+ currently selected screen.
+
+1992-03-16 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callproc.c (Fcall_process): Doc fix.
+
+ * process.c [not defined (subprocesses)] (kill_buffer_processes):
+ New dummy version of this function.
+ * buffer.c (Fkill_buffer): Removed '#ifdef subprocesses'
+ protection from the call to kill_buffer_processes; this is safe
+ whether or not we actually have subprocesses.
+
+1992-03-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * m/pfa50.h: New file.
+ * process.c (create_process, process_send_signal): Added changes
+ for m/pfa50.h.
+ * sysdep.c: same.
+ * unexec.c: same.
+
+1992-03-14 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * callproc.c (child_setup): Always put the child in its own
+ process group.
+
+1992-03-13 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * mem_limits.h (POINTER): Doc fix.
+
+ * ralloc.c: Don't #include lisp.h and xterm.h; we no longer need
+ to block input in critical sections.
+ (r_alloc, r_alloc_free, r_re_alloc): Don't use BLOCK_INPUT and
+ UNBLOCK_INPUT; these are no longer needed.
+ (struct bp): Doc fix.
+
+1992-03-11 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * ralloc.c (obtain): When deciding how many pages to request, take
+ into account the amount of spare bytes at the end of the current
+ page; let get be ROUNDUP (size - already_available), instead of
+ ROUNDUP (size).
+ (relinquish): Re-organized for clarity.
+
+ * editfns.c (Fcurrent_time): Updated to return the current time's
+ seconds split into two 16-bit integers (similar to the system used
+ by file-attributes), and the milliseconds.
+
+1992-03-10 Jim Blandy (jimb@pogo.cs.oberlin.edu)
+
+ * process.c (Faccept_process_output): Add new optional argument
+ TIMEOUT-MSECS, and return non-nil iff we actually got some input
+ from the process(es).
+ (wait_reading_process_input): Make return value indicate whether
+ we got some input from the specified process, when read_kbd is a
+ process, or from any process when read_kbd isn't particular.
+
+ * indent.c (Fmove_to_column): Pass the correct number of arguments
+ to Findent_to.
+
+ * eval.c (Ffuncall): If a subr is asking for too many arguments,
+ abort instead of printing an error message; this is an internal
+ flaw in Emacs, and the subr cannot be called.
+
+1992-03-06 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * doc.c (Fdocumentation, Fdocumentation_property): Take optional
+ new arg to not pass results thru substitute-command-keys.
+
+1992-03-05 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * unexmips.c (unexec): When setting up the data_section header,
+ calculate the size of the section as "brk - data_start," not "brk
+ - DATA_START".
+
+1992-02-23 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * fileio.c: #include "systime.h".
+ (Fcopy_file): Use the systime.h macros to copy the time to the new
+ file.
+ * ymakefile: Note that fileio.o depends on systime.h.
+
+ * ymakefile (dispnew.o): Note that this depends on systerm.h and
+ systime.h.
+ (editfns.o, xterm.o, sysdep.o): Note that this depends on
+ systime.h.
+ (emacs.o, keyboard.o, process.o, sysdep.o): Note that these depend
+ on systerm.h.
+
+ * systerm.h: Expanded to handle getting and setting terminal
+ parameters:
+ (struct emacs_tty): New structure, which consolidates all of the
+ old tty parameter structures.
+ (EMACS_GET_TTY, EMACS_SET_TTY, EMACS_TTY_TABS_OK): New macros.
+ * sysdep.c (TABS_OK): Definitions of this macro removed;
+ EMACS_TTY_TABS_OK replaces it.
+ (TERMINAL): Definitions removed; now we use struct emacs_tty.
+ [VMS] (input_chan): Renamed to...
+ (input_fd): and defined even when VMS isn't; in that case, we
+ leave it initialized to zero, which is the input tty. This allows
+ us to use the EMACS_GET_TTY and EMACS_SET_TTY for both VMS and
+ Unix.
+ (discard_tty_input): Use struct emacs_tty and its macros instead
+ of TERMINAL. Replace some of conditional with a call to
+ EMACS_GET_TTY.
+ (child_setup_tty): Use struct emacs_tty and its macros instead of
+ TERMINAL and conditionals.
+ (old_gtty, old_ltchars, old_tchars, old_lmode): Replaced by...
+ (old_tty): New variable.
+ (lmode): Made conditional on BSD4_1, since it's only used by the
+ BSD4_1 support code now.
+ (init_sys_modes): Define tty to be a struct emacs_tty, not a
+ TERMINAL. Use macros to get and set parameters for VMS and
+ Unices. Set lmode, tchars, and ltchars along with the rest of the
+ tty state.
+ (tabs_safe_p): Use EMACS_GET_TTY and EMACS_TTY_TABS_OK instead of
+ conditionals.
+ (reset_sys_modes): Use EMACS_SET_TTY to restore the settings from
+ old_tty, instead of using hairy conditionals.
+
+ * sysdep.c (get_screen_size): Neatened; now each system of
+ reporting the screen size is separated from the rest.
+
+ * systerm.h (EMACS_HAVE_TTY_PGRP, EMACS_GET_TTY_PGRP,
+ EMACS_GET_TTY_PGRP): New macros to handle setting a tty's current
+ process group.
+ * sysdep.c (setpgrp_of_tty): Use the above, instead of
+ conditionals.
+
+ * sysdep.c: #include "systerm.h".
+ #ifs that choose #include files moved from here...
+ * systerm.h: to here.
+
+ * sysdep.c [APOLLO]: We now undefine TIOCSTART not here but...
+ * systerm.h: here.
+
+ * sysdep.c [BROKEN_TIOCGETC]: We now undefine TIOCGETC not here but...
+ * systerm.h: here.
+
+ * sysdep.c [BROKEN_FIONREAD]: We now undefine FIONREAD and FASYNC
+ not here but...
+ * systerm.h: here.
+
+ * process.c (process_send_signal): Steal 18.58's version of this,
+ but incorporate the support for VMS signals.
+
+ * syssignal.h (EMACS_KILLPG): New macro.
+ * process.c (process_send_signal): Use it.
+ * sysdep.c (sys_suspend): Use it.
+
+ * syssignal.h (SIGCHLD): If we have SIGCLD and not SIGCHLD, define
+ SIGCHLD as an alias for SIGCLD.
+ * sysdep.c: Remove code for above.
+
+ * sysdep.c (init_baud_rate): Rather than trying to maintain the
+ illusion of an abstraction with the OSPEED and SETOSPEED macros,
+ just use conditionalized code for each terminal kind. This is the
+ only place we ever need this functionality.
+ (OSPEED, SETOSPEED): Definitions removed.
+
+1992-02-22 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * sysdep.c: Moved definition of sigunblock macro to ...
+ * syssignal.h: Here.
+
+ * hftctl.c: #include <sys/uio.h> before #including <sys/tty.h>.
+ (hfqry, hfskbd): Declare these functions as static before all uses.
+ * unexaix.c (make_hdr, mark_x, copy_text_and_data, copy_sym):
+ Declare as static before all uses.
+ Remove extraneous semicolons from #ifdefs of COFF and XCOFF
+ (unrelocate_symbols): cast the initializers of t_start and d_start
+ to ulong.
+
+ * s/template.h: Include a clause for the HAVE_TERMIO flag.
+
+1992-02-21 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * keyboard.c (read_char): Don't clear Vquit_flag when we catch an
+ interrupt and return a quit_char; this change (Mar 21 1991) is too
+ large a change in functionality for the cleanliness it gains.
+
+ * pwd.h: Renamed to vms-pwd.h, so that we don't get it by accident
+ when we #include <pwd.h> with the `-I.' flag given to the
+ compiler.
+ * editfns.c [VMS]: Changed to include vms-pwd.h instead of pwd.h.
+ * fileio.c [VMS]: Same.
+ * filelock.c [VMS]: Same.
+ * sysdep.c [VMS]: Same.
+
+ * xrdb.c: Changed to #include "vms-pwd.h" if VMS is defined,
+ instead of including <pwd.h> unconditionally.
+
+ * window.c (Fset_window_display_table): Rearranged to make etags
+ happy.
+
+ * xterm.c (XTread_socket): Clear the meta flag from the keypress
+ event before handing it to XLookupString.
+
+1992-02-20 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * sysdep.c: No need to test #ifdef TIOCGETP before #undefing it.
+
+1992-02-19 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * systime.h: New file.
+ * dispnew.c: #include "systime.h" to get <time.h> or <sys/time.h>,
+ whichever is appropriate, instead of using a conditional.
+ (Fsleep_for, Fsit_for, Fsleep_for_millisecs): Use the systime.h
+ macros instead of HAVE_TIMEVAL conditionals.
+ * editfns.c: #include "systime.h" to get <time.h> or <sys/time.h>,
+ whichever is appropriate, instead of using a conditional.
+ * fileio.c: Same.
+ * process.c: Same.
+ * xterm.c: Same.
+ (wait_reading_process_input): Use the systime.h macros.
+ * sysdep.c: #include "systime.h" to get <time.h> or <sys/time.h>,
+ whichever is appropriate, instead of using a conditional.
+
+ * m/template.h: Add description of NO_SOCK_SIGIO.
+
+ * sysdep.c (reset_sys_modes): Doc fix.
+
+ * keyboard.c (sigfree, sigholdx, sigblockx, sigunblockx,
+ sigpausex): Definitions moved to syssignal.h.
+
+ * dispnew.c: Doc fix.
+
+ * systerm.h: New file, to consolidate the system-dependent
+ terminal-handling trash.
+ * emacs.c: #include systerm.h.
+ (main): Use systerm.h macros instead of conditionals.
+ * dispnew.c: #include systerm.h.
+ (update_screen): Use EMACS_OUTQSIZE instead of the direct ioctl.
+ * keyboard.c: #include systerm.h to get the proper FIONREAD header
+ files, instead of using conditional.
+
+ * syssignal.h: Added copyright notice.
+
+ * emacssignal.h: Renamed to syssignal.h, to be like sysdep.c.
+ * data.c, keyboard.c, process.c, sysdep.c, ymakefile: Changed
+ #include directives.
+
+1992-02-15 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * m/intel386.h: Don't bother casting the argument to the signal
+ function; the SIGTYPE code in config.emacs ought to take care of
+ this.
+
+ * buffer.c (record_buffer): Doc fix.
+
+1992-02-13 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * s/iris3-6.h: #define HAVE_GETWD.
+
+1992-02-11 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * window.c (Fwindow_at): Accept position as two arguments, not a
+ cons of numbers.
+
+ * window.c (scroll_command): Undo the Jan 31 change; do set the
+ current buffer to the selected window's buffer. A simple
+ set-buffer will make these two different.
+
+1992-02-10 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * callproc.c (Fcall_process): Clear synch_process_death and
+ synch_process_retcode to zero before forking the process.
+
+ * process.c (synch_process_death, synch_process_retcode): Don't
+ declare them extern here.
+ * process.h (synch_process_death, synch_process_retcode): Declare
+ them extern here, along with synch_process_alive.
+
+ * s/hpux.h: Define CLASH_DETECTION.
+
+ * window.c (init_window_once): Don't pass any arguments to
+ make_window.
+
+ * keyboard.c (command_loop_1): Move the label directly_done out of
+ the else block to just after the else block. This shouldn't
+ change the semantics of the code, but appears to avoid a compiler
+ bug on SCO Unix V.3.2v2.
+
+ * fileio.c (Fset_umask, Fumask): New functions.
+ (syms_of_fileio): defsubr them.
+
+ * undo.c (Fprimitive_undo): When undoing a deletion with the point
+ before the deleted text, use Finsert_before_markers so that the
+ mark will end up on the other side of the text, if it's in the
+ area at all.
+
+ * xdisp.c (redisplay): Properly compute TAB_OFFSET for compute_motion.
+
+ * keyboard.c (command_loop_1): Don't check whether cursor is at
+ edge of screen here.
+ * dispnew.c (direct_output_forward_char): Check here, and return
+ zero if it can't be done. And compare the cursor position to the
+ window boundaries, not the screen boundaries.
+
+1992-02-05 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * screen.c (Fscreen_parameters): If the screen has a minibuffer
+ window on another screen, return the window, instead of nil.
+ (store_screen_param): If the value of the minibuffer parameter is
+ a window, try to make it the surrogate minibuffer window.
+ (Qminibuffer): New variable, to support above change.
+ (syms_of_screen): initialize and staticpro it.
+
+ * m/tad68k.h: New file.
+
+ * fileio.c (Ffile_accessible_directory_p): New function.
+ (syms_of_fileio): defsubr it.
+ * callproc.c: #include <errno.h>.
+ (child_setup): Accept yet another argument, current_dir.
+ Don't try to report an error here if current_dir is inaccessible;
+ this function is called in a vforking process. Just have the
+ process exit with an error code.
+ (Fcall_process): Make sure that the current directory is okay
+ here, before we fork. Pass the current_dir argument.
+ * process.c (create_process): Same here.
+
+ * callproc.c (Fcall_process): Don't assign into args[1] when nargs
+ < 2. Instead, use a new variable called infile. Re-arranged
+ logic which processes the BUFFER argument.
+
+1992-02-03 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * fileio.c (Fexpand_file_name): Doc fix.
+
+ * scroll.c (line_ins_del): Since we're calculating the array from
+ end to beginning, make the indices go that way, and thus clearly
+ get the right boundary. This used to ignore the [0] element, and
+ write in the [screen_height] element, which doesn't exist.
+
+1992-02-03 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * xdisp.c (redisplay, try_window_id): Special case for change
+ at beginning of line, if using selective display.
+
+1992-01-31 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * m/delta88k.h: Added USUAL-OPSYS information, for the
+ config.emacs script to use.
+
+ * window.c (scroll_command): Don't bother setting the current
+ buffer to the selected window's buffer; this should always already
+ be the case. Add check just in case.
+
+ * indent.c (compute_motion): Don't pack vpos and hpos into one int;
+ use separate variables hpos/vpos and prev_hpos/prev_vpos.
+ (vmotion): Use largest int as tovpos arg to compute_motion.
+
+1992-01-30 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * window.c: #include "keyboard.h" to get the Qmode_line and
+ Qvertical_split declarations.
+ * ymakefile (window.o): Note that this depends on keyboard.h.
+
+ * callproc.c (getenv_internal): Cast the pointer to the variable's
+ value to a char *; elisp strings are unsigned char *'s. And
+ valuelen is an int *, not an int **.
+
+ * scroll.c (do_scrolling): Document meaning of enable flag in
+ temp_screen.
+
+1992-01-30 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m-orion105.h (C_DEBUG_SWITCH, LIBS_DEBUG): Defs deleted.
+
+1992-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m-iris4d.h (C_SWITCH_MACHINE): New definition.
+
+1992-01-28 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * term.c: #include "keyboard.h", for Vfunction_key_map.
+ * keyboard.h: Declare Vfunction_key_map.
+
+ * keyboard.h: New file, for external declarations used in
+ processing keyboard input and events.
+ * lisp.h (Qmode_line, Qvertical_split, num_input_chars,
+ poll_suppress_count): Extern declarations moved to keyboard.h.
+ * keyboard.c: #include "keyboard.h".
+ (Qvscrollbar_par, Qvslider_part, Qvthumbup_part,
+ Qvthumbdown_part, Qhscrollbar_part, Qhslider_part,
+ Qhthumbleft_part, Qhthumbright_part): Moved declarations here from
+ xfns.c, so they're with the other event heading symbols.
+ * eval.c: #include "keyboard.h".
+ * ymakefile (callint.o, keyboard.o, keymap.o, xfns.o, eval.o):
+ Note that these depend on keyboard.h.
+
+ * xfns.c: The above symbols aren't here any more. #include
+ "keyboard.h" to get them.
+ (syms_of_xfns): Don't initialize or staticpro them.
+ * keyboard.h: Added extern declarations for the above.
+ * callint.c: #include "keyboard.h".
+
+ * xfns.c (Vmouse_screen_part): Variable removed, no longer used.
+ (syms_of_xfns): Changed accordingly.
+
+ * xterm.c (Qmouse_moved): Variable removed, no longer used.
+ (Qmouse_click, Qscrollbar_click): Removed. These are now event
+ types, in keyboard.c and keyboard.h; they're no longer used in
+ this way.
+ (Vmouse_window, Vmouse_screen_part): Extern declarations removed.
+ (XTread_socket): Don't assign to Vmouse_window or
+ Vmouse_screen_part.
+ (syms_of_xterm): Changed accordingly.
+
+ * keyboard.h (EVENT_HAS_PARAMETERS, EVENT_HEAD, EVENT_WINDOW,
+ EVENT_BUFFER_POSN, EVENT_SCROLLBAR_BUTTON, EVENT_WINDOW_POSN,
+ EVENT_TIMESTAMP, EVENT_HEAD_UNMODIFIED, EVENT_HEAD_KIND): New
+ macros to recognize and access events that have parameters, like
+ mouse events.
+ * keyboard.c (read_char, echo_char, Fmouse_click_p,
+ read_key_sequence): Use them.
+ * keymap.c: #include "keyboard.h".
+ (access_keymap, store_in_keymap, Fsingle_key_description): Use the
+ macros from keyboard.h.
+
+ * keyboard.c (Qevent_kind): New symbol, naming the property of an event
+ header where we put the event's type.
+ (Qfunction_key, Qmouse_click, Qscrollbar_click): New symbols, used
+ to tag different kinds of events.
+ (Qevent_unmodified): New symbol, naming the property
+ of an event header where we put an unmodified version of the event
+ header.
+ (modify_event_symbol): Take a new argument, SYMBOL_KIND, whose
+ value should be put on the Qevent_kind property of each symbol we
+ make. Set the Qevent_unmodified property of each symbol we make.
+ (make_lispy_event): Pass the appropriate SYMBOL_KIND argument to
+ modify_event_symbol.
+ (struct event_head, head_table): New tables, to simplify the
+ initialization of some of the event heads.
+ (syms_of_keyboard): Initialize and staticpro the symbols given in
+ head_table, and put the Qevent_kind and Qevent_unmodified
+ properties on them. Initialize all of the new symbols listed
+ above.
+
+ * keyboard.c (lispy_function_keys, lispy_mouse_names): Renamed
+ these from function_key_names and mouse_names, and moved them
+ outside of make_lispy_event, since static doesn't work on all
+ systems, and these can't be automatic.
+
+1992-01-28 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * fileio.c (Fwrite_region): Remove Alliant conditional.
+ * crt0.c: Conditionals for ALLIANT_2800.
+ * m/alliant-2800.h: New file.
+ * unexfx2800.c: New file.
+
+ * m-mips4.h (C_DEBUG_SWITCH): Alternate defn for GCC.
+
+ * sysdep.c [VMS] (sys_write): Special case for fixed-length
+ with carriage-control characters.
+
+ * s/isc2-2.h (NOMULTIPLEJOBS): Undef this.
+ (LIB_STANDARD): Add -lPW.
+ (LIBS_SYSTEM): Defined.
+ * m/intel386.h (signal): Optionally don't define it.
+
+1992-01-27 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * s/template.h: Document the SIGTYPE macro.
+ * s/bsd4-3.h: Define the SIGTYPE macro.
+
+ * data.c (Fsymbol_value): Extract all the innards of this function
+ into find_symbol_value, except the code which signals an error.
+ (find_symbol_value): New function.
+ * lisp.h (find_symbol_value): Declare it.
+ * keymap.c (current_minor_maps): Use it, instead of a call to
+ Fboundp and Fsymbol_value per every minor map, for every key
+ sequence read.
+
+ * xterm.c (x_make_screen_visible): Don't raise the window. This
+ causes the window to pop to the front every time a message
+ appears, which isn't desirable.
+
+ * screen.c (Fselect_screen, Fdelete_screen, Fset_mouse_position,
+ Fmake_screen_visible, Fmake_screen_invisible, Ficonify_screen,
+ Fdeiconify_screen, Fscreen_parameters, Fmodify_screen_parameters,
+ Fset_screen_height, Fset_screen_width, Fset_screen_size,
+ Fset_screen_position): Use SCREEN_IS_X macro instead of testing
+ for output_x_window.
+ * xfns.c (adjust_scrollbars, Fx_store_cut_buffer): Same.
+
+1992-01-25 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * term.c (term_get_fkeys): New function.
+ (term_init): Call term_get_fkeys.
+
+1992-01-21 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * editfns.c (Ffollchar, Fprevchar): Renamed to Ffollowing_char and
+ Fprevious_char, for consistency. Renamed Sfollchar and Sprevchar
+ too.
+ (syms_of_editfns): Fixed defsubrs.
+ * lisp.h (Ffollchar, Fprevchar): Renamed extern declarations as above.
+
+ * editfns.c (Ffollowing_char): Return 0 at the end of the buffer,
+ as advertised. Doc fix.
+ (Fprevious_char): Doc fix.
+
+ * config.h-dist: Rearranged to define user parameters before
+ including the machine and opsystem files, so the files can have
+ conditionals on the parameters.
+
+1992-01-15 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * keyboard.c (read_key_sequence): When expanding a function key
+ recognized with Vfunction_key_map, don't scan the expansion for
+ further function key sequences.
+
+ * keyboard.c (Vfunction_key_map): Real declaration moved to
+ keymap.c; this declaration made extern.
+ (syms_of_keyboard): DEFVAR and initialization of Vfunction_key_map
+ moved to keymap.c, since it should be initialized to a keymap, but
+ we don't want to rely on Qkeymap being initialized now.
+ * keymap.c (Vfunction_key_map): Variable moved here.
+ (syms_of_keymap): DEFVAR and init here.
+
+ * keymap.c (Fglobal_key_binding): Doc fix.
+
+1992-01-16 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * m-delta88.h: New file.
+
+ * window.c (window_scroll): New arg `noerror'.
+ (scroll_command, Fscroll_other_window): Pass that arg.
+
+1992-01-15 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * process.c (sigchld_handler):
+ Set synch_process_death and synch_process_retcode.
+
+1992-01-14 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * config.h-dist (SIGTYPE): New macro to help give signal handlers
+ the correct type.
+ * s/usg5-3.h (SIGTYPE): Define this to be void.
+ * dispnew.c (window_change_signal): Declare this to return
+ SIGTYPE.
+ * emacs.c (fatal_error_signal): Same.
+ * data.c (arith_error): Same.
+ * process.c (create_process_1, send_process_trap,
+ create_process_sigchld, sigchld_handler): Same.
+ (create_process): Declare sigchld according to SIGTYPE. This
+ means we don't have to cast the return value of signal.
+ * keyboard.c (input_poll_signal, interrupt_signal): Declare these
+ to return SIGTYPE.
+ (kbd_buffer_store_event): Include a forward declaration for
+ interrupt_signal here.
+ * sysdep.c (struct save_signal): Say the handler returns SIGTYPE
+ instead of int.
+ (save_signal_handlers): So we don't have to cast the return value
+ from signal here.
+ (sys_suspend): Declare oldsig according to SIGTYPE.
+ (select): Declare old_trap using SIGTYPE.
+ (select_alarm, wait_for_termination_signal): Declare these to
+ return SIGTYPE.
+
+ * emacs.c: #include <termios.h>, if we have it.
+ (fatal_error_signal): If we have termios, use tcgetpgrp to get the
+ terminal's process group.
+ * process.c: If we have termios, #include <termios.h> instead of
+ <termio.h>.
+ (process_send_signal): If we have termios, use tcgetpgrp to get
+ the terminal's process group. Have gid default to the child's
+ pid, to simplify the logic below.
+ * sysdep.c (flush_pending_output): If we are using termios, make
+ this function a no-op; since we're not in the tty's pgroup, we
+ would get a SIGTTIN.
+
+1992-01-13 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * config.h-dist: Removed MAINTAIN_ENVIRONMENT clause.
+ * callproc.c: Removed support for MAINTAIN_ENVIRONMENT.
+ (init_callproc): Use getenv instead of egetenv to initialize
+ Vshell_file_name.
+ * emacs.c (decode_env_path): Use getenv instead of egetenv
+ * lisp.h: Removed support for MAINTAIN_ENVIRONMENT.
+ * process.c: Same.
+ * ymakefile: Same.
+ * dispnew.c (init_display): Call getenv instead of egetenv.
+
+ * editfns.c (Fgetenv): Function moved...
+ * callproc.c (Fgetenv): To here, and made to scan
+ Vprocess_environment instead of using the usual C getenv function.
+ (getenv_internal): New function.
+ (egetenv): New function.
+ * lisp.h: Added extern declaration for egetenv.
+ * editfns.c (syms_of_editfns): Adjusted.
+ * callproc.c (syms_of_callproc): Adjusted.
+
+ * window.h (minibuf_prompt_width): Declare this extern here, after
+ minibuf_prompt.
+ minibuf.c: Don't extern declare it here.
+ indent.c: As above.
+
+ * dispnew.c (buffer_posn_from_coords): If there is a prompt in the
+ minibuffer, account for its width when computing the buffer
+ position.
+
+ * Makefile (doall): Explicitly export CC to the xmakefile.
+
+ * ymakefile: Use /* */ around comments; # confuses cpp.
+
+ * ymakefile: Note that ralloc.o depends on mem_limits.h, xterm.h,
+ and config.h.
+ Note that vm-limit.o depends on mem_limits.h.
+
+ * lread.c (read_escape): Return \a as '\007', not '\a'; the latter
+ isn't portable, and this routine would have to be revised anyway
+ to deal with anything other than ASCII.
+
+ * keymap.c (current_minor_maps): Rewritten not to use
+ function-local static variables, to accomodate DGUX.
+
+ * xterm.h (UNBLOCK_INPUT): Replace "abort ()" with "(abort (),
+ 0)", to avoid type conflicts on odd systems like Ultrix.
+
+ * xrdb.c: Include <sys/types.h>, and declare getuid to return uid_t.
+
+ * xdisp.c (redisplay_window): Use SET_PT macro instead of
+ assigning to point.
+ insdel.c (insert_from_string): Same.
+
+ * xterm.c (XTcursor_to): Declare it static at the function
+ definition, as well as at the top of the file.
+ (dumpglyphs): Removed declarations for buf and cp; these variables
+ are never used.
+
+ * lisp.h (NULL): Renamed to NILP, so as not to conflict with
+ <stdio.h>, and <stddef.h>. All callers changed; all
+ #undefinitions of NULL removed.
+
+1992-01-12 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * xdisp.c (message): #ifdef NO_ARG_ARRAY, make a local block to
+ declare the explicit argument array.
+
+ * config.h-dist: Instead of reaching the machine- and
+ system-dependent files through symlinks, replace the strings
+
+1992-01-09 Jim Blandy (jimb at pogo.cs.oberlin.edu)
+
+ * keyboard.c (stuff_buffered_input): Don't forget to increment
+ kbd_fetch_ptr while looping through kbd_buffer.
+
+1992-01-08 Jim Blandy (jimb at occs.cs.oberlin.edu)
+
+ * keyboard.c (read_avail_input): Don't forget to fill in the
+ screen field in events read from the terminal.
+ * sysdep.c (kbd_input_ast, read_input_waiting): Call
+ kbd_buffer_store_event with a `struct input_event *', not a
+ character or a Lisp_Object.
+
+1991-12-21 Jim Blandy (jimb at occs.cs.oberlin.edu)
+
+ * bytecode.c (docall): Don't remove protection from the arguments
+ to Ffuncall.
+
+1991-12-20 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (Vfunction_key_map): New variable.
+ (read_key_sequence): Changed to recognize and substitute bindings
+ in Vfunction_key_map at any point in the sequence, unless they
+ conflict with ordinary bindings.
+ (syms_of_keyboard): DEFVAR, document, and initialize
+ Vfunction_key_map.
+
+1991-12-19 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keymap.c (Vminor_mode_map_alist): New variable, to support
+ keymaps for minor modes.
+ (current_minor_maps, Fminor_mode_key_binding,
+ Fcurrent_minor_mode_maps): New functions.
+ (Fkey_binding): Rewritten to scan for minor mode bindings too.
+ (syms_of_keymap): DEFVAR, document, and initialize
+ Vminor_mode_map_alist, and defsubr the new Ffunctions.
+ (describe_buffer_bindings): Describe the bindings established by
+ minor modes too.
+ * keyboard.c (follow_key): New function, to support...
+ (read_key_sequence): Completely rewritten to handle scanning an
+ arbitrary number of keymaps at a time.
+
+ * keyboard.c (Fread_key_sequence): GCPRO keybuf, since it can hold
+ lisp expressions while waiting for input. Don't pass too many
+ arguments to read_key_sequence.
+ (command_loop_1): Don't pass too many arguments to read_key_sequence.
+
+ * keyboard.c (add_command_key): New function; there are several
+ places that add keys to this_command_keys, so we make one function
+ to do the work.
+ (read_char, Fexecute_extended_command): Call add_command_key
+ instead of writing out its code again.
+ (init_keyboard): Allocate this_command_keys according to
+ this_command_keys_size.
+
+ * lread.c (read1): Change comment to use `share-lib' instead of `etc'.
+ * doc.c (Fdocumentation_property, Fsnarf_documentation): Update
+ docstring similarly.
+ (Fsnarf_documentation): Use "../share-lib/" instead of "../etc/"
+ to find doc file while dumping.
+ * unexaix.c: Similar doc fix.
+
+ * ymakefile (etcdir): Variable removed.
+ (libsrc, archlib, sharelib): New variables, to take the place of
+ etcdir.
+
+1991-12-18 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * ymakefile (CFLAGS): Don't automatically include C_DEBUG_SWITCH
+ in the value for CFLAGS; the configuration script will take care
+ of choosing the debugging and optimization switches.
+
+ * config.h-dist: Copy the GLYPH definitions from config.h to here.
+
+1991-12-16 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * abbrev.c (Fexpand_abbrev): Run pre-abbrev-expand-hook.
+ (syms_of_abbrev): Define that variable.
+
+1991-12-13 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * m/m-*.h: Since the m- is now redundant, renamed all files to
+ remove it, and changed references within files.
+ * s/s-*.h: Same business.
+
+1991-12-11 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * config.h-dist (MULTI_SCREEN): Define this automatically when
+ we're using a window system.
+
+1991-12-09 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * m/m-*.h (i.e. all machine config files): Added USUAL-OPSYS
+ comments to tell the configuration script what sort of operating
+ system this machine typically runs.
+
+ * config.h-dist (MScreenWidth, MScreenLength): Deleted; no longer
+ used.
+
+1991-12-08 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * editfns.c (Fcurrent_time): New function, to return the current
+ time as a number, like the Unix time(3) function. This might be
+ fun to port.
+ (syms_of_editfns): defsubr it.
+
+1991-12-05 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keymap.c (Vminor_mode_map_alist): New variable.
+ (current_minor_maps): New function.
+ (Fcurrent_minor_mode_maps): New function.
+ (syms_of_keymap): DEFVAR, document, and initialize
+ Vminor_mode_map_alist, and defsubr Fcurrent_minor_mode_maps.
+
+ * callproc.c (Vdata_directory): New lisp variable, for the
+ directory containing architecture-independent data files.
+ (init_callproc): Initialize Vdata_directory from PATH_DATA, and
+ make sure it exists. Renamed execdir to tempdir, because we use
+ it for both Vexec_directory and Vdata_directory.
+ (syms_of_callproc): Doc fix for Vexec_directory, new DEFVAR_LISP
+ for Vdata_directory.
+ * paths.h-dist (PATH_DATA): New path macro, to initialize
+ Vdata_directory.
+ * doc.c (get_doc_string): Use Vdata_directory to find the
+ docstrings, not Vexec_directory.
+ * lisp.h (Vdata_directory): New extern declaration, for above
+ users.
+ * config.h-dist: Changed references to ../etc to ../share-lib.
+
+ * callint.c (Fcall_interactively): For the 'k' interactive code,
+ cast the type of the symbol name before passing it to error.
+
+1991-12-02 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (make_lispy_movement): Move call to
+ mouse_position_hook from here...
+ (kbd_buffer_get_event): To here, for symmetry with non-movement
+ events.
+
+ * keyboard.c (kbd_buffer_get_event): Set Vlast_event_screen for
+ mouse movements, too.
+
+1991-11-27 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu)
+
+ * alloca.c (alloca): Add parens to make precedence clearer.
+
+1991-11-26 Michael I Bushnell (mib at geech.gnu.ai.mit.edu)
+
+ * search.c: need to include sys/types.h because of recent mod to
+ regex.h.
+
+1991-11-25 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * bytecode.c: BYTE_CODE_METER and BYTE_CODE_SAFE undefined by default.
+ (METER_CODE): Define same name whether metering or not.
+ (BinsertN): New byte code.
+ (Fbyte_code): Improve overflow/underflow error messages.
+ (docall): Put back previously lost code to remove protection
+ from funcall args.
+
+1991-11-25 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * lisp.h (make_array): New extern declaration.
+
+ * alloc.c (make_sequence): Renamed to make_array; more accurate.
+ * keyboard.c (Fread_key_sequence, Fthis_command_keys): Callers fixed.
+ * macros.c (Fend_kbd_macro): Callers fixed.
+
+1991-11-15 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (cmd_error): If an error occurs before somebody has
+ provided a screen to print it on, print it to stderr and exit
+ Emacs. Handle batch-mode errors with the same code.
+ * lisp.h (Qexternal_debugging_ouput): New extern declaration, for
+ use in cmd_error.
+
+ * screen.c (Fscreen_pixel_size, Fset_screen_position): Doc fix.
+
+ * window.c (Fwindow_at): Typecheck COORDINATES more thoroughly.
+
+ * screen.c (read_mouse_position): Function deleted.
+ (Fread_mouse_position): Renamed to Fmouse_position, and changed to
+ use mouse_position_hook.
+ (syms_of_screen): Adjusted accordingly.
+ * xfns.c (x_read_mouse_position): Function deleted.
+
+ * screen.h (SCREENP): The non-MULTI_SCREEN case used to say this
+ was false for all objects, but it should be true for the terminal
+ screen, so make its definition the same as in the MULTI_SCREEN
+ case.
+
+ * screen.h (SCREEN_LIVE_P): New predicate.
+ (CHECK_LIVE_SCREEN): New type-checking macro.
+ (Qlive_screen_p): New error-reporting symbol.
+ * screen.c (Qlive_screen_p): Declare the new symbol.
+ (Flive_screen_p): New lisp predicate.
+ (syms_of_screen): Initialize, staticpro, and defsubr the lot.
+ * dispnew.c (Fredraw_screen): Use CHECK_LIVE_SCREEN.
+ * screen.c (Fscreen_root_window, Fscreen_selected_window,
+ Fnext_screen, Fset_mouse_position, Frestore_screen_configuration,
+ Fmake_screen_visible, Fmake_screen_invisible, Ficonify_screen,
+ Fdeiconify_screen, Fscreen_visible_p, Fredirect_screen_focus,
+ Fscreen_focus, Fmodify_screen_parameters, Fset_screen_height,
+ Fset_screen_width, Fset_screen_size, Fset_screen_position,
+ Fselect_screen): Use CHECK_LIVE_SCREEN.
+ * window.c (Fwindow_at, Fcurrent_window_configuration): Use
+ CHECK_LIVE_SCREEN.
+ * xfns.c (Ffocus_screen, Fx_pixel_width, Fx_pixel_height): Use
+ CHECK_LIVE_SCREEN.
+
+ * screen.c (Fdelete_screen): Do nothing if SCREEN is already
+ deleted.
+
+ * screen.c (Qscreenp): Staticpro this symbol.
+
+ * xfns.c (Fx_create_screen): Doc fix.
+
+ * xfns.c (Fx_create_screen): Give the screen a minibuffer if the
+ 'minibuffer parameter is t or nil; nil is the default value for
+ omitted parameters, and t is intuitive.
+
+1991-11-14 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * eval.c (specbind): Check that the thing being bound is a symbol.
+ (funcall_lambda): Signal an invalid-function error if the
+ arguments are not all symbols.
+
+1991-11-08 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * screen.c (Fselect_screen): Don't select dead screens.
+ * print.c (print): Print dead screen objects starting with
+ "#<dead screen".
+
+ * keyboard.c (read_key_sequence): Make sure that the compound
+ events actually have valid window fields.
+
+ * window.c (next_screen_window): Function deleted; Fnext_window
+ can now do its job properly.
+ (window_from_coordinates, window_loop): Call Fnext_window instead
+ of next_screen_window.
+
+ * xdisp.c (redisplay): Don't clear out minibuffer windows in the
+ midst of the screen loop here. That's confusing.
+ (redisplay_window): Since this needs special code to detect
+ minibuffers anyway, put it here. And clear all the lines of a
+ multi-line minibuffer, not just the first one.
+
+1991-11-07 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * screen.c (Fdelete_screen): When searching Vscreen_list for a new
+ value for last_nonminibuf_screen, remember that the screens live
+ in the cars of the list, not the cdrs.
+
+ * xterm.c (x_make_screen_visible): Rearranged for clarity.
+
+ * xdisp.c (echo_area_display): Rearranged for clarity.
+
+1991-11-06 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * screen.c (next_screen, prev_screen): New meaning for MINI_SCREEN
+ argument helps implement the behavior of Fnext_window.
+ (Fnext_screen): Document the new behavior.
+
+ * screen.c (make_minibuffer_screen): Do set has_minibuffer for
+ minibuffer-only screens.
+ (Fscreen_parameters): Correctly generate value of minibuffer
+ parameter using SCREEN_HAS_MINIBUF and SCREEN_MINIBUF_ONLY_P.
+ * screen.h (SCREEN_HAS_MINIBUF): New predicate.
+ * dispnew.c (change_screen_size): Use it.
+ * screen.c (Fdelete_screen): Use it.
+
+ * screen.c (Vglobal_minibuffer_screen): Renamed
+ Vdefault_minibuffer_screen to better describe its significance.
+ (make_screen_without_minibuffer, syms_of_screen): Adjusted.
+ * xfns.c (Fx_create_screen): Doc string adjusted.
+
+ * xdisp.c (display_mode_line): Make the code which names the
+ screen after the current buffer not depend on
+ Vglobal_minibuffer_screen.
+ * xterm.c (Vglobal_minibuffer_screen): Don't declare this extern
+ here; it's never used.
+
+1991-11-05 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * screen.c (Fdelete_screen): Document the fact that surrogate
+ minibuffer screens may not be deleted.
+
+ * screen.h (SCREEN_MINIBUF_ONLY_P): New predicate, true iff the
+ screen's only window is a minibuffer, aka a "minibuffer screen" or
+ a "minibuffer-only" screen.
+ * dispnew.c (change_screen_size): Use it.
+ * screen.c (Fselect_screen, next_screen, prev_screen,
+ Fdelete_screen): Use it.
+ * window.c (Fdisplay_buffer): Use it.
+
+ * screen.c (next_screen, prev_screen): Make MINIBUF a lisp
+ boolean, not a C boolean.
+ (Fnext_screen, Fdelete_screen): Changed to fit.
+ * window.c (Fnext_window, Fprevious_window): Changed to fit.
+
+ * screen.c (make_screen_without_minibuffer): Error string improvement.
+
+ * screen.c (syms_of_screen): Doc grammar fix for Vemacs_iconified.
+
+ * screen.c (next_screen): Added some sanity checks, rewrote comments.
+
+ * screen.h (Vglobal_minibuffer_screen): Don't declare this. It
+ shouldn't be used for anything but screen creation.
+ * window.c (Fminibuffer_window): Vglobal_minibuffer_screen is not
+ necessarily the screen containing the current minibuffer window.
+ Also, call choose_minibuf_window; it does much of the work here.
+ (Fnext_window): Used to insist on looping through all screens if
+ Vglobal_minibuffer_screen was non-nil. Now includes screen's
+ minibuffer window according to MINIBUF, no matter what screen it's
+ on, and ignores Vglobal_minibuffer_screen. Loop termination logic
+ cleaned up. Clarified doc string.
+ (Fprev_window): Same problems as Fnext_window, above.
+ * screen.c (Vglobal_minibuffer_screen): Documentation rewritten to
+ emphasize that it is only a parameter of the creation of
+ minibufferless screens, and not an indication of where the
+ minibuffer is.
+ (prev_screen): Used to assume that Vglobal_minibuffer_screen was
+ the only minibuffer-only screen, and would enter an infinite loop
+ if Vglobal_minibuffer_screen was the only screen in the list.
+ Rewritten to fix these problems.
+ * minibuf.c (Vglobal_minibuffer_screen): Don't declare it extern
+ here; it's not used.
+
+ * editfns.c (Fmessage): Don't call Fmake_screen_visible here.
+ * xdisp.c (message, message1): Call it here, so that Emacs C
+ functions like Fy_or_n_p make the screen visible too.
+
+1991-11-04 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (readable_events): If EVENT_QUEUES_EMPTY, we can
+ short-circuit and say no. Otherwise, if do_mouse_tracking, we can
+ short-circuit and say yes. These things let us scan the event
+ queue less often.
+
+ * termhooks.h (mouse_tracking_enable_hook): Replaced by...
+ (mouse_moved, mouse_position_hook): It turns out that it is
+ possible and no less efficient simply to tell Emacs if the mouse
+ has moved since last noticed, and let it ask for the current mouse
+ position; X's pointer motion hints are a cool thing.
+ * term.c (mouse_tracking_enable_hook): Replaced by...
+ (mouse_position_hook): New, simpler interface.
+ * keyboard.c (struct movement, movement_buf, movement_ptr):
+ Replaced by...
+ (mouse_moved): This flag, to be used in conjuction with
+ mouse_position_hook.
+ (EVENT_QUEUES_EMPTY): Adjusted to use mouse_moved instead of
+ movement_buf and movement_ptr.
+ (tracking_off, Ftrack_mouse): Don't call mouse_tracking_enable
+ hook.
+ (note_mouse_position): Moved to xterm.c.
+ (get_mouse_position): Replaced by mouse_position_hook.
+ (make_lispy_event): Movement event generation code moved out to a
+ separate function...
+ (make_lispy_movement): Create a mouse movement event for the
+ current mouse position. Use mouse_position_hook instead of
+ get_mouse_position. Added static declaration for this above...
+ (kbd_buffer_get_event): Use mouse_moved instead of movement_buf
+ and movement_ptr. Call make_lispy_movement instead of
+ make_lispy_event.
+ (init_keyboard): Initialize do_mouse_tracking. Don't init
+ movement_ptr and movement_buf.
+ * xterm.h (STANDARD_EVENT_SET): Add PointerMotionMask and
+ PointerMotionHintMask to the set.
+ * xterm.c (pixel_to_glyph_translation): Renamed to
+ pixel_to_glyph_coords, made static, simplified to take advantage
+ of constant-size characters, and extended to return the bounding
+ rectangle of the glyph returned.
+ (construct_mouse_click): The 'button' field of a button event is
+ the button number, not a mask; convert it to a mask before
+ frobbing x_mouse_grabbed. Call pixel_to_glyph_coords properly.
+ (last_mouse_screen, last_mouse_glyph): New variables, to keep
+ track of when the pointer has moved to a different glyph.
+ (note_mouse_position): Moved here from keyboard.c and made static.
+ Check if the new mouse position is over a new glyph. If it is,
+ set mouse_moved flag; otherwise, call XQueryPointer to get the
+ next motion event.
+ (XTmouse_tracking_enable): No longer needed, since pointer motion
+ hints let us implement the simpler mouse position hook.
+ (XTmouse_position): New hook. Call XQueryPointer to get the
+ current mouse position and request notification about the next
+ mouse movement. Clear the mouse_moved flag.
+ (pixel_to_glyph_coords, construct_mouse_click,
+ note_mouse_position, XTmouse_position): Put these all on the same
+ page.
+ (XTread_socket): case MotionNotify, call note_mouse_position with
+ the right args; don't call pixel_to_glyph_translation.
+ (x_term_init): Set mouse_position_hook instead of
+ mouse_tracking_enable_hook.
+
+1991-10-31 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xdisp.c (redisplay_window): When trying to avoid starting
+ display at the end of the buffer: check that startp < ZV, not
+ startp <= ZV.
+
+1991-10-29 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xterm.c (x_do_pending_expose, XTmouse_tracking_enable): Use
+ SCREEN_IS_X instead of testing output_method directly.
+
+1991-10-26 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xdisp.c (redisplay): In the single-screen optimization, always
+ update the minibuffer's screen as well as the selected screen, no
+ matter what the echo_area_glyphs are. This makes sure that
+ messages get cleared after a keystroke.
+
+1991-10-25 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * callint.c (Finteractive): Doc fix.
+
+ * xterm.c (XTmouse_tracking_enable): Block input while changing
+ the screens' input selection masks.
+
+ * window.c (change_window_height): If the window being resized is
+ the only window of the screen, no size change is possible; make
+ the delta be zero. Exit without "changing" the sizes of any
+ windows if the delta is zero.
+
+ * alloc.c: Don't bother to include xterm.h.
+ (Fgarbage_collect): Don't bother to BLOCK_INPUT here,
+ since we don't cons in the input handler.
+
+1991-10-21 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * window.c (init_window_once): Set last_nonminibuf_screen to the
+ initial terminal screen, so that poor Fdisplay_buffer doesn't try
+ to create a new screen on a terminal.
+
+1991-10-19 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * m-intel386.h (signal): Optionally don't define it.
+ * s-isc2-2.h (DONT_DEFINE_SIGNAL): Define this.
+
+1991-10-18 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * scroll.c (line_ins_del): Don't calculate costs off the end of mf
+ and ov; use < in loop condition, not <=.
+
+ * scroll.c (scroll_cost): Logic rearranged.
+
+ * dispnew.c (change_screen_size): Change "SCREEN_IS_TERMCAP
+ (screen) == output_termap" to "SCREEN_IS_TERMCAP (screen)"
+ (window_change_signal): Use SCREEN_IS_TERMCAP predicate instead of
+ testing output_method_directly.
+
+1991-10-15 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xterm.h (STANDARD_EVENT_SET): Include ButtonReleaseMask in
+ STANDARD_EVENT_SET.
+ * xterm.c (XTmouse_tracking_enable): Don't bother or'ing
+ ButtonReleaseMask with the STANDARD_EVENT_SET.
+
+ * dispnew.c (buffer_posn_from_coords): If the coordinates are off
+ past the end of a line, return them as being *before* the newline,
+ not after.
+
+ * keyboard.c (kbd_buffer_get_event): Set input_pending after
+ reading the event, no matter what sort of event it is - i.e., move
+ the assignment to input_pending outside of the event lispifying
+ conditional.
+
+ * keyboard.c (note_mouse_position): Don't record a "new" mouse
+ position unless it really differs from the last one returned.
+
+ * keyboard.c (kbd_buffer_read_char): Renamed to
+ kbd_buffer_get_event, for consistency with kbd_buffer_store_event.
+
+ * window.c (Fwindow_at): modified to take the coordinates as a
+ pair, not a two-element list, for ease of use and compatibility
+ with events. Make SCREEN argument second and optional.
+ (Fcoordinates_in_window_p): Modified to take and return the
+ coordinates as above, and to distinguish the right border as well
+ as the mode line.
+ (window_from_coordinates): Modified to distinguish the right
+ border as well as the mode line.
+ * lisp.h (Qmode_line, Qvertical_split): Declare this extern, from
+ keyboard.c.
+ * keyboard.c (make_lispy_event): Distinguish a window's right
+ border from its text area.
+
+ * window.c (coordinates_in_window): Make it static.
+
+ * window.c (Flocate_window_from_coordinates): Renamed to
+ Fwindow_at.
+ (syms_of_window): Adjusted.
+ * lisp.h: Adjusted to say so.
+
+ * screen.c (Fcoordinates_in_window_p, window_from_coordinates,
+ Flocate_window_from_coordinates): Functions moved to window.c.
+ (syms_of_screen): Adjusted.
+ * window.c (Fcoordinates_in_window_p, window_from_coordinates,
+ Flocate_window_from_coordinates): Here they are.
+ (syms_of_window): Adjusted.
+ * lisp.h: Adjusted to say so.
+
+1991-10-14 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xterm.c (XTclear_end_of_line): This used to try to get the
+ cursor out of the way by comparing the line being cleared with
+ s->cursor_y, which is meaningless; it should have compared it with
+ s->phys_cursor_y. Changed to just mark the cursor as cleared if
+ it's in the area we're clearing.
+
+1991-10-13 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * m-intel386.h: Fix typo in #endif.
+
+1991-10-12 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * callint.c (Fcall_interactively): Added new interactive spec 'K',
+ for mouse clicks. Added explanation to doc string. Removed 'e'
+ spec, which didn't work with the new input model anyway.
+ * keyboard.c (Fmouse_click_p): New function.
+ (syms_of_keyboard): defsubr it.
+
+ * keyboard.c (EVENT_QUEUES_EMPTY): Clarified comment.
+ (tracking_off): Change "if (!readable_events)" to
+ "if (!readable_events ())".
+ (Ftrack_mouse): Doc fix.
+ (kbd_buffer_read_char): Fix brainos in tossing of unwanted events.
+ Don't use EVENT_QUEUES_EMPTY to set input_pending; call
+ readable_events.
+
+1991-10-11 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (Qmode_line): New quoted symbol.
+ (syms_of_keyboard): Initialize and staticpro it.
+ (make_lispy_event): Use it to indicate when a mouse position is in
+ a window's mode line.
+
+ * xterm.c (XTread_socket): Consider the window to be resized if
+ either the character or pixel dimensions have changed; this will
+ catch font size changes.
+
+1991-10-08 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): Removed all the
+ exceptional condition stuff. Emacs lacks any way to respond to
+ such a state, and selecting for it without responding to it can make
+ Emacs loop indefinitely.
+
+ * xterm.c (XTread_socket, construct_mouse_click): Make sure that
+ all enqueued events have their timestamp field set.
+ * termhooks.h (struct input_event): Doc fix.
+ * keyboard.c (last_event_timestamp): New variable.
+ (get_mouse_position, kbd_buffer_store_event,
+ kbd_buffer_read_char): Make sure to fill in Vlast_event_screen and
+ last_event_timestamp.
+ * xselect.c (mouse_timestamp): Don't use this anymore.
+ (last_event_timestamp): Use this instead.
+ (Fx_own_selection, Fx_own_clipboard, Fx_get_selection,
+ Fx_get_clipboard): Use last_event_timestamp instead of
+ mouse_timestamp.
+
+ * xdisp.c (redisplay): Don't pass extra arguments to
+ update_screen.
+
+ * keyboard.c (echo_truncate): Don't call echo here; this results
+ in extraneous echoing of characters.
+ (read_key_sequence): After calling echo_truncate, call echo_char
+ to put the character we just read into the minibuffer, if
+ appropriate.
+
+ * keyboard.c (read_key_sequence): Removed unused argument
+ no_redisplay.
+
+1991-10-01 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xfns.c (x_create_screen): Initialize phys_cursor_x to -1, to
+ indicate that the screen has no displayed cursor.
+
+ * xfns.c (x_create_screen): Let InternalBorderWidth default to 1.
+
+ * xterm.c (x_display_bar_cursor): Declare this to be static void.
+
+ * xterm.c (XTupdate_begin): Don't turn off the cursor. This makes
+ ugly flickering. Instead, make it okay for XTins_del_lines to do
+ so:
+ * screen.h (struct screen): New field phys_cursor_glyph, keeping
+ track of the glyph under the currently displayed cursor. Since
+ current_glyphs is sometimes inaccurate when we want to undraw the
+ cursor (as when XTins_del_lines is called from do_scrolling), we
+ can't always get the GLYPH from there.
+ * xterm.c (x_draw_single_glyph): Take the glyph to draw as an
+ argument, instead of taking it from the screen matrix.
+ (x_display_box_cursor): Set and use s->phys_cursor_glyph.
+
+ * ymakefile: Note that scroll.o and xmenu.o depend on screen.h.
+
+1991-09-29 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (make_lispy_event): When building mouse movement
+ event, use `m', not `event', dummy.
+
+1991-09-26 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * screen.c (Fscreen_parameters): Return the proper value for the
+ 'minibuffer parameter for minibuffer-only screens.
+
+ * xdisp.c (redisplay_window): When the start position is forced,
+ constrain it to be within the visible region anyway.
+
+ * xterm.c (XTwrite_glyphs): Instead of turning off the cursor
+ before we write, just notice if we wrote over it.
+
+ * xfns.c (x_decode_color): If a screen has two planes, then it is
+ considered a color screen, and we should look up the color value.
+
+ * ymakefile: Include xselect.o and xrdb.o in XOBJ even when
+ HAVE_X_MENU is not defined.
+
+ * fns.c (Fdelete): This used to be named Fdelq; Roland forgot to
+ change the function name in his August 17 change.
+ (syms_of_fns): defsubr Fdelete.
+
+1991-09-24 Richard Stallman (rms@mole.gnu.ai.mit.edu)
+
+ * alloca.c: Do nothing if alloca is defined as a macro.
+
+1991-09-08 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * m-pfa50.h: New file.
+
+1991-09-06 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * unexec.c: Add conditionals for COFF_ENCAPSULATE.
+
+1991-08-17 Roland McGrath (roland@geech.gnu.ai.mit.edu)
+
+ * fns.c (Fdelete): New fn. We have member now; we should have
+ delete too.
+
+1991-08-16 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xfns.c (x_get_arg): Clean bad characters out of the screen name
+ before using it as a resource key.
+
+ * abbrev.c (Fexpand_abbrev): Don't let capitalization go past point.
+
+ * sysdep.c (sys_suspend): Don't use & before array name.
+
+ * sysdep.c [BROKEN_FIONREAD]: Undefine FASYNC.
+
+ * m-tandem-s2.h (START_FILES, LIB_STANDARD): Added.
+
+ * s/s-aix3-1.h: Define HAVE_TCATTR.
+
+ * xfns.c (Fx_grab_cursor, Fx_ungrab_cursor): Functions removed.
+
+1991-08-15 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * bytecode.c (Qbyte_code_meter): New.
+ (Bend_of_line, Bset_marker, Bmatch_beginning, Bmatch_end, Bupcase,
+ Bdowncase, BRgoto, BRgotoifnil, BRgotoifnonnil,
+ BRgotoifnilelsepop, BRgotoifnonnilelsepop, BlistN, BconcatN): New
+ byte codes.
+ (Fbyte_code): Implemented new codes listed above. Added code to
+ count how many times a function is called.
+ (syms_of_bytecode): Initialize and staticpro Qbyte_code_meter.
+
+ * xfns.c (x_window): When setting the class hints, use the
+ screen's name as the res_name.
+
+ * xfns.c (x_make_screen_name): New function.
+ (Fx_create_screen): Use x_get_arg to find screen name; if none has
+ been specified, use x_make_screen_name; don't set the name again
+ at the bottom.
+ (x_get_arg): If SCREEN_NAME is nil, don't pass any class to
+ Fx_get_resource.
+
+ * xfns.c (x_get_arg, x_default_parameter): Take an extra argument
+ TYPE, instead of encoding the type in the first letter of the
+ property name.
+
+1991-08-15 Roland McGrath (roland@albert.gnu.ai.mit.edu)
+
+ * buffer.c (Fkill_all_local_variables): Don't pass
+ Fmake_local_variable too many args. Use Fset instead.
+
+1991-08-14 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * xfns.c (emacs_class): Variable removed.
+ (EMACS_CLASS): New macro, specifying Emacs class for xrdb use.
+ Use a class of "Emacs", to be compatible with previous versions.
+ (Fx_get_resource, x_window, Fx_open_connection): Use macro here.
+
+ * buffer.c (Fgenerate_new_buffer): Function moved to
+ lisp/files.el.
+ (Fgenerate_new_buffer_name): New function which does only the
+ name-choosing work Fgenerate_new_buffer used to do.
+ (Frename_buffer): Added second optional argument DISTINGUISH,
+ which lets rename_buffer use generate-new-buffer-name if non-nil.
+ Return the name the buffer was given.
+ Do nothing if new name is already buffer's name.
+
+ * xfns.c (Fx_get_resource): Take third argument CLASS, and require
+ it to be specified whenever NAME is.
+ All callers changed.
+ [not HAVE_X11] (Fx_get_default): Only take the one arg.
+ [not HAVE_X11] (Fx_get_resource): Toss the second two args.
+
+1991-08-13 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_close_current_connection): Add \n to error message.
+
+ * keyboard.c (make_lispy_event): Added HP keys into the
+ function_key_names array.
+ * xterm.c (XTread_socket): For KeyPressed events, strip the
+ keysym's vendor-specific bit, and take a shot at fitting it into
+ the Emacs key numbering.
+
+ * screen.c (Vdefault_screen_alist): Definition moved from
+ screen.el to here.
+ (syms_of_screen): DEFVAR_LISP and initialize it here.
+ * screen.h: Declare it here.
+ * xfns.c (x_get_arg): Use it here.
+
+ * screen.c (make_screen): When choosing a buffer for the screen's
+ root window, shy away from buffers whose names start with a space.
+
+1991-08-11 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * process.c (exec_sentinel, exec_sentinel_unwind): Move these
+ above status_notify.
+
+ * eval.c (Qinhibit_quit): New variable, to support Aug 5 changes
+ to process.c.
+ (syms_of_eval): Initialize and staticpro above.
+ * lisp.h: added extern declaration for above.
+
+1991-08-10 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * regex.c (re_search_2): When searching with the fastmap, test for
+ a translate table outside of the loop, not inside the loop.
+
+1991-08-10 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * fns.c (Fequal): Don't crash on circular structure.
+ (internal_equal): New subroutine does the recursion.
+
+ * print.c (print): Recognize circular car pointers.
+
+1991-08-10 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): Ignore exceptional
+ conditions on the keyboard input.
+
+1991-08-06 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * lisp.h: Fiddled with formatting.
+
+ * process.c (exec_sentinel_unwind): New function.
+ (exec_sentinel): Restore the process's sentinel, using an
+ unwind_protect.
+
+1991-08-05 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * keyboard.c: Doc fix.
+
+1991-08-05 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * dired.h: Don't include search.h; it doesn't exist.
+
+ * process.c (read_process_output, exec_sentinel): Bind
+ Qinhibit_quit to true and call the filter directly instead of
+ through a condition-case.
+ (run_filter): Removed.
+ (this_filter, filter_process, filter_string): Variables now
+ unnecessary.
+
+ * xfns.c (Fx_get_resource): Take the screen name as an optional
+ argument and look up resources using the name of the screen as
+ part of the key.
+ [not HAVE_X11] (Fx_get_default): Take optional 2nd arg NAME and
+ ignore it.
+ (x_get_arg): Take the screen name as an arg, and call
+ Fx_get_resource with that argument.
+ (x_default_parameter, x_figure_window_size, x_icon): Pass the
+ screen's name to x_get_arg.
+ (Fx_create_screen): Make sure the screen name is either nil or a
+ string, and pass it to x_get_arg.
+
+ * xfns.c (Vx_screen_defaults): Variable removed; such settings
+ belong in the .Xdefaults file.
+ (syms_of_xfns): Don't defvar it here.
+ (Fx_create_screen): Don't use it here.
+
+ * keyboard.c (classify_object): #if 0'd function finally removed.
+ * xterm.c (Qmapped_screen, Qunmapped_screen, Qexited_scrollbar,
+ Qexited_window, Qredraw_screen): Unused, so removed.
+ (syms_of_xterm): Don't bother to initialize above.
+
+ * xterm.c (init_input_symbols): Renamed to syms_of_xterm, for
+ consistency.
+ (x_term_init): Don't call it here.
+ * xfns.c (syms_of_xfns): Don't call syms_of_xselect here.
+ * emacs.c (main): Call them here.
+
+ * xterm.c (invocation_name): Made this a Lisp_Object, so that its
+ string value could be relocated properly.
+ (x_term_init, x_text_icon): Adjusted code appropriately.
+ (syms_of_xterm): staticpro invocation_name.
+ * xfns.c (invocation_name): Changed extern declaration, deleted
+ extra declaration.
+ (Fx_get_resource): Adjusted code appropriately.
+
+1991-08-04 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * lread.c (read1): Accept #[...] for bytecode object.
+ * print.c (print): Print them that way.
+
+1991-08-01 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * fileio.c (Fexpand_file_name): Avoid doing strlen (0).
+
+ * editfns.c, filelock.c [VMS]: Use pwd.h from Emacs, not from system.
+ * fileio.c [VMS]: Likewise. Also include stddef.h, string.h.
+ Include perror.h only once.
+ [VMS] (file_name_as_directory, directory_file_name): Remove
+ assignments from if conditions.
+ (Fexpand_file_name): Remove excess slash from end of user's home dir.
+
+1991-08-01 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * emacs.c (main): Add SIGIO conditional within AIX conditional.
+
+ * xdisp.c (try_window_id): Compute proper position for screen bottom
+ when all changes are below the screen.
+ When first computing bp, don't go more than HEIGHT + 1 lines.
+
+1991-07-31 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xterm.c (x_destroy_window): If we're destroying the currently
+ highlighted screen, clear x_highlight_screen.
+
+ * xdisp.c (display_text_line, display_string):
+ Don't go past endp for multi-column chars.
+
+1991-07-28 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * lread.c (init_lread): If Vload_path was set specially before
+ dumping, preserve it by default.
+
+ * process.c (process_send_signal): Notice and deal if the
+ TIOCGPGRP ioctl says that the subprocess has no pgrp.
+
+ * xdisp.c (try_window_id): Always update window_end_* if successful.
+
+ * process.h (subtty): New slot.
+ * process.c (create_process): Set it.
+ (process_send_signal): Use it.
+
+ * alloc.c (Fmake_rope): Doc fix.
+ * screen.c (Fselect_screen): Doc fix.
+ * vms-pp.c: Fix comment.
+
+ * keymap.c (Fkeymapp, Fdefine_prefix_command): Doc fixes.
+
+ * window.c (window_select_count): No longer static.
+ (init_window_once): Increment window_select_count, to give each
+ window a unique use_time.
+ * window.h (window_select_count): extern this here.
+ * screen.c (make_screen): Stamp a new screen's selected window
+ with the proper selection time.
+
+ * ymakefile: xselect.o depends on screen.h, xterm.h, and config.h.
+ xrdb.o depends on config.h.
+ xterm.o depends on gnu.h.
+ * xfns.h: File removed - it only declared Vx_send_movement_events.
+ All includers changed.
+
+1991-07-27 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * keymap.c (Fcopy_keymap): Don't recursively copy maps inside symbols.
+
+1991-07-27 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xdisp.c (redisplay): If echo_area_display puts text in a
+ surrogate minibuffer screen, don't neglect to update it.
+
+ * keyboard.c (kbd_buffer_store_event): Make sure
+ Vlast_event_screen is set properly for quit characters.
+
+1991-07-26 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): pass both arguments to
+ Fselect_screen.
+
+ * screen.c (make_screen): Divide the size by sizeof (Lisp_Object)
+ before passing it to Fmake_vector.
+
+ * screen.h [not MULTI_SCREEN] (SCREEN_SCROLL_BOTTOM_VPOS): fixed
+ definition.
+
+ * screen.c: #include termhooks.h and therefore stdio.h.
+ (make_screen): Initialize focus_screen member.
+ (Fdelete_screen): Refuse to delete SCREEN if it is a
+ surrogate minibuffer for some other screen, not just if it's the
+ global minibuffer screen.
+ (Fredirect_screen_focus, Fscreen_focus): New function.
+ (syms_of_screen): defsubr Sredirect_screen_focus.
+ * window.c: Don't include termhooks.h or stdio.h.
+ (Fselect_window): Removed grunge to support minibuffer hack.
+ * screen.h (struct screen): Added focus_screen member, and
+ accessor for it.
+ * alloc.c (mark_object): mark focus_screen member of Lisp_Screens.
+ * xterm.c (XTscreen_rehighlight): Use the focus_screen member to
+ decide which screen to highlight.
+ (XTread_socket): Use focus_screen when enqueuing keystrokes.
+ * minibuf.c (read_minibuf, read_minibuf_unwind): Shift the
+ selected screen's focus around appropriately.
+ * termhooks.h (screen_rehighlight_hook): Doc fix.
+
+ * lisp.h (CHECK_IMPURE): Moved definition...
+ * puresize.h (CHECK_IMPURE): To here.
+
+1991-07-25 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * dispnew.c (buffer_posn_from_coords): Bufp is broken; don't use it.
+
+ * xterm.c (XTscreen_rehighlight): Neatened sloppy logic.
+
+ * keyboard.c (read_key_sequence): When truncating a key sequence,
+ don't forget to put the new keystroke back in this_command_keys.
+ Do this before calling echo_truncate, and don't call echo_char.
+
+1991-07-24 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * xterm.c (x_term_init): Initialize x_focus_screen and
+ x_highlight_screen.
+
+ * xterm.c (XTscreen_rehighlight): Handle things correctly when
+ x_focus_screen is 0.
+ (XTread_socket): Process EnterNotify and LeaveNotify events with
+ .focus == 0 properly. For FocusOut events, pass the right
+ arguments to x_new_focus_screen.
+
+ * fileio.c (Finsert_file_contents): Use RETURN_UNGCPRO macro.
+
+ * buffer.c (Fbuffer_name): Fix typo in doc string.
+ (syms_of_buffer): Fix typo in before_change_function name.
+
+1991-07-23 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * screen.h (CHECK_SCREEN): Define a dummy version of this when
+ MULTI_SCREEN is not defined.
+
+ * sysdep.c (init_signals, sys_signal, sys_sigpause): New functions.
+ (sys_sigblock, sys_sigunblock, sys_sigsetmask): New functions.
+
+ * sysdep.c (_sobuf): Unsigned chars if DGUX.
+
+ * sysdep.c [DGUX]: Include file.h.
+ [DGUX] (sys_siglist): New variable.
+
+ * x11term.c (x_init_1) [SYSV_STREAMS]: Don't close the old
+ descriptor.
+
+ * keyboard.c (read_key_sequence): Treat function keys like ascii
+ characters.
+
+ * lread.c (init_lread, syms_of_lread): New names for init_read and
+ syms_of_read, for consistency.
+
+ * emacssignal.h: New file.
+ * data.c, keyboard.c, process.c, sysdep.c: Include it.
+ * data.c (arith_error): Use SIGEMPTYMASK.
+ * keyboard.c (sigfree, sigunblockx): Use SIGEMPTYMASK.
+ (sigholdx, sigblockx): Use sigmask.
+ (gobble_input): Use sigblockx instead of sigholdx, so that any
+ other blocked signals stay blocked during and after the call to
+ read_avail_input.
+ * process.c (create_process): Use sigmask.
+ [FASYNC] (request_sigio): Use sigunblock.
+ * xterm.c (sigmask): Removed #definition here.
+ * ymakefile (keyboard.o, process.o, sysdep.o, data.o): Make these
+ depend on emacssignal.h.
+
+ * window.c (Fselect_window): Modify surrogate minibuffer hack to
+ make the minibuffer the selected window of the selected screen,
+ AND select the minibuffer window's screen.
+ * minibuf.c (read_minibuf): If the minibuffer window is on a
+ different screen, save that screen's configuration too.
+
+ * window.c (Fset_window_configuration): Use SCREEN_ accessor to
+ get at a screen's root window. Removed unused variable
+ screen_to_select.
+ (Fcurrent_window_configuration): Take an optional argument SCREEN.
+ All callers changed.
+
+ * window.c (auto_new_screen, Vauto_new_screen_function): Renamed
+ to pop_up_screens and pop_up_screen_function, to be parallel with
+ pop_up_windows.
+ (display_buffer, syms_of_window): Changed appropriately.
+
+ * fns.c (Fload_average) [DGUX]: Add code to support DGUX.
+
+ * s-dgux.h, m-aviion.h: New files.
+
+ * emacs.c (main) [POSIX_SIGNALS]: Call init_signals.
+
+ * screen.c (Fdelete_screen): Update last_nonminibuf_screen if
+ the screen it's currently pointing to gets deleted.
+
+1991-07-22 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * screen.c (last_nonminibuf_screen): New variable.
+ (Fselect_screen): Set last_nonminibuf_screen if appropriate.
+
+1991-07-21 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * screen.h (last_nonminibuf_screen): Added declarations for new
+ variable.
+ * minibuf.c (active_screen): Variable removed.
+ (read_minibuf): Removed code to set and clear active_screen.
+ * window.c (Fdisplay_buffer): Rewritten to use
+ last_nonminibuf_screen.
+
+ * screen.c (next_screen): Use SCREEN_ accessors instead of ->.
+
+ * window.c (Fdisplay_buffer): Removed reference to
+ Fx_create_screen; we should rely on the auto-new-screen-function
+ being set to something appropriate.
+
+1991-07-21 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Restore the state of
+ this_command_key_count along with the echoing state.
+
+1991-07-20 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * xfns.c (Fx_synchronize): New function.
+ (syms_of_xfns): defsubr it.
+
+ * xdisp.c (redisplay): Don't turn on all_windows whenever we're
+ using a separate minibuffer screen. Even if there is some tweak
+ necessary, this wasn't it.
+
+ * process.c (status_notify): Do not forget to UNGCPRO.
+
+ * screen.c (next_screen): Re-work logic to skip minibuffer-only
+ screens so that it doesn't loop indefinitely, even when the only
+ screen is a minibuffer-only screen. Skip all screens that are
+ only minibuffers, not just when they are the global minibuffer
+ screen.
+
+ * xdisp.c (message, message1): If the screen's message buffer
+ is 0, toss the message; don't check the window system against
+ the screen output_method.
+
+1991-07-19 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): When we truncate the echo
+ buffer because the user has switched screens, re-echo the
+ character that caused the truncation.
+
+ * lread.c (Fload): Change "source newer than ..." message not to
+ refer to "libraries." What is a "library," anyway?
+
+ * window.c: #include "termhooks.h", and therefore <stdio.h> too.
+ [MULTI_SCREEN] (Fselect_window): If the window being selected is
+ the selected screen's minibuffer, but it lives on another screen,
+ don't select that other screen - call the screen_rehighlight_hook
+ instead.
+ * termhooks.h (screen_rehighlight_hook): New hook, so that Emacs
+ can shift the screen highlighting when needed.
+ * term.c (screen_rehighlight_hook): Define it.
+ * xterm.c (x_highlight_screen): New variable.
+ (x_new_focus_screen): Move the rehighlighting code to...
+ (XTscreen_rehighlight): New function.
+ (x_display_bar_cursor, x_display_box_cursor): Use
+ x_highlighted_screen instead of x_focus_screen.
+ (x_term_init): Initialize screen_rehighlight_hook.
+ * ymakefile: Make window.o depend on termhooks.h.
+
+ * xfns.c (Fx_create_screen): Add mention of
+ global-minibuffer-screen to docstring.
+ * screen.c (make_screen_without_minibuffer): Improve error message
+ displayed when Vglobal_minibuffer_screen is not a proper screen.
+
+1991-07-18 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * config.h (PURESIZE): Definition moved to...
+ * puresize.h: New file.
+ (PURESIZE): Define this here. This will allow people to change
+ their pure storage allocation without having to recompile most of
+ Emacs.
+ * data.c: #include puresize.h, since CHECK_IMPURE needs PURESIZE.
+ * alloc.c: #include puresize.h.
+ [HAVE_SHM] (pure_size): New variable, so that XPNTR doesn't depend
+ on PURESIZE.
+ [HAVE_SHM] (init_alloc_once): Initialize pure_size here.
+ * lisp.h [HAVE_SHM] (XPNTR): Defined in terms of pure_size,
+ instead of PURESIZE.
+ (pure_size): extern declaration added here.
+ * ymakefile: Added puresize.h to dependencies for alloc.c and
+ data.c's .o files.
+
+ * emacs.c (main): Doc fix for kludge to scan for -d.
+
+1991-07-17 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * termhooks.h (struct input_event): #if 0'd out the definition for
+ the screen_selected event type, and added the stipulation that the
+ {non_,}ascii_keystroke events specify the screen they happen in.
+ * xterm.c (x_new_focus_screen): Don't enqueue a screen_selected
+ event.
+ (XTread_socket): Calls to x_new_focus_screen in the EnterNotify,
+ FocusIn, LeaveNotify, and FocusOut event code don't worry about
+ enqueued events any more.
+ * keyboard.c (new_selected_screen): Removed - see below.
+ (Vlast_event_screen): New variable, visible to lisp code.
+ (echo_length, echo_truncate): New functions.
+ (readable_events): Removed screen_selected events from the set of
+ things to skip.
+ (kbd_buffer_store_event): Don't bother collapsing consecutive
+ screen_selected events.
+ (kbd_buffer_read_char): Don't process screen_selected events.
+ (make_lispy_event): Re-arrange scrollbar events to put the window
+ whose scrollbar was diddled right after the identifying symbol,
+ for consistency.
+ (read_key_sequence): Let the selected screen and the location of
+ the event affect the keymap used to find its binding.
+ (Fread_key_sequence): Update docstring.
+ (syms_of_keyboard): Added DEFVAR_LISP for Vlast_event_screen.
+
+1991-07-15 Jim Blandy (jimb@pogo.gnu.ai.mit.edu)
+
+ * screen.c (next_screen): If !mini_screen, only exclude the global
+ minibuffer screen when the minibuffer is its only window.
+ (Fnext_screen): Make the docstring clearer about what MINISCREEN
+ means.
+
+ * window.c (Fother_window): Indicate that it takes both a required
+ and optional argument, instead of just one required.
+
+1991-07-15 Roland McGrath (roland@churchy.gnu.ai.mit.edu)
+
+ * buffer.c (Fkill_buffer): Rehacked kill-buffer-hooks to use
+ standard name kill-buffer-hook, and to use set_buffer_internal
+ instead of Fset_buffer. Use static variable containing symbol
+ instead of intern.
+ (syms_of_buffer, init_buffer_once): Qkill_buffer_hook =
+ 'kill-buffer-hook.
+
+1991-07-15 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keymap.c (Fsingle_key_description): When describing a listy
+ object, take the car to find the symbol that heads it, not the cdr.
+
+ * dispnew.c (buffer_posn_from_coords): Pass col and line to
+ compute_motion in the correct order.
+
+ * keyboard.c (make_lispy_event): When calculating rows and columns
+ for mouse clicks and movement events, don't forget to subtract the
+ position of the window's top left corner before passing them to
+ buffer_posn_from_coords.
+
+ * screen.c (coordinates_in_window): Removed useless test for *y ==
+ screen_height, and screen_height variable; this would be out of
+ range of all the windows anyway.
+
+ * xdisp.c (message1): Removed code to ignore messages before X has
+ started up; this issue has hopefully been addressed by the
+ condition-case in startup.el.
+
+ * editfns.c (init_editfns): Make user_name char * instead of
+ unsigned char *, since that's what most of the usages seem to
+ want. And when expanding ampersands in AMPERSAND_FULL_NAME mode,
+ don't try to use user_name as a string; use Vuser_name.
+
+ * minibuf.c (assoc_for_completion): New function.
+ (do_completion): Use that to check for exact match.
+
+ * minibuf.c (Ftry_completion): Fix handling of matches aside from
+ case. If ignoring case, and all else equal, try to preserve the
+ case of the characters in the input.
+
+ * process.c (status_notify): GCPRO tail.
+
+ * sysdep.c (creat_copy_attrs, rename_sans_version): Always set
+ protection to O:REWD when creating file. Added new function
+ rename_sans_version, which strips the version number from the target
+ filename, renames the temporary file to this filename, and then
+ sets the file protection of this new file to be the same as the file
+ being edited.
+
+ * sysdep.c [VMS]: Include pwd.h from Emacs. Use sys/file.h if GCC.
+ (F_SETFL) [VMS]: Undefine this, to control conditionals.
+ (getpwnam): Make `full' unsigned.
+ (creat_copy_attrs): Add some casts.
+ (sys_access): Change prvmask and CHECKPRIV to use bitfields.
+ Add some casts, and make dummy an unsigned short int.
+ Don't use & on constants.
+ (vmserrstr): Add a cast.
+ (sys_creat): Define va_count before this function.
+
+1991-07-14 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * sysdep.c (sys_sleep, input_wait_timeout): Don't use & on constant.
+ [VMS]: Include pwd.h from Emacs. Use sys/file.h if GCC.
+ (bzero, bcopy) [VMS]: Don't take address of `length'.
+
+ * sysdep.c (sys_suspend): Cast value of `signal' to insulate from
+ changed value type in sysV.3.
+
+ * sysdep.c (child_setup_tty): Turn off erase & kill chars for BSD.
+
+ * sysdep.c (discard_tty_input): Use TIOCFLUSH on Apollo.
+ (init_sys_modes): Avoid TIOCSTART on Apollo.
+
+ * sysdep.c: If HAVE_TERMIOS is not defined, define tcgetattr in
+ terms of the TIOCGETP ioctl.
+ (init_sys_modes): Handle VSUSP, V_DSUSP if HAVE_TCATTR.
+ (discard_tty_input, init_baud_rate, child_setup_tty,
+ init_sys_modes, tabs_safe_p, reset_sys_modes):
+ Use tcgetattr, and if HAVE_TCATTR, use tcsetattr.
+
+1991-07-13 Jim Blandy (jimb at churchy.gnu.ai.mit.edu)
+
+ * s-hpux8.h: New file.
+ * fileio.c [HPUX8]: Don't include errnet.h.
+
+ * unexhp9k800.c (unexec): Local variable i to avoid compiler bug?
+
+ * sysdep.c (insque) [WRONG_NAME_INSQUE]: New function.
+ * s-386ix.h (WRONG_NAME_INSQUE): Define it.
+
+ * xdisp.c (message_buf_print): New variable.
+ (message): Clear it here.
+ * dispextern.h: Declare it here.
+ * print.c (printchar, strout): Set it and test it here.
+
+ * keyboard.c (command_loop_1): Don't clear last_command when start
+ macro.
+
+ * keyboard.c (read_command_char): Exit at eof if noninteractive.
+
+ * indent.c (invalidate_current_column): New function.
+ * editfns.c (Fwiden, Fnarrow_to_region): Call it.
+
+ * process.c (create_process): Use O_NOCTTY whenever defined,
+ unless USG.
+
+ * process.c (Fprocess_send_eof): If using a pipe, close it.
+ (close_process_descs): Check IN and OUT for nonzeroness.
+
+ * process.c (process_send_signal): Use interrupt chars
+ to send certain signals to the process group.
+ (TIOCGETC): Undefine this if it is not really usable.
+
+ * sysdep.c (discard_tty_input): Do nothing if read_socket_hook.
+
+ * xfns.c (x_set_mouse_color): Change the default pointer shapes to
+ be closer to xterm and emacs 18.
+
+ * xterm.c (x_focus_on_screen, x_unfocus_screen): These no longer
+ call XSetInputFocus, because I think that the X-windows ICCCM
+ says that only the window manager can do this sort of thing.
+
+ * keyboard.c (read_char): When there is an unread command
+ character, goto reread_first when this_command_key_count is zero,
+ not when it is >= 0.
+ (command_loop_1): Reset this_command_key_count only if there is no
+ prefix argument. This makes echoing of keystrokes work correctly.
+
+1991-07-11 Jim Blandy (jimb@geech.gnu.ai.mit.edu)
+
+ * eval.c (Finteractive_p): Changed "! XTYPE (foo) == Lisp_Bar" to
+ "XTYPE (foo) != bar".
+
+1991-07-11 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * eval.c (apply1): Don't forget to UNGCPRO before returning.
+
+ * xterm.c (XTupdate_begin): Undisplay the cursor here; do_scrolling
+ will call XTins_del_lines when the screen matrix is inaccurate, so
+ we cannot undisplay the cursor then, but do_scrolling is always
+ called within an update.
+
+1991-07-10 David J. MacKenzie (djm at nutrimat)
+
+ * termcap.c, tparam.c [!emacs, USG || STDC_HEADERS]: Define bcopy
+ in terms of memcpy.
+
+1991-07-09 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * scroll.c (do_scrolling): Use correct termination condition for
+ loop that uses the glyph pointers for the deleted lines to fill in
+ the inserted lines.
+
+1991-07-08 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * editfns.c: Doc fix.
+
+1991-07-03 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * dispnew.c (line_hash_code): Test m->highlight[vpos], not
+ m->highlight. All lines were getting hash codes of -1, because
+ the highlight vector was never NULL. Golly.
+
+ * process.c (list_processes_1): Handle status of network streams.
+
+1991-07-02 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * doc.c (Fdocumentation_property):
+ Pass only strings to Fsubstitute_command_keys.
+
+1991-07-02 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * editfns.c (init_editfns): If neither of the environment
+ variables are set, DON'T set Vuser_name to Vuser_real_name; it's
+ supposed to reflect the EFFECTIVE uid.
+ Get the full name according to Vuser_name if it differs from
+ Vuser_real_name, not if they are equal.
+ And pass Vuser_name to getpwnam in that case instead of user_name,
+ which might be 0.
+
+ * lisp.h (RETURN_UNGCPRO): New macro.
+
+ * bytecode.c (Fbyte_code): Do not remove GC protection from the
+ stack when making a function call, because the caller is
+ responsible for protecting the arguments to a MANY-arg'ed
+ function.
+ * eval.c (Fapply): If we use funcall_args, GCPRO it.
+ And when we call Ffuncall with funcall_args, tell it the correct
+ length of funcall_args, no matter which branch allocated it.
+ (Ffuncall): Don't gcpro the arguments before calling
+ Fgarbage_collect.
+ (Feval): If we're calling a subr that takes MANY args, don't
+ UNGCPRO until after we call the subr.
+ (apply1, call0, call1, call2, call3): GCPRO the arg arrays passed
+ to Ffuncall and Fapply.
+ * callproc.c (Fcall_process, Fcall_process_region): Don't GCPRO
+ the argument array.
+ * editfns.c (Finsert, Finsert_before_markers): Don't GCPRO the
+ argument array. Added comment about when GCPROing is not needed.
+ * mocklisp.c (Finsert_string): Don't GCPRO the argument array.
+
+ * keyboard.c (init_keyboard): Handle SIGQUIT with interrupt_signal
+ on any system that has HAVE_TERMIO, not just on USG systems.
+
+1991-07-01 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * editfns.c (init_editfns): Test that user_name isn't 0.
+
+1991-06-29 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * search.c: Doc fixes.
+
+1991-06-28 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * keyboard.c (make_lispy_event): Let the posns of mouse clicks and
+ mouse movements be nil when window_from_coordinates returns a
+ NON-window, not when it returns a window. Since posn is a lisp
+ object, don't call make_number when consing up the event.
+ Don't call make_number on the code member of the event.
+
+ * keyboard.c (struct movement): Make the x, y, and time members
+ Lisp_Objects, since it's easier to convert from a Lisp_Object than
+ to.
+ (note_mouse_position): Adjusted for the above.
+ (make_lispy_event): Removed code to make Lisp_Objects for those
+ members.
+
+ * xterm.c (XTread_socket): When handling LeaveNotify events,
+ remember that the focus member of the event is true when the
+ receiving window now has the focus, not when it is losing it.
+ * xfns.c (Ffocus_screen): Don't signal an error if SCREEN is
+ already the focus screen.
+
+1991-06-26 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * alloc.c (Fmake_rope): Use sizeof (GLYPH) instead of 2 to
+ determine how large the string should be, and changed doc string
+ to describe ropes as strings of glyphs, not just as strings of
+ character pairs.
+ (Frope_elt): Use sizeof (GLYPH) as the element size, instead of
+ assuming that the elements are two bytes.
+ * lisp.h (typedef GLYPH): Moved the definition from here...
+ * config.h (typedef GLYPH): to here, so people can elect to get
+ better performance if they don't want to use huge fonts.
+ * xterm.c (dumpglyphs): Use XDrawImageString or
+ XDrawImageString16, Depending on sizeof (GLYPH).
+
+ * data.c (Fsetq_default): Call Fset_default to do the assignments,
+ not plain Fset.
+
+ The following changes were contributed by Jamie Zawinski
+ <jwz@lucid.com>:
+
+ * bytecode.c (Fbyte_code): BYTE_CODE_SAFE and BYTE_CODE_METER
+ options added.
+ Added Bmark, Bscan_buffer, Bset_mark to support error-checking for
+ these obsolete bytecodes.
+ Added Bunbind_all to support tail-call optimization (not yet
+ implemented).
+ Did NOT add the relative branch opcodes that were in the version
+ of bytecode.c that Jamie sent.
+ The branching bytecodes now only QUIT if they take the branch.
+ Btemp_output_buffer_show, Bforward_char, Bforward_word,
+ Bskip_chars_forward, Bskip_chars_backward, and Bforward_line
+ passed the wrong number of arguments to their subrs.
+ Brem, Bbuffer_substring, Bdelete_region, Bnarrow_to_region,
+ Bstringeqlsign, Bstringlss, Bequal, Bnthcdr, Bmember, Bassq,
+ Bsetcar, and Bsetcdr passed arguments to the subr in the wrong
+ order.
+
+1991-06-25 Jim Blandy (jimb at churchy.gnu.ai.mit.edu)
+
+ * doc.c (Fdocumentation): Added a QUIT test to the loop that finds
+ the symbol's function value.
+
+1991-06-24 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * xterm.c (dumprectangle): Removed call to XFlushQueue here.
+
+ * keyboard.c (command_loop_1): Call Fselect_screen to establish
+ the new selected screen after the key sequence has been read, not
+ at the top of the loop. This way, a key sequence will happen in
+ the screen it was typed at, or (to be more precise) the screen its
+ last character was typed at.
+
+ * keyboard.c (fast_read_one_key): Function deleted, since it had
+ been #if 0'd out a long time ago.
+ (command_loop_1): Support for fast_read_one_key removed.
+
+ * eval.c (Ffuncall): Do GCPRO the arguments, contrary to the May
+ 16 change. The convention appears to be that the MANY-arged
+ callee must protect its own arguments.
+ (Fapply): Don't protect funcall_args; they are the caller's
+ responsibility.
+ * bytecode.c (Fbyte_code): GCPRO the section of the stack *above*
+ the args to Ffuncall, since it will be protected again once
+ Ffuncall returns and therefore should stay valid. If it is not
+ protected, string relocation may make it invalid.
+ * mocklisp.c (Finsert_string): GCPRO the arguments, since insert
+ may cause a garbage collection.
+ * editfns.c (Finsert, Finsert_before_markers): GCPRO the
+ arguments, since insert may cause a garbage collection.
+ * callproc.c (Fcall_process, Fcall_process_region): GCPRO the
+ arguments, since insert may cause a garbage collection.
+
+1991-06-20 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * buffer.h (struct buffer_text, struct buffer): small change to
+ comments.
+
+ * search.c (Fmatch_beginning, Fmatch_end): Fixed doc strings to
+ indicate that non-regexp searches set these too.
+
+ * window.c (Fset_window_start): If window is not the selected
+ window, set windows_or_buffers_changed, so that redisplay will
+ know that it should redisplay the window.
+
+ * callint.c (Finteractive): Changed doc string to indicate that
+ the interactive prompts are passed through format.
+
+1991-06-20 Roland McGrath (roland@albert.gnu.ai.mit.edu)
+
+ * buffer.c (syms_of_buffer): buffer-undo-list doc fix.
+
+1991-06-11 Roland McGrath (roland@albert.gnu.ai.mit.edu)
+
+ * data.c (Fsetq_default): Take multiple SYM, VAL args; syntax now
+ parallel to setq.
+
+1991-05-25 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_read_char): Fix wait-for-input loop so
+ that we always process/toss events we don't want to return.
+
+ * screen.c (Fselect_screen): Call Ffocus_screen instead of
+ x_new_selected_screen, which doesn't exist anymore.
+
+ * xfns.c (Ffocus_screen): Declare the type of the SCREEN argument.
+
+ * xfns.c (Fx_track_pointer): Function #if 0'd out - I don't think
+ that this is a feature that we want.
+ (syms_of_xfns): Elide the defsubr for the above.
+
+ * xterm.c (x_mouse_screen, x_input_screen): Variable deleted,
+ since all we really need is x_focus_screen; all other issues are
+ the realm and responsibility of the window manager.
+ (x_new_selected_screen): Renamed to x_new_focus_screen, and
+ modified not to do thiogs inappropriate for signal handlers.
+ (XTread_socket): Change the handling of EnterNotify, LeaveNotify,
+ FocusOut and FocusIn events to use x_new_selected_screen, and
+ ditched code that deals with x_mouse_screen and x_input_screen,
+ since they don't exist anymore.
+ (x_display_bar_cursor, x_display_box_cursor): Compare s with
+ x_focus_screen to see what form the cursor should take.
+ (x_destroy_window): Don't bother with x_input_screen.
+ * xfns.c (x_mouse_screen): Removed extern declaration for this.
+ (Fx_grab_pointer): Confine the pointer to x_focus_screen, not
+ x_mouse_screen. This is wrong, but will make emacs compile until
+ this gets fixed.
+
+1991-05-23 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (get_input_pending): Don't use trim_events; use
+ readable_events instead.
+
+ * keyboard.c (make_lispy_event): Remove case for window_sys_event,
+ since that type of event doesn't exist anymore.
+
+ * minibuf.c (Fcompleting_read): Document the backup-n argument.
+
+ * dispnew.c (init_display): Don't declare alternate_display extern
+ here. I can't figure out what this feature is, and it's broken.
+ * emacs.c (main): Don't test alternate_display and put its value
+ in the environment.
+
+1991-05-22 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (struct movement): Made .used an int instead of a
+ char, since that's more likely to be stored atomically on SPARCS
+ and similar machines.
+
+ * termhooks.h (struct input_event): Removed the window_sys_event,
+ since it's not used anywhere. Added screen_selected event type.
+ The event handling code used to change the current buffer,
+ selected window, and selected screen out from under running lisp
+ code. Now we wait for a more convenient time by enqueuing an
+ event.
+ * xterm.c (XTread_socket): When handling FocusIn events and
+ EnterNotify events with the focus member set, enqueue a
+ selected_screen event instead of calling x_new_selected_screen.
+ * keyboard.c (trim_events): Function deleted; it is a bad idea to
+ delete events based on the current tracking state, since tracking
+ might be re-enabled later.
+ (readable_events): New function which searches the input queue for
+ readable events.
+ (tracking_off): Call readable_events to see if we should
+ redisplay.
+ (kbd_buffer_read_char): Toss events that we are not interested in.
+ This is a better place to do it than trim_events, since we know
+ that do_mouse_tracking will not change. Also, handle
+ screen_selected events.
+ (new_selected_screen): New variable, holding the screen which
+ should become selected the next time through command_loop_1.
+ (syms_of_keyboard): Initialize and staticpro new_selected_screen.
+ (command_loop_1): If there is a new screen to be selected, do so.
+
+1991-05-21 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu)
+
+ * xdisp.c (message): Removed the if at the top that did not
+ display messages if the current screen was a termcap screen and a
+ window system will be used. The change to startup.el on May 18,
+ 1991 replaces this.
+
+ * ralloc.c (check_memory_limits): If the address returned by the
+ allocator is not representable in a Lisp_Object, call memory_full
+ instead of printing a very silly "warning" message.
+
+1991-05-19 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Don't overwrite the end of the buffer
+ with function keys.
+
+ * keyboard.c (tracking_off): Update input_pending after reading
+ all the input.
+ * process.c: #include "screen.h".
+ (wait_reading_process_input): Check if any screens have been newly
+ mapped and need updating.
+ * xterm.c (XTread_socket): Don't SET_SCREEN_GARBAGED when the
+ screen is unmapped; do this when is mapped.
+ (dumprectangle): Don't dump any data for garbaged screens.
+
+1991-05-18 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * sysdep.c (init_sys_modes): Moved the clauses that set up
+ interrupt-driven input out of the "if running on a terminal"
+ clause, since these may need to be set up even when running on a
+ window system.
+
+1991-05-17 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * process.c (Fprocess_status): For network connections, return
+ Qopen and Qclosed instead of Qrun and Qexit, as documented.
+
+ * lread.c (read1): Removed code that treated numbers starting with
+ a zero as octal.
+
+1991-05-16 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * eval.c (Ffuncall): Don't gcpro the arguments; the caller
+ protects them.
+ (Fapply): Gcpro funcall_args, if we use them.
+
+ * xterm.c (notice_mouse_movement): #if 0'd this function out.
+ (XTread_socket): #if 0 the code that fakes motion events for
+ moving in and out of windows. Also, rearrange the MotionNotify
+ case to give character rows and columns to note_mouse_position,
+ not pixel x and y positions. Don't deal with scrollbars here.
+ * termhooks.h (struct input_event): Removed the mouse_movement
+ event kind.
+ * keyboard.c (movement_buf): A new buffer for mouse-movement events.
+ This is hairier than you might think; see the comments for this
+ and the comments for note_mouse_position and get_mouse_position
+ for an explanation of why this is hairy.
+ (movement_ptr): Where the event handler should store new mouse
+ locations.
+ (EVENT_QUEUES_EMPTY): New macro, to be used in the places that
+ used to compare kbd_fetch_ptr to kbd_store_ptr to see if there
+ were any events available; this macro tests the mouse movement
+ buffer too.
+ (Qmouse_movement): New symbol to head mouse movement events with.
+ (trim_events): Mouse movement events are no longer in kbd_buffer,
+ so don't try to trim them.
+ (tracking_off, kbd_buffer_read_char, get_input_pending): Use
+ EVENT_QUEUES_EMPTY.
+ (get_mouse_position): New function to retrieve a mouse position
+ from the buffer properly, no matter when the event-handling signal
+ occurs.
+ (kbd_buffer_read_char): If there is something in kbd_buffer, make
+ an event for that; if there is a mouse movement, make an event for
+ that; otherwise, the while loop lied.
+ (make_lispy_event): Added code to produce mouse movement events.
+ (init_keyboard): Clear the mouse movement buffer.
+ (Qmouse_moved, Qredraw_screen, Qmapped_screen, Qunmapped_screen,
+ Qexited_window, Qexited_scrollbar): Removed extern declarations
+ for these, since they're no longer generated.
+ (syms_of_keyboard): Initialize and staticpro Qmouse_movement,
+ remove DEFVAR_LISP for Vignore_mouse_events.
+
+1991-05-14 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * lread.c (read1): Correctly parenthesize the shift when parsing
+ octal numbers, and signal an error if we see a non-octal digit.
+
+1991-05-13 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (trim_events): New function, to remove uninteresting
+ events from the input queue.
+ (get_input_pending): Call trim_events before checking the queue,
+ so as not to advertise input we don't care about.
+ (Ftrack_mouse): A new function to enable mouse tracking for a
+ block of code.
+ (tracking_off): A function for unwind_protection; restore the
+ mouse tracking state to what it was outside of the track-mouse
+ (syms_of_keyboard): defsubr track-mouse.
+ (make_lispy_event): Find the window io which the click occurred
+ when processing mouse_click events, instead of trusting the window
+ tree in the signal-handling code. Include the buffer position in
+ the click event.
+
+ * xterm.c (construct_mouse_click): Return the click's screen, not
+ its window, and don't bother updating Vmouse_window. Calculate
+ the row and column of text-area clicks using
+ pixel_to_glyph_translation, since we know that those data
+ structures are alive in signal handlers.
+
+ * screen.c (window_from_coordinates,
+ Flocate_window_from_coordinates): Moved these to window.c, since I
+ need to be able to call them even if we don't have multi-screen
+ support.
+ (syms_of_screen): Removed defsubr for
+ Flocate_window_from_coordinates.
+ * window.c (window_from_coordinates, Flocate_window_from_coordinates):
+ Here they are.
+ (syms_of_window): Here is the defsubr.
+
+ * keyboard.c (note_mouse_position): New function to enqueue
+ mouse movement events properly.
+ (current_movement_event): New variable, to support the above. See
+ its comment for more explanation.
+
+ * termhooks.h (struct input_event): Change the .window member to
+ .screen, make it a struct screen *, and indicate that those events
+ which used to return windows now return screens. It is unsafe
+ for the event reader to traverse the window structure, because it
+ can be called by a signal handler.
+
+1991-05-10 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * keyboard.c (Vignore_mouse_events): Variable deleted.
+ (make_lispy_event): For mouse and scrollbar clicks, return the
+ position as a pair of numbers, not a list of two numbers.
+
+1991-05-09 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * keyboard.c (do_mouse_tracking): Define this variable, which
+ controls whether kbd_buffer_read_char will ignore button up and
+ mouse movement events.
+ * termhooks.h: Declare do_mouse_tracking here.
+
+ * xterm.h (STANDARD_EVENT_SET): New constant, giving the event
+ mask all the windows use.
+
+ * xfns.c (Vx_send_mouse_movement_events): Removed this variable;
+ XTmouse_tracking_enable and do_mouse_tracking do its job better.
+ (syms_of_xfns): Remove the DEFVAR_LISP for the above.
+ (x_window): Don't ask for any pointer motion events or button
+ release events by default; use the unmodified STANDARD_EVENT_MASK.
+ The user will ask for them explicitly if he or she wants them.
+ And don't ask for backing store.
+
+ * xterm.c (XTmouse_tracking_enable): New function to
+ request/unrequest detailed mouse tracking information of the
+ server, and set the flag used by XTread_socket.
+ (x_term_init): Set mouse_tracking_enable_hook to
+ XTmouse_tracking_enable here.
+ (XTread_socket): Handle mouse movement events by calling
+ note_mouse_position.
+
+ * xterm.c (XTread_socket): For MapNotify events, go ahead and set
+ the screen's visible flag, so Expose events will work. Clear the
+ iconified flag.
+
+ * editfns.c (Finsert_char): Return immediately if n <= 0, not just
+ if n < 0, so that the `while' below does not become an infinite
+ loop.
+
+ * term.c (mouse_tracking_enable_hook): Added this variable to
+ allow emacs to request that the window system start or stop
+ detailed mouse tracking.
+ * termhooks.h (mouse_tracking_enable_hook): Declare it here.
+
+ * xfns.c: Declare the functions before initializing
+ x_screen_parm_table to point to them.
+
+ * xterm.c (XTread_socket): Don't send Qmapped_screen,
+ Qunmapped_screen, Qexited_scrollbar, Qexited_window,
+ Qredraw_screen - these are not features that we want to support.
+
+1991-05-07 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * editfns.c (Finsert_char): Let strlen be the minimum of n and
+ 256, not the maximum, so we use an n-byte buffer when n < 256, and
+ a 256-byte buffer many times when n > 256.
+
+1991-05-05 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * keymap.c (Fkeymapp): Fixed docstring to give the right
+ definition of a keymap.
+
+1991-05-03 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * data.c (Fcompiled_function_p): New function.
+
+1991-05-03 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * xfns.c (struct x_screen_parm_table): New type for recording
+ information about screen parameters.
+ (x_screen_parms): New table describing the existing parameters.
+ (init_x_parm_symbols, x_set_screen_param): Use x_screen_parms
+ instead of a large switch statement.
+ (x_figure_window_size): Make the default case of the switch call
+ abort instead of signalling an error, since window_prompting's
+ value is internally generated.
+
+1991-05-01 Jim Blandy (jimb at churchy.gnu.ai.mit.edu)
+
+ * keymap.c (describe_map_tree): GCPRO the maps variable;
+ Fkey_description calls Fmapconcat, which eventually calls
+ Ffuncall, which can garbage-collect.
+
+1991-04-28 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * dispnew.c (buffer_posn_from_coords): Use the information in bufp
+ to reduce the distance compute_motion must scan, when possible.
+
+1991-04-27 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Qtop_level is initialized and
+ staticpro'd in syms_of_data too. Don't staticpro (or initialize)
+ it again here.
+
+ * macros.c (syms_of_macros): Since executing-macro and
+ executing-kbd-macro are actually the same variable, use
+ DEFVAR_LISP_NOPRO for the second one so it doesn't get staticpro'd
+ twice.
+
+ * process.c (syms_of_process): Don't staticpro or initialize Qexit
+ here, since syms_of_eval already does this and it's bad to
+ staticpro something twice.
+ (Qexit): Remove declaration here, so there will be a compilation
+ error if someone rearranges eval.c without fixing the Qexit stuff.
+ * eval.c (syms_of_eval): Add comment here to say that
+ syms_of_process cares about Qexit too.
+
+ * lread.c (init_obarray): Don't staticpro Vobarray, since the
+ DEFVAR_LISP in syms_of_read takes care of that.
+
+1991-04-22 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * window.c (save_window_save): Always get the selected window's
+ value of point from its buffer, not just when it's also the
+ current buffer.
+
+ * lisp.h (Qdisabled): Declare this here so that the keys_of_*
+ files can disable the commands they define.
+ * casefiddle.c (keys_of_casefiddle): Make upcase-region and
+ downcase-region disabled, by default.
+
+1991-04-16 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * bytecode.c (PUSH): Alliant can't be bothered to implement the
+ preincrement operator right, so use a comma.
+
+ * print.c (syms_of_print): staticpro Qexternal_debugging_output.
+
+ * editfns.c (clip_to_bounds): No longer static - used in window.c.
+ * window.c (unshow_buffer): Use clip_to_bounds to make sure we
+ change point to something legal.
+
+1991-04-14 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * sysdep.c: Changes in formatting and comments.
+
+1991-04-12 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * editfns.c (Fbuffer_substring): Don't call make_string, because
+ it may cause a compaction and move the buffer, and then copy the
+ wrong data.
+
+ * keyboard.c (read_char): Only GC if we've actually done enough
+ consing since the last gc to make it worthwhile.
+
+1991-04-11 Jim Blandy (jimb at geech.gnu.ai.mit.edu)
+
+ * keymap.c (access_keymap): Canonicalize the order of the
+ modifiers when you look up a symbol in a keymap, too.
+ (where-is-internal): If the keymap in which we found the
+ definition was reached by meta-prefix-char, replace it with the
+ metized character.
+
+ * eval.c (Fcondition_case): Initialize the `handler_list' member
+ of the catchtag.
+
+ * keyboard.c (read_char): reset recent_keys_index when it is
+ greater than OR EQUAL to the number of elements in recent_keys,
+ stupid.
+
+ * keymap.c (access_keymap): When fetching the car of listy events,
+ no need to call Fcar_safe - extract the car directly.
+ * keyboard.c (read_key_sequence): Don't extract the car from listy
+ events here since 1) it strips information that we need from the
+ events, and 2) access_keymap will take care of that for us.
+
+ * macros.c (Qexecute_kbd_macro): New variable, used by
+ Fexecute_command.
+ (syms_of_macros): Initialize and staticpro Qexecute_kbd_macro.
+ * lisp.h: Add extern declaration for Qexecute_kbd_macro.
+ * keyboard.c (Fcommand_execute): Add an entry to the command
+ history for keyboard macros too.
+
+ * xterm.c (XTread_socket): If we get a MappingNotify event whose
+ request == MappingKeyboard, someone has changed the keyboard
+ mapping, and we should get the new mapping with
+ XRefreshKeyboardMapping.
+
+1991-04-10 Jim Blandy (jimb at wookumz.gnu.ai.mit.edu)
+
+ * commands.h: Declare last_command_char to be a Lisp_Object, not
+ an integer (ack).
+
+ * cmds.c (Fself_insert_command): If last_command_char is not an
+ integer, beep.
+ * minibuf.c (Fself_insert_and_exit): Same thing.
+
+ * keyboard.c (format_modifiers): New function, factoring out code
+ from modify_event_symbol and reorder_modifiers.
+ (modify_event_symbol): Call format_modifiers instead of doing the
+ work inline.
+ (reorder_modifiers): New function to put the modifiers on a
+ modified symbol in the canonical order.
+
+ * keymap.c (modify_event_symbol): Prepend the modifiers so they
+ appear in the canonical order: `M-C-S-U-'.
+ (store_in_keymap): If IDX is a symbol, put the modifiers in the
+ canonical order before storing.
+
+1991-04-09 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keymap.c (Flocal_set_key, Fglobal_set_key): When checking types
+ of arguments, allow KEYS to be a vector or string, not just a
+ string.
+ (keymap_table): New static function to replace duplicated code in
+ access_keymap and store_in_keymap.
+ (access_keymap): Use keymap_table.
+ (store_in_keymap): Use keymap_table, and put non-character
+ definitions in dense keymaps *after* the vector.
+
+ * fileio.c (directory_file_name): Remove trailing slashes from
+ single-letter names like "a/" too. Let slen be the string length,
+ not one less than the string length.
+
+ * keyboard.c (Fset_input_mode): Don't complain that QUIT isn't an
+ ASCII character if it is nil - it is an optional parameter.
+
+ * keymap.c (Faccessible_keymaps): Use meta-characters in the key
+ sequences returned, carefully making sure that the sequences still
+ appear in order of increasing length.
+
+1991-04-04 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * vmsfns.c (vms_trnlog): Increased size of str to 256 elements.
+ (vms_symbol): Increased size of str to 1025 elements.
+
+1991-03-24 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * dispnew.c (pixel_to_glyph_translation): Moved this function to
+ xterm.c, since it is specific to X and only called by the X code.
+ * xterm.c (pixel_to_glyph_translation): Here it is.
+
+1991-03-22 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * s-usg5-4.h (DATA_SEG_BITS): Definition deleted.
+ * m-intel386.h (DATA_SEG_BITS): Define here if USG5_4.
+
+1991-03-22 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keymap.c (Faccessible_keymaps): Produce meta-characters in the
+ key sequences instead of [meta-prefix-char CHAR] sequences.
+
+1991-03-21 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keymap.c (Flookup_key): If KEY is a zero-length array, then
+ return KEYMAP; this is more algebraically satisfying.
+
+ * dispnew.c (Fsit_for): If the time to sit is zero and there is no
+ input available, then return Qt, not Qnil.
+
+ * keyboard.c (read_char): If a quit occurs and we return
+ quit_char, clear Vquit_flag, so we don't end up returning it again
+ and again... All lisp code does this manually if they call
+ read-char with quits inhibited, so it's the right thing to do.
+
+1991-03-20 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (read_char): If there is still no input available
+ after an auto-save, do a garbage-collection.
+
+ * undo.c (truncate_undo_list): Always leave at least one undo
+ record in the undo list. And use sizeof (struct Lisp_Cons), etc.
+ instead of 8, etc.
+
+ * keyboard.c (read_char): When deciding whether to wrap
+ recent_keys_index back to 0, compare it against
+ sizeof (recent_keys)/sizeof(recent_keys[0]),
+ not sizeof (recent_keys).
+ (quit_char): This can't be anything but an ASCII character, so it
+ shouldn't be a Lisp_Object. The declaration's comment says why.
+ (read_char, init_keyboard): Treat quit_char as an int now.
+ (Fset_input_mode): As above, and signal an error if QUIT is not an
+ ASCII character.
+
+ * callint.c (Fprefix_numeric_value): Use XFASTINT to initialize
+ val, not raw.
+
+ * fileio.c (Fmake_symbolic_link): Don't expand FILENAME; this
+ would make it impossible to make a link to a relative name.
+
+1991-03-19 Jim Blandy (jimb at pogo.gnu.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Removed the DEFVAR_BOOL for
+ meta-flag. This cannot be a lisp variable because we need to
+ change the terminal settings whenever this flag changes. Change
+ this through set-input-mode instead.
+
+1991-03-19 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * keyboard.c (read_avail_input): Raise SIGHUP if no input on AIX.
+
+1991-03-19 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_store_event, kbd_buffer_read_char,
+ read_key_sequence, Fexecute_extended_command, Fset_input_mode,
+ init_keyboard, syms_of_keyboard): Use XSET (var, Lisp_Int, exp)
+ instead of XSETINT (var, exp) in those cases where var is not
+ known to already be a Lisp_Int.
+ * search.c (skip_chars): Same.
+ * xterm.c (construct_mouse_click, XTread_socket): Same.
+ * callint.c (Fprefix_numeric_value): Make sure to return a
+ Lisp_Int even when RAW is a cons whose car is not a Lisp_Int.
+ * process.c (sigchld_handler): When searching for a process whose
+ pid is -1, make sure that the pid is an int first, since network
+ streams are in Vprocess_alist too.
+
+ * keyboard.c (syms_of_keyboard): Added DEFVAR_BOOL for
+ meta-flag. Emacs 18 had this, and I see no entry in the ChangeLog
+ saying that it was purposefully removed.
+
+1991-03-17 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * keymap.c (Fcopy_keymap, Faccessible_keymaps, describe_map,
+ append_key): Minor typos and brainos corrected.
+
+ * keyboard.c (read_char): Removed code to find the vector in a
+ (kbd-macro . VECTOR) - style macro, since the macro is represented
+ by the vector itself.
+ (read_char_menu_prompt): Changed to correctly recognize the new
+ dense keymap structures.
+ (read_key_sequence): Changed code that checks for keymapness to
+ use get_keymap_1 instead of doing the indirection and keymapness
+ testing itself.
+ (Fcommand_execute): A keyboard macro is now a string or a vector.
+ (Fexecute_extended_command): When expanding this_command_keys,
+ remember that it is now an array of Lisp_Objects, not chars.
+
+ * doc.c (Fdocumentation): Rearranged into a switch statement, and
+ made vectors macros, not keymaps.
+
+ * eval.c (Fcommandp): Removed code to recognize
+ (kbd-macro . VECTOR) as a command, and added code to recognize
+ vectors as commands.
+ * macros.c (Qkbd_macro): Variable deleted.
+ (syms_of_macros): Initialization of Qkbd_macro removed.
+
+1991-03-14 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * minibuf.c (keys_of_minibuf): Changed all calls to
+ initial_define_lisp_key to calls to initial_define_key.
+
+ * keymap.c (describe_map): Adjusted to handle the new style of
+ keymap.
+
+1991-03-14 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fileio.c (Fwrite_region): On VMS, don't try rewriting old version.
+
+1991-03-14 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keymap.c (Faccessible_keymaps): Adjusted to handle the new style
+ of keymap.
+ (Fwhere_is_internal): Handle the new-style of keymaps.
+ Additionally, only check to see if a match is shadowed by a
+ binding in the local keymap when LOCAL_KEYMAP is non-nil, instead
+ of comparing elt against DEFINITION yet again.
+ (describe_map_tree): Handle key sequences that are vectors, as
+ well as those that are strings.
+
+1991-03-13 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * commands.h, keymap.c (meta_map, control_x_map): Make these
+ Lisp_Objects, not Lisp_Vectors.
+ keymap.c (syms_of_keymap): Same.
+
+ * keymap.c (Fuse_global_map): There is no longer any reason to
+ insist that KEYMAP must be a dense keymap; delete the code that
+ does so.
+
+1991-03-12 Jim Blandy (jimb at wookumz.ai.mit.edu)
+
+ * commands.h, lisp.h: Changed global_map and current_global_map to
+ be Lisp_Objects, not Lisp_Vectors.
+ keyboard.c (read_key_sequence): Same.
+ keymap.c (Fkey_binding, Fglobal_key_binding, Fglobal_set_key,
+ Fuse_global_map, Fwhere_is_internal, describe_buffer_bindings,
+ syms_of_keymap): Same.
+
+ * keymap.c (Fdefine_key): Braino: increment idx and clear metized
+ flag even when the element of the key sequence isn't a character.
+ (Flookup_key): Fix same braino.
+
+1991-03-10 Jim Blandy (jimb at wookumz.ai.mit.edu)
+
+ * keymap.c (get_keyelt): Use access_keymap to resolve indirect
+ entries, instead of duplicating its code.
+ (Fcopy_keymap): Handle the new keymap structure.
+
+1991-03-09 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * eval.c (struct catchtag): New field handlerlist.
+ (internal_catch, internal_condition_case): Set that field.
+ (unbind_catch): Use it.
+
+1991-03-08 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-intel386.h (signal): Maybe define if USG.
+
+ * keyboard.c (echo_char): Don't have space at end of echobuf.
+
+1991-03-07 Jim Blandy (jimb at albert.ai.mit.edu)
+
+ * keyboard.c (syms_of_keyboard): Initialize mouse_syms, instead of
+ doing func_key_syms twice. Don't deal with scrollbar_syms, since
+ it doesn't exist.
+
+1991-03-06 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keymap.c (access_keymap, store_in_keymap): Changed to handle the
+ new style of keymaps.
+
+ * fns.c (Fassq, Fcopy_alist): Changed docstring to promise to
+ ignore elements of LIST that are not conses. See access_keymap
+ and copy_keymap for a cheap excuse.
+
+1991-03-06 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-vms.h (DATA_START): Remove `+ 512'.
+
+1991-03-05 Jim Blandy (jimb at spiff.ai.mit.edu)
+
+ * keymap.c (Fmake_keymap): Rewritten to construct the
+ new dense keymap structure: (keymap VECTOR . ALIST). Docstring
+ adjusted accordingly. This means that the keyboard macro
+ stupidity (see Feb 27, keyboard.c) is no longer needed.
+
+1991-03-03 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sysdep.c (MEMORY_IN_STRING_H): New compilation flag.
+ * s-isc2-2.h: New file.
+
+1991-02-27 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * macros.c (Qkbd_macro): New variable, to hold the symbol
+ `kbd-macro', which we use to tag vector-style keyboard macros.
+ (syms_of_macros): Initialize and staticpro Qkbd_macro.
+
+ * eval.c (Fcommandp): Recognize the new keyboard macros.
+
+ * keyboard.c (Fcommand_execute): A keyboard macro is now a string,
+ or a cons whose car is the symbol `kbd-macro' and whose
+ cdr is a vector of events; previously, macros were strings or
+ vectors, but that makes it difficult to tell the difference
+ between macros and dense keymaps.
+ (read_char): Handle the new macros correctly, and re-allocate
+ this_command_keys correctly.
+
+1991-02-26 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-vms.h (calloc): Define like malloc, etc.
+
+1991-02-26 Jim Blandy (jimb at spiff.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Move enter_timestamp outside of the
+ function; static variables inside functions don't always work in
+ Emacs.
+
+ * editfns.c (in_accessible_range): Deleted - insufficently
+ general.
+ (clip_to_bounds): New function, much like in_accessible_range,
+ except that the upper and lower bounds are arguments.
+ (goto_char, save_restriction_restore): Rewritten to use
+ clip_to_bounds instead of in_accessible_range.
+
+1991-02-25 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keymap.c (initial_define_lisp_key): Turn KEY into a Lisp_Int
+ before passing it to store_in_keymap.
+
+ * buffer.c (reset_buffer_local_variables): Don't try to initialize
+ the buffer's mouse_map and function_key_map fields, since they
+ don't exist anymore.
+
+ * macro.c (kbd_macro_buffer, kbd_macro_ptr, kbd_macro_end): These
+ are now all pointers to Lisp_Objects instead of chars.
+ (Fend_kbd_macro): Use make_sequence.
+ (store_kbd_macro_char): Argument c is now a Lisp_Object. Change
+ call to xrealloc to ask for Lisp_Objects instead of chars. Set
+ kbd_macro_end to the same place in the new buffer as it was in the
+ old one, not to the end of the buffer.
+ (Fexecute_kbd_macro): Allow MACRO to be a string or a vector.
+ (syms_of_macros): Allocate Lisp_Objects instead of chars for
+ kbd_macro_buffer.
+
+ * alloc.c (make_sequence): New function, useful to keyboard.c and
+ macro.c.
+ * keyboard.c (Fread_key_sequence): Use make_sequence.
+ (Fthis_command_keys): Use make_sequence.
+
+1991-02-24 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * keymap.c (Fwhere_is): If the command can't be found, the message
+ is now "foobie is not on any key.", instead of "... any keys.".
+
+ * keyboard.c (input_poll_signal): Pass 0 to read_avail_input,
+ instead of `&junk'. Removed variable `junk'.
+ (command_loop_1): Updated to handle the unified function key/mouse
+ event/keystroke arrangement.
+ (Finput_pending_p): Removed vestiges of code to handle
+ unread_input_char value of -1, since this doesn't happen anymore.
+ (read_char): Adapted to handle lispy events.
+ (read_char_menu_prompt): Allocate `menu' buffer using alloca,
+ instead of a variable-sized array, which is gcc-specific.
+ (Frecent_keys): Return the most recent "keystrokes" as a vector,
+ to accomodate lispy events.
+ (Fset_input_mode): Accomodate non-characters as quit keys. If
+ this is a bad thing, init_sys_modes will tell us.
+ (init_keyboard): this_command_keys is now an array of
+ Lisp_Objects; adjust the amount of storage we request to hold it.
+ Remember that quit_char can be any keystroke.
+ (syms_of_keyboard): last_command_char, last_input_char, help_char,
+ menu_prompt_more_char and meta_prefix_char are now DEFVAR_LISPs
+ instead of DEFVAR_INTs.
+
+1991-02-24 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): Use NETCONN_P.
+
+1991-02-23 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c: (recent_keys, this_command_keys,
+ menu_prompt_more_char, help_char, last_command_char, quit_char,
+ last_input_char): Changed to Lisp_Objects, so we can use function
+ keys for them.
+ (Vglobal_function_map): Variable deleted.
+ (echo_char): Echo function keys too. The argument C is now a
+ Lisp_Object instead of a char.
+ (Fread_key_sequence): Removed sludge to handle window events
+ specially, and added sludge to handle sequences with
+ non-characters in them.
+ (classify_object): Elided, since this should go away soon.
+ (read_key_sequence): Adapted to look up symbols in keymaps,
+ just like characters.
+
+1991-02-23 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (send_process): Handle EAGAIN like EWOULDBLOCK.
+
+1991-02-22 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * doc.c (substitute_command_keys): Call describe_map_tree with
+ only three arguments, since the CHARTAB arg has been disposed of.
+
+ * keymap.c (Fcurrent_global_map, Fuse_local_mouse_map): Functions
+ deleted, since the mouse maps are no longer separate from the key
+ maps.
+ (append_key): New function, which handles tacking a single
+ keystroke on the end of a key sequence, promoting strings to
+ vectors when needed.
+ (Faccessible_keymaps): Adjusted to return vectors for key
+ sequences, when necessary.
+ (Fkey_description): Removed stuff to handle mouse buttons and
+ other things specially, since this work will go into
+ Fsingle_key_description.
+ (Fsingle_key_description): SIMPLIFIED to handle everything
+ correctly! Jeepers!
+ (Fwhere_is_internal): Scan the assoc-list at the end of dense
+ keymaps, and construct strings or vectors.
+ (where_is_string, describe_buffer_bindings): Simplified by
+ deleting code to handle mouse button bindings specially.
+ (describe_map_tree): Removed CHARTAB argument; this was
+ a kludge to print out mouse events nicely, and is no longer
+ necessary. Nobody was using it anyway.
+ (describe_map): Removed ugly hack to handle mouse buttons
+ specially, added code to describe alists on dense keymaps, and
+ removed CHARTAB argument.
+ (describe_alist): Made to handle bindings of symbols as well as
+ characters. Removed CHARTAB argument.
+ (describe_vector): Removed CHARTAB argument, allocated KLUDGE
+ outside of loop and GCPRO'd it.
+ (syms_of_keymap): Remove last vestiges of Vglobal_mouse_map,
+ Vmouse_button_names, Suse_local_mouse_map,
+ Scurrent_local_mouse_map.
+
+ * buffer.h (struct buffer): Removed mouse_map and function_key_map
+ members, since they are now handled by the keymap element.
+
+ * keyboard.c (syms_of_keyboard): Change initialization of
+ meta_prefix_char, since it's now a Lisp_Object.
+
+ * keymap.c (Fkeymapp): Rewrote this to use get_keymap_1; now it's
+ a one-liner instead of a 13-liner.
+ (DENSE_TABLE_SIZE): Created new constant for the # of lookup-style
+ entries in a dense keymap, and the index of the map's assoc list.
+ Used it where appropriate.
+ (Fcopy_keymap): Notice that 129'th element in dense keymaps.
+ (Fdefine_key, Flookup_key): Reworked to deal with vectors of
+ symbols and characters as well as strings for key sequences.
+ (meta_prefix_char): Changed from an int to a Lisp_Object.
+
+1991-02-21 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fileio.c (report_file_error): Don't downcase "I/O".
+
+1991-02-20 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * keymap.c (access_keymap): Allow IDX to be any sort of bindable
+ event, and deal with the extended keymaps. IDX is now a
+ Lisp_Object instead of an int, obviously.
+ (store_in_keymap): Allow IDX to be any sort of bindable event, and
+ deal with the extended keymaps. IDX is now a Lisp_Object.
+
+ * xterm.c (construct_mouse_click): Add code to set the up_modifier
+ bit for ButtonRelease events.
+
+ * keyboard.c (kbd_buffer_store_event): Use XFASTINT and XSETINT to
+ access event->code, since it's a Lisp_Object.
+ (kbd_buffer_read_char): Golly, perhaps we should increment
+ kbd_fetch_ptr to remove the event we just read from the queue.
+ (modify_event_symbol): Stupid fixes: correctly look up unmodified
+ symbols when cache entry has a modified symbol vector. And, when
+ first adding the modified symbol vector, copy the old slot value
+ into it correctly.
+
+1991-02-19 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): #if 0 the block of code which
+ handles mouse events and other lispy events specially, since I
+ hope it will go away soon.
+
+ * dispnew.c (Fsleep_for_millisecs): Pass all four arguments to
+ wait_reading_process_input, instead of just the first two.
+
+ * process.c (wait_reading_process_input): Remove support for
+ only waiting for mouse input, since that has been superceded.
+ This removes X dependencies from process.c, and eliminates some
+ references to code that should only exist when using X10.
+
+ * keyboard.c (mouse_moved_symbol, redraw_screen_symbol,
+ mapped_screen_symbol, unmapped_screen_symbol,
+ exited_window_symbol, exited_scrollbar_symbol): Renamed to
+ Qmouse_moved, Qredraw_screen, Qmapped_screen, Qunmapped_screen,
+ Qexited_window, Qexited_scrollbar, just as done in xterm.c.
+ (classify_object): Removed code to look up a function key in the
+ global and local function key keymaps, since this will be done
+ more generally.
+ (Fexecute_mouse_event): Elided this function with a #if 0; I
+ think it will go away once the more general keymap stuff is
+ implemented, but I'm not sure.
+ (syms_of_keyboard): Removed defsubr for Sexecute_mouse_event.
+ (where_is_string, describe_buffer_bindings, syms_of_keymap):
+ Elided code to handle mouse button bindings specially; I hope this
+ will go away.
+
+ * lread.c (syms_of_lread): Change defsubr for eval-buffer to
+ defsubr for eval-current-buffer.
+
+ * keymap.c (syms_of_keymap): defvar for Vglobal_function_map
+ removed, since that variable has disappeared.
+
+ * xterm.c (x_func_key_to_sym): Removed entirely, since we no
+ longer convert X keycodes to symbols in this section of code.
+ (x_convert_modifiers): New function to turn the X modifier bits
+ into struct input_event modifier bits.
+ (encode_mouse_button): removed, since this work isn't done here
+ anymore.
+ (Vx_send_mouse_movement_events): Add an extern declaration for
+ this.
+
+ * termhooks.h: Only define struct input_event if the module
+ has previously #included lisp.h; this avoids forcing simple modules
+ like cm.c to #include lisp.h.
+
+ * term.c: #include "lisp.h" before #including "termhooks.h", since
+ the latter uses Lisp_Objects now.
+
+ * xfns.c (syms_of_xfns): Delete the defsubr for Sx_window_id,
+ since Fx_window_id is gone.
+
+ * xterm.c (construct_mouse_event): Construct a struct input_event
+ instead of a lispy event.
+
+ * screen.c (coordinates_in_window): Added explanatory comment.
+ (window_from_coordinates): Change PART, whose returned values are
+ dependent on X-windows, to be called MODELINE_P, with appropriate
+ new return values.
+ * xterm.c (notice_mouse_movement): Handle the X-windows dependent
+ stuff that used to be in window_from_coordinates here instead.
+ (XTread_socket): Modified to produce struct input_events
+ instead of lispy events.
+
+1991-02-18 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * termhooks.h: Added up_modifier to the enum for modifier bits;
+ this bit will be applied to mouse events.
+ (struct input_event): Changed specification of non_ascii_keystroke
+ events to send the function key number instead of a symbol.
+ * keyboard.c (modify_event_symbol): Re-arranged to work well
+ with function key/mouse button numbers instead of symbols.
+ And if (MODIFIERS & up_modifer), prepend "U-" to the name of the
+ symbol being constructed.
+ (make_lispy_event): Use the new modify_event_symbol.
+
+ * xterm.c (notice_mouse_movement): Adjusted this function to
+ work with a struct input_event instead of producing an
+ s-expression.
+
+ * xterm.c, xfns.c: Made all references to x_mouse_queue,
+ x_expose_queue, and the functions which manipulate them
+ conditional on having X10, since only X10 code ever places
+ anything in these queues.
+
+1991-02-15 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * termhooks.h: Define struct input_event, to represent input
+ events while they sit in the keyboard input buffer. Using lisp
+ objects to represent input events is a bad idea because the
+ routines which enqueue them can be called from signal handlers,
+ and therefore should not cons.
+
+ * keyboard.c: (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr): Change
+ these to be of type `struct input_event *'.
+ (kbd_buffer_store_event): Manipulate struct input_events instead
+ of lisp objects.
+ (make_lispy_event): New function, to construct a lisp-style event
+ corresponding to a particular struct input_event.
+ (modify_event_symbol): New function, to add modifier prefixes to a
+ symbol, and look the new symbols up quickly if they've already
+ been created.
+ (kbd_buffer_read_char): Call make_lispy_event to turn the thing
+ in the keyboard buffer into the form that read_char is expecting.
+ (Qwith_modifier_keys): Define this new symbol variable.
+ (syms_of_keyboard): Initialize and protect Qwith_modifier_keys.
+
+ * xterm.c (init_input_symbols): Rearranged the code that produces
+ the func_key_syms array.
+ (x_func_key_to_sym): Simplified, since more will be handled in
+ make_lispy_event.
+ (XTread_socket): When handling KeyPress events, don't pass the
+ state of the modifier keys to x_func_key_to_sym, since it doesn't
+ care any more.
+
+ * sysdep.c (kbd_input_ast, end_kbd_input, read_input_waiting):
+ Rename kbd_buffer_store_char to kbd_buffer_store_event.
+
+ * keyboard.c (stuff_buffered_input): Since the keyboard buffer
+ holds lisp objects, only stuff entries that are Lisp_Ints, and
+ XINT them before passing them to stuff_char.
+ (kbd_buffer_store_char): Make this not a static function, since
+ sysdep.c calls it. And rename it kbd_buffer_store_event.
+
+ * keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr): Made these
+ variables static, to document the fact that they're only used
+ within keyboard.c.
+
+1991-02-13 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * xterm.c (init_input_symbols): remove the `xk-' prefix from all
+ the function key symbols, since they're going to be used for
+ function keys from all sorts of terminals, not just when running
+ under X.
+
+ * lread.c (read_escape): Removed support for mouse button escapes
+ (\S-, \U-, \C- applied to digits), because they're being replaced
+ by something more rational.
+
+1991-02-09 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * buffer.c: Doc fix.
+
+ * sysdep.c (dup2): Rewrite of non-F_DUPFD case.
+
+1991-02-08 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-intel386.h (LOAD_AVE_CVT): Add extra parens.
+ * s-usg5-4.h (LIBX11_SYSTEM): #undef it.
+
+1991-02-07 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-esix.h: New version from kayvan.
+ Adds HAVE_X11 conditional, NEED_PTEM_H, USG_SYS_TIME, USE_UTIME,
+ LIBS_DEBUG; removes #undef sigsetmask, LIBS_SYSTEM, ESIX,
+ MISSING_UTIMES.
+
+1991-02-06 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (Faccept_process_output): Second arg gives timeout.
+
+1991-02-06 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * lread.c (read_escape): Added support for \S- and \U- escapes (for
+ binding mouse buttons), and noted that \C- must work on digits.
+
+ * xterm.c (init_input_symbols): Was mistakenly renamed
+ init_inputs; named back.
+
+ * xterm.c (construct_mouse_click, encode_mouse_button): Rewritten
+ to build new-style mouse events.
+
+ * dispnew.c (update_line): Write a zero into obody[olen] to make
+ sure the lines in current_screen->glyphs remain terminated.
+ * xdisp.c (display_string, display_text_line): Don't write off
+ the end of the line and destroy the zero terminator when expanding
+ a tab.
+
+ * fns.c (Fy_or_n_p): Accept C-] (usually abort-recursive-edit) as
+ well as C-g to quit.
+
+1991-02-05 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * sysdep.c, s-aix3-1.h, s-hpux.h, s-iris3-5.h, s-iris3-6.h,
+ s-irix3-3.h, s-rtu.h, s-sunos4-1.h, s-unipl5-0.h, s-unipl5-2.h,
+ s-usg5-0.h, s-usg5-2-2.h, s-usg5-2.h, s-usg5-3.h, s-xenix.h:
+ Globally replaced INTERRUPTABLE with INTERRUPTIBLE.
+
+ * xterm.c (construct_mouse_event): Renamed to
+ construct_mouse_click, since there are kinds of mouse events
+ besides clicks (movement, for example).
+ (XTread_socket): rename calls here.
+
+ * xterm.c (mapped_screen_symbol, unmapped_screen_symbol,
+ exited_scrollbar_symbol, exited_window_symbol,
+ redraw_screen_symbol, mouse_moved_symbol): Renamed to
+ Qmapped_screen, Qunmapped_screen, Qexited_scrollbar,
+ Qexited_window, Qredraw_screen, Qmouse_moved, to agree with naming
+ conventions elsewhere in Emacs.
+
+ * xfns.c (text_part_sym, modeline_part_sym,
+ vertical_scrollbar_sym, vertical_slider_sym, vertical_thumbup_sym,
+ vertical_thumbdown_sym, horizontal_scrollbar_sym,
+ horizontal_slider_sym, horizontal_thumbleft_sym,
+ horizontal_thumbright_sym): Renamed to Qtext_part, Qmodeline_part,
+ Qvscrollbar_part, Qvslider_part, Qvthumbup_part, Qvthumbdown_part,
+ Qhscrollbar_part, Qhslider_part, Qhthumbleft_part,
+ Qhthumbright_part, to agree with the naming conventions elsewhere
+ in Emacs.
+
+ * xterm.c (XTread_socket): While handling EnterNotify events,
+ clear Vmouse_event here.
+ (notice_mouse_movement): Don't clear it here.
+
+1991-02-04 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-sunos4-0.h: Renamed from s-sunos4.h.
+ (read, write, open, close): Macro defs moved to s-sunos4-1.h.
+ (INTERRUPTABLE_*): Likewise.
+ * s-sunos4-1.h: New file.
+
+1991-02-04 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * keymap.c (Vglobal_mouse_map, Vglobal_function_map): Variables
+ removed in preparation for conversion to unified keymap format.
+ (Fmake_keymap): Make vector keymaps with 129 entries; the last
+ will be an assoc-list for looking up symbols. Update docstring to
+ describe 129'th element.
+ (Fmake_sparse_keymap): Update docstring to say that you can bind
+ symbols in these maps too.
+ (Fkeymapp): Recognize 129-element vectors as keymaps, not
+ 128-element vectors.
+ (get_keymap_1): wrong_type_argument can no longer return a new
+ value supplied by the debugger; remove loop to support this.
+
+ * xterm.c (XTread_socket): When handling EnterNotify events,
+ enqueue fake mouse events iff Vx_send_mouse_movement_events !=
+ Qnil.
+
+ * xfns.c (Fx_window_id): Function removed; Fscreen_parameters
+ already provides this information.
+
+ * xterm.c (x_term_init): Cleaned up the code to get the host name,
+ and removed fixed limit on host name length.
+
+ * window.c (Fscroll_other_window): Don't explicitly save
+ current_buffer and point; the save_excursion will take care of
+ that anyway.
+
+ * dispnew.c (safe_bcopy): Rewritten to handle overlapping regions
+ with multiple calls to bcopy instead of a stupid copy loop.
+
+ * xterm.c, xfns.c (Vscreen_part, Vx_send_movement_events): These
+ variables renamed to Vmouse_screen_part,
+ Vx_send_mouse_movement_events.
+
+ * lread.c (Feval_buffer): function deleted.
+ (Feval_current_buffer): Removed "#if 0 ... #endif" around this
+ function.
+
+1991-02-03 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * Makefile, ymakefile (SHELL): Force use of sh.
+
+ * s-usg5-4.h (USG5_4): Define it.
+ (LOAD_AVE_*): Don't define them.
+ * m-intel386.h (LOAD_AVE_*): Define, if USG5_4.
+
+ * buffer.c (Fbuffer_local_variables): Omit slots with no names.
+
+1991-02-03 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * xterm.c (x_term_init, init_input_symbols): Moved these to the
+ bottom of the file, 1) to be consistent with the other files, and
+ 2) so it can initialize some variables I want.
+
+1991-02-02 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * xterm.h: Added external declaration for x_focus_screen.
+
+ * search.h: File deleted.
+ * buffer.h: declare searchbuf here instead.
+
+ * screen.c (Ffocus_screen, Funfocus_screen): Moved these functions
+ to xfns.c, since they're x-specific.
+ (syms_of_screen): Removed defsubr calls for above.
+ * xfns.c (Ffocus_screen, Funfocus_screen): Here they are.
+ (syms_of_xfns): The defsubrs are here now.
+
+ * buffer.h (PT): Make this expand to an expression which is not an
+ l-value, to prevent people from assigning to it. If everyplace
+ uses SET_PT, it will be easier to merge in the interval code.
+ (point): Similar changes here.
+ (SET_PT): This can no longer be written in terms of PT, so write
+ out current_buffer->text.pt.
+
+ * xterm.c (x_new_font): Rewritten to remove arbitrary limit on
+ size of x_font_table.
+ (x_font_table_size): Created new variable.
+ (n_available_fonts, font_names, font_info, MAX_FONTS): Deleted
+ these variables/macros.
+
+ * dispnew.c (scroll_screen_lines): Instead of disabling the lines
+ vacated by the scroll (i.e. zeroing enable), mark them as enabled
+ but empty.
+
+ * callint.c (Fcall_interactively): Move UNGCPRO down, so that
+ stuff is protected while we build the command history entry and do
+ the function call.
+
+ * xterm.c (XTupdate_end): Turn cursor on, even if we don't
+ currently have the focus.
+
+ * minibuf.c (temp_echo_area_glyphs): Clear echo_area_glyphs and
+ previous_echo_glyphs, so the message we're displaying will
+ supercede any existing message.
+
+ * keyboard.c: Removed external declaration of echo_area_glyphs,
+ since it's declared in window.h.
+
+1991-01-31 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * xterm.c (XRINGBELL): Pass 0 as the second argument to XBell;
+ respect the user's preferences.
+
+1991-01-30 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * xterm.c (x_draw_single_glyph): New function, created to simplify
+ cursor drawing/undrawing.
+ (x_display_box_cursor): Rewritten to properly handle the box
+ cursor in its filled and hollow forms.
+ * xterm.h (enum text_cursor_kinds): Added enum for the different
+ kinds of cursors which might be displayed in a window.
+ (struct x_display): added member `text_cursor_kind' which says
+ which kind of cursor is currently being displayed in the window, so
+ we can arrange to redraw it effectively.
+
+ * keyboard.c (command_loop_1): When handling the forward_char
+ command, don't let point move to the location after the end of the
+ buffer.
+
+ * keyboard.c (poll_suppress_count): Define this even if
+ POLL_FOR_INPUT is not defined, because this makes lots of #ifdef
+ clauses unnecessary, and doesn't hurt, because
+ {start,stop}_polling become nops.
+
+ * config.h, config.h-dist: Make these #include "system.h" and
+ "machine.h", and let the config script link these appropriately,
+ instead of using the machine-specific names and expecting the user
+ to edit this file.
+
+1991-01-29 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * window.c (Fdelete_window): sib is a Lisp_Object; treat it as
+ such.
+
+ * xterm.c (screen_unhighlight): When the focus leaves a screen,
+ draw the cursor as a box instead of making it disappear entirely.
+
+1991-01-29 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * unexec.c (make_hdr) [TPIX]: Set f_hdr.f_nscns and f_thdr.f_scnptr.
+
+ * sysdep.c [BROKEN_TIOCGWINSZ]: Undef TIOCGWINSZ.
+
+ * process.c (wait_reading_process_input): Don't ignore
+ a zero-length read on a network connection. Do close it.
+
+ * sysdep.c (hft_init, hft_reset): Pass &junk as arg to HFQERROR.
+ Do nothing if not HFT.
+
+1991-01-29 Jim Blandy (jimb at albert.ai.mit.edu)
+
+ * xfns.h: Created, to declare things defined in xfns.c.
+ Declare Vx_send_movement_events.
+ * xfns.c: #include "xfns.h".
+ (Vx_send_movement_events): Define this variable.
+ (syms_of_xfns): DEFVAR_LISP it.
+ * xterm.c: #include "xfns.h".
+ (XTread_socket): Place a mouse-moved event in the buffer iff
+ Vx_send_movement_events says to.
+
+1991-01-28 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * ymakefile: noted that callint.o depends on mocklisp.h,
+ and dired.o on search.h.
+
+ * environ.h: Deleted - its creation in the first place was misguided.
+ callproc.h: Removed #include "environ.h", and added declarations
+ for environ.h
+
+ * buffer.c (syms_of_buffer): Add more detailed documentation to
+ buffer-undo-list.
+
+ * lisp.h (poll_suppress_count): Add external declaration for this here.
+
+1991-01-28 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-sun3-68881.h, m-sun3-fpa.h, m-sun3-soft.h: New files.
+
+1991-01-27 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * lisp.h (struct handler): add poll_suppress_count member, so
+ we can restore poll_suppress_count when we handle an error.
+ * eval.c (struct catchtag): Add it here too, for throws.
+ (internal_catch, Fcondition_case, internal_condition_case): Record
+ the value of poll_suppress_count here in the handler and catch tag.
+ (Fthrow, Fsignal): Restore it here.
+
+1991-01-25 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * xterm.c (x_display_box_cursor): If we're undrawing the cursor by
+ redrawing the character underneath it, draw according to that
+ line's highlight, instead of assuming it's in the normal GC.
+
+1991-01-25 Richard Stallmao (rms at mole.ai.mit.edu)
+
+ * buffer.h (PTR_CHAR_POS): Value was too small by 1.
+
+1991-01-16 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * doprnt.c (doprnt): Check for overflow in fmtcpy.
+
+1991-01-16 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * window.c (Fdelete_window): If the deletee gives its space to its
+ next sibling, that sibling needs to have its top/left side pulled
+ back to where the deletee's is.
+
+1991-01-15 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * doc.c (Fsnarf_documentation): handle attaching docstrings to
+ bytecode objects too.
+
+ * syntax.h (syntax_spec_code): make external declaration for this
+ unsigned char to match the definition in syntax.c.
+
+ * indent.c (compute_motion): added comments describing how it
+ can be used.
+
+1991-01-15 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (create_process): Use SETUP_SLAVE_PTY if defined.
+
+ * s-usg5-4.h (HAVE_PTYS, HAVE_SETSID): Defined.
+ (HAVE_WAIT_HEADER, WAITTYPE, wait3, WRETCODE): New macros.
+ (TIOCSIGSEND): Alias for TIOCSIGNAL.
+ (FIRST_PTY_LETTER): Overridden.
+ (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF, SETUP_SLAVE_PTY): New macros.
+
+ * m-ibmrs6000.h (CANNOT_DUMP): Undefine it.
+ (UNEXEC): Define it.
+ (PURE_SEG_BITS, SHMKEY): Define only if CANNOT_DUMP.
+ (LINKER): Override it. Then add -bnodelcsect.
+
+ * xfns.c (Fx_get_default): Try reversing XGetDefault args if it fails.
+
+1991-01-13 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-usg5-4.h (LOAD_AVE_CVT): Cast value to int.
+
+ * keyboard.c (read_avail_input): Signal SIGHUP if FIONREAD fails.
+
+ * ymakefile: Put tokens after #endif into comment.
+
+ * filelock.c (lock_file_owner_name): Declare argument type.
+
+ * syntax.c (syntax_spec_code): Type now unsigned char.
+
+ * process.c (wait_reading_process_input):
+ Call status_notify even when not doing redisplay.
+
+ * emacs.c (Fkill_emacs): Turn off SIGIO before exiting.
+
+ * s-usg5-3.h (USG5_3): Define it.
+ * m-ibmps2-aix.h [USG5_3]: Define TEXT_START as 0.
+ Don't define DATA_START or DATA_END or TEXT_END or DATA_SEG_BITS.
+ Override various other symbols at end of file.
+
+1991-01-12 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * window.c (window-configuration-p): Closing paren needed. Added.
+
+ * keyboard.c (command_loop_1): When displaying a message over an
+ active minibuffer, call Fsit_for with three arguments, not two.
+
+1991-01-12 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-irix3-3.h (HAVE_SYSVIPC): Defined.
+
+1991-01-12 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * dispnew.c (buffer_posn_from_coords): compute_motion starting
+ from bufp[y] instead of counting from the top of the window.
+
+1991-01-11 Richard Mlynarik (mly at pizza.ai.mit.edu)
+
+ * window.c (window-configuration-p): Needed. Added.
+
+1991-01-11 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * dispnew.c (buffer_posn_from_coords): Remember to deduce space
+ for the line continuation markers and the window separators from
+ the window width.
+
+1991-01-11 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-tower32v3.h (VALBITS, GCTYPEBITS): Use 26 bits for pointer.
+
+1991-01-10 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fileio.c (Fcopy_file): Always close descriptors.
+
+ * s-sunos4.h: read, write, open and close are interruptable.
+
+1991-01-09 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * xterm.c, dispnew.c (pixel_to_char_translation): Renamed to
+ pixel_to_glyph_translation, and rewritten. Just get coordinates,
+ don't return anything.
+ (buffer_posn_from_coords): New function - given a window and
+ co-ordinates on the screen, find the buffer position at those
+ co-ordinates.
+
+1991-01-08 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * alloc.c (Fmake_byte_code): Flesh out docstring.
+
+ * window.c (window_loop): pick the first window correctly, even
+ when screen == 0.
+
+ * dispnew.c (scroll_screen_lines): Don't forget to call
+ update_begin at the top of the down-scrolling section.
+ And rotate by amount, not -amount, in the up-scrolling section.
+
+ * xterm.h (MAX_FONTS, x_font_table, n_fonts): Removed external
+ declarations for these variables, since they're declared static in
+ xterm.c and not used elsewhere.
+ * xterm.c (MAX_FONTS): Moved definition of this to here from
+ xterm.h.
+
+ * xterm.c (x_new_font): If you can't find the requested font,
+ return a code which indicates this, instead of calling abort.
+
+1991-01-07 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * xdisp.c (redisplay, display_mode_line): To test
+ Vglobal_minibuffer_screen for validity, you must check that its
+ type is Lisp_Screen; comparing it to Qnil isn't good enough.
+
+ * screen.c (syms_of_screen): Initialize Vglobal_minibuffer_screen
+ to Qnil; otherwise, it inhibits decent redisplay (is that another
+ bug?)
+
+ * dispnew.c (init_display): Make sure that the standard input is a
+ terminal here.
+ * emacs.c (main): Not here, since we don't know yet if we want to
+ use a window system of some sort.
+
+ * xfns.c (x_make_gc): Delete code to support default_face and
+ highlight_face, since they're part of the interval code, and
+ shouldn't be installed yet.
+
+ * dispnew.c (init_display): calculate_costs expects a screen
+ parameter; pass selected_screen, instead of nothing.
+
+ * search.c (Freplace_match): Protect STRING.
+ * process.c (run_filter): New function.
+ (read_process_output, exec_sentinel): Use run_filter to call the
+ process's filter function.
+ (status_notify): GCPro MSG.
+ * process.c (Fopen_network_stream): Protect various args.
+ * print.c (Fprin1_to_string, Fprint): Protect OBJ.
+ * lread.c (Feval_region): Check type of B.
+ * keymap.c (describe_alist): Protect ELT_PREFIX and TEM2.
+ (describe_vector): Likewise for ELT_PREFIX and TEM1.
+
+1991-01-06 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sysdep.c (init_sys_modes): Turn off VSUSP and V_DSUSP if they exist.
+ Only on a MIPS.
+
+1991-01-05 Jim Blandy (jimb at spiff.ai.mit.edu)
+
+ * xselect.c (x_answer_selection_request): For incremental, set
+ format to 32 and send only 1 element. Pass the address of size,
+ not size itself.
+ (x_selection_arrival): For incremental, delete the property
+ containing the size of the transfer. This generates a
+ PropertyNotify to the owner, starting the exchange.
+
+ * xrdb.c (get_user_app): Pass correct number of parameters to
+ sprintf.
+
+ * xfns.c (x_window): Don't use backing store or saveunders; they
+ seem to slow down suns.
+ (x_icon): Set the InputHint to the window manager to False.
+ (x_make_gc): Initialize gc_values.line_width to zero before
+ creating the normal video GC, since it uses it. And set the
+ default_face and hilite_face gcs here.
+ (install_vertical_scrollbar): Add 2 to thumbdown y position, and
+ don't add ibw.
+
+ * insdel.c (insert, del_range): Use SET_PT rather than assigning
+ point directly.
+ * window.c (Fselect_window): Here too.
+
+ * xdisp.c (redisplay_all_windows): removed static declaration for
+ this nonexistent function.
+
+1991-01-04 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * window.c (window_loop): neatened up. MINI being non-zero now
+ makes it recognize active minibuffer windows. Iterates properly
+ over multiple screens when asked nicely.
+ (Fget_lru_window, Fget_largest_window): SCREENS arguments are now
+ declared as a Lisp_Object, and documented.
+ (Fget_buffer_window): SCREENS argument is now documented.
+ (Fdelete_other_windows): Delete other windows on the argument
+ window's screen, not the current screen.
+
+ * screen.c (window_from_coordinates): Changed other reference to
+ Fnext_window to use next_screen_window; see below.
+
+ * window.c (Fnext_window, Fprevious_window): Accept non-nil, non-t
+ values for mini, and don't turn off all-screens when mini is t but
+ there is no global minibuffer screen. Remove screen_{root,mini}
+ variables.
+ (Fother_window): Added second argument all_screens.
+
+ * undo.c (record_delete): Removed dead variable llength.
+
+ * data.c (Qkeyp, Fkeyp): Removed these and supporting code.
+ * keymap.c (Fsingle_key_description): Report an error instead of
+ calling wrong_type_argument.
+ * lisp.h (Qkeyp): Removed external declaration for this.
+
+1991-01-03 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * search.c (search_buffer): Return starting position if count == 0.
+
+1991-01-02 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * scroll.c (do_scrolling): Use correct limits on loop to clear
+ lines just inserted--old version lost a line.
+
+ * screen.c: #ifdef HAVE_X_WINDOWS, #include xterm.h
+ (Ffocus_screen, Funfocus_screen): use Joe's new definitions, and
+ only define these functions ifdef HAVE_X_WINDOWS.
+ (window_from_coordinates): use next_screen_window instead of
+ Fnext_window, so that global minibuffers work.
+
+ * lread.c (syms_of_read): Don't forget to defsubr
+ read-char-exclusive.
+
+ * lisp.h (Fscreenp, Fselect_screen, Ffocus_screen,
+ Funfocus_screen, Fselected_screen, Fwindow_screen,
+ Fscreen_root_window, Fscreen_selected_window, Fscreen_list,
+ Fnext_screen, Fdelete_screen, Fread_mouse_position,
+ Fset_mouse_position, Fmake_screen_visible, Fmake_screen_invisible,
+ Ficonify_screen, Fdeiconify_screen, Fscreen_visible_p,
+ Fvisible_screen_list, Fscreen_parameters,
+ Fmodify_screen_parameters, Fscreen_pixel_size, Fscreen_height,
+ Fscreen_width, Fset_screen_height, Fset_screen_width,
+ Fset_screen_size, Fset_screen_position, Fcoordinates_in_window_p,
+ Flocate_window_from_coordinates, Frubber_band_rectangle): added
+ extern declarations for all these.
+
+ * lisp.h (Qscreenp): added an extern declaration for this.
+
+ * lisp.h (DBL_DIG): Added constant for the maximum number of
+ decimal digits a float could print to. Used in print.c.
+
+ * keymap.c (Fkey_description): Produce pretty descriptions of
+ mouse and window system events too.
+ (Fsingle_key_description): signal an error if obj is not a key.
+
+ * data.c (Fkeyp, Qkeyp): Added predicate to recognize things which
+ can be bound - this includes keys, symbols (for function keys and
+ window system events), and conses (for mouse events).
+ * lisp.h (Qkeyp): Added external declaration for this.
+
+ * keyboard.c (Frecursive_edit): Don't specbind the standard IO here.
+ (recursive_edit_1): Do it here, and don't forgot to unbind_to.
+
+ (command_loop_1): Reset no_redisplay after mouse commands.
+
+ (classify_object): Place the object in read_key_sequence_cmd.
+
+ (Fread_key_sequence): recognize that when read_key_sequence
+ returns -1 or -2, it's a mouse event or window system event.
+
+1991-01-01 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * fileio.c (Fwrite_region): We should dereference GPT_ADDR[-1]
+ before comparing it to '\n' for VMS cruft.
+ (Fdo_auto_save): Don't call run-hooks before it's defined. This
+ only happens before emacs is dumped, when loading inc-vers.el.
+
+ * eval.c (Fsignal): TOTALLY_UNBLOCK_INPUT here.
+ (error): Not here.
+
+ (Feval): We use argvals[0..5], so declare it to have six elements
+ instead of just five.
+
+1990-12-30 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * eval.c (Fsignal): Don't ever return.
+ Call error instead if user tries to use debugger to return.
+
+ * eval.c (unbind_to): New second arg is value to return. gcpro it.
+ All callers changed to pass the arg; if a caller uses unbind_to
+ just before returning, it passes as this arg the value it wants
+ to return, then it returns whatever comes back.
+
+1990-12-28 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * print.c (print): put obj in a non-register variable so
+ we could gcpro it. Also fixed some syntax errors.
+
+ * editfns.c (Fformat): declare nstrings, and declare nstrings and
+ strings in a local block.
+ (Fformat): XFLOAT(args[n]) isn't a float; ->data is.
+
+1990-12-27 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-tower32.h: Add comments for how to optimize.
+ * m-tower32v3.h: New file.
+
+ * fileio.c (Fwrite_region): Save errno around unlock_file.
+
+1990-12-26 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * editfns.c (Fformat): Handle floats. Convert between int and float.
+ Don't truncate value at null char coming from doprnt.
+ * doprnt.c (doprnt): Replace tembuf with malloced buff if too small.
+ Handle %e, %f and %g.
+
+1990-12-25 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * abbrev.c (Fexpand_abbrev): Use insert_from_string, not insert.
+ (Funexpand_abbrev): Likewise.
+ * doc.c (Fsubstitute_command_keys): Likewise.
+ * editfns.c (Finsert, Finsert_before_markers): Likewise.
+ * minibuf.c (Fminibuffer_complete_word): Likewise.
+ * mocklisp.c (Finsert_string): Use insert1.
+ * vmsfns.c (Fdefault_subproc_input_handler): Likewise.
+
+ * print.c: Don't use strout for the text of a Lisp string.
+ (print_string): New function to use instead.
+ (print): Use print_string when no escapes needed.
+ When printing with escapes, protect the string and check addr often.
+
+1990-12-24 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * insdel.c (insert_from_string): New function.
+
+1990-12-20 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * term.c (ins_del_lines): Handle scroll region wrt chars_wasted.
+
+1990-12-16 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * Globally renamed InsStr to insert_string.
+
+1990-12-15 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-usg5-3.h (USG_SHARED_LIBRARIES): Define it.
+
+ * m-intel386.h (C_SWITCH_MACHINE): New macro.
+
+1990-12-15 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * alloc.c (STRING_FULLSIZE): Use sizeof(struct Lisp_String)
+ instead of sizeof(int).
+
+1990-12-14 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c (Fread_key_sequence): Clear this_command_key_count
+ here; who unfixed this?
+
+1990-12-12 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * abbrev.c (Fdefine_abbrevs): Don't crash when EXPANSION is nil.
+
+1990-12-11 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * eval.c (Fmacroexpand): Change handling of (foo . bar) in ENV.
+
+1990-12-10 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-pmax.h (SYSTEM_MALLOC): Define it.
+
+ * process.c (wait_reading_process_input): Ignore failure with EIO.
+
+1990-12-09 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-iris4d.h (LOAD_AVE_CVT): Divide by 1024.
+ (LIB_STANDARD): Use -lbsd first.
+ (LIBS_MACHINE): Don't use -lbsd here.
+ * s-irix3-3.h (ADDR_CORRECT): Macro deleted.
+ (LIBS_MACHINE): Macro deleted.
+ (LDAV_SYMBOL): Delete the `_' from start of symbol.
+
+ * process.c (create_process): Delete duplicate sigsetmask.
+
+ * m-ibmrt.h (RTPC_REGISTER_BUG, SHORT_CAST_BUG): Macros deleted.
+ (C_SWITCH_MACHINE): Use -D to define alloca.
+ (SIGN_EXTEND_CHAR): Use a cast.
+
+1990-12-05 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c (Fsuspend_emacs): Protect STUFFSTRING.
+ (cmd_error): Protect TAIL while printing.
+ (input_poll_signal, start_polling): Use polling_period.
+ (syms_of_keyboard): Initialize it and make it a Lisp var.
+
+ * fns.c (Fyes_or_no_p): Protect PROMPT for entire loop.
+
+ * fileio.c (Frename_file): Protect args.
+ * fileio.c (Fadd_name_to_file): Protect the args.
+ (Fcopy_file, Fmake_symbolic_link): Likewise.
+ (Finsert_file_contents): Protect FILENAME.
+
+1990-12-04 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * eval.c (Fbacktrace): gcpro TAIL.
+ * emacs.c (Fkill_emacs): gcpro ARG.
+ * editfns.c (Fformat): remove remains of gcpro'd args.
+
+ * dispnew.c (syms_of_dispnew): Don't clobber Vwindow_system_version
+ if CANNOT_DUMP.
+
+ * dired.c (file_name_completion): Check that FILE is a string.
+
+ * buffer.c (Fbury_buffer): Don't init BUF1.
+
+ * doc.c (Fsubstitute_command_keys): Protect STR and don't keep a
+ pointer to the middle of it.
+
+ * m-hp9000s300.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Override for BSD.
+
+ * process.c (sigchld_handler): Clear synch_process_alive if the
+ dying process isn't in the table at all.
+ * callproc.c (call_process_cleanup): Clear synch_process_alive.
+
+1990-12-03 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * callproc.c (Fcall_process): change synch_process_pid to
+ synch_process_alive, as a general flag that we are waiting for
+ a synchronous process to die. This obviates the need to block
+ SIGCHLDs until we know the pid.
+ * sysdep.c (wait_for_termination): wait for synch_process_alive to
+ be false.
+
+ * process.c (sigchld_handler): If pid not recognized, look for a
+ process recorded with pid -1.
+ (create_process): Set pid to -1 before the fork.
+ Store correct pid right after the fork.
+ Don't change sigchld handler on system V.
+
+ * process.c (Fstart_process): Set BUFFER before other string vars
+ so a gc in Fget_buffer_create won't clobber them.
+
+1990-11-30 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * keyboard.c (read_command_char): Save and restore getcjmp.
+
+1990-11-29 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (status_convert): Use WRETCODE for exited process.
+
+1990-11-26 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * s-usg5-4.h (LIB_STANDARD): Add libucb.a.
+ (NEED_PTEM_H): Define this instead of NEED_SIOCTL.
+ * m-ibm370aix.h, m-ibmps2-aix.h, m-ibmrs6000.h (NEED_SIOCTL):
+ Undefine this.
+ (NEED_PTEM_H): Likewise.
+
+ * s-sunos4.h (O_NDELAY): Don't define this.
+
+ * print.c (Fwith_output_to_temp_buffer): Don't eval first arg twice.
+
+1990-11-22 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-hp9000s300.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Alternate defs for BSD.
+
+1990-11-21 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * dispnew.c (init_display): Check if we're using a window system
+ before trying to initialize the terminal. If someone has
+ indicated that they want to use a window system, we shouldn't
+ bother initializing the terminal. This is especially important
+ when the terminal is so dumb that emacs gives up and doesn't bother
+ using the window system.
+
+1990-11-20 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * print.c (Fexternal_debugging_output): added new function which
+ writes a character to stderr, for use when debugging emacs with
+ gdb.
+
+1990-11-14 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * dispnew.c (window_change_signal): used to assume that SIGWINCHes
+ always applied to the currently selected screen. Now it scans the
+ list of screens for a screen controlled by termcap, and changes that
+ screen's size.
+
+1990-11-13 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fileio.c (err_str): New macro.
+ (Finsert_file_contents, Fwrite_region): Use it in error messages.
+
+1990-11-12 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * insdel.c (del_range): Supply missing arg to gap_left.
+
+1990-11-11 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * regex.c: Disabled definition of NULL from lisp.h
+
+ * crt0.c (_start): added static declaration of start1.
+
+ * xfns.c: added definition for Vbar_cursor.
+ (syms_of_xfns): Added DEFVAR_LISP clause for Vbar_cursor.
+
+ * xterm.c (XTread_socket): passed &event.xkey instead of &event to
+ XLookupString, so things will typecheck nicely.
+
+ * Globally rewrote all references to Vmouse_buffer to use the
+ buffer viewed by Vmouse_window instead.
+
+ * alloc.c (xmalloc, xrealloc): removed calls to
+ {un,}hold_window_change. The new SIGWINCH-handling code and
+ do_pending_window_change make them unnecessary.
+
+1990-11-11 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): Make Available static;
+ don't clear when a nonzero bit is found.
+
+ * fns.c (Fnthcdr): Stop loop if reach end.
+
+ * dispnew.c: Include fcntl.h if HAVE_TERMIO.
+
+1990-11-10 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * alloc.c (make_uninit_string): No longer declared static, and
+ extern declaration added to lisp.h. It's used in dired.c.
+
+1990-11-08 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * dispnew.c (do_pending_window_change): Changed incorrect call to
+ change_window_size_1 into a loop which scans list of screens and
+ resizes those that need resizing.
+
+1990-11-06 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-ibmrs6000.h (CANNOT_DUMP): Define it.
+
+ * process.c (create_process): Unblock SIGCHLD in the child.
+
+ * process.c (wait_reading_process_input): Don't read input
+ from more than one process between calls to `select'.
+
+1990-11-02 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * callint.c (syms_of_callint):
+ Initialize Vprefix_arg and Vcurrent_prefix_arg.
+
+1990-11-01 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * dired.c (Fdirectory_files): Avoid using MAXNAMLEN.
+
+1990-10-31 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * process.c (MAXDESC): Enclosed definition in `#ifndef ... #endif'
+ clause.
+
+ * bytecode.c: Included syntax.h to declare syntax_code_spec.
+
+ * syntax.h (syntax_spec_code): Added extern declaration for this.
+
+ * floatfns.c (float_error): Added static declaration for this at
+ the top of the file.
+
+1990-10-29 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * indent.c (position_indentation): renamed stray `bf_cur' to
+ `current_buffer', and old `CharAt' usages to `FETCH_CHAR'.
+ * buffer.c (Fbuffer_disable_undo): the symbol object for this
+ subroutine was still named Sbuffer_flush_undo, and the symbol's
+ lisp name was similarly out of date. Renamed both, and added an
+ alias in lisp/subr.el .
+
+ * keyboard.c (Fset_input_mode): a `meta_flag' had escaped being
+ renamed to `meta_key'.
+
+1990-10-29 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (Fprocess_send_region, Fprocess_send_string):
+ Break data into bunches less than 500 bytes.
+ Accept process output between bunches.
+ ??? Must update manual.
+
+1990-10-29 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * window.c (Fset_window_start, window_scroll): renamed stray
+ references to `redo_mode_line' to `update_mode_line'.
+
+ * xdisp.c (decode_mode_spec): renamed stray references to `bf_cur'
+ and `bf_modified' to `current_buffer' and `MODIFF'.
+
+1990-10-25 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * environ.h: file created - contains declarations for users of the
+ environment variable list.
+ * callproc.c (environ): removed extern declaration of environ, and
+ included environ.h.
+
+1990-10-24 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * callproc.c (init_callproc): removed extern declaration of
+ environ - it's already taken care of at the top of the file.
+
+ * mocklisp.h: file created - externally declares certain
+ functions defined in mocklisp.c.
+ * lisp.h (Fread_buffer, Fread_key_sequence): added extern
+ declarations for these functions.
+ * callint.c (ml_apply, Fread_buffer, Fread_key_sequence): removed
+ extern declarations for these functions, included mocklisp.h.
+ Moved external declaration of index to top of file.
+
+1990-10-24 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * ymakefile (GNULIB_VAR): New make variable.
+ (LIBES): Use that, not GNULIB directly.
+ (GNULIB): Don't define if already defined.
+
+1990-10-23 Jim Blandy (jimb at geech.ai.mit.edu)
+
+ * indent.h (last_known_column_point): added extern declaration for
+ this variable.
+ buffer.c (last_known_column_point): removed extern declaration for
+ this variable, included indent.h.
+ (Vprin1_to_string_buffer): removed extern declaration - it's
+ already in lisp.h.
+
+ * lisp.h (catchlist, backtrace_list, stack_bottom,
+ current_global_map): added extern declarations for these
+ variables.
+ * alloc.c: removed external declarations for catchlist,
+ backtrace_list, and stack_bottom, since this file includes
+ lisp.h.
+ * callint.c: (current_global_map): removed extern declaration.
+
+ * search.h: new file - declares searchbuf.
+ * dired.c (Fdirectory_files): removed extern declaration of
+ searchbuf, included search.h.
+
+ * Globally renamed `CHAR_AT_POSITION' to `FETCH_CHAR'.
+
+1990-10-22 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * keyboard.c (quit_char): New variable.
+ (init_keyboard): Initialize it.
+ (Fset_input_mode): New optional arg to set quit_char.
+ (command_loop_1, read_char, kbd_buffer_store_char):
+ (read_avail_input): Use quit_char, not C-g.
+ * sysdep.c (init_sys_modes): Use quit_char to set special chars.
+ * xterm.c (x_term_init): Pass new arg to Fset_input_mode.
+
+1990-10-22 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * xdisp.c: added `extern' declaration for command_loop_level.
+
+ * term.c (term_init): Internal cleanups.
+ (write_glyphs): renamed argument `start' to `string'.
+
+1990-10-21 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * xterm.c (FIONREAD): Undefine if BROKEN_FIONREAD.
+ (SIGIO): Undefine if no FIONREAD.
+ (ioctl.h, termio.h, strings.h, string.h): Include them before those.
+
+ * alloc.c (make_vector_from_string, Fvector_from_string):
+ Functions deleted.
+
+ * sysdep.c (select): Handle timeout == 0. Add var local_timeout.
+
+ * alloc.c (make_uninit_string, make_float): Use VALIDATE_LISP_STORAGE.
+ (Fcons, Fmake_vector, Fmake_symbol, Fmake_marker): Likewise.
+ (Fmake_vector_from_list): Likewise.
+ (VALIDATE_LISP_STORAGE): New macro.
+
+1990-10-20 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * dispnew.c (scrolling): Give up if some new lines not enabled.
+ (update_screen): Rework outq logic.
+
+ * xdisp.c (message, message1): Clear noninteractive_need_newline.
+
+1990-10-19 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * scroll.c (do_scrolling): allocate queue using alloca instead
+ of variable-sized arrays.
+
+1990-10-19 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * buffer.c: Doc fix.
+
+1990-10-18 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * print.c (internal_with_output_to_temp_buffer): install an
+ unwind_protect to make sure the current buffer is restored.
+
+ * minibuf.c (read_minibuf): call recursive_edit_1 instead of
+ Frecursive_edit, to support the new command_loop_level
+ arrangement.
+
+ * malloc.c (calloc): Added this function, in case something linked
+ with emacs calls it.
+
+ * lread.c (openp): Since access returns 0 on success, change that
+ into a 1 before returning it.
+
+ * lisp.h: deleted DEFSIMPLE and DEFPRED, since they're no
+ longer used.
+
+1990-10-18 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-intel386.h (alloca): Define as builtin, if using GCC.
+
+ * m-att3b.h (NEED_PTEM_H): Define this for 3b2.
+
+ * s-aix3-1.h (SYSV_SYSTEM_DIR): Define it.
+
+ * print.c (print): Improve error message for bad data type.
+
+1990-10-18 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keymap.c (Flookup_key): rearranged to use an index into the key
+ sequence instead of a pointer and a level counter.
+
+1990-10-18 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * floatfns.c (sinh, cosh): On VMS, define to use exp.
+ (IN_FLOAT): Detect errors reported using errno.
+ (float_error): Define function unconditionally.
+ Reestablish handler when called, if not BSD.
+
+1990-10-17 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-delta.h (C_DEBUG_SWITCH): Don't define this.
+
+1990-10-17 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c (command_loop): made call to command_loop_2
+ conditional on minibuf_level too (it used to be only conditional
+ on command_loop_level), since this is what 18.56 and all the other
+ functions in Emacs 19 keyboard.c do.
+
+1990-10-16 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c (read_char): Don't echo dash if there is already
+ something else being displayed in the echo area.
+
+1990-10-16 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (status_convert): If killed by signal, use WTERMSIG.
+
+ * data.c (arith_error): Reestablish handler on VMS.
+
+ * keyboard.c (start_polling, stop_polling): New functions.
+ (input_poll_signal): New function, handles periodic alarms.
+ (read_command_char): Turn off polling temporarily.
+ * xdisp.c (redisplay): Likewise.
+ * process.c (wait_reading_process_input, create_process): Likewise.
+
+1990-10-16 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * indent.c (position_indentation): instead of using CharAt, use a
+ pointer to scan the buffer - this is faster.
+
+ * emacs.c (Fdump_emacs): The conditional expression which passes
+ symname to unexec was missing a `: 0'.
+
+ * dispnew.c (rotate_vector): Was rotating backwards.
+
+1990-10-15 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * dired.c (file_name_completion): Use scmp to compare names.
+
+1990-10-15 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * process.c (create_process): Don't turn off handling of SIGCHLD.
+ Just set a flag if a signal comes in when not wanted.
+ (create_process_sigchld): New signal handler.
+
+1990-10-14 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * bytecode.c: De-implement Bmark, Bset_mark, Bscan_buffer.
+ Mark Bsymbol_function, Bfset, Bread_char as obsolete.
+ Implement codes Bmult, Bforward_char...Bwiden,
+ and Bstringeqlsign...Bintegerp.
+
+1990-10-12 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * buffer.c (list_buffers_1): Select the buffer given in
+ Vstandard_output using Fset_buffer instead of set_buffer_internal.
+
+ * buffer.c (set_buffer_internal): deleted variable swb - it's
+ never used.
+
+ * buffer.c (count_modified_buffers): function deleted - it's
+ not used anymore.
+
+1990-10-11 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * buffer.c (reset_buffer_local_variables, buffer_local_variables):
+ added support for default values for buffer local variables which
+ do not have a DEFVAR_PER_BUFFER, as described in the comments
+ above buffer_local_flags.
+
+ * buffer.c (Fget_buffer_create): move initialization of
+ b->save_length and b->last_window_start to reset_buffer.
+
+1990-10-11 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-ibmps2-aix.h (LOAD_AVE_TYPE, LOAD_AVE_CVT): Define them.
+ (C_DEBUG_SWITCH): Delete -fstrength-reduce.
+
+ * unexmips.c (unexec): Add conditional for MIPS2.
+
+1990-10-10 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-iris4d.h (LIBS_MACHINE): Use -lsun, don't use -lPW.
+
+ * unexelf.c: New file.
+ * s-usg5-4.h: New file.
+ * unexec.c [USG_SHARED_LIBARARIES]: Numerous changes under this cond.
+ (copy_text_and_data): New second argument.
+
+1990-10-10 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * alloc.c (gc_sweep): only unchain markers that are in a buffer.
+
+1990-10-10 Mike Rowan (mtr at apple-gunkies)
+
+ * process.c: Merged in more changes from 18.56: update_status,
+ FD_SET changes (define all the FD_ macros). Other small changes.
+
+1990-10-09 Jim Blandy (jimb at churchy.ai.mit.edu)
+
+ * xdist.c: (decode_mode_spec): reworked code to handle %* - it now
+ goes like `if return else if return else ... return' instead of
+ using a conditional operator.
+
+ * xdist.c: (fmodetrunc): function deleted - no longer used.
+
+1990-10-09 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * xdisp.c (decode_mode_spec): Handle dashes in wide windows.
+
+1990-10-08 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sysdep.c (sys_open, sys_close, sys_read, sys_write):
+ Don't handle EAGAIN.
+
+ * process.c (wait_reading_process_input): Handle nread==-1
+ for O_NDELAY like O_NONBLOCK.
+
+ * s-vms.h (LINK_CTRL_SHARE): Turn on again.
+ tranle@intellicorp.com found it needed in VMS 5.3.
+
+ * emacs.c (main): Move VMS declaration of environ outside function.
+
+ * vmsfns.c (Fdefault_subproc_input_handler): InsCstr -> insert.
+
+1990-10-07 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-pmax.h (START_FILES): Handle crt0.o in different dir in Ultrix 4.0.
+
+ * s-sunos4.h (O_NDELAY): Define only if not defined.
+
+1990-10-06 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * sysdep.c (tabs_safe_p, get_screen_size): renamed `sg' to `tty'.
+
+ * sysdep.c (init_baud_rate): rearranged code for calculating
+ baud_rate.
+
+1990-10-05 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * search.c (Freplace_match): used Finsert_buffer_substring instead
+ of place and deleted place.
+
+ * search.c (place): function removed
+
+ * process.c (count_active_processes): Deleted; not used.
+
+ * minibuf.c (read_minibuf): renamed `prefix' argument to `initial'.
+
+1990-10-01 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * lread.c (Fload): renamed `MISSING-OK' to `NOERROR'.
+
+ * keyboard.c (describe_map): renamed `keys' to `string'.
+
+ * keyboard.c `Vauto_save_interval' unrenamed back to
+ `auto-save-interval'.
+
+ * keymap.c (Fdefine_key, Flookup_key): renamed arguments called
+ `keys' to `key'.
+
+1990-10-01 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sysdep.c (sys_open, sys_close, sys_read, sys_write):
+ Handle EAGAIN like EINTR.
+
+1990-09-30 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * insdel.c (gap_left, gap_right): Use bcopy if requested.
+ New config parameters GAP_USE_BCOPY, BCOPY_SAFE_UPWARD,
+ and BCOPY_SAFE_DOWNWARD.
+
+ * eval.c (find_handler_clause): Bind debug-on-error to nil.
+ (Qdebug_on_error): New variable.
+ (syms_of_eval): Initialize that.
+
+ * sysdep.c: Include various headers for ptys, for hpux, aix, and sysv.
+
+ * dispnew.c (preserve_other_columns): Fix args to second bcopy.
+
+1990-09-30 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * keyboard.c: `auto_save_interval' renamed to
+ `Vauto_save_interval', since it *is* a lisp-accessible variable.
+
+ * fileio.c (Fdo_auto_save): call record_auto_save so that
+ read_char knows when we've auto-saved.
+
+ * keyboard.c (record_auto_save): added function to support the new
+ auto-save conditions.
+
+ * keyboard.c (read_char): use num_input_chars and last_auto_save
+ instead of keystrokes to decide when to autosave.
+
+ * keyboard.c (keystrokes): variable deleted.
+
+1990-09-30 Mike Rowan (mtr at spike.ai.mit.edu)
+
+ * keyboard.c and alloc.c: added malloc warning code from
+ 18.56.
+
+ * dispnew.c, xdisp.c: (un)hold_window_change no longer exists;
+ added do_pending_window_change from 18.56.
+
+ * process.[ch]: added the raw_status_low and raw_status_high
+ code from 18.56.
+
+1990-09-29 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * alloca.s: Handle ns32000 like ns16000.
+
+ * m-ns32000.h: New file.
+
+ * lread.c (Fload): Warn if elc file older than source file.
+
+ * ymakefile (LIB_X11_LIB): New parameter,default -lX11.
+ (LIBX): Use that.
+
+ * Makefile (xmakefile): Delete junk.c at the beginning.
+
+ * hftctl.c: Include termios.h before termio.h.
+ Define TCGETS and TCSETS if nec.
+ Give some forward declarations for the static functions.
+ Reformat in usual GNU style.
+
+ * m-orion105.h (LOAD_AVE_TYPE, FSCALE): Changed from double and 1.0.
+
+ * m-delta.h: New file.
+
+1990-09-28 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fns.c (Frequire): Undo certain things on failure, like autoload.
+
+1990-09-28 Jim Blandy (jimb at pogo.ai.mit.edu)
+
+ * fileio.c (Fwrite_region): renamed variable `fd' to `desc' and
+ changed argument to open from `1' to `O_WRONLY'.
+
+ * fileio.c (O_WRONLY): added clause to define this if not already
+ defined.
+
+ * emacs.c (Fdump_emacs): removed a_name variable.
+
+ * emacs.c (Fkill_emacs): removed code which asked about modified
+ buffers and running subprocesses.
+
+ * editfns.c (Fcurrent_time_string): renamed variable `now' to
+ `current_time'.
+
+ * dispnew.c (update_line): renamed variables `m1' and `m2' to
+ `begmatch' and `endmatch'.
+
+ * dispnew.c (update_screen): use preempt_count as a limit instead
+ of a counter; count with i instead.
+
+ * dispnew.c (visible_bell, inverse_video, baud_rate,
+ Vwindow_system): rearranged comments.
+
+1990-09-27 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * emacs.c (main) : Set the DISPLAY environment value when both of
+ MAINTAIN_ENVIRONMENT and HAVE_X_WINDOW are defined.
+
+ * m-convex.h (LIB_STANDARD, LIBS_MACHINE): remove these, they
+ cause an unnecessary C1/C2 dependency.
+
+ * m-convex.h (LD_SWITCH_MACHINE): use -e__start to specify
+ where crt0.c begins.
+
+ * m-convex.h (HAVE_SETSID): define; must call setsid
+ when creating an inferior with a different controlling tty.
+ * process.c (create_process): rearrange so that HAVE_SETSID
+ will be seen when not under USG.
+
+ * m-convex.h (S_IFMT etc): define in case of posix compilation.
+
+ * m-convex.h (FIRST_PTY_LETTER): do it at runtime.
+ * unexconvex.c (first_pty_letter): routine to locate lowest pty.
+
+ * unexconvex.c: Rewrite so it can cope with thread-local sections.
+
+ * sysdep.c (select): Use process_tick and update_tick,
+ not child_changed.
+
+1990-09-23 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * keyboard.c (Fsuspend_emacs): Check screen size after resume.
+
+1990-09-19 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * editfns.c: Doc fix.
+
+1990-09-18 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * window.c (Fsplit_window): Minor cleanup.
+
+1990-09-17 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * emacs.c (main) [USG_SHARED_LIBRARIES]: Call brk.
+
+1990-09-13 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * floatfns.c (float_error_arg): New variable.
+ (IN_FLOAT): New arg; sets float_error_arg. All uses changed.
+ (float_error): Use that value when signaling error.
+
+1990-09-11 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * unexaix.c, m-ibmr2.h, s-aix3-1.h: New files.
+
+ * ymakefile (allocaobj): New variable. Used in otherobjs.
+ Eliminates assignment of mallocobj using itself.
+ (mallocobj): Handle SYSTEM_MALLOC without HAVE_ALLOCA.
+ (xemacs): Use -nl option if HAVE_SHM.
+
+ * sysdep.c: Change IBMRTAIX conditionals to AIX.
+ Move hft.h to the top.
+ [IBMR2AIX]: Use termios.h and change macros accordingly.
+ (child_setup_tty): Change IBMRTAIX to AIX.
+ (setpgrp_of_tty): Handle IBMR2AIX.
+ (init_sys_modes): Handle IBMR2AIX. Output special things for AIX.
+ (reset_sys_modes): Output special things for AIX.
+ (hft_init, hft_reset): Conditionals for IBMR2AIX.
+
+ * process.c: Change IBMRTAIX to AIX controlling time.h.
+ [AIX]: Include sys/pty.h and unistd.h.
+ (wait_reading_process_input): If AIX, handle EBADF differently.
+ (create_process): Handle HAVE_SETSID. Change conditional to AIX.
+
+ * lisp.h (XPNTR): New definition if HAVE_SHM.
+ (NULL): Undef before defining.
+
+ * emacs.c (main): If HAVE_SHM, call map_in_data.
+ Use AIX, not IBMRTAIX, for signal conditional.
+ (Fdump_emacs_data): New function if HAVE_SHM.
+ (Fdump_emacs): Don't define if HAVE_SHM.
+
+ * alloc.c (pure, PUREBEG): If HAVE_SHM, define place for a segment.
+
+1990-09-03 Mike Rowan (mtr at apple-gunkies)
+
+ * sysdep.c: added setup_pty from 18.56
+
+ * process.c: merged in 18.55->6 changes. Same for process.h
+
+ * globally replaced:
+ redisplay_preserving_echo_area -> redisplay_preserve_echo_area
+ SetBfp -> set_buffer_internal
+ buffer_flush_undo -> buffer_disable_undo
+ redo_mode_line -> update_mode_line (window.h)
+
+1990-08-31 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * data.c (Fmake_local_variable): If var is local when set, make it
+ local now in this buffer.
+
+ * data.c (Fstring_to_int): Finish eliminating second arg.
+
+ * data.c (Faset): Require integer as third arg for string.
+
+1990-08-28 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * search.c: Doc fix.
+
+ * screen.h (SCREEN_SCROLL_BOTTOM_VPOS): New macro.
+ * xdisp.c (screen_bottom_vpos): Variable used if just one screen.
+ (redisplay, try_window_id): Set that field in screen.
+ * dispnew.c (scrolling, update_screen): New arg scroll_bottom_vpos.
+
+ * dispnew.c (scroll_screen_lines): Mark newly empty lines as empty.
+ (scrolling): Give up if any line in current_screen not enabled.
+
+1990-08-27 Roland McGrath (roland at churchy.ai.mit.edu)
+
+ * dired.c (Ffile_attributes): Return the device number too (elt 11
+ of the returned list).
+
+1990-08-27 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sysdep.c (wait_for_kbd_input): Frob waiting_for_input here.
+ * keyboard.c (kbd_buffer_read_command_char): Not here.
+
+ * sysdep.c (wait_for_kbd_input): Clear process_ef before snarfing
+ process input.
+
+ * fileio.c (Fdirectory_file_name): On VMS, leave space for log name.
+
+ * sysdep.c (init_sys_modes): Clear process_ef only the first time.
+
+ * vmsfns.c (process_exit): Logic of deletion was wrong.
+ (Fspawn_subprocess): Correctly reuse existing struct process_list.
+
+1990-08-22 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m-plexus.h (LD_SWITCH_MACHINE): New macro.
+
+1990-08-22 Joseph Arceneaux (jla at geech)
+
+ * xterm.c (XTread_socket): Cleaned up #ifdefs prior to event
+ reading loop. Also handle FIOSNBIO.
+
+1990-08-19 Joseph Arceneaux (jla at geech)
+
+ * xterm.c (dumplyphs): Last vestige of MScreenWidth removed.
+ * config.h: MScreenWidth, MScreenHeight definitions removed.
+
+1990-08-18 Joseph Arceneaux (jla at geech)
+
+ * scroll.c (do_scrolling): Pass the correct sizes to bcopy.
+ * dispnew.c (make_screen_glyphs): Likewise.
+
+1990-08-16 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispnew.c (scroll_screen_lines, free_screen_glyphs): Only deal
+ with the X components of screen_glyphs if SCREEN_IS_X.
+ free_screen_glyphs now takes screen argument.
+
+ * window.c (Fnext_window, Fprevious_window): Fixed typo. New
+ behaviour: mini non-nil implies all_screens if global mini screen
+ exists, implies current screen only if not.
+ (Fdisplay_buffer): Simplification of multi-screen code.
+
+1990-08-15 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * buffer.c: Doc fix.
+
+1990-08-15 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispnew.c (update_line): Simplification of pixel size code, only
+ done if screen is X.
+ (update_screen): Only set pixel stuff if screen is X.
+
+1990-08-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-targon31.h (NO_REMAP): Definition removed.
+ (SEGMENT_MASK): New macro.
+
+1990-08-14 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * lread.c (eval-region): Don't set opoint to point, etc.
+ Fnarrow_to_region from BEGV, not b.
+ (eval-buffer): New subr, generalization of eval-current-buffer.
+ (eval-current-buffer): Moved to elisp, in simple.el.
+
+ * xfns.c (x_y_pos): Nuked. Replaced by pixel_to_char_translation
+ and notice_mouse_movment (dispnew.c, xterm.c).
+ (Fx_point_coordinates): Also nuked.
+ mouse_buffer_offset: New lisp variable.
+
+ * xterm.c (notice_mouse_movement): Use it in call to
+ pixel_to_char_translation.
+
+ * screen.h: For non-multiscreen, XSCREEN returns selected_screen,
+ as does WINDOW_SCREEN.
+
+ * xdisp.c (display_mode_line): Set desired_glyphs->bufp to 0 for
+ mode line.
+ All occurences of struct screen * replaced with SCREEN_PTR.
+
+1990-08-13 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xmenu.c (list_of_items, list_of_panes): Fixed wrong params to
+ wrong_type_argument.
+
+1990-08-12 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispnew.c (pixel_to_char_translation): New algorithm for
+ finding y.
+
+ * xfns.c (install_*_scrollbar): No more height, width parameters.
+ Don't block input here.
+ (x_set_*_scrollbar): Block input here.
+
+ * xterm.c (notice_mouse_motion): Check if the mouse is still in
+ the window.
+ (encode_mouse_button): Don't bother about motion types.
+
+1990-08-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-convex.h (C_SWITCH_MACHINE, LIB_STANDARD, LIBS_MACHINE):
+ (LD_SWITCH_MACHINE): Add definitions for Convex V 4.0.
+
+1990-08-11 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_grab_pointer): Call XCreateFontCursor on shape,
+ setting new variable grabbed_cursor. Return Qt if successful,
+ Qnil otherwise.
+ (Fx_ungrab_pointer): free grabbed_cursor if non zero. Return Qnil.
+
+1990-08-10 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (x_figure_window_size): Don't set pixel sizes until
+ height and width are determined.
+
+1990-08-08 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_grab_pointer): New parameter to explicitly ignore
+ keyboard events.
+
+ * xterm.c (notice_mouse_movement): Use pixel_to_char_translation
+ to get char position and buffer offset.
+
+1990-08-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c [NEED_PTEM_H]: New flag macro says include ptem.h.
+
+1990-08-07 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispextern.h: element bufp of screen_glyphs no longer dependent
+ on X windows.
+ * xdisp.c (display_text_line): Likewise.
+
+ * xfns.c (Fx_grab_pointer, Fx_ungrab_pointer): New subrs.
+ (x_figure_window_size): Set pixel_width and pixel_height of
+ screen, using font height and width.
+
+ * xfns.c: Vmouse_grabbed renamed Vmouse_depressed.
+ * xterm.c: Likewise.
+ (construct_mouse_event): Don't check mouse coordinates; this is
+ done by the notice_mouse_motion. Don't grab the mouse here.
+
+ * dispnew.c (update_line): Set the pix_width and pix_height of the
+ line. This fashion of doing so is temporary.
+
+1990-08-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispextern.h: screen_glyphs struct elements bottom_right_x,
+ bottom_right_y changed to pix_width and pix_height.
+ * scroll.c: Likewise.
+ * dispnew.c: Likewise.
+ (update_screen): Set top_left_x, top_left_y for X windows.
+
+ * xterm.h: Macros PIXEL_{WIDTH,HEIGHT} now use the display
+ structure elements.
+
+1990-08-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (x_window_to_scrollbar): Return Lisp symbol in parameter
+ PART_PTR, rather than string.
+ Declare these symbols.
+ New variable Vscreen_part, indicates which part of the screen the
+ mouse is in.
+
+ * xterm.c (notice_mouse_motion): Do XQueryPointer first thing.
+ Set Vmouse_event to Qnil.
+ (construct_mouse_event): Don't check if mouse has moved or not.
+ When returning cons, part is now already lisp symbol.
+ (XTread_socket): Set Vmouse_window = Vscreen_part = Qnil when
+ leaving screen, as well as setting x_mouse_x = x_mouse_y = -1.
+
+ * keyboard.c: Vmouse_window, Vmouse_event declared extern and no
+ longer DEFVARed: they are already delclared in window.c
+
+ * screen.c (window_from_coordinates): Use Fnext_window, even if
+ MULTI_SCREEN, to obtain the next window. This is an test.
+ Also, new paramater part returns text or modeline symbol.
+ (Flocate_window_from_coordinates): Pass &part to
+ window_from_coordinates.
+ (coordinates_in_window): Don't say modeline if window_height is 1,
+ as this is likely to be the minibuffer.
+
+1990-08-04 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (Fcoordinates_in_window_p): Doc fix. Simplified.
+ (window_from_coordinates): New function.
+ (Flocate_window_from_coordinates): Use it.
+
+ * keyboard.c (classify_object): New function for dealing with the
+ input object. New symbol, mouse-motion, called here.
+ Call to mouse-motion-handler now takes no parameters.
+ (read_key_sequence): Use the new function. Don't set keybuf[0]
+ to 0.
+
+ * xterm.c (init_input_symbols): Create all the Lisp symbols
+ returned in the input stream.
+ func_key_syms: New array to hold all symbols for function keys.
+ (x_func_key_to_sym): Use this array.
+ (notice_mouse_movement): New function for dealing with motion
+ events.
+ (XTread_socket): Use it here.
+
+1990-08-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * callproc.c (child_setup): Report error in chdir.
+
+1990-08-01 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * lisp.h: New macro XFLOATINT. extract_float declared.
+ * floatfns.c (Ffloor): Call floor, not ceil.
+ (extract_float): No longer static.
+ * bytecode.c (Fbyte_code): Correctly handle floats in case Beqlsign.
+
+1990-07-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): When downcasing letters,
+ don't change the value returned in keybuf.
+ (This is an experiment; it might be unpleasant in
+ things such as C-h c, but it is an improvement
+ for M-x global-set-key.)
+
+1990-07-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * eval.c: Doc fix.
+
+1990-07-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s-iris*.h (SYSTEM_TYPE): Change silicon-graphics-unix to irix.
+
+1990-07-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * indent.c (Fmove_to_column): End-test was off by 1.
+
+ * abbrev.c (Fexpand_abbrev): Return nil if alloca arg would be neg.
+
+1990-07-26 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xdisp.c (display_text_line): String to rope copy for inserting
+ arrow text.
+
+1990-07-25 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xdisp.c (display_mode_line): Check that the name has actually
+ changed before calling x_set_name.
+
+ * ralloc.c (check_memory_limits): New function.
+ Also check if new memory will be larger than elisp pointer.
+ (r_alloc_sbrk): Call this function.
+ (relocate_blocs_upward, relocate_blocs_downward): Eliminated.
+ (r_alloc_sbrk): Use relocate_some_blocs instead of the eliminated
+ functions.
+
+ * vm-limit.c (morecore_with_warning): Check if new memory larger
+ than elisp pointer size.
+
+1990-07-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c (save_getcjmp, restore_getcjmp): New functions.
+ (read_char): Use them around Fdo_auto_save.
+ * process.c (read_process_output, exec_sentinel): Use them.
+ * fileio.c (Fdo_auto_save): Run auto-save-hook.
+
+1990-07-24 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispnew.c (safe_bcopy): No longer static.
+
+ * ralloc.c (relocate_blocs_upward, relocate_blocs_downward): Use
+ safe_bcopy.
+
+ * mem_limits.c: typedef SIZE.
+
+1990-07-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * fileio.c (Finsert_file_contents): Initialize how_much when exiting
+ main loop.
+
+ * m/m-mips.h: Added stuff from the 18.56 version.
+
+1990-07-18 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * indent.c (Fmove_to_column): Set end to ZV.
+
+1990-07-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c (init_editfns): Let envvar NAME override full name.
+
+ * buffer.c (list_buffers_1): Avoid error with list-buffers-directory.
+
+1990-07-17 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * buffer.c (list_buffers_1): Don't check list-buffers-directory.
+
+1990-07-16 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xdisp.c (display_text_line): Don't print ellipsis if they're
+ off the left edge.
+
+1990-07-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s-386-ix.h: Define BROKEN_TIOCGETC.
+
+1990-07-09 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-pmax.h: Undef LD_SWITCH_MACHINE, change DATA_START
+ and DATA_SEG_BITS.
+
+1990-07-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s-iris3-6.h (HAVE_GETWD): Define this.
+ (KERNEL_FILE): Change to /unix.
+ (sigsetmask, sigblock, NEED_ERRNO, C_SWITCH_MACHINE): Turn off.
+ (SIGIO): Don't undefine it.
+ (LIBS_MACHINE): Remove -lbsd.
+
+ * minibuf.c (Fall_completions, do_completion): Treat nil as alist.
+ (Ftry_completion): Likewise.
+
+1990-07-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c: Undefine TIOCGETC if BROKEN_TIOCGETC defined.
+ * s-usg5-3.h, s-xenix.h: Define BROKEN_TIOCGETC.
+
+1990-06-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (Fopen_network_connection): Minor cleanup.
+
+1990-06-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-sun3.h: Add comments for dealing with 68881.
+
+1990-06-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-ibmps2-aix.h [__GNUC__]: Define LIB_STANDARD and C_DEBUG_SWITCH,
+ and don't define LIBS_MACHINE.
+ (HAVE_WAIT_HEADER): Define this.
+ Also reordered definitions so recently added ones are together.
+
+1990-06-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * insdel.c (insert): Error if buffer would get too long.
+ * fileio.c (Finsert_file_contents): Likewise.
+
+1990-06-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * syntax.c (scan_sexps_forward): Allow Squote inside symbols.
+
+1990-06-16 Joseph Arceneaux (jla at geech)
+
+ * window.c (Fscroll_other_window): Don't unbind_to. Keep track of
+ current_buffer and point explicitly.
+
+1990-06-15 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * term.c: (cursor_to): Only add chars_wasted if not calling hook.
+ (clear_end_of_line_raw): Likewise.
+ (clear_end_of_line): Check that screen is termcap before using
+ chars_wasted.
+ (ins_del_lines): Eliminated local copybuf[].
+ (calculate_ins_del_char_costs): Now has screen parameter.
+ DCICcost: Change to char_ins_del_costs and defined with
+ SCREEN_WIDTH (screen).
+ DC_ICcost: Changed to char_ins_del_vector.
+ * term.h: DCICcost no longer defined here. DC_ICcost no longer
+ declared here.
+ * dispnew.c: char_ins_del_cost defined here. char_ins_del_vector
+ declared extern here.
+
+1990-06-14 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * Globally replaced screen_width with macro
+ SCREEN_WIDTH (selected_screen).
+ * dispnew.c (init_display): Don't set SCREEN_WIDTH, etc. from
+ screen_width.
+ (change_window_size): No longer check output_type and set
+ ScreenRows.
+
+1990-06-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * indent.c (Findent_to): Don't fail to return value.
+ (Fmove_to_column, Fcurrent_column): Doc fixes.
+
+1990-06-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (echo_prompt): Now uses glyphs.
+ echobuf, echobuf_ptr: These variables now glyphs.
+
+1990-06-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * fileio.c (Fdo_auto_save): Use glyphs_to_str_copy to set
+ omessage.
+ * alloc.c (Fgarbage_collect): Ditto.
+
+ * xdisp.c (message): message_buf set here, realloced if smaller
+ than screen width.
+ message_buf now type GLYF *. New variable message_buf_size holds
+ its size.
+ Use temp_buf for call to doprnt, then use str_to_glyph_cpy to set
+ echo_area_glyphs.
+
+ * print.c (printchar, strout): Use message_buf_size. Convert to
+ glyfs before assigning chars.
+ (str_to_glyph_cpy, str_to_glyph_ncpy,
+ glyph_to_str_cpy, glyph_to_str_ncpy): New functions.
+
+1990-06-03 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Clear this_command_key_count here.
+ (Fread_key_sequence): And here.
+ (read_key_sequence): Not here.
+
+ * dispnew.c (update_screen):
+ Add missing else in handling cursor_in_echo_area.
+ * xdisp.c (redisplay_window): Eliminate lpoint. Alter opoint
+ if point should be changed permanently in the selected window.
+
+ * window.c (unshow_buffer): Don't set pt in selected window's buffer.
+
+ * xdisp.c (decode_mode_spec): Don't truncate buffer or file name.
+
+ * editfns.c (Finsert_buffer_substring): Don't fail to set beg, end.
+
+ * keyboard.c (command_loop_level): New variable.
+ Used in place of RecurseDepth, but different meaning.
+ (recursive_edit_1): New function.
+ (Frecursive_edit): Call it.
+ * minibuf.c (read_minibuf): Call recursive_edit_1.
+ * xdisp.c (RecurseDepth): Variable deleted.
+ display_minibuffer_message renamed echo_area_display.
+
+ * print.c: Include dispextern.h.
+ (printchar, strout): Use message_buf.
+
+ * scroll.c (CalcIDCosts): Dynamically allocate ILcost, etc.
+ (ILcost, DLcost, ILncost, DLncost): Now pointers.
+ (do_scrolling): Use alloca for queue.
+
+ * term.c (term_init): selected_screen as arg to calculate_costs.
+ (calculate_costs):
+ Dynamically allocate chars_wasted, copybuf, DC_ICcost.
+ Set RPov based on actual width.
+ (chars_wasted, copybuf, DC_ICcost): Now pointers.
+
+ * xterm.c (x_term_init): Don't set dont_calculate_costs anymore.
+
+1990-06-02 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * term.c (calculate_ins_del_char_costs, string_cost_one_line):
+ Made static.
+
+ * dispnew.c: Declare scrolling_1;
+
+ * scroll.c (CalcIDCosts, CalcIDCosts1, CalcLID): Renamed
+ calculate_ins_del_char_costs, ins_del_costs, and line_ins_del.
+ CalcIDCosts1 and CalcLID also renamed.
+ (calculate_scrolling): Now void.
+
+ * Global renaming: bf_modified -> MODIFF. CharAt -> CHAR_AT_POSITION.
+ BufferSafe{Floor,Ceiling} -> BUFFER_{FLOOR,CEILING}_OF.
+ SetPoint -> SET_PT.
+
+ * xterm.c (x_term_init): Don't CalcIDCosts here anymore.
+
+1990-06-01 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * print.c: Include dispextern.h.
+ (printchar, strout): Use message_buf.
+
+ * sysdep.c (get_screen_size): Don't use MscreenWidth, MscreenLenght.
+ * term.c: Likewise.
+
+ * scroll.c (CalcIDCosts, CalcIDCosts1, CalcLID): These now take a
+ screen argument.
+ (CalcIDCosts): Dynamically allocate ILcost, etc.
+ (ILcost, DLcost, ILncost, DLncost): Now pointers.
+ (do_scrolling): Use alloca for queue.
+
+ * dispnew.c (remake_screen_structures): Allocate message_buf.
+ Don't use MscreenWidth, MscreenLenght.
+
+ * xdisp.c: bf_cur replaced with current_buffer.
+ Calls to SetBfx deleted.
+ message_buf is now char *.
+ (message): Use SCREEN_WIDTH macro as limit for doprnt.
+
+ * indent.c (current_column): Detect special case when point == BEGV.
+
+ * buffer.h (struct buffer_text): Component modified renamed to
+ modiff. All refs changed to macros below.
+ (MODIFF, BUF_MODIFF): New macros.
+ Macro SetBfx removed.
+ Macro SetPoint renamed SET_PT.
+
+ * fileio.c (Fexpand_file_name): Simplified.
+
+1990-06-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dired.c: Doc fix.
+
+1990-05-31 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * search.c (Fsearch_forward): Docstring fix.
+
+1990-05-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dired.c: Comment added.
+
+1990-05-31 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * process.c (Fprocess_connection): Return the type of a process
+ object.
+ (syms_of_process): Initialize pty_process and stream_process.
+ Declare Fprocess_type.
+ * process.h New element type to struct Lisp_Process.
+
+ * syntax.c (scan_sexps_forward): Initialize curlevel->last to -1.
+
+1990-05-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * fileio.c (Finsert_file_contents): Use new variable how_much to
+ hold read result.
+
+1990-05-24 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * lread.c (read_char_exclusive): New subr.
+
+1990-05-24 David Lawrence (tale at pogo.ai.mit.edu)
+
+ * fileio.c (file_executable_p): New function.
+
+1990-05-23 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * insdel.c (make_gap): Only set BEG_ADDR if BUFFER_REALLOC was
+ successful.
+
+ * editfns.c (syms_of_editfns): DEFVAR the new variables.
+
+ * eval.c (Finteractive_p): Don't skip the first frame if the
+ function was compiled.
+
+ * print.c (print): Use ... only for conses, and instead of normal
+ print.
+
+1990-05-22 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * Renamed meta_flag meta_key.
+
+ * termopts.h: Comment changes.
+
+1990-05-20 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * buffer.h: upcase_table and downcase_table are now Lisp_Objects.
+ * alloc.c (mark_object, gc_sweep): Related changes.
+ * casetab.c: Ditto.
+
+1990-05-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * minibuf.c (Fall_completions): Protect STRING from gc.
+ Copy ALIST to TAIL to protect it.
+
+ * paths.h-dist: Doc fix.
+
+1990-05-17 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * search.c (Flooking_at, search_buffer): Use new accessors.
+ * indent.c (Fcurrent_column): Likewise.
+ * minibuf.c (read_minibuf): Likewise.
+ * regex.c (re_match_2): Use PTR_CHAR_POS.
+ * editfns.c (Fbuffer_size, Fnarrow_to_region, Fbuffer_substring):
+ (Fbuffer_string, Finsert_buffer_substring): Likewise.
+ (save_restriction_restore): Likewise.
+ * dispnew.c (direct_output_for_insert): Likewise.
+ * fileio.c (Fwrite_region, Finsert_file_contents): Likewise.
+ (Fdo_auto_save): Likewise.
+ * insdel.c (move_gap, gap_left, gap_right, make_gap): Likewise.
+ (InsCStr, del_range, modify_region): Likewise.
+ * process.c (Fprocess_send_region): Likewise.
+ * xdisp.c (try_window, try_window_id, display_text_line): Likewise.
+ (redisplay): Likewise.
+ * buffer.c (list_buffers_1): Likewise.
+ * marker.c (marker_position, Fset_marker, set_marker_restricted):
+ (Fmarker_position): Likewise.
+ * window.c (unshow_buffer, Fset_window_configuration): Likewise.
+ (Fset_window_buffer): Likewise.
+
+ * editfns.c (save_restriction_restore): Use a macro to alter point.
+
+ * lread.c (readchar): Use new accessors, and avoid knowing about
+ the text field of a buffer.
+ * window.c (Fpos_visible_in_window_p): Likewise.
+
+ * buffer.h (struct buffer): Make the syntax table a Lisp object.
+ * alloc.c (mark_buffer): No need to treat it specially.
+ * syntax.c (Fsyntax_table, Fset_syntax_table, Fdescribe_syntax):
+ (Fmodify_syntax_entry): Adjust for this change.
+ * buffer.c (reset_buffer_local_variables): Need not be special.
+ (init_buffer_once): Make this slot a defaulted local variable.
+ * syntax.h: Adjust macros for this change.
+ (Vstandard_syntax_table): Define as macro, in buffer_defaults.
+ * syntax.c (syms_of_syntax): Don't staticpro it here.
+ (Fset_syntax_table): Set the flag in local_var_flags.
+
+ * buffer.h (struct text): Represent the buffer dimensions
+ with new slots, memory, begv, pt, gpt, zv, z and gap_size.
+ (BEGV, etc.): Use new slots.
+ (CharAt): Likewise.
+ (BufferSafeCeiling, BufferSafeFloor): Use new slots; fix old bugs.
+ (bf_p1, bf_s1, etc.): Old macros deleted.
+
+ * buffer.c (Fget_buffer_create): Set up memory and new slots.
+ (Fkill_buffer): Likewise.
+
+ * insdel.c (move_gap, gap_left, gap_right, make_gap): Update new slots.
+ (del_range, InsCStr): Likewise.
+ * fileio.c (Finsert_file_contents): Likewise.
+ * window.c (temp_output_buffer_show): Likewise.
+ * xdisp.c (decode_mode_spec, try_window_id): Likewise.
+
+ * insdel.c (make_gap): Complete rewrite. Arg is amount of new gap
+ to create. All calls changed.
+ (gap_left): New argument NEWGAP.
+
+ * buffer.c (Fset_buffer): Check for deleted buffer.
+ (SetBfp): Don't check.
+ (SetBfp, Frename_buffer): Local cleanups.
+ * print.c (PRINTPREPARE): Use Fset_buffer.
+
+ * buffer.c (SetBfp): Don't bother with selected window or its point.
+ * window.c (Fselect_window): Always set pointm of old window.
+
+ * editfns.c: Eliminate all use of DEFSIMPLE and DEFPRED.
+ * indent.c, keyboard.c: Ditto.
+
+ * search.c (skip_chars): Eliminate PointLeft and PointRight.
+ * cmds.c (SelfInsert): Likewise.
+
+1990-05-16 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xdisp.c (try_window): No return value.
+ Fix calls to try_window.
+ * Global variable RedoModes is now redraw_mode_line.
+
+1990-05-13 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keymap.c (Fdefine_key, Flookup_key): Local cleanups.
+
+ * sysdep.c (sys_suspend): Use save_signal_handlers and
+ restore_signal_handlers to save and restore signal state.
+
+ * indent.c (Findent_to): Merge guts of indentation into here.
+ (position_indentation): Scan with a pointer, for speed.
+
+ * casefiddle.c (operate_on_word): Just return the other end.
+ (Fupcase_word, Fdowncase_word, Fcapitalize_word):
+ Pass that value to casify_region.
+
+ * editfns.c (init_editfns): Store system and user names as
+ strings to avoid arbitrary limits.
+
+ * keymap.c (describe_vector, describe_alist): Make elt_prefix
+ and elt_describer responsible for indentation and newlines.
+ Local cleanups.
+ (describe_command): Do indentation and newline.
+ (describe_map): Add space to end of prefix.
+ * syntax.c (describe_syntax): Do indentation and newline.
+
+1990-05-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (create_process) [not USG]: Put subproc in pgrp 0.
+
+1990-05-10 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * dispextern.h: new struct screen_glyfs replaces struct
+ display_line.
+ * screen.c: new screen elements current_glyfs, desired_glyfs, and
+ temp_glyfs.
+ * dispnew.c: (make_screen_glyfs, free_screen_glyfs,
+ remake_screen_glyfs): New functions.
+ (make_display_lines, new_display_line, return_display_line):
+ Functions deleted.
+ (change_screen_size, init_display): Use the new functions.
+ (cancel_line, clear_screen_records, get_display_line):
+ Rewritten for new data structures. get_display_line no longer
+ returns anything.
+ (preserve_other_columns, preserve_my_columns): Likewise.
+ (cancel_my_columns, direct_output*): Likewise.
+ (update_screen, update_line, quit_error_check, scrolling): Likewise.
+ (scroll_screen_lines): Likewise.
+ (rotate_vector, safe_bcopy): New subroutines.
+ (line_hash_code, line_draw_cost): Cleaned up.
+ Args are different, and hash computation too.
+ (update_screen): Rearrange buffer-emptying code.
+ * xdisp.c: (display_minibuf_message, redisplay): Rewritten for new
+ structures.
+ (display_text_line, display_mode_line): Likewise.
+ (display_mode_element, display_string): Likewise.
+ (decode_mode_spec): Local cleanups.
+ * scroll.c (do_scrolling): Rewritten for new data structures.
+ * xterm.c (XTflash): Use this new structure.
+
+ * editfns.c (in_accessible_range): New function.
+ (Fgoto_char, save_restriction_restore): Use it.
+ (save_excursion_save, Fcurrent_time_string): Local cleanups.
+
+ * process.c (Fprocess_kill_without_query): New arg; new return value.
+ (count_active_processes): Function deleted.
+
+ * fileio.c (Finsert_file, Fwrite_region): Local cleanups.
+
+ * fns.c (Fsubstring): Local cleanup.
+
+ * keyboard.c (echo_prompt, echo_char, echo_dash, echo): New functions.
+ (cancel_echoing): Likewise.
+ (immediate_echo, echoptr): New variables.
+ (command_loop_1, request_echo, get_char, read_key_sequence):
+ (set_waiting_for_input, interrupt_signal): Related changes.
+ (get_char): No more declaration of request_echo. Local cleanups.
+
+ (this_command_key...): New variables.
+ (Fexecute_extended_command, Fthis_command_keys): Related changes.
+ (init_keyboard, get_char): Likewise.
+
+ * macros.c (Fstart_kbd_macro): Local cleanup.
+
+ * minibuf.c (read_minibuf): No more delcaration of
+ Frestore_screen_configuration.
+
+ * search.c (Fregexp_quote): Simplified.
+
+1990-05-08 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * process.c (Fopen_network_stream): Also handle numeric inet
+ addresses.
+
+1990-05-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * alloca.c: #ifdef __STDC__ rather than X3J11/
+
+1990-05-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (Fmake_symbolic_link): Delete old file if permitted.
+
+1990-05-02 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * data.c (Fstring_to_int): Delete disabled feature
+ of accepting `yes' and `no'.
+
+ * xdisp.c (redisplay, redisplay_preserving_echo_area):
+ Two functions replace DoDsp. All callers changed.
+ (redisplay, redisplay_window): Eliminate `inhibit_hairy_id'.
+ (redisplay_window): No return value. Local cleanups.
+
+ * alloc.c (Fmake_marker): Delete `modified' field.
+ * insdel.c (adjust_markers): Likewise.
+
+ * abbrev.c (Fdefine_mode_abbrev): Clean up error message.
+
+1990-05-01 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_draw_rectangle, Fx_erase_rectangle): Simplified.
+
+ * xterm.c (x_display_cursor): Don't check s->phys_x when drawing
+ cursor.
+
+ * undo.c: New version.
+ * undo.h: No longer exists.
+ * alloc.c (Fgarbage_collect): Call truncate_undo_list.
+ (syms_of_alloc): Define vars undo-threshold and undo-high-threshold.
+ * buffer.c (Fget_buffer_create): Set undo_list to t or nil.
+ (Fbuffer_disable_undo, Fbuffer_enable_undo): Likewise.
+ (Fkill_buffer): Likewise.
+ (init_buffer_once): Set up local variable buffer-undo-list.
+ (syms_of_buffer): Likewise.
+ * buffer.h: New element undo_list in struct buffer.
+ * fileio.c (Finsert_file_contents): Store nil in undo_list.
+
+ * buffer.c: Variable bf_text deleted.
+ (Fkill_buffer, SetBfp): Delete code that worked with it.
+ (SetBfx): Now a macro in buffer.h
+ * editfns.c (Fwiden, Fnarrow_to_region): Related changes.
+ (save_restriction_save, save_restriction_restore): Likewise.
+ (Finsert_buffer_substring): Likewise.
+ * fileio.c (Fdo_auto_save): Likewise.
+ * insdel.c (make_gap): Likewise.
+ * lread.c (readchar): Likewise.
+ * marker.c (Fmarker_position, marker_position): Likewise.
+ (Fset_marker): Likewise.
+ * xdisp.c (DoDsp): Likewise.
+
+1990-04-30 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * buffer.h: New macro R_ALLOC_SET_BUFFER for declaring all the
+ text pointers of a buffer to the relocating allocator.
+ * buffer.c (Fbury_buffer, SetBfx, SetBfp): Use the macro.
+ * editfns.c (Finsert_buffer_substring): ditto.
+ * fileio.c (Fdo_auto_save): ditto.
+ * insdel.c (make_gap): ditto.
+ * xfns.c (adjust_scrollbars): Don't set bf_cur->text.
+
+1990-04-26 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * minibuf.c: Declare active_screen struct screen *, not
+ Lisp_Screen *.
+
+1990-04-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (XTupdate_end): Only x_display_cursor if s is x_input_screen.
+
+1990-04-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fns.c (Fy_or_n_p): If a C-g comes in and does not quit, quit by hand.
+
+ * buffer.c (Frename_buffer): Allow renaming to same name it has.
+
+1990-04-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_open_connection): Attach xrdb to x_current_display.
+
+1990-04-17 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (dumpborder): Now only used for X10.
+ (highlight, unhighlight): New functions for X11.
+
+1990-04-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cm.c (Wcm_init): Return -2 if screen size not specified.
+ * term.c (term_init): Special error message for that case.
+
+1990-04-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s-sunos4.h, s-sunos4shr.h (SYSTEM_MALLOC): Define it.
+
+1990-04-15 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_get_resource): Concatenate invocation_name before
+ the resource tag.
+ (Fx_create_screen): Use the latest resource id's.
+
+1990-04-13 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_get_resource): New subr.
+ (Fx_open_connection): Call x_load_resources. New parameter
+ xrm_string.
+ * xrdb.c: New file for doing resource manager stuff.
+
+ * xscrollbar.h: New file for scrollbar bitmaps.
+
+ * xselect.h: New file for the X selection stuff.
+
+ * ymakefile: Take note of these new files.
+
+1990-04-10 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (x_term_init): Use MAXPATHLEN.
+
+1990-04-09 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * buffer.c (list_buffers_1): Get filename from list-buffers-directory.
+
+1990-04-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (coordinates_in_window): Return -1 if in modeline of
+ window.
+ (Fcoordinates_in_window_p): Return Qt if in modeline of window.
+ (Flocate_window_from_coordinates): Use next_screen_window if
+ MULTI_WINDOW is defined.
+
+1990-04-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (construct_mouse_event): Deal with the motion events
+ first. Only grab the mouse when in the scrollbar.
+
+1990-04-04 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (coordinates_in_window): Include mode line as part of
+ window.
+
+ * xterm.c (XTread_socket): Initialize nbytes to 0.
+ (x_display_cursor): Don't draw if screen not selected.
+
+ * xdisp.c (DoDsp): Additional checks for screen being visible.
+
+1990-04-03 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * editfns.c (Fmessage): If there is a global minbuffer screen,
+ raise it before displaying the message.
+
+ * window.c (window_loop): Parameter SCREENS now affects which
+ screen is scanned for windows. All subrs calling window_loop must
+ pass a Lisp_Object here now.
+
+1990-04-01 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * window.c (window_loop): Additional parameter mini to control
+ minibuffer selection or not.
+ (Fget_lru_window):
+ (Fget_largest_window):
+ (Fget_buffer_window):
+ (Fdelete_other_windows):
+ (Fdelete_windows_on):
+ (Freplace_buffer_in_windows): Use that parameter.
+
+1990-03-29 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (Fselect_screen): Raise the selected screen.
+
+ * window.c (Fget_buffer_window):
+ (Fget_largest_window):
+ (Fget_lru_window): New parameter all_screens.
+ (Fdisplay_buffer): Use the new param in Fget_lru_window,
+ Fget_buffer_window, and Fget_largest_window.
+ (Fscroll_other_window): Use new param in Fget_buffer_window.
+ * buffer.c (Fother_buffer): ditto.
+
+ * xterm.c (x_display_cursor): Always draw the cursor if ON is
+ true. Don't check if the screen S is selected or equal to
+ mouse-screen.
+
+ * xfns.c (Fx_track_pointer): Don't turn off cursor, just call
+ x_display_cursor.
+
+1990-03-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * data.c (Fmake_local_variable): Give the variable value nil if
+ unbound.
+
+ * window.c (Fnext_window, Fprevious_window): For MULTI_SCREEN,
+ check if Vglobal_minibuffer_screen is non-nil and maybe call
+ next_screen.
+
+ * screen.c (Fscreen_selected_window):
+ (Fscreen_root_window): If screen is nil, use selected-screen.
+
+1990-03-27 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (XTread_socket): SET_SCREEN_GARBAGED which returning
+ symbol which causes DoDsp to be invoked.
+ * keyboard.c (read_key_sequence): Don't SET_SCREEN_GARBAGED here.
+
+ * screen.h: New macro SET_SCREEN_GARBAGED.
+
+ * xfns.c:
+ * window.c:
+ * sysdep.c:
+ * keyboard.c:
+ * dispnew.c: Use the new macro.
+
+1990-03-25 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_own_selection): Only take one argument, string.
+
+1990-03-24 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (select_visual): Catch bullshit machines whose hardware
+ doesn't support the X server pixel depth by looking at colormap_size.
+ (x_decode_color): Use x_screen_planes to check for color.
+
+1990-03-23 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (x_display_cursor): Try using vertical bar cursor.
+ (clear_cursor): Call x_display_cursor for X11.
+
+ * xfns.c: Zotzed Vx_pointer_mask.
+ (Fx_track_pointer): Call x_display_cursor if we just
+ wasted the cursor. Break out of loop if no display line.
+ Use mode line cursor if we're there.
+ (x_y_pos): New function.
+ (x_set_font): Dont' set x_font_{width,height}, they are gone.
+
+1990-03-22 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_track_pointer): Check that s == selected_screen each
+ time through loop. If event is nil, read mouse position.
+
+ * keyboard.c (get_char): DoDsp only if selected_screen visible.
+
+ * xterm.c (XTread_socket): Mark screen as visible only on expose
+ event.
+
+ * emacs.c (main): Check here for "-d" option and set display_arg.
+ * dispnew.c (init_display): Set Vwindow_system, etc. if display_arg.
+
+1990-03-21 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Don't DoDsp if the screen was
+ just unmapped.
+ (command_loop_1): Call the mouse motion handler before calling
+ read_key_sequence.
+ (interrupt_signal): Fixed typo checking screen type.
+
+ * xfns.c (Fx_track_mouse): Don't crash because of null display
+ line. Don't set obj til call to get_char.
+
+ * xterm.c (x_term_init): Disable SIGWINCH here.
+
+ * fns.c (Fmember): New subr.
+
+ * dispnew.c (init_display): Don't check env variable DISPLAY to
+ set Vwindow_system. Now done in startup.el.
+
+ * emacs.c: Removed variables xargc, xargv.
+
+1990-03-20 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_track_pointer): Go faster.
+
+ * screen.h: New macro SCREENP.
+
+ * window.c: (Fminibuffer_window): Rewritten.
+
+1990-03-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c (perror): Control with HAVE_PERROR as well as HPUX.
+ * s-hpux.h (HAVE_PERROR): Define it.
+
+1990-03-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Restructured handling of X event
+ things.
+ (read_key_sequence): Handle new `unmapped-screen' symbol with new
+ Vunmap_screen_hook.
+
+ * xterm.c (XTread_socket): Return unmapped-screen symbol if the
+ window for UnmapNotify events.
+
+ * lread.c (Feval_region): GCPRO opoint.
+
+1990-03-16 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Call mouse-motion handler with
+ argument. Also, don't call undo-boundary.
+
+ * process.c (create_process): Set the process group for BSD at
+ the same time as for USG.
+
+1990-03-14 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (x_new_selected_screen): Set x_input_screen here.
+
+1990-03-11 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c: Vx_mouse_grabbed now Vmouse_grabbed.
+ (XTread_socket): Generate exited-window symbols on LeaveNotify
+ even if screen is focused.
+
+ * xfns.c: Vx_mouse_grabbed now Vmouse_grabbed.
+ (outline_region): Now static.
+ (Fx_track_pointer): Check x_mouse_screen == s in loop.
+
+1990-03-10 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (encode_mouse_button): Correctly get the button from
+ Motion events.
+
+ * xfns.c (x11_encode_mouse_button): Nuked.
+ (encode_mouse_button, Fx_mouse_events, Fx_get_mouse_event): #if 0'd.
+
+ * keyboard.c (get_char): Re-set obj if we've keyboard-translated
+ c.
+
+1990-03-08 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c x_focus_screen no longer static.
+ (x_error_handler): Use XDefaultIOError.
+
+ * screen.c (Ffocus_screen): New subr, removed Fscreen_has_focus.
+ (Fselect_screen): New, optional parameter no_enter.
+ (Frestore_screen_configuration):
+ (Fdelete_screen): Pass second parm Qnil to Fselect_screen.
+
+ * window.c (Fdisplay_buffer, Fset_window_configuration): Pass
+ second parm Qnil to Fselect_screen.
+
+1990-03-07 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (Fscreen_has_focus): New subr.
+ (Fselect_screen): Use x_focus_on_screen to physically select the
+ screen.
+
+1990-03-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (x_set_mouse_position): Moved to xterm.c.
+
+ * fileio.c (Fremove_directory): New subr.
+
+ * screen.c (Frelease_focused_screen): Just call x_unfocus_screen.
+
+ * xterm.c (XTread_socket): On FocusOut, if s isn't mouse screen,
+ return exited-window. On LeaveNotify, simplify if expression for
+ dumpborder. Reworked FocusIn/FocusOut events.
+ (x_unfocus_screen): Check that screen is x_focus_screen.
+ (x_set_mouse_position): Moved from xfns.c. Use new macro
+ XWarpPointer.
+ * xterm.h: New macro XWarpPointer.
+
+ * buffer.c: Replaced Fbuffer_flush_undo with
+ Fbuffer_disable_undo.
+ * process.c: Ditto.
+
+1990-03-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (XTupdate_end): Use parameter s rather than
+ updating_screen.
+ (XTread_socket): On EnterNotify, don't check s != focus_screen
+ before selecting. On Focus In/Out don't set/reset mouse_screen.
+
+1990-03-04 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * eval.c If using X windows, include xterm.h.
+ (error): TOTALLY_UNBLOCK_INPUT if using X.
+
+ * xterm.h: BLOCK_INPUT, UNBLOCK_INPUT: No signal stuff, just inc
+ and decrement x_input_blocked.
+
+ * xfns.c (adjust_scrollbars): Don't BLOCK_INPUT.
+ (x_set_font): Check result of x_new_font. Call error if nonzero.
+ (x_set_icon_type): Check result of x_*_icon, maybe call error.
+
+ * screen.c (Fdeiconify_screen): Use x_make_screen_visible rather
+ than x_deiconify_screen. Return screen.
+ (Fmake_screen_visible): Don't raise it here. Return screen.
+
+ * xterm.c (XTwrite_glyfs): Don't show cursor if screen is
+ global-minibuffer-screen.
+ (x_new_selected_screen): Do dumpborder and check auto-raise here,
+ rather than XEvent switch.
+ (x_deiconify_screen): No longer exists.
+ (x_do_pending_expose, x_clear_cursor):
+ (x_invert_screen, scraplines, stufflines, x_bitmap_icon):
+ (x_text_icon, x_new_font): Don't BLOCK_INPUT.
+ (XTins_del_lines): BLOCK_INPUT here.
+ (XTupdate_end): Don't turn on cursor if minibuffer-screen.
+ (XTread_socket): On MotionNotify, just that screen is selected before
+ processing.
+ (XTtopos): If updating_screen, just set x and y, don't flush.
+ (x_bitmap_icon):
+ (x_text_icon):
+ (x_new_font): Return 1 if failed, don't call error.
+ (x_make_screen_visible): Raise the screen as well.
+
+1990-03-02 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (Frelease_focused_screen): Just check that screen is
+ selected.
+
+1990-02-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.c (Fselect_screen_focused, Frelease_focused_screen): New
+ subrs.
+ * xterm.c (x_focus_on_screen, x_unfocus_screen): New procedures
+ to implement focusing.
+
+1990-02-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * casefiddle.c: Doc fix.
+
+1990-02-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.h: Redefined BLOCK_INPUT and UNBLOCK_INPUT to use sigblock
+ and sigsetmask if available.
+ * xterm.c: Declare BLOCK_INPUT_mask if have SIGIO and FIONREAD.
+
+1990-02-27 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * minibuf.c (Fread_from_minibuffer): Initialize pos to 0.
+
+1990-02-25 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (read_key_sequence): Handle mapped-screen event
+ symbol by calling new hook Vmap_screen_hook.
+
+ * xterm.c (x_make_screen_invisible): Use the new Xlib function
+ XWidthdrawWindow.
+ (x_iconify_screen): Use the new Xlib function XIconifyWindow.
+ (XTread_socket): Return mapped-screen symbol to signal
+ mapped-screen events.
+
+1990-02-23 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (command_loop_1): Check the character for width 1
+ before doing direct_output_forward, as well as the cursor position
+ on the screen.
+
+ * xdisp.c (DoDsp): Use redisplay_windows rather than
+ redisplay_all_windows, which was removed.
+
+1990-02-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * unexencap.c: New file, waiting for papers.
+
+1990-02-22 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c: Removed much debugging stuff.
+ * xterm.c: Removed much debugging stuff.
+ (x_error_handler): For X11, if caught BadAlloc error while
+ converting selection (note new variable x_converting_selection),
+ just set new variable x_selection_alloc_error.
+
+ * xfns.c: Massive changes for crufty selection processing details.
+ New X atoms: Xatom_clipboard, Xatom_delete, Xatom_insert_selection,
+ Xatom_insert_property, Xatom_pair.
+
+1990-02-21 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_store_char): Check NULL objects.
+
+ * xterm.c (XTread_socket): Correctly advance bufp for all KeyPress
+ events.
+
+1990-02-20 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_get_char): Use KBD_BUFFER_SIZE rather
+ than sizeof kbd_buffer.
+ (read_key_sequence): Upon redraw-display symbol, set
+ screen_garbaged.
+
+ * xterm.c (XTread_socket): On EnterNotify events, make sure to
+ return mouse event for both scrollbars and windows.
+
+1990-02-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * casefiddle.c (casify_region): Move the new statement.
+
+1990-02-19 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * casefiddle.c (casify_region): Return if beginning and end same.
+
+1990-02-18 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_store_char): Use KBD_BUFFER_SIZE rather
+ than sizeof kbd_buffer.
+
+ * fns.c (Fy_or_n_p): Only accept ints from get_char.
+
+1990-02-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * minibuf.c (Fread_from_minibuffer): New arg POSITION.
+
+ * unexsunos4.c: New file. Waiting for papers.
+ * s-sunos4shr.h: New file.
+
+ * emacs.c (main) [RUN_TIME_REMAP]: Call run_time_remap.
+
+ * ymakefile (LD): Let config file override with LD_CMD.
+
+1990-02-14 Joseph Arceneaux (jla at albert.ai.mit.edu)
+
+ * keyboard.c (read_avail_input): pass read_socket_hook
+ KBD_BUFFER_SIZE rather than doing sizeof (buf).
+
+ * xterm.c (XTread_socket): Set event.type = MotionNotify when
+ entering screen or scrollbar to fake motion event.
+
+1990-02-13 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * window.c (next_screen, prev_screen): moved to screen.c
+ (Fnext_window): If mini non-nil, count the separate minibuffer
+ screen.
+ * screen.c (Fnext_screen): new subr.
+
+1990-02-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xdisp.c (display_text_line, try_window, try_window_id, DoDsp):
+ Don't display overlay arrow on more than one line in a window.
+
+1990-02-12 Joseph Arceneaux (jla at albert.ai.mit.edu)
+
+ * doprnt.c (doprnt): Expand size of tembuf to 512.
+
+1990-02-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * minibuf.c (Fread_no_blanks_input): Make second arg optional.
+
+1990-02-09 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * keyboard.c (get_char): Remember to set obj when executing macro.
+ (read_key_sequence): Handle the exited-scrollbar symbol.
+ Compare obj, not read_key_sequence_cmd.
+
+ * xterm.c (x_make_screen_visible, x_deiconify_screen): Check
+ window-manager variable.
+ (x_make_screen_invisible, x_iconify_screen): Don't use new R4
+ calls (they crash), do it ourselves.
+ (XTread_socket): Return exited-scrollbar symbol when doing so.
+
+1990-02-08 Joseph Arceneaux (jla at albert.ai.mit.edu)
+
+ * xterm.c (construct_mouse_event): Rewritten to do mouse-motion
+ compression. All mouse processing now done here.
+ Also, just use nil and t for x-mouse-grabbed. Record buttons
+ pressed in new variable x_mouse_grabbed. XGrabPointer on button
+ depression.
+ * xfns.c (Fx_horizontal_line): use x_mouse_grabbed.
+
+1990-02-07 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xdisp.c (DoDsp): If only updating selected screen, but there is
+ a minibuffer screen, update it as well.
+
+1990-02-06 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_pixel_width, Fx_pixel_height): New subrs.
+ * xterm.h New components pixel_width, pixel_height, to x_display.
+ * xterm.c (XTread_socket): On configure notify, set these components.
+
+ * window.c (Fset_window_configuration): Select the screen of the
+ root window if it's not the selected_screen.
+ * minibuf.c (read_minibuf): Remove all the screen selection stuff,
+ now that this is integrated in Fset_window_configuration.
+
+1990-02-05 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * screen.h: Declare Vglobal_minibuffer_screen.
+ * xdisp.c (DoDsp): Set all_windows if using global-minibuffer-screen.
+
+1990-02-03 Joseph Arceneaux (jla at geech)
+
+ * window.c (Fset_window_configuration): Make sure to set
+ window->next to nil for a minibuffer-only screen.
+
+ * screen.c (make_minibuffer_screen): Set mini_window->next nil.
+
+1990-02-01 Joseph Arceneaux (jla at albert.ai.mit.edu)
+
+ * screen.c (make_screen): Set wants_modeline elt to 1.
+
+ * window.c (Fset_window_configuration): Use screen->root_window
+ as arg to delete_all_subwindows rather than minibuf_window->prev.
+
+ * minibuf.c (read_minibuf): Don't unwind with
+ Frestore_screen_configuration. Save selected_screen if different
+ than minibuf screen, and re-select it after reading minibuf.
+ * screen.c: #if 0 Fscreen_configuration,
+ Frestore_screen_configuration.
+
+1990-02-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-ibmps2-aix.h: Undef NEED_SIOCTL.
+ (SIGN_EXTEND_CHAR): Cast to `signed char'.
+
+1990-01-28 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xfns.c (Fx_track_pointer): rewrote this to loop while there are
+ mouse events.
+
+ * xterm.c (XTread_socket): Return left-window-event symbol upon
+ LeaveNotify.
+ * keyboard.c (read_key_sequence): Handle this symbol.
+
+1990-01-27 Joseph Arceneaux (jla at churchy.ai.mit.edu)
+
+ * xterm.c (x_display_cursor): Use dumpglyfs with SPACEGLYF for
+ cursor, as `XFillRectaogle's kill HP-BSD server.
+
+ * xterm.h: Added nontext_cursor, modeline_cursor to x_display
+ structure.
+ * xfns.c (x_set_mouse_color, Fx_track_pointer): Changes to use
+ nontext_cursor.
+
+1990-01-25 Joseph Arceneaux (jla at albert.ai.mit.edu)
+
+ * xterm.h: Changed the face structure for X11 to handle GCs and
+ pixmaps.
+
+ * xterm.c (XTread_socket): Return a motion event when mouse enters
+ scrollbar or window.
+ (x_make_screen_invisible): Use the new X11R4 function XWithdrawWindow.
+ (x_iconify_screen): Use the X11R4 function XIconfifyWindow.
+ (dumpglyfs): Use the new face structure.
+
+ * xfns.c (install_vertical_scrollbar, install_horizontal_scrollbar):
+ Accept EnterNotify events. Use XMapSubwindows rather than mapping
+ each one.
+ (Fx_set_face_font): New subr for X11 to set face GC.
+
+1990-01-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c (direct_output_for_insert): Give up if buf in 2 windows.
+
+ * keyboard.c (command_loop_1):
+ Dumb bugs disabled special fast display for character motion.
+
+ * xdisp.c (DoDsp): For cursor motion within line,
+ hpos result from compute_motion is relative to window.
+
+1990-01-24 Richard Stallman (rms at albert.ai.mit.edu)
+
+ * eval.c (Fmacroexpand): Handle explicit macros ((macro ...) ...).
+
+1990-01-18 Joseph Arceneaux (jla at spiff)
+
+ * undo.c (Fundo_more): Fixed typo.
+
+1990-01-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xdisp.c (display_text_line): When checking HPOS for continuation
+ line, compensate for w->left.
+
+1990-01-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c [no FIONREAD]: Undefine SIGIO.
+
+ * buffer.c (SetBfp): Use XTYPE to test for no selected window yet.
+
+ * editfns.c, dispnew.c, fileio.c, process.c, sysdep.c, xterm.c:
+ Uniformly let NEED_TIME_H control use of time.h instead of sys/time.h.
+
+ * xterm.h (TOTALLY_UNBLOCK_INPUT, UNBLOCK_INPUT): Don't use
+ SIGIO if no FIONREAD.
+
+1990-01-15 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (x_set_mouse_color): Set non-text pointer shape with new
+ variable Vx_nontext_pointer_shape.
+
+ * keyboard.c: More checks for evil bug which trashes kbd_*_ptr.
+
+ * m/hp300bsd.h: Try using BSD load average stuff.
+
+1990-01-11 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (x_draw_pixmap): New routine.
+
+1990-01-10 Jim Kingdon (kingdon at pogo)
+
+ * m/hp300bsd.h: New file
+
+1990-01-08 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_window_id): New subr.
+
+ * screen.c (make_screen): Set wants_modeline elt to mini_p.
+ If mini_p 0, then set root_window->next to nil.
+
+1990-01-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c (Fchar_after): Set N after coercing marker.
+
+1990-01-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * buffer.c (Fkill_all_local_variables): Force mode line update.
+
+1990-01-05 Joseph Arceneaux (jla at spiff)
+
+ * insdel.c: Declare Vfirst_change_function.
+
+ * keyboard.c (read_key_sequence): Function keys are now lisp symbols.
+ (kbd_buffer_store_char): Abort if store pointer past
+ buffer. Temproarry; This shouldn't be able to happen.
+ (read_key_sequence): #ifdef HAVE_X_WINDOWS code
+ which handles complex objects.
+ (command_loop_1): Check not termcap screen before
+ processing non-char input.
+ (kbd_{store,fetch}_char): More debugging checks.
+
+ * screen.c (make_screen): Set root_window height to 9 if mini_p.
+ (make_minibuffer_screen): Set the mini window's next,
+ prev, and screen elements.
+
+ * xterm.c (x_func_key_to_sym): New function, uses new variable
+ func_key_syms.
+ (XTread_socket): Use this in KeyPress event for function keys.
+ (XTflash): Draw solid rectangle in middle of screen.
+ (x_set_offset): Set the size hints as well when doing
+ this.
+ (XTflash): Just dumpglyfs instead of redrawing the
+ screen after flashing the rectangle.
+
+ * lread.c: (syms_of_lread): defsubr Fread_event.
+
+1990-01-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * buffer.h, buffer.c (Vfirst_change_function): New Lisp variable.
+ * insdel.c (signal_before_change): Call that function.
+
+ * keyboard.c (cmd_error): Don't crash if TAIL is nil.
+
+1989-12-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * minibuf.c: Doc fixes.
+
+1989-12-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (create_process): Unhold SIGCHLD in the child.
+
+1989-12-27 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (create_process): Treat HPUX like BSD for sigsetmask.
+
+1989-12-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fns.c (Fmapconcat): Gcpro SEP around mapcar1.
+
+1989-12-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c (get_display_line): Don't touch X data if not using X.
+
+ * syntax.c (Fscan_sexps): Fix fatal documentation typo.
+
+ * lread.c: Include commands.h.
+
+ * xterm.c (construct_mouse_event): Delete unreached return at end.
+ (x_wm_set_size_hint): #if 0 some broken code.
+
+ * cmds.c (SelfInsert): Set HAIRY if have before or after change hooks.
+ * editfns.c (Fsubst_char_in_region, Ftranslate_region):
+ Call signal_after_change for chars changed.
+ * undo.c (Fundo_more): When undoing Uchange, do signal_after_change.
+ * casefiddle.c (casify_region): Do modify_region before the change,
+ signal_after_change afterward.
+
+ * insdel.c (prepare_to_modify_buffer): Call signal_before_change.
+ (del_range, InsCStr): Call signal_after_change.
+ (signal_after_change, signal_before_change): New functions.
+
+1989-12-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c (init_display) [VMS]: Downcase terminal type.
+
+1989-12-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c: Use NEED_SIOCTL to control use of sioctl.h.
+ * m/m-mips.h, m/m-iris4d.h: Define that.
+
+ * m/m-ibmps2-aix.h (NEED_SIOCTL, HAVE_UNION_WAIT, HAVE_PTYS): Define.
+ (HAVE_SYSVIPC, HAVE_SOCKETS, X_DEFAULT_FONT): Define.
+ (sigsetmask): #undef this.
+
+1989-12-15 Joseph Arceoeaux (jla at spiff)
+
+ * lread.c (Fread_char): Catch error if read non-char.
+ (Fread_event): New subr. Return any input object.
+
+1989-12-14 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c: New variable Vx_no_window_manager.
+ (Fx_track_pointer): If bufp < 0, abort.
+
+ * xterm.c (XTread_socket): When leaving window, set x_mouse_x and
+ x_mouse_y to -1.
+
+1989-12-13 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c (XTread_socket): On ConfigureNotify events, return
+ "redraw-screen" symbol.
+ (dumpborder): Only do border stuff if x-no-window-manager non nil.
+ Also check if there is a tracking rectangle.
+ (XTupdate_begin): If there is a mouse tracking rectangle, erase
+ it.
+ * keyboard.c (read_key_sequence): Return -2 for symbols.
+ (command_loop_1): DoDsp when 'redraw-screen arrives as input.
+ For mouse events, call Fexecute_mouse_event with
+ read_key_sequence_cmd instead of Vmouse_event.
+
+1989-12-08 Joseph Arceneaux (jla at spiff)
+
+ * process.c (create_process): For not USG, properly set the
+ process group.
+
+1989-12-07 Joseph Arceneaux (jla at spiff)
+
+ * term.c (topos): Under X Windows, abort if topos_hook not
+ correct. Temporary.
+
+ * xfns.c (Fx_horizontal_line): New subr.
+
+1989-12-05 Joseph Arceneaux (jla at spiff)
+
+ * keyboard.c (Fexecute_mouse_event): Don't set Vmouse_window here
+ for X11.
+
+ * xterm.c (construct_mouse_event): Vx_mouse_grabbed now indicates
+ which keys are depressed.
+ (construct_mouse_event): Set Vmouse_window here.
+
+1989-12-04 Joseph Arceneaux (jla at spiff)
+
+ * screen.c (coordinates_in_window): New function.
+ (Fcoordinates_in_window_p): Rewritten to use above.
+
+ * dispextern.h: New element bufp for display_line structure when
+ using X windows.
+ * xdisp.c (redisplay_window): Set this to the position in the
+ buffer of the first char in this display line.
+ * dispnew.c (get_display_line): Set this to -1 here.
+
+1989-12-03 Joseph Arceneaux (jla at spiff)
+
+ * alloc: Upped NSTATICS from 200 to 256.
+
+ * xterm.c (XTread_socket): Report MotionNotify events only if
+ mouse has changed character position. Call x_read_mouse_position.
+ Set Vmouse_event here.
+ * xfns.c (x_read_mouse_position): Set new global variables
+ x_mouse_x and x_mouse_y.
+
+ * keyboard.c: Vignore_mouse_events: New variable.
+
+ * syntax.c (Fscan_sexps): Doc change.
+
+ * lread.c (Fread_char): Return only chars. If new variable
+ Vignore_mouse_events non nil, execute any mouse events which
+ appear.
+
+1989-12-01 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_track_pointer): Draw half-sized rectangles for '\n'.
+ (x_rectangle): Draw half-size if negative argument.
+
+ * xterm.c (XTread_socket): abort if garbage collecting when doing
+ mouse events.
+
+ * ymakefile: #define FLOATSUP if LISP_FLOAT_TYPE defined.
+
+ * emacs.c (main): If BSD, set pgrp to pid.
+
+1989-11-30 Joseph Arceneaux (jla at spiff)
+
+ * callint.c (Fcall_interactively): For case 'e', set varies[i] to
+ avoid entering in the command history.
+
+ * xterm.c: Removed the function x_indicate_pointer_char.
+ (XTread_socket): When leaving window, erase mouse tracking box if
+ it exists.
+ * xfns.c (Fx_track_pointer): New function, does what
+ x_indicate_pointer_char used to.
+ (x_read_mouse_position): Subtract internal_border_width.
+
+ * screen.c: No rubber-banding function for X11.
+
+ * window.c (Fmove_to_window_line): Document string fix.
+
+1989-11-29 Joseph Arceneaux (jla at spiff)
+
+ * lread.c (Fread_char): Return a Lisp_Object (directly from
+ get_char).
+
+ * keyboard.c:
+ * xterm.c: Function keys now arrive as cons cells.
+
+1989-11-27 Joseph Arceneaux (jla at spiff)
+
+ * keyboard.c (read_key_sequence): Handle Lisp_Symbols on input
+ (function keys). Also, handle these and mouse events with
+ prefixes (by ignoring the prefixes for now).
+
+ * xfns.c New variable Vx_mouse_grabbed.
+ * xterm.c (construct_mouse_event): Use it.
+ (XTread_socket): Return Lisp_Symbol for function key.
+
+ * buffer.c (reset_buffer_local_variables): Set function_key_map to
+ Qnil.
+
+1989-11-24 Joseph Arceneaux (jla at spiff)
+
+ * buffer.h: Per-buffer function key maps.
+
+ * keyboard.c (read_avail_input): Convert chars to Lisp_Objects in
+ case of stdin.
+
+1989-11-22 Joseph Arceneaux (jla at spiff)
+
+ * keyboard.c (read_key_sequence): Check type of object returned
+ from get_char. Handle mouse events (set Vmouse_event) and
+ function keys.
+ (get_char_menu_prompt): Return a Lisp_Object.
+ (Fexecute_mouse_event): No longer set Vmouse_event.
+ Vmouse_window set here.
+
+ * xterm.c (XTread_socket): KeyPress events now return
+ Lisp_Objects, as do ButtonPress events.
+ (construct_mouse_event): New function.
+ (encode_mouse_button): New function.
+
+1989-11-21 Joseph Arceneaux (jla at spiff)
+
+ * keyboard.c (kbd_buffer_store_char, kbd_buffer_get_char):
+ Store and get Lisp_Objects.
+ (get_char): Use those Lisp_Objects.
+
+ * fileio.c (Fread_filename_internal): If exactly complete, but
+ string was modified, return string.
+
+ * minibuf.c (temp_minibuf_message): Pass correct arguments to Fsit_for.
+
+1989-11-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s-386-ix.h: New file.
+
+1989-11-17 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c (dump_rectangle): Flush the X queue.
+
+1989-11-16 Joseph Arceneaux (jla at spiff)
+
+ * xmenu.c (xmenu_show): Use ButtonReleaseMask instead of
+ ButtonRelease.
+
+ * fileio.c (Fmake_directory): New subr.
+
+1989-11-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * config.h-dist (C_SWITCH_SITE, LD_SWITCH_SITE): Mention these.
+ (HAVE_X11): Renamed from X11 and defined by default.
+ It shoukld have no effect when not using X.
+
+1989-11-14 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_get_selection, x_selection_arrival): use &event
+ instead of event.
+ (x_selection_arrival): For incremental selections, loop on
+ XGetWindowProperty if one is not enough.
+
+1989-11-13 Joseph Arceneaux (jla at spiff)
+
+ * ymakefile: Just link if ../oldXMenu/libXMenu11.a already exists.
+
+1989-11-09 Joseph Arceneaux (jla at spiff)
+
+ * m/m-sparc.h: If __GNUC__ use "-O", else "-O2"
+
+1989-11-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * search.c (Fstore_match_data): A marker pointing nowhere, treat as 0.
+
+1989-11-08 Joseph Arceneaux (jla at spiff)
+
+ * search.c (Fmatch_data): fixed typo.
+
+ * insdel.c (make_gap): Use BUFFER_REALLOC instead of realloc.
+ * buffer.c (Fget_buffer_create): Use new define BUFFER_ALLOC in
+ place of malloc, and set b->data.
+ (Fkill_buffer): Use BUFFER_FREE on b->data, rather than malloc on
+ b->p1 + 1.
+ * buffer.h: New element data in buffer_text structure.
+ New define for it, bf_data.
+
+1989-11-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * marker.c (Fset_marker): Don't force POS into visible range.
+ * window.c (set_marker_restricted): New function does what
+ Fset_marker did. All calls in this file now use the new function.
+
+1989-11-07 Joseph Arceneaux (jla at spiff)
+
+ * buffer.h: Defines for allocating buffer variables.
+
+ * ralloc.c: Completely rewritten.
+
+ * alloc.c (xmalloc, xrealloc): Return 0 immediately for requests
+ of 0 size.
+
+1989-11-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * search.c (Flooking_at, Fstring_match, search_buffer):
+ Record in search_regs_from_string whether matching against a string.
+ (Fmatch_data): Save data as integers if from a string.
+
+ * s-umips.h: Now include either s-usg5-2-2.h or s-bsd4-3.h
+ and then override as needed.
+ * m-mips.h: System dependence deleted.
+ LD_SWITCH_MACHINE remains w/ options needed on all systems.
+ * m-pmax.h: A little of that (LIBS_DEBUG) moved here.
+ No need to undef LIBS_MACHINE.
+
+ * fns.c (Fload_average): FIXUP_KERNEL_SYMBOL_ADDR is now general hook.
+ * s-umips.h: Define it.
+
+ * sysdep.c: Handle BROKEN_FIONREAD.
+
+1989-11-03 Joseph Arceneaux (jla at spiff)
+
+ * config.h-dist: Mention LISP_FLOAT_TYPE, GNU_MALLOC, and REL_ALLOC.
+
+ * s/s-umips.h: New file.
+
+1989-11-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (Fopen_network_stream): Handle EINTR in connect.
+ Describe errno in err msg if connect fails.
+
+1989-11-02 Joseph Arceneaux (jla at spiff)
+
+ * vm-limit.c: New file.
+ * ralloc.c: New file.
+ * ymakefile: Take vm-limit.o into account.
+
+1989-11-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * alloc.c (staticvec): Make this a simple vector of pointers
+ rather than an alias for a vector of chars.
+
+1989-11-01 Joseph Arceneaux (jla at spiff)
+
+ * window.c: Moved some functions (save_window_save,
+ replace_window, unshow_buffer) around.
+ * search.c: Moved function place.
+ * lread.c: Moved function read_escape.
+ * unexec.c: Declarations for make_hdr, copy_text_and_data,
+ copy_sym. Declare mark_x as static void.
+ * dispextern.h: removed declaration of new_display_line.
+
+ * emacs.c: Do malloc_init if GNU_MALLOC.
+ * gmalloc.c: (malloc_init): New function.
+
+ * xfns.c (x_rectangle, Fx_draw_rectangle, Fx_erase_rectangle,
+ outline_region, Fx_countour_region, Fx_uncontour_region): New
+ subroutines for drawing rectangles and things.
+ (Fx_point_coordinates): New subr.
+
+1989-10-31 Joseph Arceneaux (jla at spiff)
+
+ * All .c and .h files: New copyright header.
+
+1989-10-30 Joseph Arceneaux (jla at spiff)
+
+ * gmalloc.c: New GNU malloc.
+
+ * emacs.c (main, Fdump_emacs): No malloc init if GNU_MALLOC.
+
+ * ymakefile: Check if GNU_MALLOC defined.
+
+1989-10-27 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_pointer_char): New subr.
+ * xterm.c (x_indicate_pointer): New procedure.
+
+ * alloc.c (Fmake_vector_from_list, make_vector_from_list): New subrs.
+
+1989-10-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xterm.c (x_term_init):
+ Negate arg to fcntl F_SETOWN if F_SETOWN_SOCK_NEG.
+ * keyboard.c (Fset_input_mode) [NO_SOCK_SIGIO]:
+ No interrupt input if using a socket.
+ * m-sequent.h: Define NO_SOCK_SIGIO, F_SETOWN_SOCK_NEG, MAIL_USE_FLOCK.
+
+1989-10-26 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c (x_handle_error_gracefully): Make sure to completely
+ release input before returning, using:
+ * xterm.h New macro TOTALLY_UNBLOCK_INPUT.
+
+ * xmenu.c (xmenu_quit): No longer use this error_handler; use
+ default one.
+
+1989-10-25 Joseph Arceneaux (jla at spiff)
+
+ * config.h-dist: Comment fix.
+
+1989-10-24 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_draw_lines, translate_vectors): New functions.
+
+1989-10-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * search.c (search_buffer): Always find null string.
+
+ * window.c (window_loop): For UNSHOW_BUFFER, don't Fset_buffer
+ unless window is the selected one.
+
+1989-10-20 Joseph Arceneaux (jla at spiff)
+
+ * xdisp.c (display_minibuf_message): Choose minibuf screen first
+ of all. Return if not visible.
+
+1989-10-19 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (x_handle_error_gracefully): New procedure to handle
+ non-fatal X errors.
+ (x_error_handler): Use it.
+ (acceptable_x_error_p): New macro.
+
+ * xfns.c (Fx_own_selection): Use second parameter SCREEN.
+
+ * xdisp.c: (message, message1): No longer displays messages
+ when using X but not yet mapped.
+
+1989-10-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-pyramid.h (NO_ARG_ARRAY): Define if using GCC.
+
+1989-10-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * vmsfns.c (process_command_input): Call clear_waiting_for_input.
+
+1989-10-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * syntax.c (scan_words): If words_include_escapes not 0,
+ treat Sescape and Scharquote like Sword.
+ (syms_of_syntax): Define Lisp variable.
+
+ * process.c (wait_reading_process_input): Get rid of kbd_count.
+ Use detect_input_pending.
+ * sysdep.c (select, read_input_waiting): Likewise.
+ (read_input_waiting): Don't read directly into kbd_buffer;
+ use kbd_buffer_store_char.
+ * keyboard.c: Don't define kbd_count.
+
+ * keyboard.c (read_key_sequence): Reject the prefix char generated
+ for a Meta char, if it finds a non-prefix definition.
+
+1989-10-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): READ_KBD==2 means
+ wait until have mouse input.
+ * xfns.c (Fx_get_mouse_event): Use that.
+ * xterm.c (mouse_event_pending_p): New subroutine.
+
+1989-10-13 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c (x_selection_arrival):
+ (x_send_incremental):
+ (x_answer_selection_request): New procedures for incremental
+ selection transfer.
+
+1989-10-12 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * lread.c (complete_filename_p): New function which replaces
+ absolute_filename_p. This one doesn't consider "~" valid.
+
+1989-10-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * buffer.c: Comment fix.
+
+1989-10-11 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c: (Fx_open_connection) New X atoms Xatom_incremental and
+ Xatom_multiple.
+
+ * xterm.h: New macros MAX_SELECTION and SELECTION_LENGTH.
+
+ * process.c (child_sig): Check pid <= 0 in case WNOHANG not defined.
+
+1989-10-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * termcap.c (tgetent, gobble_line): Always store null at end of bfr.
+ Allocate one extra byte at end to ensure space.
+ Clean up order of arithmetic when updating ptrs into buffer
+ after xrealloc.
+
+1989-10-10 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c (Fx_open_connection): Make all X Atoms here.
+
+ * xterm.c: (x_iconify_screen):
+ (x_iconify_screen): Cleaned up this code.
+ (x_term_init): Removed warpmouseondeiconify stuff.
+
+1989-10-09 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xdisp.c (DoDsp): Make sure to call unhold_window_change after
+ before all returns.
+
+ * minibuf.c (read_minibuf): Changed set_mouse_position to
+ Fset_mouse_position.
+
+ * xterm.c (XTread_socket): dumprectangle (whole screen) instead of
+ DoDsp in ConfigureNotify event.
+ (x_wm_set_size_hint): New calculations for size_hints.
+
+ * screen.c (Fset_mouse_position): No more function
+ set_mouse_position; use x_set_mouse_position directly.
+
+ * xfns.c (x_set_cursor_color): Really decode Vx_cusor_fore_pixel
+ if set. Define new cursor before freeing old. This may eliminate
+ a server bug on the Sony.
+ Also check for invisible cursors.
+ (x_set_mouse_color): Check for invisible pointers.
+ (x_resize_scrollbars): BLOCK_INPUT whilst doing operations.
+ (adjust_scrollbars): Likewise.
+
+1989-10-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m/m-hp9000s800.h (XUNMARK): Delete definition.
+ (S_IFLNK): Do not undef it.
+
+1989-10-03 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * dispnew.c (get_display_line): If screen not visible, abort.
+
+1989-10-02 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (x_make_screen_visible): Set s->visible, unset
+ s->iconified for HAVE_X11.
+
+1989-09-29 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (XTread_socket): Check screen s before proceeding for
+ MapNotify event.
+
+ * xterm.c: No longer sets the variable mouse_down_timestamp.
+ * xfns.c: (Fx_get_mouse_event) mouse_timestamp
+ (formerly mouse_down_timestamp) set here. Also, mask out upper 9
+ bits before doing XSET.
+
+1989-09-28 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c (Fx_geometry): Kludge for the case of position `-0'.
+ (Fx_get_mouse_event): Also return the time stamp as last list elt.
+ (Fx_color_display_p):
+ (Fx_defined_color):
+ (x_decode_color):
+ (defined_color): Eliminate screen argument.
+ (Fx_create_screen): No more ColorMap component to display.x.
+ * xterm.h: Likewise.
+
+1989-09-27 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c (Fx_own_selection):
+ (Fx_get_selection):
+ (x_disown_selection): new funcs, which use new variables
+ Vx_selection_value, x_begin_selection_own, mouse_down_timestamp,
+ requestor_time, requestor_window, property_name, and
+ x_begin_selection_own.
+
+ * xterm.c (XTread_socket): Only do stuff if s for FocusOut under X11.
+ SelectionClear:
+ SelectionRequest:
+ SelectionNotify: New events to handle the selection inter-client
+ communication mechanism.
+ ButtonPress: Set mouse_down_timestamp.
+
+1989-09-26 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c: New variable Vx_cursor_fore_pixel.
+
+1989-09-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lread.c (openp): Don't ! the result of `access'.
+
+1989-09-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (Fread_file_name_internal): Try to work properly
+ if dirs are specified using environment vars. Preserve use of vars.
+
+1989-09-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c: Comment fix.
+
+1989-09-18 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_get_cut_buffer): XFree the data returned by
+ XFetchBytes.
+
+1989-09-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (Fwrite_region): Reinstall #if 0 around fstat.
+
+1989-09-12 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (defined_color): New function to test if a color is
+ currently defined.
+ (x_decode_color): Use defined_color.
+ (Fx_defined_color): New subr.
+ (select_visual): Select the appropriate X11 Visual.
+ (Fx_open_connection): Use select_visual. screen_visual now
+ global and used when making emacs windows.
+ (Fx_color_display_p): New subr.
+
+1989-09-11 Joseph Arceneaux (jla at spiff)
+
+ * fileio.c (Fwrite_region): fixed typo.
+
+ * keyboard.c (Fdiscard_input): fixed typo.
+
+ * window.c (Fnext_window): fixed typos.
+
+ * alloc.c (xmalloc, xrealloc): hold_window_changes whilst doing
+ the associated operations.
+
+ * dispnew.c (init_display):
+ (Fsleep_for, Fsit_for):
+ * process.c (Faccept_process_output):
+ * keyboard.c ({clear,set}_waiting_for_input):
+ (quit_throw_to_get_char, get_char):
+ * xdisp.c (DoDsp, message, message1): Undid changes of Aug. 23
+ (see below); accept window changes most of the time.
+
+1989-09-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c: Eliminate kbd_count, and use two pointers,
+ kbd_fetch_ptr and kbd_store_ptr. Assume buffer is empty when
+ they are equal. This should eliminate timing error.
+ (kbd_buffer_store_char): Update kbd_store_ptr when storing.
+ Don't ever fill the entire buffer.
+ (kbd_buffer_get_char): Update kbd_fetch_ptr when fetching.
+ (stuff_buffered_input): Likewise.
+ (get_input_pending): Compare the two pointers.
+
+ * fileio.c (Fwrite_region): Reenable using fstat rather than stat
+ to get the modtime of the file just written, except on VMS and APOLLO.
+
+1989-09-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * emacs.c, doc.c, filelock.c: Move Emacs header includes after
+ system header includes, and #undef NULL in between.
+
+1989-08-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c [SYSV_PTYS]: If `titan', include some other files.
+
+1989-08-29 Joseph Arceneaux (jla at spiff)
+
+ * fileio.c: read-file-name replaced with new version, formerly
+ called new-read-file-name.
+
+1989-08-26 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * window.c (Fscroll_other_window): Use save-excursion (in effect)
+ to save and restore current buffer and point.
+ (window_scroll): If selected window's buffer isn't current,
+ make it current, using save-excursion to go back.
+
+1989-08-24 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * Use two variables to convey reason for synch process death,
+ to avoid consing in signal handler.
+ They are synch_process_death and synch_process_retcode.
+ * callproc.c (Fcall_process): Use both variables.
+ * process.c (child_sig): Set both variables.
+
+1989-08-24 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c (x_wm_set_size_hint): Use new ICCCM values for size_hints.
+
+1989-08-24 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * buffer.c: Doc fix.
+
+1989-08-24 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_create_screen): X11 part. Set height and width to 0
+ before calling change_screen_size.
+
+ * buffer.c (kill-all-local-variables): Changed doc string.
+
+1989-08-23 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * dispnew.c (init_display): Call hold_window_change.
+ (Fsleep_for, Fsit_for): Temporarily unhold, while waiting.
+ * process.c (Faccept_process_output): Likewise.
+ * keyboard.c ({clear,set}_waiting_for_input): Temporarily unhold.
+ (quit_throw_to_get_char, get_char): Rehold.
+ * xdisp.c (DoDsp, message, message1):
+ Unhold and rehold momentarily before any real work.
+
+ * Makefile (CPP): Use $(CC).
+
+1989-08-22 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (x_set_mouse_color): Use new variables Vx_pointer_mask,
+ Vx_pointer_shape.
+
+1989-08-21 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * alloc.c (malloc_warning): Do nothing if ignore_warnings.
+ (init_alloc_once): Set ignore_warnings while initializing allocation.
+
+ * buffer.c: Doc fix.
+
+1989-08-21 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c (x_calc_absolute_position): New function to calculate
+ positive screen position.
+ (x_set_position): Use it.
+ (x_reset_cursor): No longer exists.
+
+ * xfns.c (x_set_mouse_color): Reset the cursor even if there's no
+ X window.
+ (x_figure_window_size): Use x_calc_absolute_position.
+ (x_set_mouse_color): Rewrote this function. Always set cursor and
+ its color. If the window exists, then attach the cursor to it.
+ No longer uses x_reset_cursor.
+ (x_create_window):
+ (x_set_background):
+ (x_set_foreground): Use x_set_mouse_color instead of x_reset_cursor.
+
+1989-08-18 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * vmsfns.c: Define PRV$V_... syms if prvdef.h does not.
+
+1989-08-18 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_geometry): New subr.
+ (x_figure_window_size): Don't worry about "geometry" here anymore;
+ now done in x-win.el.
+ (x_icon): Look in parms for iconic-startup rather than in variable.
+
+1989-08-16 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (x_set_*_scrollbar): Don't destroy a scrollbar if it
+ doesn't exist. Also set scrollbar size only if actually creating
+ one.
+ (x_set_name): Don't do anything if the X window doesn't exist.
+ Set the icon name as well.
+ (x_window): Set the class hints for the window.
+
+1989-08-16 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * lread.c (Fload): Fix unterminated comment.
+
+ * scroll.c (scrolling_max_lines_saved): Replace fixed threshold of 20
+ with 1/4 of average length of lines.
+
+1989-08-13 Joseph Arceneaux (jla at spiff)
+
+ * ymakefile: Do ${make} for oldXMenu.
+
+1989-08-13 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * eval.c: Doc fix.
+
+1989-08-12 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * emacs.c (main): Check for failure opening -t device.
+ Fatal error if terminal isn't a real terminal.
+
+ * window.c (Fscroll_other_window): Let Vother_window_scroll_buffer
+ specify a buffer to scroll.
+
+1989-08-11 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * dispnew.c: Handle BROKEN_FIONREAD as in other files.
+
+1989-08-09 Joseph Arceneaux (jla at spiff)
+
+ * ../oldXMenu/Makefile: Removed all the unneccessary X stuff.
+
+1989-08-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (barf_or_query_if_file_exists): When signalling,
+ provide the expected args for a file-error.
+
+1989-08-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c: Let NEED_BSDTTY control include of bsdtty.h.
+
+ * process.c [BSD or STRIDE]: If ioctl.h fails to define O_NDELAY,
+ and we need it, try fcntl.h.
+
+ * s-bsd*.h, s-rtu.h, s-umax.h, s-unipl*.h: Define HAVE_UNION_WAIT.
+ * m-stride.h: Likewise.
+ * process.c: Decide which type to use with `wait'
+ according to HAVE_UNION_WAIT. If WAITTYPE already defined,
+ assume everything all set up for this.
+
+ * m-hp9000s300.h: Unless NOT_C_CODE or NO_SHORTNAMES,
+ define WAITTYPE and WRETCODE, and include sys/wait.h.
+
+1989-08-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * callproc.c (child_setup): Get rid of junk in #if 0.
+
+1989-08-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * abbrev.c (Fdefine_abbrev): Allow nil spec'd as expansion.
+ (Fexpand_abbrev): Eliminate abbrev length limit; use alloca.
+ Eliminate redundant tests, always true.
+ Record positions of both start and end of abbrev.
+ Handle whitespace following the abbrev, before point.
+
+ * callproc.c (Fcall_process_region): Use unwind-protect to delete
+ temp file.
+
+ * lread.c (load_unwind): Free the pointer-word malloc'd in Fload.
+
+1989-08-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * emacs.c (Fdump_emacs): Doc fix.
+
+1989-08-02 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c: Reorganized several functions to be in same order as the
+ enum list.
+ (x_set_border_color): For X11, don't set pix to -1 for
+ gray values.
+ (Fx_create_screen): Simplified this function even more.
+
+1989-07-31 Joseph Arceneaux (jla at spiff)
+
+ * keymap.c: New subrs Fuse_local_mouse_map, Fcurrent_local_mouse_map.
+
+ * xfns.c (x_set_mouse_color):
+ (x_set_cur): No need to redraw display after doing these.
+
+ (Fx_get_mouse_event): Accept motion events.
+ (x11_encode_mouse_button): Encoding a la X11, except for one
+ kludge. This is used only for motion events.
+
+ * xterm.c (XTread_socket): Handle motion eveots.
+
+1989-07-26 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_create_screen): I couldn't take it any more, the
+ ugliness of this routine offended me too deeply. It is now
+ completely rewritten for X11 and uses subroutines:
+ (x_figure_window_size)
+ (x_create_window)
+ (x_icon)
+ (x_make_gc)
+
+ (Fx_draw_rectangle):
+ (Fx_erase_rectangle): New subrs.
+
+ * m/m-intel386.h: Changes in LOAD_AVE_TYPE, LOAD_AVE_CVT, and
+ FSCALE to make loadst work correctly.
+
+1989-07-24 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fmodify_screen_parameters): Check s->output_method
+ before looping through alist.
+
+ (Fx_create_screen): Call x_default_parameter for font.
+ Don't add the scrollbar widths when making the main window: this
+ is done when the scrollbar is actually made.
+
+ (x_set_vertical_scrollbar): Set v_scrollbar_width here instead of
+ in install_vertical_scrollbar. Also, pass that function macros
+ PIXEL_WIDTH, PIXEL_HEIGHT as args.
+
+ (x_set_horizontal_scrollbar): Likewise.
+
+ * xterm.c: (x_set_window_size): Don't call the things called
+ anyway upon the ConfigureNotify event.
+ (x_set_offset): Use the screen-size lisp variables for these
+ calculations.
+
+ * xterm.h: Added the screen parameter declarations from xfns.c for
+ X11.
+
+1989-07-21 Joseph Arceneaux (jla at spiff)
+
+ * sysdep.c: Don't include sioctl.h on mips.
+
+ * buffer.c (Flist_buffers): Pass prefix as arg.
+
+ * editfns.c (Finsert_char): Insert at most 256 chars at a whack.
+
+ * xterm.c (x_draw_box): Moved cursor box right by one pixel.
+
+1989-07-20 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c: New variable x_screen_visuals, set if Fx_open_display,
+ to be used in screen-color-p.
+
+ * process.c (create_process): Don't call setpgrp_of_tty here.
+ Also, do setpgrp for USG regardless of HAVE_PTYS.
+
+ * callproc.c (child_setup): Ignore argument set_pgrp and always do
+ setpgrp_of_tty.
+ (Fcall_process): Don't call setpgrp_of_tty here.
+
+ * keyboard.c (command_loop_1): Make sure Vprefix_arg is NULL
+ before finalizing_kbd_macro_chars;
+
+1989-07-19 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c (Fx_rebind_key): Completely rewrote this function for
+ X11.
+
+1989-07-13 Joseph Arceneaux (jla at spiff)
+
+ * emacs.c:
+ * process.c:
+ * unexec.c:
+ * m/m-ibmrt-aix.h: Changed IBMRTAIX to IBMAIX.
+ * sysdep.c: Likewise. Also, don't define our closedir if IBMAIX.
+ * m/m-ibmps2-aix.h: New file.
+
+1989-07-12 Joseph Arceneaux (jla at spiff)
+
+ * xdisp.c (message, message1): If using x, but haven't mapped the
+ window yet, use noninteractive output.
+
+ * dispnew.c (Fredraw_display): Don't redraw a screen which is not
+ visible.
+
+ * xterm.c (x_set_window_size): Don't DoDsp if screen isn't visible.
+
+ * xfns.c (x_set_mouse_color)
+ (x_set_border_color)
+ (x_set_cursor_color)
+ (x_set_background_color)
+ (x_set_foreground_color): Don't redraw when screen isn't visible.
+
+1989-07-11 Joseph Arceneaux (jla at gluteus)
+
+ * xterm.c (x_term_init, XTread_socket): Use ConnectionNumber for
+ both X10 and X11. This is #defined for X10.
+
+ * screen.c (Fset_screen_width, Fset_screen_height): These now take
+ a SCREEN argument.
+
+1989-07-10 Joseph Arceneaux (jla at gluteus)
+
+ * xterm.c (x_set_window_size): Call x_wm_set_size_hint.
+ (x_new_font): Don't call x_wm_set_size_hint.
+
+ * xfns.c (x_set_internal_border_width): Don't call
+ x_set_resize_hint, and call x_set_window_size after BLOCK_INPUT.
+
+ * screen.c, dispnew.c (Fset_screen_width, Fset_screen_height):
+ These functions have moved to screen.c.
+
+1989-07-07 Joseph Arceneaux (jla at sugar-bombs.ai.mit.edu)
+
+ * eval.c (Ffuncall): Handle 6 arguments. Also, print a nice error
+ message if there are more than 6 args.
+
+ * fns.c: (Fyes-or-no-p):
+ * minibuf.c: (read_minibuf_unwind):
+ (Fread_minibuffer):
+ (Fread_no_blanks_input):
+ (Fcompleting_read): Extra arg to read_minibuf.
+
+ * callint.c (Fcall_interactively):
+ * keyboard.c (Fexecute_extended_command):
+ * minibuf.c: (Fread_command):
+ (Fread_function):
+ (Fread_variable):
+ (Fread_buffer): Extra arg to Fcompleting_read.
+
+1989-07-05 Joseph Arceneaux (jla at spiff)
+
+ * minibuf.c (read_minibuf): New argument back_n is number of
+ characters to back-up point by.
+ (Fcompleting_read): Same.
+ * fileio.c: (Fnew_read_file_name): New version of Fread_file_name
+ using the above features.
+ (Finsert_file_contents): Check for negative file length.
+
+1989-07-03 Joseph Arceneaux (jla at spiff)
+
+ * xfns.c: (x_pixel_width, x_pixel_height) New functions.
+ * screen.c: (Fscreen_pixel_size): New subr.
+
+1989-06-30 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c: Use invocation_name as argument to XGetDefaults.
+
+1989-06-29 Joseph Arceneaux (jla at spiff)
+
+ * xterm.c (x_error_handler) #ifdef sony_news use XDefaultError
+ instead of XPrintDefaultError due to weirdness in Sony library.
+ * xterm.c: Avoid infinite raise/lower, enter/leave cycle when both
+ auto_raise and auto_lower are set by checking times between
+ consecutive Enter events.
+
+1989-06-27 Joseph Arceneaux (jla at sugar-bombs.ai.mit.edu)
+
+ * screen.c: (Fselect_screen)
+ * window.c: (Fselect_window) The previous strategy was bugging the
+ lisp stuff, so these are now rewritten.
+
+1989-06-26 Joseph Arceneaux (jla at galapas.ai.mit.edu)
+
+ * cm.c (Wcm_init): Don't check for Wcm.cm_ds, since this has been
+ removed.
+ (losecursor): This function now a #define in cm.h.
+
+ * xterm.c (x_iconify_screen): Send message to root window to do
+ this, as per latest Inter-Client Communications Conventions. This
+ is commented out until it's implemented by X. For now, do it with
+ the iconic_state hint.
+ (x_deiconify_screen): For X11, just Map the window, as per the new
+ ICCC.
+ (x_make_screen_visible): Only handle visible and iconified screen
+ elements for X10; these variables are handled in event processing
+ for X11.
+ (x_make_screen_invisible): Send an UnmapNotify event to the root
+ window to aprise the window manager of the change.
+ (XTread_socket): Catch VisibilityNotify events.
+
+1989-06-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fsplit_window): If horizontal, round left window size up.
+
+1989-06-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cm.h (cmplus): Improve formatting.
+ Use losecursor when reach end of line, if losewrap.
+
+ * cm.h: New fields to handle multi-line and multi-char motion,
+ and both max and min cost for certain operations.
+ * term.c (term_init): Init those fields.
+
+ * term.c (clear_end_of_line_raw): Don't clear last char of last line
+ if autowrap.
+
+ * abbrev.c (Finsert_abbrev_table_description): Make 2nd arg optional.
+
+1989-06-23 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c, lisp/term/x-win.el: C routine Fscreen_color_p now lisp
+ function x-color-screen-p in x-win.el.
+ (x_set_cursor_color): New method: first disallow same cursor as
+ background, then if cursor not foreground, use it as cursor
+ foreground.
+
+1989-06-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lisp.h (XPNTR): Don't define if already defined.
+
+1989-06-22 Joseph Arceneaux (jla at cream-of-wheat.ai.mit.edu)
+
+ * screen.c: New subrs Ficonify_screen, Fdeiconify_screen,
+ Fread_mouse_position, Fset_mouse_position.
+
+ * xterm.c: New functions x_deiconify_screen, x_iconify_screen.
+
+1989-06-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fsplit_window, change_window_height):
+ Enforce minimum of 2 for window_min_width and window_min_height.
+
+1989-06-22 Joseph Arceneaux (jla at galapas.ai.mit.edu)
+
+ * dispnew.c (unhold_window_change): Don't set and unset in_display
+ before and after calling change_screen_size.
+
+1989-06-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * buffer.c (Fkill_buffer): Ignore errors deleting auto-save file.
+ Delete only if delete-auto-save-files.
+
+ * data.c (Fmake_local_variable): Don't change value if unbound.
+
+1989-06-20 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * screen.c (Fselect_screen): Use x_set_mouse_position instead of
+ x_enter_screen.
+
+ * xterm.c (x_enter_screen): Deleted, now merged with
+ * xfns.c (x_set_mouse_position): If the position is negative, use
+ the center screen position.
+
+ * data.c (swap_in_symval_forwarding): Declared tem1.
+ (Fset): Changed variable name void to voide. Also, set it to a C
+ true/false, rather than Qt or Qnil.
+
+1989-06-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * eval.c (Fdefvar): Operate on default value if sym is buffer-local.
+ (Fdefconst): Likewise.
+
+ * Allow buffer-local variables to be void in one buffer
+ or in the default value.
+ * data.c (swap_in_symval_forwarding): New function.
+ (Fboundp, Fsymbol_value): Use that.
+ (default_value): New function.
+ (Fdefault_value): Use that.
+ (Fdefault_boundp): New function, uses that.
+
+1989-06-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile: New variable OLDXMENU has filename of libXMenu.a
+ as a target. Make temacs depend on it.
+
+1989-06-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile [HAVE_X11, HAVE_X_MENU]: Build oldXMenu.
+ * xmenu.c: Get XMenu.h from sibling dir.
+
+ * buffer.c (Fkill_buffer): Return t if buffer is killed.
+ Delete auto-save file if any.
+
+1989-06-09 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * window.c: initialize auto_new_screen to 0 (nil).
+
+ * screen.c (make_screen): added auto_lower to the list of screen
+ elements initialized.
+ (make_minibuffer_screen): likewise.
+
+1989-06-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fset_window_point): Don't lose if window's buffer is
+ not current.
+
+1989-06-08 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c (Fx_open_connection): Added 9 Lisp variables
+ defined by the screen and server.
+
+1989-06-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-pmax.h: New file.
+
+1989-06-08 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c: removed superfluous definition of gray_bits.
+
+1989-06-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-hp9000s300.h: Define NEED_BSDTTY unless NOMULTIPLEJOBS.
+
+1989-06-07 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * emacs.c (Fkill_emacs): If under X, call
+ Fx_close_current_connection. This has fixed the "bad file" bug.
+ * xfns.c (Fx_close_current_connection): Added this subr which for
+ the moment serves only to close the X-connection when killing emacs.
+
+1989-06-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-hp9000s800.h: Define NEED_BSDTTY here.
+ * s-hpux.h: Not here.
+
+1989-06-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s/s-hpux.h: Define NEED_BSDTTY.
+
+1989-06-06 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (x_new_selected_screen): Make the new selected_screen
+ and it's selected_window's screen be the same.
+ (x_enter_screen): Calculate the middle of the screen, and warp the
+ mouse there. Also, raise the screen before doing so.
+
+1989-06-05 Joseph Arceneaux (jla at cream-of-wheat.ai.mit.edu)
+
+ * xterm.c (x_set_window_size): If not already in DoDsp (checked
+ with variable in_display) then DoDsp here. Handles redisplay
+ after screen configuration.
+ (x_error_handler): Print out stuff about the error if we're in
+ debug mode.
+
+ * dispnew.c (change_screen_size): No longer call DoDsp here.
+
+1989-06-05 Chris Hanson (cph at kleph)
+
+ * syntax.c (Fmodify_syntax_entry): Change documentation string to
+ reflect earlier change to action of `p' syntax bit.
+
+1989-06-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lread.c (read1): Don't accept "" in middle of string.
+
+1989-05-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * search.c (Freplace_match): If \N has nothing to insert,
+ insert nothing.
+
+1989-05-29 Joseph Arceneaux (jla at gracilis.ai.mit.edu)
+
+ * xfns.c: (Fx_create_screen): If parms is nil and
+ Vx_screen_defaults isn't, then use them.
+ (Fdisplay_buffer): Call Fx_create_screen with Qnil.
+
+1989-05-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * syntax.c (scan_lists): Once within a word, treat Squote like Sword.
+
+1989-05-24 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * dispnew.c (change_screen_size): DoDsp if not pretend.
+
+1989-05-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * search.c (skip_chars): Dumb error checking for \.
+
+1989-05-22 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * screen.c (Fselect_screen): Under X, basically just warp the
+ cursor into the desired screen. The event handler will then do
+ the right thing.
+ (Frestore_screen_configuration): Don't set the mouse position.
+
+ * window.c (Fselect_window): If window's screen is not selected,
+ call Fselecte_screen.
+ (Fdisplay_buffer): Call Fx_create_screen with x-screen-parameters
+ as argument instead of nil.
+
+ * keyboard.c (clear_waiting_for_input): Don't call
+ x_new_selected_screen here.
+
+ * xterm.c (XTread_socket): Add case slots for CirculateNotify and
+ CirculateRequest events.
+
+1989-05-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * doc.c (Fsubstitute_command_keys): Evaluate \\<...> keymap
+ in proper buffer.
+
+ * keymap.c (Fapropos_internal): New Lisp function, old apropos
+ but only returns a list.
+
+1989-05-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (Fopen_network_stream): Don't set kill-without-query.
+
+1989-05-19 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (x_new_selected_screen): This now takes a struct screen
+ pointer as paramter.
+ * (XTread_socket): call x_new_selected_screen *before* dumpborder.
+
+1989-05-16 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c: (x_window_to_scrollbar): If the caller's not interested
+ in the names--passing 0 for last two parameters--just return the
+ screen pointer.
+
+ * xterm.c (x_enter_screen): Added this function for warping the
+ pointer into a screen.
+
+1989-05-16 Chris Hanson (cph at kleph)
+
+ * syntax.c (scan_lists, scan_sexps_forward): Treat characters
+ whose "prefix" bit is on as whitespace when they are encountered
+ between expressions. When they occur within expressions they are
+ treated according to their syntax code.
+
+1989-05-16 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c: (x_new_selected_screen): Don't call Fselect_screen.
+ Just do everything here.
+
+ * window.c (Fselect_window): If the screen associated with the
+ window is not selected, warp the mouse, cause an EnterNotify event
+ which then causes the proper screen to become selected. This does
+ *not* call Fselect_screen.
+
+ * screen.c (Fselect_screen): Now this is *only* a lisp subr. It
+ just calls Fselect_window on the selected window of the screen.
+
+1989-05-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c (Fsubst_char_in_region): If NOUNDO, do increment tick,
+ but maybe also increment save-tick.
+
+1989-05-15 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (x_set_window_size): Only one #ifdef HAVE_X11 due to new
+ macro in:
+ * xterm.h: New macro XChangeWindowSize for both X10 and X11.
+
+ * xfns.c (Fx_create_screen): Use XCreateWindow instead of
+ XCreateSimpleWindow to directly set some extra attributes.
+
+1989-05-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * syntax.h (SYNTAX_PREFIX): New macro.
+ * syntax.c (Fmodify_syntax_table): Handle `p'; set new flag.
+ (describe_syntax): Describe new flag.
+ (Fbackward_prefix_chars): Move back over such chars.
+
+ * lread.c (read1): Dumb errors in last change.
+
+1989-05-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lread.c (read1): Error if EOF after `?' or in string.
+
+ * sysdep.c (init_sys_modes) [IBMRTAIX]: Typo; had s for sg.
+
+1989-05-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * s/s-usg5-3.h: Define HAVE_SYSVIPC?
+
+ * alloc.c (Fmake_byte_code): If purifying, purecopy all elements.
+
+ * ymakefile (LIBXMENU): Use -loldX.
+ Find libXMenu11.a in special place.
+
+1989-05-12 Joseph Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c (Fx_create_screen): If user has specified
+ `x-iconic-startup' then start emacs in iconic form.
+ Look for icon position in `icon-left' and `icon-top', or use
+ window postion.
+
+ * xterm.c (x_term_init): If server doesn't respond, use fatal
+ instead of error. Also tell user about -d option.
+
+1989-05-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c (init_sys_modes, reset_sys_modes):
+ Handle TIOCGLTC even if HAVE_TERMIO.
+
+ * print.c (Qprint_escape_newlines): New variable.
+ * minibuf.c (read_minibuf): Make it t locally in minibuffers.
+
+ * fileio.c (Fcopy_file): Check for error on close.
+
+1989-05-10 Joseph Arceneaux (jla at corn-chex.ai.mit.edu)
+
+ * xfns.c (adjust_scrollbars): Don't subtract 2 from
+ h_scrollbar_height when calculating `length'.
+
+1989-05-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * eval.c (call_debugger): Set entering_debugger.
+ (find_handler_cause): Don't enter debugger if that's set.
+ (Fbacktrace): Clear it; we are presumably in the debugger.
+
+ * m/m-sps7.h: New file.
+
+1989-05-08 Joseph Arceneaux (jla at rice-chex.ai.mit.edu)
+
+ * xterm.c (XTread_socket_hook): For X11, on map and unmap events
+ check the window manager hints for iconification status.
+
+ * xterm.c (x_make_widow_icon): For X11, just request
+ iconification of the window manager.
+
+1989-05-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m/m-clipper.h: New file.
+
+1989-05-07 Joseph Arceneaux (jla at corn-chex.ai.mit.edu)
+
+ * xfns.c (adjust_scrollbars): Don't subtract 2 from
+ v_scrollbar_width when calculating `height'.
+
+ * xfns.c (x_set_foreground, x_set_border_pixel): Finished color
+ coordination. Scrollbar border, thump-arrows, and slider pixmap
+ linked with foreground color; slider border with window border.
+
+1989-05-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lread.c (read1): Handle octal integers.
+
+ * macros.c: Doc fix.
+
+ * search.c (Fstore_match_data): Allow ints instead of markers.
+
+ * keyboard.c (get_char_menu_prompt): New function; does menu prompting
+ based on current keymaps.
+
+1989-05-05 Joseph Arceneaux (jla at gracilis.ai.mit.edu)
+
+ * xfns.c (Fx_set_face): Rewrote the doc-string and renamed the
+ parameters.
+
+1989-05-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * unexec.c: New control parameters COFF_BSD_SYMBOLS, KEEP_OLD_PADDR,
+ KEEP_OLD_TEXT_SCNPTR, ADJUST_TEXT_SCNHDR_SIZE, ADJUST_TEXTBASE,
+ HEADER_INCL_IN_TEXT.
+
+ * unexec.c: Define IN_UNEXEC as flag for config.h.
+
+ * keymap.c: Fapropos, etc., deleted. (Now in Lisp code.)
+
+ * eval.c (Fcommandp): Byte code object is command if interactive slot
+ exists at all.
+
+1989-05-05 Chris Hanson (cph at kleph)
+
+ * process.c [HPUX && !NOMULTIPLEJOBS]: Include <bsdtty.h>, which
+ defines TIOCGPGRP.
+
+1989-05-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * data.c (Faref, Farray_length): Handle byte-code objects.
+ * fns.c (Flength, concat): Likewise.
+
+ * data.c (Faref, Faset, Farray_length): Rename arg VECTOR to ARRAY.
+
+ * m/m-hp9000s300.h: Undefine NOMULTIPLEJOBS.
+
+ * keyboard.c (Fcommand_execute): Treat bytecode object as function.
+
+ * callint.c (Fcall_interactively): Separate decoding of fcn
+ from handling of it.
+
+ * alloc.c (Fmake_byte_code): Renamed from Fmake_compiled_code.
+ Make it pure if Vpurify_flag is non-nil.
+ (Fpurecopy): Handle byte-code objects.
+
+ * keyboard.c (get_char): Use Fsit_for for echoing timeout, not alarm.
+ Do this before timeout for auto-save since the latter is longer.
+ (request_echo): Function deleted.
+ ({set,clear}_waiting_for_input): No need for echo_now, echo_flag.
+
+1989-05-04 Joseph Arceneaux (jla at gracilis.ai.mit.edu)
+
+ * xterm.c (x_lower_window, x_raise_window): Don't do anything if
+ the window isn't visible.
+
+ * xfns.c (x_set_foreground_color): Recolor the scrollbar windows
+ appropriately, compatible with xterm.
+
+ * xterm.c (x_reset_cursor): Do cursor recoloring.
+
+1989-05-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fns.c (Frandom): With number as arg, return value < that number.
+
+ * sysdep.c [USG, BSD4_1] (random): Call `rand' twice, to get
+ 30 bits of significance.
+
+1989-05-03 Joe Arceneaux (jla at gracilis.ai.mit.edu)
+
+ * xterm.c (x_draw_box): Use the cursor_gc.
+ * xfns.c: (x_set_cursor_color, x_create_screen): Do a better job
+ with cursor colors, and use 0 line width for the cursor_gc.
+
+1989-05-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Begin changing representation of compiled functions.
+ * lisp.h (enum Lisp_Type): New type code Lisp_Compiled, like a vector.
+ (COMPILED_*): Names for slots in those vectors.
+ * alloc.c (Fmake_compiled_code): New function.
+ * eval.c (Fcommandp, Feval, Ffuncall, funcall_lambda):
+ Handle fcns of type Lisp_Compiled.
+ (Fcommandp, Fapply): Avoid directly nested ifs.
+ * print.c (print): Handle Lisp_Compiled objects.
+ * callint.c (Fcall_interactively): likewise.
+ * doc.c (Fdocumentation): likewise.
+
+ * keyboard.c (Fopen_dribble_file): nil as arg means close it.
+
+ * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c:
+ * casefiddle.c, cmds.c, data.c, dired.c, dispnew.c, doc.c, editfns.c:
+ * eval.c, fileio.c, filelock.c, floatfns.c, fns.c, keyboard.c:
+ * keymap.c, lread.c, minibuf.c, mocklisp.c, print.c, process.c:
+ * screen.c, search.c, syntax.c, undo.c, vmsfns.c:
+ Many doc fixes.
+
+1989-04-30 Joseph Arceneaux (jla at hobbes)
+
+ * xterm.c (XTring_bell): Wasn't passing selected_screen to XTflash.
+ Fixed this.
+
+ * xterm.c (XTread_socket): Don't check if server died under
+ X11. Temporary.
+
+1989-04-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fdelete_other_windows): Bug getting top edge.
+
+1989-04-29 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c (get_char): Auto save if enough time elapses.
+ (auto_save_timeout): New Lisp variable.
+
+ * xdisp.c (try_window, try_window_id): Set w->redo_mode_line
+ if should show percentage instead of `Bot'.
+
+1989-04-29 Joe Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c (x_term_init): Don't set visible bell, as it pre-empts
+ .emacs control.
+
+1989-04-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * doc.c (syms_of_doc): Make Vdoc_file_name a Lisp variable
+ named internal-doc-file-name.
+
+1989-04-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-news.h: m-news800.h renamed.
+ Removed EXPLICIT_SIGN_EXTEND and COMPILER_REGISTER_BUG.
+ Removed SEGMENT_MASK and sigmask.
+ LOAD_AVE_TYPE is now `double'; LOAD_AVE_CVT changed too.
+ Define m68000 if not defined.
+
+1989-04-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile: If COFF_ENCAPSULATE, define LD as gcc -nostdlib.
+
+ * sysdep.c: Unconditionally include sys/ioctl.h.
+
+ * m/m-mips.h [USG]: Define LIBS_TERMCAP.
+ If HAVE_X11, define HAVE_VFORK.
+
+1989-04-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m/m-altos.h: Use termcap, not terminfo.
+ Define COFF_ENCAPSULATE if using gcc.
+ Use built-in alloca if using gcc.
+ Define PURESIZE.
+
+ * lread.c (absolute_filename_p): On ALTOS, @ means absolute.
+
+ * process.c: Missing #endif.
+ * fileio.c (Finsert_file_contents): Define `p' for last change.
+ * buffer.c, floatfns.c: Typos in DEFUN doc strings.
+ * keyboard.c: Typo in DEFVAR_LISP doc string.
+
+ * window.c (Fdelete_other_windows): Fix confusion about type of W.
+
+1989-04-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile (LDFLAGS): Forgot to use LD_SWITCH_SITE.
+
+ * xterm.c (XTflash): Draw the bars here.
+ (x_invert_screen): Change to invert entire window.
+ (stufflines): Changed args to XClearArea.
+ (XTread_socket): Clean up handling of KeyPress events.
+ For LeaveWindow, ignore uninteresting ones and handle autolower.
+ For FocusIn, ignore if unknown window, and handle autoraise.
+ For MotionNotify, add real handling for X11.
+ For ConfigureNotify, count width of scroll bars.
+ Don't call change_screen_size redundantly; ignore linked expose events.
+ Update left and top pos if nec.
+ For button events, ignore if not in known window or scrollbar.
+ (x_new_selected_screen): Takes screen as arg.
+ (x_error_handler): Arg type different for X11.
+ (x_set_window_size) [HAVE_X11]: Call change_screen_size
+ before x_wm_set_size_hint.
+ (x_make_window_visible): Make scroll bars visible too, if any.
+ (x_lower_window): New fn.
+ (x_wm_set_size_hint): Take account of width of scroll bars.
+ Ior specified hint flags with those already set.
+
+ * xterm.h (HSCROLL_HEIGHT): HSCROLL_WIDTH is renamed.
+ (MAXWIDTH): Increased to 300.
+ (MAXHEIGHT): Increased to 100.
+ (DISPLAY_SCREEN_ARG): Remove parentheses.
+ (ButtonReleased, WhichMouseButton): Delete definitions.
+
+ * xmenu.c: Adapted to new X interface. X11ONLY replaced with xDISPLAY.
+ Many X11 conditionals removed.
+
+ * xfns.c (x_set_cursor_color): Special case if matches foreground.
+ (Fx_create_screen): Typo for HSCROLL_HEIGHT.
+ Use BLACK_PIX_DEFAULT, WHITE_PIX_DEFAULT.
+ Set PRETEND arg to change_screen_size.
+ Delete gray_bits; this value made global.
+ Don't call install_*_scrollbar here.
+ (x_set_horizontal_scrollbar): Define this for real.
+ (x_set_vertical_scrollbar): Corrent args to install_vertical_scrollbar.
+ (install_vertical_scrollbar): New local slider_pixmap, and set it.
+ Delete locals GC_values, temp_gc.
+ Change arrow_width, arrow_height (appears to be undefined) to 16.
+ Un-if-0 this code.
+ Use border_pixel, not foreground_pixel, for scrollbar.
+ (install_horizontal_scrollbar): Define this for real.
+ (adjust_scrollbars): Handle horizontal scrollbar.
+ Define XMoveResizeWindow as XConfigureWindow if X10 to simplify.
+ (x_resize_scrollbars): Remove #if 0 from quick-exit case.
+ Really handle horizontal scrollbar.
+ Simplify using new macro.
+ (Fx_get_mouse_event): Mostly ignore events other than buttons.
+ Use many new macros to handle X10 and X11.
+ (encode_mouse_button): New fn: encoding of which button, broken out.
+
+ * xfns.c (left_arror_cursor, etc.): New vars.
+ (x_screen_parm, init_x_parm_symbols, x_set_screen_param):
+ Define X_PARM_AUTOLOWER.
+
+ * xdisp.c (display_string, redisplay-window, DoDsp):
+ Use SCREEN_WIDTH, SCREEN_HEIGHT.
+
+1989-04-21 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * indent.c (compute_motion): Use SCREEN_WIDTH.
+ * dispnew.c (update_line): Use SCREEN_WIDTH.
+ (update_screen): Use SCREEN_HEIGHT.
+
+1989-04-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c: rename Vauto_new_screen_hook, Vdisplay_buffer_hook, and
+ Vtemp_buffer_show_hook to ..._function.
+
+ * keyboard.c: rename mouse_hook to mouse_event_function.
+
+ * buffer.c, buffer.h, cmds.c: blink-paren-hook and auto-fill-hook
+ renamed to -function.
+
+ * fileio.c (Finsert_file_contents): Allow quit in read.
+ (Fwrite_region): Allow quit in write.
+
+1989-04-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * doprnt.c (doprnt): Comment out %b since sprintf can't do it.
+
+ * Change X11 to HAVE_X11 everywhere.
+
+ * m-sun3.h: Define C_SWITCH_MACHINE as -fsoft.
+
+1989-04-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c: Don't define wstopsig, wtersig if already defined.
+
+ * sysdep.c [VMS] (sys_getenv): Copy the string before returning it.
+
+ * m-alliant.h: Define `vector'.
+
+1989-04-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (wait_reading_process_input) [sun]: If SIGIO failed
+ to be sent, send it by hand.
+
+1989-04-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fdelete_other_windows): recenter window to avoid scrolling.
+
+1989-04-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * indent.c: Include screen.h.
+
+ * indent.c (pos_tab_offset, Fvertical_motion): Compute internal width
+ correctly and uniformly.
+
+ * xdisp.c (try_window, try_window_id): Use exact internal width
+ to update tab_offset.
+ (try_window_id): pos_tab_offset value needs adjustment only if
+ starting a line in middle of a character.
+
+1989-04-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c [USG]: If TIOCGWINSZ defined, include sioctl.h.
+
+1989-04-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * eval.c (Fbacktrace): Set Vprint_level to 3 throughout.
+
+ * fns.c (Fload_average): nlist data structure is funny on convex.
+
+ * window.c (scroll_command): scroll at least 1 line in specd direction.
+
+ * cm.c (calccost): NTABS was off by 1 sometimes; take account of
+ the starting position modulo 8.
+
+ * fileio.c (Fexpand_file_name): Don't simplify /../ at start of name.
+
+ * callint.c: doc fixes.
+
+ * process.c (create_process):
+ On all USG systems, not just IRIS and AIX, don't pre-open pty's tty.
+ Move the setpgrp done for USG (no real change).
+ Tell child_setup to do a setpgrp.
+ * callproc.c (child_setup): New arg says whether to setpgrp.
+ Never setpgrp on USG.
+ (Fcall_process): Tell child_setup not to setpgrp.
+
+ * sysdep.c (init_sys_modes, reset_sys_modes): Don't try to hack
+ TIOCGLTC, TIOCGETC, etc. if HAVE_TERMIO.
+ Don't bother to undef these for XENIX.
+
+1989-04-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile (LIBES): Put LIBX first; it may depend on LIBS_MACHINE.
+
+ * m-sequent.h: Define HAVE_ALLOCA.
+
+1989-04-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * term.c (term_init): Can't use scroll region if no abs positioning.
+
+1989-04-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (Fopen_network_stream): close desc. if connect fails.
+
+1989-03-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * minibuf.c (Fall_completions): gcprotect ALLMATCHES and TAIL,
+ not STRING.
+
+ * keyboard.c (read_avail_input): Handle EBADSLT like EAGAIN.
+
+1989-03-29 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * term.c (term_init): Either ic or ip or im or IC => can insert chars.
+
+ * minibuf.c (read_minibuf_unwind): Ensure minibuf writable for erasure.
+
+1989-02-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-convex.h: Undefine NO_ARG_ARRAY.
+ Changed defns of DATA_SEG_BITS and XINT.
+ Define alloca for GCC compilation.
+
+1989-02-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m-ibmrt-aix.h: Define BROKEN_FIONREAD.
+
+1989-02-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keymap.c (Fdefine_prefix_command): Set both value and fn defn,
+ with separate syms specified for each purpose.
+
+1989-02-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * callproc.c (Fcall_process): Open /dev/null with O_WRONLY.
+
+1989-02-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (window_scroll): Allow scrolling to very end (empty screen)
+ if that's exactly where we wanted to scroll to.
+
+1989-02-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * data.c (Fkill_local_variable): New local to simplify big stmt.
+
+1989-02-09 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xdisp.c (display_text_line): cvt chars to glyfs for overlay arrow.
+
+ * sysdep.c (init_sys_modes, child_setup_tty) [IBMRTAIX]:
+ Don't ignore BRK, and don't signal it.
+
+ * process.c (pty): An IBMRTAIX conditional.
+ (create_process): Another here.
+
+1989-02-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keymap.c (Fdefine_prefix_command): Use Ffset, not Fset.
+
+1989-02-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (Fset_visited_file_modtime): New fn.
+
+ * xfns.c (Fx_create_screen) [X10]: XCreateWindow wants pixmaps as args.
+
+1989-02-03 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c (Fsit_for): It accepts 3 args.
+
+1989-02-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xterm.c (XTread_socket): For X10, make EVENT an XKeyPressedEvent.
+ (x_set_resize_hint): Call XSetResizeHint.
+
+ * process.c: Declare interrupt_input.
+
+ * sysdep.c (init_sys_modes): TIOCSTART, not TCSTART.
+
+1989-01-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xterm.h (struct x_display): `GC' renamed `gc' in all field names.
+ Field `ColorMap' renamed to `color_map'.
+ (face_gc_values): face_GC_values renamed.
+
+1989-01-28 Joe Arceneaux (rms at sugar-bombs.ai.mit.edu)
+
+ * xterm.h (face_GC): Var deleted.
+ (struct x_display): New field face_GC.
+ (VSCROLL_WIDTH, HSCROLL_WIDTH): Moved here.
+ (MINWIDTH, MINHEIGHT, MAXWIDTH, MAXHEIGHT): New vars. Eliminate them!
+ (BLACK_PIX_DEFAULT): Typo in definition.
+ (WHITE_PIX_DEFAULT): Typos in definitions; was the black default.
+
+ * xterm.c: Include ioctl.h only if BSD.
+ Include termio.h otherwise.
+ (XMapWindow) [X11]: Typo in definition.
+ (METABIT): New definition; maybe not needed.
+ (hostname, id_name, invocation_name, Vcommand_line_args): New vars
+ declared for main icon title.
+ (x_debug): Init to 1 if XDEBUG defined.
+ (dumpglyfs) [X11]: Changed args to XDrawImageString.
+ If debugging, do XFlushQueue.
+ Use screen's face_gc rather than old global one.
+ (XTflash) [not BSD]: avoid `struct itimerval'; use `alarm'.
+ (events): New table of event type names.
+ (XTread_socket): EVENT is now an XEvent even on x10.
+ Translate modifier key 1 into meta-bit.
+ For EnterNotify event, don't dumpborder or x_new_selected_screen
+ if there is an x_focus_screen.
+ For LeaveNotify event, don't ignore due to nonzero subwindow.
+ For ConfigureNotify, change screen size.
+ Do `select' check for SIGHUP only if HAVE_SELECT.
+ (x_new_selected_screen): An arg, SCREEN.
+ (x_display_cursor): dumpglyfs args changed.
+ (x_draw_box): Add GC arg to XDrawRectangle; change other args.
+ (clear_cursor): Change args to XClearArea.
+ (dumpborder): check x_input_screen, not selected_screen.
+ (x_text_icon): For X11, new arg to XGetDefault.
+ Cast values stored in icon_label.
+ (x_term_init): Hair to calculate name for icon.
+ Don't init_sigio unless SIGIO defined.
+ Call Fset_input_mode.
+ For X11, new arg to XGetDefault.
+ Set _Xdebug if debugging.
+ (x_new_font) Use XGetFont.
+ Get GC values from the screen structure.
+ (x_reset_cursor): Don't call XRecolorCursor.
+ (x_set_window_size): Call x_wm_set_size_hint, not x_set_size_hint.
+ (x_set_resize_hint): For X11, call x_wm_set_size_hint.
+ (x_wm_set_size_hint, x_wm_set_window_state, x_wm_set_icon_pixmap):
+ (x_wm_set_icon_position): New fns for X11.
+
+ * xfns.c: For X11, include Xutil.h
+ (VSCROLL_WIDTH): Moved to xterm.h.
+ (face_GC): Don't declare it.
+ (id_name): Declare this.
+ (x_decode_color): Check `white' and `black' first of all.
+ (x_set_foreground_color) [X11]: Reset foreground and background.
+ (x_set_background_color) [X11]: Missing arg to XSetWindowBackground.
+ (x_set_cursor_color) [X11]: Reset foreground and background.
+ (x_read_mouse_position) [X11]: Changed call to XQueryPointer.
+ (x_set_mouse_position) [X11]: Add args to XWarpPointer.
+ (Fx_create_screen): Set some temporary geometry parms at the beginning.
+ For X11, changed setup of iconidentity, and implement rubber-banding.
+ For X11, implement merging individual geometry parms.
+ For X11, changed args to XCreateSimpleWindow.
+ For X11, call x_wm_set_size_hint.
+ Specify name when creating icon.
+ Don't call XSetForeground, XSetBackground before making border tile.
+ New var `cursor_bits'. Init the screen's GC's.
+
+ * screen.c (Frubber_band_rectangle): For X11, just return nil.
+
+1989-01-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * buffer.c (Fbuffer_modified_tick): New fn.
+
+ * window.c (Fnext_window): Accept 3 args from Lisp.
+
+1989-01-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c (sys_suspend): Handle case of SIGTSTP but not BSD.
+
+1989-01-20 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c (init_sys_modes): Do TIOCSTART if def, like TCXONC.
+
+1989-01-19 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): New 2nd arg is extra usecs.
+ All callers changed.
+ * dispnew.c (Fsit_for, Fsleep_for): New 2nd arg says 1st arg
+ counts in milliseconds.
+
+ * buffer.c (Fkill_all_local_variables): Implement permanent locals.
+
+1989-01-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keymap.c (get_keyelt): Allow indirection within (STRING . DEFN).
+
+1989-01-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (wait_reading_process_input): If select returns there
+ is kbd input, but detect_input_pending can't find it, signal SIGIO.
+ This may avoid the X loop-on-logout bug.
+
+ * process.c (wait_reading_process_input): Flush fix_screen_hook.
+ * termhooks.h, term.c: likewise.
+
+ * xdisp.c (Fredraw_display): Don't do set_terminal_modes.
+ * dispnew.c (Fredraw_screen): likewise.
+
+ * eval.c (Fcond): If no args, return nil.
+
+1989-01-15 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * eval.c (Fbacktrace_frame): Require one arg. Return nil if too high.
+
+1989-01-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * minibuf.c (read_minibuf): Set Vminibuf_scroll_window before
+ switching windows.
+
+ * xterm.c (XTread_socket): If no HAVE_SELECT, wait for input
+ if new arg WAITP is non0. Do this by not bothering to test for
+ presence of input before reading some.
+ Check for dead connection only if new arg EXPECTED is nonzero.
+ All callers changed (keyboard and sysdep).
+
+ * Simplify keyboard input.
+ * keyboard.c (read_avail_input): Don't assume buffer is empty.
+ Don't call get_input_pending; do FIONREAD here.
+ Don't do FIONREAD if read_socket_hook, just tell it don't wait.
+ Arg EXPECTED is passed to read_socket_hook.
+ (input_available_signal): Use read_avail_input.
+ (gobble_input): Use read_avail_input; arg EXPECTED passed along.
+ (get_input_pending): let gobble_input do the work.
+
+ * VMS keyboard input should have interrupt_input nonzero.
+ * keyboard.c (Fset_input_mode, init_keyboard): [VMS] Always set
+ interrupt_input to 1.
+ (get_input_pending): Special case deleted.
+
+1989-01-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (auto_save_1): Always make auto-save file owner-writable.
+
+ * eval.c (Fbacktrace_frame): New fn.
+
+ * buffer.h: Define `fieldlist' field in a buffer.
+ * buffer.c (Fregion_fields): Return list of fields overlapping
+ specified region.
+ (syms_of_buffer): New variable buffer-field-list.
+ (reset_buffer): Clear the fieldlist.
+ (init_buffer_once): Set up default and flag for buffer-field-list.
+ * insdel.c (prepare_to_modify_buffer): If check_protected_fields,
+ call Fregion_fields to detect error.
+ Delete buffer_modify_hook.
+
+ * callint.c (Fcall_interactively): Bind `command-debug-status'
+ for each interactive command.
+
+ * keyboard.c (command_loop_1): Count # commands read.
+ (num_input_keys): New Lisp variable.
+
+ * m/m-gould.h, m/m-ibmrt-aix.h, m/m-sequent.h, m/m-sparc.h,
+ m/m-sun3.h, m/m-symmetry.h: Define A_TEXT_SEEK.
+ * unexec.c (copy_text_and_data): Don't check A_TEXT_OFFSET,
+ just A_TEXT_SEEK.
+ * unexconvex.c: Likewise.
+
+ * unexconvex.c: machine/*.h unconditionally.
+
+ * process.c (pty): Delete RTU, HPUX, IRIS alternatives to
+ PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF.
+ * s/s-hpux.h: Define PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF.
+ * s/s-rtu.h: Likewise.
+ * s/s-iris*.h: Define PTY_TTY_NAME_SPRINTF.
+
+ * sunfns.c (Fsun_change_cursor_icon): Avoid ambiguity in eval order.
+
+1989-01-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * data.c (Fdefault_value): If var set up with default value as current,
+ take the current value slot, more up to date than the default slot.
+
+1989-01-11 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c (init_display): don't handle SIGWINCH if using X.
+
+ * fileio.c (Fdo_auto_save): If file has shrunk, turn off auto-save.
+ This avoids duplicate messages and allows M-x auto-save to turn it on.
+
+ * lread.c (Fload): Look in Vafter_load_alist.
+ (syms_of_load): Define after-load-alist.
+
+1989-01-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dired.c (Fdirectory_files): 4th arg NOSORT non-nil means don't sort.
+
+ * syntax.c (scan_lists): Change Sendcomment case so that
+ ignoring comments works even for newline-terminated comments.
+
+ * minibuf.c (read_minibuf): Default Vminibuf_scroll_window
+ to the window that was selected.
+
+1989-01-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fns.c (do_yes_or_no_p): Typo, call2 => call1.
+
+ * eval.c (Fbacktrace): Each frame item should have a newline.
+
+ * emacs.c (Fkill_emacs): Don't run hook if noninteractive.
+
+ * eval.c: Define Vrun_hooks.
+ (syms_of_eval): Initialize Vrun_hooks.
+
+ * indent.c (Fmove_to_column): Use del_range; Fdelete_backward non ex.
+
+ * ymakefile (objs, floatfns.o): Re-add this file.
+ (LIBX): Install X11 case.
+
+ * ymakefile (LIB_GCC): Now a cpp macro, like all other LIB_...
+ Define null if not using GCC.
+
+ * lread.c (unreadchar): New function to unread a char
+ by stuffing it back into its stream. Now unread chars
+ work properly between multiple reads.
+ (UNREAD): Now calls that function.
+ (readchar): Don't us `unrch'; variable deleted.
+ (various): Don't initialize `unrch'.
+ (readevalloop): No need to save and restore `unrch'.
+ (read1): Don't unread a -1.
+
+ * keymap.c (get_keyelt): If keymap defn is (STRING . FOO),
+ remove just FOO. Will help HierarKey.
+
+1989-01-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * unexmips.c [IRIS_4D]: Don't include fcntl.h.
+ (unexec): Look for LIT8, LIT4 sections iff they are defined.
+
+ * buffer.c (Fkill_all_local_variables): Force redisplay of mode lines.
+
+1989-01-02 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * emacs.c (main): Do the setpgrp before handling -t.
+
+ * keyboard.c (Fsuspend_emacs): Use run-hooks to run suspend-hook
+ and suspend-resume-hook.
+
+ * buffer.c (Fkill_buffer): Execute kill-buffer-hooks
+ with buffer to be killed as current buffer.
+
+ * buffer.c (count_modified_buffers): ModExist renamed.
+
+ * emacs.c (Fkill-emacs): Execute kill-emacs-hook.
+
+ * fileio.c (auto_save_1): Set auto_save_mode_bits from visited file.
+ (Fwrite_region) [not VMS]: If auto-saving, write file with that mode.
+
+ * fileio.c (Fwrite_region): If START is a string, write that string.
+
+1989-01-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lisp.h (XMARKBIT, XSETMARKBIT): If mark bit is sign bit,
+ use sign-test for XMARKBIT; value is then 1 or 0.
+ Make XSETMARKBIT test 2nd arg for nonzeroness only.
+
+ * m/m-mips.h: Last batch of changes are only for USG.
+ (XMARKBIT, XSETMARKBIT): Deleted; the new default ones are good.
+
+ * editfns.c (Fformat): Use princ for %s.
+ New format %S converts everything (even strings) with prin1.
+ * doprnt.c (doprnt): Treat %s like %S.
+
+ * print.c (Fprin1_to_string): Opt 3nd arg non-nil does princ.
+
+1988-12-31 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * data.c (Fstring_to_int): Correct max # args.
+
+1988-12-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile (LIBES, LIB_GCC): If using GCC, link with gnulib.
+
+1988-12-29 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c: Many doc improvements.
+
+1988-12-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lisp.h (CHECK_NATNUM): New macro.
+
+ * indent.c (Fmove_to_column): 2nd arg t means indent till spec'd column
+ or change tab to spaces if necessary.
+
+ * m/m-iris4d.h: (conditionally) delete DEFAULT_ENTRY_ADDRESS
+ and change START_FILES and LIB_STANDARD.
+
+ * s/s-iris3-6.h: Define sigblock as no-op.
+
+ * m/m-mips.h: Cancel defn of VIRT_ADDR_VARIES, `static'.
+ Undef SIGIO. Define BROKEN_FIONREAD.
+ Define various HAVE_... flags a la BSD.
+ Add options, libraries for linking and compilation.
+
+ * unexmips.c (unexec): Handle additional optional sections now likely.
+ New scheme for recording what sections there are.
+ Make handling of the LIT8,LIT4 sections conditional (not on IRIS).
+
+ * fns.c (do_yes_or_no_p): New interface to Lisp function yes-or-no-p.
+ Allows the user to redefine that function.
+ All callers of Fyes_or_no_p changed.
+
+ * data.c (Fmakunbound): Don't allow nil or t as arg.
+
+ * m/m-orion105.h (LOAD_AVE_TYPE): Now `long'.
+
+1988-12-27 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dispnew.c (unhold_window_change):
+ Don't signal SIGWINCH. Instead, do pending size-changes here,
+ while holding any new size-changes that arrive, so they become
+ pending. Loop around to get the new pending ones.
+ (change_screen_size): Clear any previous pending size-change.
+
+ * search.c (place): Was clipping to (1- (point-max)) by mistake.
+
+1988-12-24 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fdelete_window): Give all this window's space
+ to one adjacent sibling.
+
+1988-12-23 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keymap.c (describe_alist): Don't lose on non-cons-cell alist elts.
+ (Fwhere_is_internal): Don't fail to step down the alist.
+ (Faccessible_keymaps): Considerable confusion in alist case.
+
+ * lread.c (Feval_current_buffer, Feval_region):
+ Save and restore point as a marker, not a number.
+ Don't restore it at all if printflag is t.
+
+ * print.c (float_to_string): Mostly rewritten; output format
+ is now a printf %-spec.
+ (Qfloat_output_format): Doc changed to match.
+
+1988-12-22 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ymakefile (obj): Include floatfns.o.
+ * data.c (syms_of_data): Fix typo Snumberp_or_marker_p.
+
+ * Allow keymaps to have other keymaps as tails.
+ Thus, one keymap can inherit from another.
+ * keymap.c (Fwhere_is_internal): Ignore non-cons elements of alist.
+ (Faccessible_keymaps): Support symbols as alist indices.
+ Ignore alist elements that aren't conses.
+
+ * m/m-sun386.h (LDAV_SYMBOL): Define as "avenrun" with no underscore.
+
+ * lread.c (read_escape): Support ANSI C `\x...' hex escapes.
+
+ * bytecode.c (Fbyte_code): fix jump operators for change in `pc'.
+
+1988-12-21 Joe Arceneaux (jla at gracilis.ai.mit.edu)
+
+ * ymakefile: Commented #endif LISP_FLOAT_TYPE. Also changed
+ the code pertaining to X11 to use the same files as X10.
+
+ * bytecode.c (Fbyte_code): Declared unsigned char *pc.
+
+1988-12-19 Joe Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xterm.c: Finished a first cut of the X11 version.
+
+1988-12-18 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sysdep.c (select): `buf' is now unsigned char.
+
+1988-12-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m/m-elxsi.h: Don't define WORD_MACHINE or CANNOT_DUMP.
+ Do define symbols for load average.
+ Define COFF and ADJUST_EXEC_HEADER.
+
+1988-12-16 Joe Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * sink.h,sinkmask.h: Same file now works for both X10 and X11.
+ * xterm.c,xfns.c (x_text_icon) Can now take new name as parameter.
+
+1988-12-16 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m/m-is386.h: No need to undef HAVE_PTYS, HAVE_SOCKETS, SYSV_PTYS
+ since s-usg5-3.h no longer defines them.
+
+1988-12-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * bytecode.el (Fbyte_code): Cache the pointer in the string
+ to avoid recalculating it at each fetch.
+ Also turn off the error check for stack overflow/underflow.
+
+1988-12-14 Joe Arceneaux (jla at apple-gunkies.ai.mit.edu)
+
+ * xfns.c: Made the first cut for X11 version.
+ * xterm.c: (x_reset_cursor) Did the X11 version.
+
+1988-12-14 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c (Fexecute_mouse_event): Set Vmouse_event. Doc fix.
+ Run Vmouse_hook at the end.
+ (syms_of_keyboard): Define var `mouse-hook'.
+
+1988-12-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * term.c (insert_glyfs): Typo, was fetching G twice.
+
+1988-12-10 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keymap.c (describe_buffer_bindings): Print mouse bindings too.
+ (describe_map): If have a chartab, use mouse-describe-key for prefixes.
+ * keymap.c (describe_{map,map_tree,alist}, describe_vector):
+ Extra arg mapping chars to their names. Calls changed.
+ * syntax.c (describe_syntax_1): Call changed.
+
+ * keymap.c (Vglobal_mouse_map): Make it exist unconditionally.
+
+ * keymap.c (apropos1): Clean up.
+ Do where-is-internal only if there is a function definition.
+ Use mouse-describe-key to turn mouse key sequences into strings.
+ (Fwhere_is): Check the mouse map too;
+ (Fwhere_is_internal): New arg is global map to use.
+ All callers changed in keypad.c and doc.c.
+ (where_is_string): New fn cvts result of Fwhere_is_internal to string.
+
+1988-12-09 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * emacs.c (stack_bottom): New variable, set in main.
+ * alloc.c (Fgarbage_collect): Save a copy of the entire stack contents.
+
+1988-12-07 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c (Funix_umask, Funix_sync): New functions.
+
+ * process.c (Fsignal_process): New function.
+
+1988-12-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c (Fsubst_char_in_region): Fix typo in when to un-modify buf.
+
+1988-12-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (create_process): Take the usg's setpgrp and the close-and
+ -open of the tty outside the TIOCNOTTY conditional, since TIOCNOTTY
+ is always missing outside BSD. Now the TIOCNOTTY conditional controls
+ only the TIOCNOTTY.
+
+1988-12-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * lread.c (Feval_current_buffer, Feval_region):
+ If there is an error, don't restore original point.
+
+ * s-hpux.h (SHORT_CAST_BUG): Define this, for HPUX version 6.2.
+
+ * ymakefile (THIS_IS_YMAKEFILE): Define macro to tell m- files
+ to do special things.
+
+ * m/m-ns16000.h: (LOAD_AVE_TYPE, etc.): Don't define them if USG.
+ * m/m-ns16000.h [USG]: Define various macros differently.
+ (munnari!sibyl.eleceng.ua.oz.au!ian@uunet.uu.net).
+
+ * sysdep.c (reset_sys_modes): Don't output a CR here.
+ * term.c (reset_terminal_modes): Do it here, but first
+ do a newline if it's a magic cookie terminal.
+
+ * sysdep.c (sys_suspend) [USG]: Use `nice' to set subshell pri. to 0.
+
+ * sysdep.c (TIOCSETN) [USG]: Use TCSETAW, not TCSETA.
+
+ * sysdep.c (setpriority) [USG]: No longer a no-op; use `nice'.
+
+ * keymap.c (Fwhere_is_internal): New 4th arg inhibits looking thru
+ indirect definitions--so you can search for one.
+
+ * alloc.c, fns.c, search.c: Doc fix.
+
+1988-12-01 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * process.c (read_process_output): Insert with insert_before_markers.
+
+ * filelock.c (lock_file_1, lock_superlock):
+ If USG, use chmod instead of fchmod.
+
+ * environ.c (Fsetenv): Doc fix.
+
+1988-11-25 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * eval.c (do_autoload): Verify FUNNAME is a symbol.
+
+1988-11-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fileio.c (Fread_file_name): New arg specifies initial minibuf cntnts.
+ * callint.c (Fcall_interactively): Calls changed.
+
+1988-10-08 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * insdel.c (make_gap): Error if buffer size exceeds range of Lisp int.
+
+1988-10-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fsplit_window): Prevent error in Fset_window_buffer.
+
+ * sysdep.c (gettimeofday): Store -1 thru tzp so caller knows invalid.
+
+ * xdisp.c (message): Pass 0 as new arg to doprnt.
+ * callint.c (Fcall_interactively): Likewise.
+ * editfns.c (format1):
+ * doprnt.c (doprnt): Allow 0 as FORMAT_END arg meaning null-terminated.
+
+1988-10-05 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * keyboard.c: If UNIPLUS, include ioctl.h.
+
+ * sysdep.c (utime): Use new flag IRIS_UTIME, not IRIS.
+ * s-iris*.h: Define that flag.
+
+1988-10-04 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * term.c (term_init): If have `im' capability, permit ins/del char
+ even without `ic'.
+
+1988-10-03 Richard Stallman (rms at corn-chex.ai.mit.edu)
+
+ * m/m-hp9000s300.h: Conditionals for BSD vs HPUX.
+
+ * ymakefile: Look for C_SWITCH_SITE, LD_SWITCH_SITE.
+
+1988-09-30 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * editfns.c (Fformat): Allow nulls in the format.
+ * doprnt.c (doprnt): likewise. End of format string is new arg.
+
+1988-09-28 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m/m-7300.h: Undefine SHORTNAMES. Supposedly newer Unix now.
+
+ * print.c (print): Support new var print_length.
+ (syms_of_print): Define Lisp var print-length.
+ * eval.c (Fbacktrace): Print unevalled form with print_length = 3.
+
+ * Makefile (tags): Add TAGS as alternate target.
+ Process the files in ../lisp/term.
+
+1988-09-27 Richard Stallman (rms at corn-chex.ai.mit.edu)
+
+ * doprnt.c (doprnt): Handle %-20s.
+ * editfns.c (Fformat): Likewise (make enough space for it).
+
+ * minibuf.c (do_completion): If get "Complete but not unique" twice
+ in a row, display all completions. New var last_exact_completion.
+
+1988-09-26 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+* * dispnew.c (baud_rate): Now a Lisp variable, not a function.
+ * termcap.c (tputs) [emacs]: Use baud_rate as the speed.
+
+1988-09-19 Richard Stallman (rms at gluteus.ai.mit.edu)
+
+ * window.c (Fset_window_configuration): Set deleted windows' buffer
+ to nil, via new function delete_all_subwindows.
+ * window.c (Fset_window_buffer): Reject deleted windows.
+ * window.c (init_window_once): Init the ->buffer fields
+ to satisfy error check in Fset_window_buffer.
+
+* * xmenu.c (Fx_popup_menu): 1st arg is now ((X Y) WINDOW).
+
+ * process.c (child_sig): If synch process terminates, clear
+ synch_process_pid and record synch_process_death.
+* * callproc.c (Fcall_process): return synch_process_death.
+ Always set synch_process_pid and do it with SIGCHLD masked off.
+ * sysdep.c (wait_for_termination) [subprocesses and not VMS]:
+ Use alarms to check every second whether synch_process_pid is 0.
+
+1988-09-17 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xdisp.c (redisplay_window): If window-point is outside restriction
+ then correct it in the window.
+ * window.c (Fdelete_buffer): Don't change buffer's point to a value
+ outside its restriction.
+
+ * sysdep.c (init_sys_modes) [MULTI_SCREEN]: Set Vterminal_screen's
+ garbaged bit.
+
+1988-09-16 Richard Stallman (rms at corn-chex.ai.mit.edu)
+
+ * keyboard.c (kbd_buffer_get_char): VMS now uses same code as Unix.
+
+ * vmsproc.c: New file for VMS only.
+ * callproc.c [VMS]: Omit Fcall_process and child_setup_tty.
+ * emacs.c (main) [VMS]: Call init_vmsproc and syms_of_vmsproc.
+
+ * lread.c (OBARRAY_SIZE): Change slightly to 509 (prime).
+
+* * keyboard.c, dispnew.c, term.c, xterm.c (meta_flag): MetaFlag renamed.
+ * keyboard.c (Fset_input_mode): 3rd arg sets meta_flag.
+ (syms_of_keyboard): Variable meta-flag deleted.
+ * sysdep.c (init_sys_modes): Don't override parity settings
+ if meta_flag is 0.
+
+1988-09-15 Richard Stallman (rms at corn-chex.ai.mit.edu)
+
+* * search.c (Fsearch_forward, etc.): All buffer-search functions
+ return new the value of point if they succeed.
+
+1988-09-13 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cmds.c (Fnewline): Correct test of ARG1 to inhibit auto-fill.
+
+1988-09-12 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * window.c (Fdelete_window): Put nil as buffer of the deleted window.
+ This makes select-window get an error earlier.
+
+1988-09-06 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * search.c (search_buffer, string_match, looking_at):
+ Report matcher stack overflow as error, not just failure to match.
+
+ * data.c (Fmake_local_variable): Add local variable to simplify
+ too-complex expression.
+
+ * fileio.c (Fdo_auto_save): No "file has shrunk" msg if < 5000 chars.
+
+See ChangeLog.2 for earlier changes.