1994-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.25 released. * xdisp.c (redisplay): Limit prev change to pause != 0. * keyboard.c (command_loop_1): Allow direct output for insert if have display table but it says nothing for this char code. Don't allow it if char code has a glyph with a face code. * process.c (create_process): Get a pty for any non-nil Vprocess_connection_type value. 1994-05-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/bsd386.h (TABDLY, TAB3): Defined. (SYSV_SYSTEM_DIR): Defined. * unexhp9k800.c (roundup): Undef before defining. * xdisp.c (redisplay): If have window change at end, redisplay again. * lread.c (defvar_bool, defvar_int, defvar_lisp, defvar_lisp_nopro): Delete third arg DOC. * s/hpux8.h (LD_SWITCH_SYSTEM): Delete the -L options. (LD_SWITCH_X_DEFAULT): Put them here instead. * Makefile.in.in (LD_SWITCH_X_DEFAULT): Define if not defined. (LIBX): Use LD_SWITCH_X_DEFAULT. * xterm.c (x_iconify_frame): Call x_set_offset, if x_make_frame_visible would do so. (x_make_frame_visible): Don't call x_set_offset if frame is iconic. (XTread_socket): For ConfigureNotify, if wm decorations exist, set NorthWestGravity. * Makefile.in.in (mostlyclean): Don't mention xmakefile*. * emacs.c (main): In batch mode, don't set the pgrp. 1994-05-27 Paul Eggert (eggert@twinsun.com) * callproc.c (child_setup): If PWD is set, set it in the child so that it points at the child's working directory. 1994-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) * m/mips4.h (C_DEBUG_SWITCH) [not __GNUC__]: Add -Wf option. * s/hpux9.h (C_SWITCH_SYSTEM): Defined. * keyboard.c [HAVE_X_WINDOWS]: Include xterm.h. * xterm.c (x_is_vendor_fkey): Function deleted. (XTread_socket, case KeyPressed): Don't clear the vendor-specific bit. Pass thru almost any vendor-specific keysym. * s/linux.h (HAVE_XRMSETDATABASE): Define if not defined. 1994-05-27 Paul Eggert (eggert@twinsun.com) * editfns.c (difftm): Don't store a long value into an int variable. 1994-05-26 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * fileio.c (Finsert_file_contents): Check for beginning of file. 1994-05-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * systime.h: Make previous change limited to HPUX. 1994-05-26 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * systime.h: If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__. 1994-05-25 Morten Welinder (terra@diku.dk) * msdos.c (output_string): New function. (internal_flush): Use output_string for faster screen update. (internal_flush): Clear to end of line by writing a string of spaces. 1994-05-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (Vx_sensitive_text_pointer_shape): Renamed from Vx_cross_pointer_shape. (syms_of_xfns): Provide Lisp var x-sensitive-text-pointer-shape. * xmenu.c (menu_item_equiv_key): Look for equiv keys both before and after one stage of symbol function indirection. * xterm.c (note_mouse_movement): Use frame's window in XQueryPointer. Special case if mouse isn't on that window. (note_mouse_highlight): Handle negative args and too-large args. * lread.c (openp): Don't use O_RDONLY. 1994-05-24 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * search.c (Freplace_match): Improve capitalization heuristics. * minibuf.c (Fminibuffer_complete_word): GCPRO completion and tem. * undo.c (Fprimitive_undo): GCPRO next and list. Check argument type before calling XINT. 1994-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (verify_overlay_modification): GCPRO tail and overlay. Avoid copying tail twice. 1994-05-24 Andreas Schwab (schwab@informatik.uni-dortmund.de) * keymap.c (describe_map): Fix the call to Fequal. 1994-05-24 Morten Welinder (terra@diku.dk) * msdos.c (do_visible_bell): Renamed from visible_bell to avoid potential conflict with variable of the same name. Caller changed. (internal_flush): Code for audio bell inserted. * s/msdos.h (INTERNAL_TERMINAL): Allow audio bell. * msdos.c (dos_rawgetc): Doc fix. Make C-, S-, and M- modifiers independent. Make modifiers work with mouse. Improve C-S- handling by using look-up tables. Fix kp-decimal problem. 1994-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.24 released. * s/hpux8.h (LD_SWITCH_SYSTEM): Put back -Xlinker for GCC. * Makefile.in.in (LIBXT): Move -lXmu before -lXt. * term.c (update_end): Undo previous change. * frame.c (other_visible_frames): No longer static. * window.c (window_loop): Fix test of dedicated flag in prev change. * window.c (window_loop, UNSHOW_BUFFER case): Put prev change in #ifdef MULTI_FRAME. * keyboard.c (menu_bar_one_keymap): When there's no item string, use Qnil. Don't ever put `undefined' into the list of definitions. 1994-05-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * window.c (window_loop, UNSHOW_BUFFER case): Kill a special frame. * xterm.c (x_set_window_size): If cursor outside new size, mark it off. * dispnew.c (change_frame_size): Keep cursor coords in range. * s/linux.h (HAVE_GETTIMEOFDAY, HAVE_MKDIR, HAVE_RMDIR) (HAVE_XSCREENNUMBEROFSCREEN): Define these if not already defined. 1994-05-22 Morten Welinder (terra@diku.dk) * unexec.c [MSDOS]: Don't include files from the dos extender and debugger. Use the that was put in the right place a couple of djgpp versions ago. Consequently, use `unsigned short' for `word16' and `unsigned long' for `word32'. 1994-05-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (note_mouse_highlight): Handle case of highlight extending past end of window. (fast_find_position): Fix bugs when no text on screen and when the mouse is on an empty line. * s/hpux9shr.h: New file. * s/hpux8.h (LD_SWITCH_SYSTEM): Add conditionals for HPUX_USE_SHLIBS. Delete explicit -Xlinker in GCC case. * unexhp9k800.c: Include config.h. [HPUX_USE_SHLIBS]: Include dl.h. (brk_on_dump): New variable. (unexec): Set brk_on_dump. (copy_file): Change buffer size to 8192. * window.c (change_window_height): Test for DELTA too small only after making it smaller based on maxdelta. 1994-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Fdelete_directory): Allow dir names as well as file names. * Makefile.in.in (${etc}DOC): Ignore error from rm. (MSDOS_SUPPORT): New variable. (lisp): Use MSDOS_SUPPORT. * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Commented out. 1994-05-20 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xfns.c (x_set_background_color): Set scroll bar backgrounds. 1994-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_wm_set_window_state) [USE_X_TOOLKIT]: Use XtSetValues. (x_iconify_frame) [USE_X_TOOLKIT]: New code for invisible window case. (XtNinitialState) [USE_X_TOOLKIT]: New #define. (x_make_frame_invisible): Mostly combine toolkit/non-toolkit cases, in the process fixing a dumb bug. 1994-05-20 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) * lread.c (openp): Only lusers assume that O_RDONLY == 0. 1994-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (UNEXEC_ALIAS): New variable, used to make the unex...o target. * xfaces.c (Fset_face_attribute_internal): Always return valid data. * textprop.c (syms_of_textprop): Set up Lisp fn get-char-property. 1994-05-19 Andreas Schwab (schwab@issan.informatik.uni-dortmund.de) * fileio.c (Finsert_file_contents): Declare buffer as unsigned char. When comparing with file size convert same_at_start to distance to buffer start. If the file matches the buffer contents truncate the buffer to the size of the file. 1994-05-19 Jim Blandy (jimb@totoro.bio.indiana.edu) * keyboard.c (read_char_minibuf_menu_prompt): Don't forget to initialize nobindings. 1994-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (ORDINARY_LINK): Define by default if __GNU_LIBRARY__ and not LINUX. * s/isc4-0.h (EXTRA_INITIALIZE): Definition deleted. * s/isc3-0.h (EXTRA_INITIALIZE): Define here. * keyboard.c (lispy_function_keys): Add `backtab'. * frame.c (syms_of_frame): Set up frame-first-window as Lisp fn. * indent.c: Add "args" to dummy definition of compute-motion. * sysdep.c [BROKEN_TIOCGWINSZ]: Undef TIOCSWINSZ too. * Makefile.in.in (FRAME_SUPPORT): Add menu-bar.el. * dispnew.c: Include errno.h. * widget.c (EmacsFrameSetCharSize): Once again preserve x and y pos, but not the same way as before. * xmenu.c (other_menu_bar_item_p): Return 0 if no menu bar. * fileio.c (Fwrite_region): Set update_mode_lines. * xmenu.c (xmenu_show): Don't look in menubar for core.height if no menu bar. * xterm.c (x_iconify_frame): Fix error messages. 1994-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dispnew.c (PENDING_OUTPUT_COUNT): If __GNU_LIBRARY__, use GNU_LIBRARY_PENDING_OUTPUT_COUNT if defined. * keyboard.c (lispy_function_keys): Add various kp- keys for X11R6. * fileio.c (syms_of_fileio): Doc fix. * s/linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Both definitions renamed from PENDING_OUTPUT_COUNT. * process.c (create_process): Don't complain about error from TIOCSETD. * window.c (Fset_window_buffer): Fix dedicated window error call. (window_loop, case UNSHOW_BUFFER): Clear dedicated flag. * fileio.c (Finsert_file_contents): Declare `buffer' as unsigned char. * dispnew.c: Include systime.h after xterm.h. * m/tek4300.h (WORDS_BIG_ENDIAN): Define this, not BIG_ENDIAN. * emacs.c (syms_of_emacs), config.h.in: EMACS_CONFIGURATION renamed from CONFIGURATION. 1994-05-17 Andreas Schwab (schwab@issan.informatik.uni-dortmund.de) * eval.c (Fbacktrace): Properly nest parentheses. (Fbacktrace_frame): Don't bomb on invalid frame number. 1994-05-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (command_loop_1): Fix test for valid display table entry, for backwards motion. * Makefile.in.in (ALL_LDFLAGS): Add LDFLAGS. (MAKE): Don't override a previous value of MAKE set by configure. * dispnew.c (update_frame): Fix test of outq and baud_rate. * emacs.c (shut_down_emacs): Don't call intern. 1994-05-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.23 released. 1994-05-17 Morten Welinder (terra@diku.dk) * msdos.c (gettimeofday): New function substituting the library function of the same name. (init_gettimeofday): New function. (init_environment): Call init_gettimeofday after possibly setting TZ environment variable. * msdos.h: Add template for init_gettimeofday. 1994-05-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * buffer.c (fix_overlays_in_range): New function. * editfns.c (Ftranspose_regions): Call it. Also update point as if it were a marker. 1994-05-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (xmenu_show): Completely ignore nameless panes except for the first pane. Ignore named panes too if KEYMAPS. * widget.c (setup_frame_gcs): Move cursor_bits variable out of setup_frame_gcs and rename to setup_frame_cursor_bits. * eval.c (syms_of_eval): Doc fixes. 1994-05-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_display_box_cursor): Preserve mouse highlight if the old cursor was in it. * editfns.c (Fcurrent_time_zone): Add cast. * s/bsd386.h (LOCALTIME_CACHE): Defined. * m/pmax.h (LOCALTIME_CACHE): Define, if not OSF1. * xfns.c (validate_x_resource_name): Don't let Vx_resource_name have invalid characters. 1994-05-14 Morten Welinder (terra@diku.dk) * msdos.c (crlf_to_lf): Fix off-by-one condition. 1994-05-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (bind_polling_period): Never decrease polling_period. * fileio.c (Fdo_auto_save): Save listdesc as an integer, only if open. (do_auto_save_unwind): Corresponding changes. * keyboard.c (echo): Don't echo motion events. * fileio.c (Fcopy_file): Close output before setting its times. Close both before discarding the unwind protects. 1994-05-13 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * buffer.c (Foverlay_lists): Doc fix. (Fnext_overlay_change): Doc fix. 1994-05-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTread_socket): For button events, clear compose_status. * Makefile.in.in (LIBXTR6): New variable. Test HAVE_X11XTR6. (LIBXT): Use it. * config.h.in (HAVE_X11XTR6): Add #undef. * editfns.c (save_excursion_restore): Don't run activate-mark-hook if mark position is unchanged. * emacs.c (main): PRIO_PROCESS renamed to SET_EMACS_PRIORITY. * callproc.c (child_setup): PRIO_PROCESS renamed to SET_EMACS_PRIORITY. Don't call nice if emacs_priority is positive. * sysdep.c (sys_subshell): PRIO_PROCESS renamed to SET_EMACS_PRIORITY. Don't call nice if emacs_priority is positive. 1994-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in: Handle Motif and Open-look. (LIBW): New variable. (LIBXT): Use it. * process.c (POLL_FOR_INPUT): Define, if appropriate. 1994-05-12 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (display_text_line): Fix check for end of buffer. 1994-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (dumpglyphs): For cursor foreground, try the face's background before the face's foreground. (XTread_socket): Call note_mouse_movement for EnterNotify. * process.c (Fopen_network_stream): Call bind_polling_period; later unbind the binding. * keyboard.c (syms_of_keyboard): Set up Qpolling_period. (bind_polling_period): New function. * callproc.c (init_callproc): Never set Vdata_directory based on the executable's location. But maybe set it from source dir. 1994-05-11 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * systty.h [__GNU_LIBRARY__]: Include . 1994-05-11 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) * xmenu.c (xmenu_show): New var mb_item. Use it to determine the menubar item that led to the menu. (Fx_popup_menu): Suppress duplicate test case in the way to determine whether the menu is handling a menu bar click. 1994-05-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (Frename_buffer): Reject empty string as new name. 1994-05-10 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * process.c (exec_sentinel): Don't deactivate the mark. Check for asynch buffer switch. 1994-05-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/bsd4-2.h (BSD): Define as 42. (BSD4_2): Define as 1. This makes it like bsd4-3.h. * floatfns.c: Don't declare logb if it is a macro. 1994-05-10 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (read_char): Preserve echo area on asynch buffer switch. 1994-05-10 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * dispnew.c [__GNU_LIBRARY__]: Redefine PENDING_OUTPUT_COUNT even if already defined. 1994-05-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Finsert_file_contents) [MSDOS]: Ignore the replace feature. * buffer.c (syms_of_buffer): Doc fix. * keyboard.c (syms_of_keyboard): Doc fix. 1994-05-10 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (safe_run_hooks): New function, extracted from command_loop_1. Bind inhibit_quit. 1994-05-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (string_width): Deleted. * xterm.c (x_set_window_size) [USE_X_TOOLKIT]: Preserve the main widget's x and y position. 1994-05-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (process_send_signal): If PREFER_VSUSP, use VSUSP instead of VSWTCH. * s/sco4.h (PREFER_VSUSP): Defined. * s/irix5-0.h (PREFER_VSUSP): Defined. * fileio.c (Fdo_auto_save): Write a list of all auto save file names. (Vauto_save_list_file_name): Specify file name to put them in. (syms_of_fileio): Set up Lisp var. 1994-05-07 Morten Welinder (terra@diku.dk) * callproc.c [MSDOS]: Rename Vbinary_process to Vbinary_process_output. (syms_of_callproc) [MSDOS]: Rename lisp variable binary-process to binary-process-output. (Fcall_process, syms_of_callproc) [MSDOS]: Use new names. (Vbinary_process_input) [MSDOS]: New variable. (syms_of_callproc) [MSDOS]: Declare binary-process-input. (Fcall_process_region) [MSDOS]: Bind binary-process-input temporarily to buffer-file-type. (init_callproc) [MSDOS]: Don't add lib-src as the wrapped binaries are in bin. 1994-05-07 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (Qbuffer_file_type): Var deleted. * callproc.c (Qbuffer_file_type): Var added. * keyboard.c (read_char): Don't test do_mouse_tracking; instead, do prepare_menu_bars only if commandflag > 1. (read_char): Do call add_command_key for mouse-movement events. Test detect_input_pending, not EVENT_QUEUES_EMPTY, for kbd menus. But don't test either one for mouse menus. * undo.c (record_delete): Record the old point value only right after a boundary. 1994-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/dgux5-4r3.h: Use dgux5-4r2.h under new name. * puresize.h (PURESIZE): Increase to 235000 and 205000. 1994-05-06 Morten Welinder (terra@diku.dk) * s/msdos.h: Define NO_MATHERR. * floatfns.c: Don't guard DOMAIN && SING && OVERFLOW check by an #ifndef MSDOS. 1994-05-06 Francesco Potorti` (pot@cnuce.cnr.it) * m/delta.h: (SYSTEM_MALLOC): deleted. The problem isn't there. 1994-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_set_offset): Set gravity and size hint before moving the window. * keyboard.c (make_lispy_event): Ignore mouse events for deleted frame. * xterm.c (XTread_socket): For ReparentNotify, use x_top_window_to_frame. Also recompute frame position using x_real_positions. For ConfigureNotify, don't ignore send_events. Also recompute frame position using x_real_positions. 1994-05-05 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * window.c: Use PT, not point. (Fdelete_other_windows): Do nothing if w->start is outside region. Don't temporarily move point when recomputing window position. 1994-05-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (x_real_positions): New function. * keyboard.c (make_lispy_movement): Don't call pixel_to_glyph_coords if FRAME is 0. * xterm.c (x_set_offset): Update XNegative and YNegative for new pos. (x_calc_absolute_position): Clear XNegative and YNegative. * xrdb.c (x_load_resources) [USE_X_TOOLKIT]: Don't call XrmInitialize. * keymap.c (describe_map): Ignore bindings for all except symbols and integers. * unexelfsgi.c (unexec): Handle debugging info properly. * s/freebsd.h: Don't use netbsd.h. Do all those things right here. 1994-05-05 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xmenu.c (Fx_popup_menu): Restore accidentally-deleted call to mouse_position_hook. (xmenu_show): Disallow empty menus. 1994-05-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (last_point_position_buffer): New variable. (command_loop_1): Set it. * undo.c (record_delete): Test it. * commands.h (last_point_position_buffer): Declared. * Makefile.in.in: Put in a separator for where to start cpp procssing. Above that, use Make-style comments. This goes with changes in ../configure.in. 1994-05-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/isc4-0.h (NEED_SIOCTL, ISC4_0): Declared. * sysdep.c: Test ISC4_0 along with TIOCGWINSZ. * process.c (wait_reading_process_input): Don't call prepare_menu_bars unless we are going to redisplay for a garbaged frame. (read_process_output): Call prepare_menu_bars if waiting for input. (exec_sentinel): Call prepare_menu_bars if waiting for input. * s/dgux5-4r3.h, s/dgux5-4r2.h: Renamed from ..4R.. * eval.c (error): Fix logic in call to xmalloc/xrealloc. * xterm.c (x_make_frame_invisible): Use XWithdrawWindow again. * s/sol2.h, s/sol2-3.h (LD_SWITCH_SYSTEM): Use ./prefix-args, not -Xlinker directly. 1994-05-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (x_set_cursor_color): Fix typo. * xselect.c (x_own_selection): Catch errors around XSetSelectionOwner. * buffer.c (syms_of_buffer): Doc fix. * xdisp.c (display_text_line): Since HPOS is negative, avoid writing before the beginning of the charstarts line. * minibuf.c (read_minibuf): Clear previous_echo_glyphs. 1994-05-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dired.c (file_name_completion_stat): Use both lstat and stat. 1994-05-02 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xterm.c (show_mouse_face): Fix test for cursor in highlighted area. (note_mouse_highlight): Reorder test for simplicity. (note_mouse_highlight, show_mouse_face, clear_mouse_face, x_destroy_window): Use row/col instead of buffer position to keep track of highlighted area. 1994-05-02 Francesco Potorti` (pot@cnuce.cnr.it) * m/delta.h: (SYSTEM_MALLOC): Defined, since GNU malloc does not work. (BCOPY_UPWARD_SAFE): Defined to 0 for the Green Hills compiler. 1994-05-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (create_process): Undo April 19 setsid change. 1994-05-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.h (struct x_display): New field size_hint_flags. * xfns.c (Fx_create_frame): Set the size_hint_flags field. Don't call x_calc_absolute_position. * xterm.c (x_calc_absolute_position): Use size_hint_flags. New FLAGS arg deleted. Callers changed. * xfns.c (x_figure_window_size): Handle `-' for top or left. (Fx_parse_geometry): Handle one element at a time. Give `-' when appropriate. (x_figure_window_size): Allow just height or just width. * xterm.c (x_wm_set_size_hint): Don't try to handle negative positions. (x_calc_absolute_position): New arg FLAGS. Use XNegative and YNegative. (x_set_offset): Pass new arg. * xfns.c (x_figure_window_size): Set USPosition only if user-position is non-nil; otherwise, if pos is specified, set PPosition. Likewise for USSize and PSize. (Fx_create_frame): Use XNegative and YNegative to set win_gravity. [USE_X_TOOLKIT] (x_window): Use XNegative and YNegative to set win_gravity. Pass new arg to x_calc_absolute_position. * editfns.c (Ftranspose_regions): Take addresses only after move gap. Cast result of alloca. Use xmalloc instead, for large objects. Always copy the middle portion directly; never put it in temp. Always move the gap to START1 or END2, whichever is nearer. * keyboard.c (Ftrack_mouse): Call prepare_menu_bars at the start. (read_char): Don't call prepare_menu_bars if doing mouse tracking. 1994-04-30 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * puresize.h (PURESIZE) [MULTI_FRAME]: Increase to 232000. 1994-04-30 Paul Reilly (pmr@churchy.gnu.ai.mit.edu) * s/dgux5-4R3.h: new file. * s/dgux5-4R2.h: new file. * s/dgux.h (SVR4): Make conditional on ELF environment. (INTERRUPT_INPUT, ORDINARY_LINK): Set by default. (C_COMPILER, LINKER and MAKE_COMMAND): Remove. * process.c (IN_ADDR, NUMERIC_ADDR_ERROR): Made conditional on HAVE_BROKEN_INET_ADDR. 1994-04-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (record_asynch_buffer_change): Block SIGIO. (force_auto_save_soon): Call record_asynch_buffer_change. * emacs.c (memory_warning_signal): Call force_auto_save_soon. * keyboard.c (force_auto_save_soon): New function. * process.c (Fopen_network_stream): Retry the connect if EADDRINUSE. Ignore EISCONN. 1994-04-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * eval.c (init_eval): Initialize when_entered_debugger to -1. 1994-04-29 Jim Blandy (jimb@totoro.bio.indiana.edu) * data.c (Ffset, Ffmakunbound): Signal an error if SYM is nil or t. 1994-04-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * data.c, floatfns.c, lread.c [MSDOS]: Re-enable some #undef's. 1994-04-29 Karl Fogel (kfogel@phylo) * editfns.c (Ftranspose_regions): New function. (transpose_markers): Helper func for above. (syms_of_frame): Call defsubr for Stranspose_regions. 1994-04-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.h (x_mouse_grabbed): Declared. * xmenu.c (xdialog_show): Clear x_mouse_grabbed. * frame.c (Fframe_live_p): Alternative defn for not MULTI_FRAME. (syms_of_frame): Call defsubr for it. * process.c: Doc fixes. * xterm.c (x_wm_set_size_hint): Always set PWinGravity. Rename the args. Compute x and y fields from negative positions. Use XGetWMNormalHints if X11R4 or newer. (x_make_frame_visible): Call x_set_offset only if not USE_X_TOOLKIT. (x_make_frame_invisible): Call x_wm_set_size_hint. (x_set_offset): Pass 0 as 3rd arg to x_wm_set_size_hint. (x_set_window_size): Likewise. Set win_gravity field here if nec. * xfns.c (Fx_create_frame): Pass 0 as 3rd arg to x_wm_set_size_hint. (x_figure_window_size): Fix typo setting XNegative. * minibuf.c (Fminibuffer_complete): Add third arg to Fset_window_start. * buffer.c (init_buffer_once): Initialize buffer_file_type field right. * m/dos386.h (HAVE_MOUSE): Defined. (PURESIZE): Increase value. * xdisp.c (decode_mode_spec): Fix handling of `%t'. * msdos.c, dosfns.c: Finish downcasing mouse_init1, mouse_off, mouse_check_moved, mouse_pressed, mouse_released, mouse_on, mouse_init. * dispnew.c (update_frame): Fix previous change: Unconditionally bzero at the end. 1994-04-29 Morten Welinder (terra@diku.dk) * msdos.c (visible_bell): Now static. Make the asm volatile. Don't expect register %gs to survive calls to other functions (just to be safe, %gs will survive at present). * keyboard.c (make_lispy_movement): if HAVE_MOUSE then include the mouse handling code. * msdos.c (glyph_to_pixel_coords, pixel_to_glyph_coords) new functions imitating those in xterm.c. * s/msdos.h (getppid): Definition deleted. * msdos.c (dos_rawgetc): Key numbers are biased by 0xff00. * dosfns.c (Fmode25, Fmode4350): Clean up the coding and return a well-defined value. (syms_of_dosfns): Doc fix. 1994-04-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keymap.c (Fsingle_key_description): Undo previous change. (describe_map): Skip string entries. * minibuf.c (do_completion): Initialize vars before gcpro. 1994-04-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dispnew.c (update_frame): Move those assignments even farther down. * xterm.c (x_wm_set_size_hint): Don't set PMaxSize. Don't touch win_gravity field if no PWinGravity. 1994-04-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * print.c: Doc fixes. * keymap.c (describe_map_tree, describe_buffer_bindings): gcpro stuff. (describe_buffer_bindings): Delete unused code. 1994-04-28 Per Abrahamsen (abraham@research.att.com) * keymap.c (Fsingle_key_description): Accept strings as keys since the buffer menu uses them. 1994-04-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dispnew.c (update_frame): Move assignments to current_frame and desired_frame. * floatfns.c (logb): Test HPUX, not hpux. * s/sunos4-1.h (LIBS_SYSTEM): #if 0'd. * xmenu.c (Fx_popup_menu): Doc fix. * xfns.c (x_window) [USE_X_TOOLKIT]: Call XSetWMHints. 1994-04-28 Michael D. Ernst (mernst@monozygote.research.microsoft.com) * fileio.c (inhibit-file-name-handers): Correct documentation. 1994-04-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xterm.c (XTread_socket): Only top window cares about LeaveNotify. * frame.c (Fframe_parameters) [!MULTI_FRAME]: Unstub it again. 1994-04-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (syms_of_emacs): Doc fix. * callproc.c (child_setup): Test PRIO_PROCESS, as in sys_subshell. * m/hp800.h: Renamed from hp9000s800.h. (hp9000s800): Undo previous change. * process.c (create_process): If vfork fails, close forkin and forkout. 1994-04-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_make_frame_visible): Use XtMapWidget, not XtPopup. * m/hp9000s800.h (hp800): Define this instead of hp9000s800. * Makefile.in.in (mostlyclean): Remove liblw.a. * lread.c (read1): Allow `\C- ' and `\C-?'. 1994-04-27 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * unexmips.c (unexec): Cast pointers. Fix error message. * Makefile.in.in: Use C-style comments. * frame.c (Fframe_parameters) [!MULTI_FRAME]: Replace with stub. (Fframe_parameters, Fmodify_frame_parameters) [!MULTI_FRAME]: Remove extra docstring. 1994-04-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sunos4-0.h (LD_SWITCH_SYSTEM): Undo previous change. * xterm.c (XTread_socket, case ClientMessage): Don't call XSetInputFocus if event is not for an existing frame. * xmenu.c (xmenu_show, xdialog_show): If we unread some events, set interrupt_input_pending. * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Never pass motion events to the toolkit. CONFIGURATION now comes via config.h. * Makefile.in.in (emacs.o): Use the default .c.o command. (configuration): Make variable deleted. * config.h.in (CONFIGURATION): Add #undef. * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Undo previous change. (x_wm_set_size_hint): Do set max_height, max_width, and PMaxSize flag. 1994-04-26 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * process.c (create_process) [HAVE_TERMIOS && LDISC1]: Use tcsetattr. 1994-04-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * alloc.c (mark_object, case frame): Mark menu_bar_vector field. 1994-04-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (Vunread_command_events): Renamed from unread_command_events. All uses changed. * command.h (Vunread_command_events): Renamed. * lread.c (read_filtered_event): Use Vunread_command_events. * minibuf.c (temp_echo_area_glyphs): Use Vunread_command_events. * keyboard.c (read_char): Don't use menus if we have events waiting. * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Let toolkit handle menu bar click. 1994-04-25 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * insdel.c: Use PT, not point. (gap_left, gap_right, adjust_markers): Make these functions static. (adjust_point): New function. (insert_1, insert_from_string_1, del_range_1): Use it. * xterm.c (x_term_init): Add explicit cast. (XTmouse_position): Don't use last_mouse_frame if it's dead. (XTread_socket): Ditto. * textprop.c (F*_property_change): Typecheck limit argument. 1994-04-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xdisp.c (syms_of_xdisp): Set up Qmenu_bar_update_hook. (update_menu_bar): Run that hook. Fix failure to update menu bar when w->update_mode_line was nil. * frame.h (struct frame): New fields menu_bar_vector and menu_bar_items_used. * frame.c (make_frame): Initialize fields menu_bar_vector and menu_bar_items_used. * keyboard.c (menu_bar_item): Put a list of keymaps into the third slot of an item in menu_bar_items_vector. 1994-04-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Finsert_file_contents): Fix accessing buffer_file_type since it is t or nil. Change to handle t or nil as value of find-buffer-file-type. * buffer.c (Fkill_all_local_variables): Doc fix. 1994-04-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (create_process): Use SETUP_SLAVE_PTY only if pty_flag. Likewise for child_setup_tty. * window.c (Fselect_window): Use Fselect_frame. * frame.c (Fset_frame_selected_window): New function. (syms_of_frame): Set up Lisp function. * lisp.h (Vascii_canon_table, Vascii_eqv_table): Declared. * buffer.c (reset_buffer_local_variables): Use Vascii_eqv_table and Vascii_canon_table. * window.c: Implement special frames for specified buffers. (Vspecial_display_buffer_names, Vspecial_display_regexps) (Vspecial_display_function): New variables. (syms_of_window): Set up Lisp variables. (Fdisplay_buffer): Handle them. 1994-04-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (alloca.o): Use config_h. (config_h): Use M_FILE and S_FILE. (S_FILE, M_FILE): New variables hold names of config files. * fileio.c (syms_of_fileio): New Lisp var inhibit-file-name-operation. (Ffind_file_name_handler): Obey that variable. Use new meaning for inhibit-file-name-handlers. * config.h.in (HAVE_LIBRESOLV): Add #undef. * s/sunos4-1.h (LIBS_SYSTEM): Test HAVE_LIBRESOLV, not HAVE_RES_INIT. Do not test HAVE_GETHOSTNAME. * s/sunos4-1.h (LIBS_SYSTEM): Invert the HAVE_RES_INIT condition. 1994-04-22 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * fileio.c (Ffind_file_name_handler): New argument OPERATION. All callers changed. 1994-04-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (max_process_desc): New variable. (wait_reading_process_output): Don't look for process output beyond that many bits. (create_process, Fopen_network_stream, deactivate_process): Update it. (init_process): Initialize it. * frame.c (Fmouse_pixel_position, Fset_mouse_pixel_position): New functions. (syms_of_frame): Set up Lisp functions. * xterm.c (x_set_mouse_pixel_position): New function. 1994-04-21 Simon Leinen (simon@lia.di.epfl.ch) * process.c (send_process): If fpathconf fails, use 250. 1994-04-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (init_cmdargs): Check only for etc and lib-src subdirs when setting Vinstallation_directory. (syms_of_emacs): Make Lisp vars invocation-name, invocation-directory and installation-directory. * lread.c (init_lread): Maybe put build-time Lisp dirs on load-path. * callproc.c (init_callproc): Set Vdoc_directory like Vdata_directory. * lread.c (init_lread): Improve warning message. * xterm.c (x_make_frame_visible): Args to x_set_offset were swapped. 1994-04-20 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xterm.h (x_top_window_to_frame): Declare this function. 1994-04-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fns.c: Doc fixes. * Makefile.in.in (TAGS): Split off included tags file lisp/TAGS. (../lisp/TAGS): New target uses recursive make. (ctagsfiles, lisptagsfiles): New variables. * xfns.c (x_window): Test FRAME_EXTERNAL_MENU_BAR to decide on calling initialize_frame_menubar. 1994-04-20 Francesco Potorti` (pot@fly.cnuce.cnr.it) * m/delta.h (HAVE_SOCKETS): defined if HAVE_INET_SOCKETS is defined. 1994-04-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * frame.c (Fmodify_frame_parameters, Fframe_parameters): Define even if not MULTI_FRAME. * config.h.in (HAVE_INET_SOCKETS): Add #undef. * xterm.c (XTread_socket): Delete the non-NEW_SELECTIONS code and simplify the toolkit conditional for those cases. * xterm.c (XTread_socket, case ClientMessage): Always use x_window_to_frame. * xfns.c (x_top_window_to_frame): New function. 1994-04-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (create_process): Call setsid only if pty_flag. * xterm.c (x_make_frame_invisible): Explicitly clear visible and iconified flags, as well as the async flags. 1994-04-19 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keymap.c (describe_map): Merge with describe_map_2. (describe_map_tree, describe_map): Skip keymaps we've seen before. * keyboard.c (read_avail_input): Don't retry read. 1994-04-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (Vlast_event_frame): Define unconditionally. (syms_of_keyboard): Always make the Lisp var. * Makefile.in.in (${etc}DOC): Delete redundant version.el from cmd. 1994-04-19 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (read_avail_input): Test EINTR, not EAGAIN. Write loop as a do-while. * puresize.h (PURESIZE) [!MULTI_FRAME]: Increase to 200000. 1994-04-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTread_socket): Call XSetInputFocus. 1994-04-18 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * config.h.in: (EMACS_INT, EMACS_UINT): Omit if NOT_C_CODE. 1994-04-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) * mem-limits.h (get_lim_data): Handle NO_LIM_DATA. * xterm.c (x_make_frame_invisible) [USE_X_TOOLKIT]: Use XtPopdown. (XTread_socket): Call _XEditResCheckMessages only if HAVE_X11R5. * m/convex.h (CRT0_DUMMIES): Ignore one arg. (LIBS_TERMCAP): Use the system's termcap. * process.c (create_process): Fix previous change. 1994-04-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (Xatom_editres_name): Declared. (Fx_open_connection): Initialize it. * xterm.c (Xatom_editres_name): Variable defined. (XTread_socket): Handle that kind of message. (x_term_init): Specify -name option in XtAppInitialize. * xterm.c (Qface, Qmouse_face): Supply missing Lisp_Object. * config.h.in (EMACS_INT, EMACS_UINT): New typedefs. * casetab.c (set_case_table): Handle nil for EQV with non-nil CANON. (Fcase_table_p): Accept nil for EQV with non-nil CANON. * keyboard.c (read_avail_input): Test both aix386 and _BSD. * window.c (set_window_width): Don't delete root window for being too narrow. * xterm.c (dumpglyphs): When HL=2, check explicitly for using the frame's default font or not. * keyboard.c (read_char_x_menu_prompt): Don't check for value = nil if value was originally a cons. * xmenu.c (xmenu_show): Fix typo in last change. 1994-04-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * frame.c (Fmouse_position): Don't clip. * keyboard.c (make_lispy_movement): Don't clip. 1994-04-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/netbsd.h: Add NO_SHARED_LIBS conditional. * s/freebsd.h: Rewrite to use netbsd.h and define NO_SHARED_LIBS. * keyboard.c (read_avail_input): Fix previous change--test _BSD. * data.c (Fsetq_default): Doc fix. * eval.c (Fsetq): Doc fix. * Makefile.in.in (configuration): Use SET_MAKE to get the value of $(MAKE). 1994-04-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.h (map_prompt): Declared. * xmenu.c (xmenu_show): Don't cons on subprefix_stack[j] if nil. * keyboard.c (read_avail_input): Don't generate SIGHUP of aix386; only on other AIX systems. * xterm.c (XTread_socket): For UnmapNotify, use x_any_window_to_frame. * process.c (create_process): Test TIOCSETD along with NTTYDISC. * frame.c (Fset_frame_position): Pass new arg to x_set_offset. * xterm.c (x_set_offset): New arg CHANGE_GRAVITY. (x_make_frame_visible): Pass new arg. * xfns.c (Fx_create_frame): Delete excess args to x_wm_set_size_hint. * xterm.c (x_wm_set_size_hint): Args spec_x and spec_y deleted. (x_set_offset, x_set_window_size): Don't pass those args. * fileio.c (Finsert_file_contents): Fix test for unchanged file. * xterm.c (x_destroy_window): Just clear out mouse_face... vars. * keyboard.c (syms_of_keyboard): Init and staticpro system_key_syms. (modify_event_symbol): Use the cdr of the alist entry. Whenever value is nil, intern a new symbol. * Makefile.in.in (LIBX): Put LIBXT after LD_SWITCH_X_SITE. 1994-04-15 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (fix_glyph) [HAVE_X_WINDOWS]: When glyph face is 0, use the computed face as given. * keyboard.c (read_avail_input): Fix comment delimiter. * m/pmax.h (C_SWITCH_X_MACHINE): add -DNeedVarargsPrototypes=0. 1994-04-14 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * scroll.c (calculate_scrolling): Add explicit casts. 1994-04-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_wm_set_size_hint): Use win_gravity from frame. * xterm.h (x_display): New field win_gravity. * xfns.c (Fx_create_frame): Set win_gravity field. * xfns.c (x_window, both versions): Don't call x_calc_absolute_position. * xterm.c (x_make_frame_visible): Call x_set_offset. * xterm.c (x_make_frame_visible): Don't call XMapSubwindows. (x_iconify_frame): Likewise. * s/isc4-0.h (LIBS_SYSTEM): Defined. * keyboard.c (make_lispy_event): Put mouse event code into MULTI_FRAME conditional. * xfns.c (Fx_list_fonts): Error if non-X frame used. * xdisp.c (update_menu_bar): Take frame as arg. (update_menu_bars): Function deleted. (prepare_menu_bars): Call update_menu_bar; do it for all frames. Simplify computation of all_windows; ignore irrelevant criteria. * xterm.h (HAVE_X11R4): If we define HAVE_X11R5, define this too. * xterm.c (pending_autoraise_frame): New variable. (x_new_focus_frame): Don't autoraise here; just set that var. (XTread_socket): Raise that frame here. 1994-04-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (inherited_pgroup): Conditionalize on BSD_PGRPS. * s/netbsd.h (TABDLY): Defined. * doc.c, fileio.c, unexsunos4.c [HAVE_UNISTD_H]: Include unistd.h. * dired.c (Ffile_attributes): Cast st_size to int. * xmenu.c (last_menu_bar_item_end): New variable. (xmenu_show): Set that var. (other_menu_bar_item_p): Return 0 if mouse is not in any menu bar item. * keymap.c (describe_map_tree): Fix call to Flookup_key. * xfns.c (x_window): Don't call initialize_frame_menubar if no menu bar. (Fx_create_frame): Default menu-bar-lines parm before calling x_window. 1994-04-13 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * dispnew.c (Vglyph_table): Doc fix. * frame.c (Fmouse_position) [MULTI_FRAME]: Use pixel_to_glyph, not glyph_to_pixel. Skip the conversion if args are nil. [!MULTI_FRAME]: All results are nil. Remove extra docstring. * window.c (Fnext_window, Fprevious_window, Fdisplay_buffer): Test MULTI_FRAME when frame-walking. (Fset_window_configuration): Only call X fns if HAVE_X_WINDOWS. * fns.c (Fy_or_n_p, Fyes_or_no_p): Test HAVE_X_MENU in popup code. 1994-04-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * indent.c (compute_motion): Do not abort if window shows some other buffer. (Fcompute_motion): Use whatever buffer is current. 1994-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/bsd4-2.h (BSD): Give it a number as definition. * s/sol2-3.h: Fix #include file name. * xterm.c (x_destroy_window): Call clear_mouse_face if necessary. * xmenu.c (xmenu_show, xdialog_show): Add casts in assignments to widget_value fields from string contents. (dispatch_dummy_expose): Cast arg to XtDispatchEvent. [!USE_X_TOOLKIT] (xmenu_show): Right-justify char equivalents. Use alloca for concatenated strings, if alloca is fast. * lisp.h (Fprocess_send_eof, Foverlay_get): Declared. * keymap.c (Fkey_binding): Declare accept_default. * sysdep.c (sys_siglist) [sun]: Check SIGFREEZE and SIGTHAW defined. 1994-04-12 Per Bothner (bothner@cygnus.com) Provide a hook for elisp to signal a changed window size to a process inferior. * sysdep.c (set_window_size): New function. * process.c (Fset_process_window_size): New function. 1994-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * eval.c (specbind): Use find_symbol_value. * xfaces.c (frame_update_line_height): Don't call x_set_window_size. Return 1 if line_height changed. (Fset_face_attribute_internal): Call x_set_window_size here if nec. * xterm.c (x_new_font): Always call x_set_window_size. * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Use XtTranslateCoords. * process.c (send_process): Test pty_flag field for nil, not 0. 1994-04-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sunos4-0.h (LD_SWITCH_SYSTEM): Alternate definition if __GNUC__. * callproc.c: If we include fcntl.h, define INCLUDED_FCNTL. * systty.h: Check for INCLUDED_FCNTL already defined. * xterm.c (x_wm_set_size_hint): If PROMPTING is 0, copy the old win_gravity field. If USPosition is set, don't set PWinGravity. * keyboard.c (read_avail_input): Separate local var n_to_read so that reading doesn't clobber that info when it sets nread. * s/isc4-0.h (LIBS_SYSTEM): Defined. * emacs.c (main): Fix typo in prev. change. * Makefile.in.in (temacs): Include ${ALL_LDFLAGS} within the call to YMF_PASS_LDFLAGS. 1994-04-11 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (make_lispy_event): Initialize item. * indent.c (vmotion): Use minibuf_prompt_width despite window-start. * print.c (printchar, strout): Use FRAME_PTR, not struct frame *. * frame.c (Fmouse_position) [!MULTI_FRAME]: Declare col and row. 1994-04-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (make_lispy_movement): Conditionalize on MULTI_FRAME. (kbd_buffer_get_event): Call make_lispy_movement only if MULTI_FRAME. * xselect.c (x_decline_selection_request): Call XFlushQueue. * eval.c (Fsetq): Doc syntax fix. * print.c (syms_of_print): Doc syntax fix. * editfns.c (Fuser_real_login_name): Doc syntax fix. * data.c (Fsetq_default, Fmake_local_variable): Doc syntax fix. 1994-04-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_wm_set_size_hint): If change_gravity is 0, just don't set the gravity. 1994-04-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (dumpglyphs): Clear any extra pixel rows below the text. * xfns.c (x_figure_window_size): Don't call x_calc_absolute_position. (x_window): Separate into two alternative definitions. Call x_calc_absolute_position here. * widget.c (EmacsFrameSetCharSize): Do not attempt to preserve the window position. * xfns.c (Fx_list_fonts): Doc fix. * buffer.c (Vafter_change_functions, Vbefore_change_functions): New variables. (syms_of_buffer): Set up Lisp vars. * buffer.h (Vafter_change_functions, Vbefore_change_functions): Declared. * insdel.c (before_change_functions_restore): (after_change_functions_restore): New functions. (signal_before_change): Handle Vbefore_change_functions. (signal_after_change): Handle Vafter_change_functions. * cmds.c (internal_self_insert): Test Vafter_change_functions, Vbefore_change_functions. * xfaces.c (frame_update_line_height): Check param_faces[i] not null. * emacs.c (main): Handle EXTRA_INITIALIZE. * s/isc4-0.h: New file. * keymap.c (get_keymap): Pass 1 as ERROR to get_keymap_1. (get_keyelt): New arg AUTOLOAD means load keymaps indirected thru. All callers changed; most pass 0. (Fdefine_key, Flookup_key): Load all the keymaps we look in. * editfns.c (make_buffer_string): Copy properties whenever we have some, even if they don't change. * xterm.c (x_display_box_cursor): Explicitly clear full height of line. (dumpglyphs): New arg just_foreground. Callers changed. (x_set_window_size): Call XSync. * xterm.c (note_mouse_highlight): Do nothing if buffer has changed. * xterm.c (x_new_font): Fix setting line_height. Support fonts of different heights, using tallest as line height: * xfaces.c (frame_update_line_height): New function. (Fset_face_attribute_internal): Call that. * xterm.c (x_new_font): If frame is new, set line_height field. Otherwise call frame_update_line_height. * xterm.h (struct x_display): New field line_height. (VERTICAL_SCROLL_BAR_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW) (CHAR_TO_PIXEL_ROW): Use line_height field. * xterm.c (stufflines, scraplines, dumprectangle, x_do_pending_expose) (pixel_to_glyph_coords, x_draw_box, clear_cursor, x_display_bar_cursor) (x_set_resize_hint, x_set_mouse_position, x_wm_set_size_hint) (XTclear_end_of_line, redraw_previous_char): Use line_height field. * xfns.c (x_char_height): Use line_height field. * widget.c (get_default_char_pixel_size): Use line_height field. * dispnew.c (update_line): Use line_height field. * xmenu.c (Fx_popup_menu): Use line_height field. 1994-04-09 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * indent.c (Fvertical_motion): Use window arg, not selected_window. 1994-04-08 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu) * xterm.c (show_mouse_face): Change the mouse cursor accordingly. * xterm.h (cross_cursor): New field for struct x_display. * xfns.c (syms_of_xfns): Define Vx_cross_pointer_shape. (Vx_cross_pointer_shape): New variable. (Vx_cross_pointer_shape): Create a mouse face cursor for the mouse-face properties. 1994-04-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (Fx_popup_dialog): Doc fix. (list_of_items): Handle nil in item list as left/right boundary. (push_left_right_boundary): Record the boundary. (xmenu_show): Disregard a boundary if any. (xdialog_show): Really obey a boundary. 1994-04-07 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * intervals.h (Qintangible): New symbol, replacing Qhidden. * textprop.c (syms_of_textprop): Initialize it. * intervals.c (set_point): Skip past intangible regions. * term.c (system_uses_terminfo): New variable. (syms_of_term): New function, to initialize it. * emacs.c (main): Call syms_of_term. * termhooks.h (enum event_kind): Add buffer_switch_event. * keyboard.c (kbd_buffer_get_event): Make it lispy. (record_asynch_buffer_change): New. Store it in the event queue. * process.c (read_process_output): If buffer changes, record that fact. * minibuf.c (Vminibuffer_exit_hook): New variable. (read_minibuf): Run hook when exiting minibuffer. * xdisp.c (copy_part_of_rope): Replace non-glyph with 0. * insdel.c (insert_1): New function, extracted from insert. (insert_from_string_1): Likewise, taken from insert_from_string. (insert, insert_from_string): Call the new functions. (insert_before_markers, insert_from_string_before_markers): Adjust the markers before calling the after-change function. 1994-04-07 Richard Stallman (rms@mole.gnu.ai.mit.edu) * scroll.c (struct matrix_elt): Use int, not short. Use unsigned char for insertcount and deletecount. (INFINITY): Increase to 1000000. 1994-04-06 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * minibuf.c (Fminibuffer_prompt_width): Undo previous change. * xdisp.c (display_text_line): minibuffer_prompt_width is a distance, not an absolute position. * editfns.c (Fformat): Reword confusing error message. * doprnt.c (doprnt): Likewise. * eval.c (Fsetq): Doc fix. 1994-04-05 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (display_string): Allow for hpos < 0 when clearing array. * indent.c (vmotion): Don't use minibuf_prompt_width if window-start has suppressed the prompt. * minibuf.c (Fminibuffer_prompt_width): Allow for negative value. * buffer.c (Fget_buffer_create): Disallow empty string. * keymap.c (describe_buffer_bindings): Move XSYMBOL to after SYMBOLP. Exclude trailing null in string copies. * indent.c (compute_motion): Add window argument. All callers changed. * minibuf.c (do_completion): gcpro some things. * minibuf.c, xdisp.c: Use PT, not point. 1994-04-04 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * textprop.c (Fget_char_property): Doc fix. * dired.c (file_name_completion): Honor completion-regexp-list. * search.c (Freplace_match): Don't capitalize unless all matched words are capitalized. * buffer.c (verify_overlay_modification): Run modification-hooks for any deletion that intersects the overlay. 1994-04-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Fdo_auto_save): Don't turn off auto save mode. Instead, store -1 in b->save_length. And don't auto save if there is -1 there. * xterm.c (note_mouse_highlight): Temporarily widen the buffer. * xdisp.c (display_text_line): Rename startp to leftmargin. Use that, not p1start, when checking for char off left edge. * dispnew.c (verify_charstarts): Handle truncation of lines. * xdisp.c (mark_window_display_accurate, redisplay): Set window_end_valid to the buffer displayed, not Qt. * xterm.c (note_mouse_highlight): Check window still shows that buffer. 1994-04-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (show_mouse_face): Turn off cursor only if it's in the area being manipulated. (XTupdate_begin): Don't turn off highlight if we aren't updating the window that it is in. * buffer.c (overlays_at): Fix previous change. * lisp.h (gc_in_progress): Declared. * xterm.c (note_mouse_highlight): Do nothing if gc_in_progress. Set mouse_face_deferred_gc when that case arise. (XTframe_up_to_date): If mouse_face_deferred_gc, redo highlighting. * xdisp.c (display_text_line): Properly handle charstarts for hscroll, and for continuation in mid character. (message2): Call frame_up_to_date_hook. * xterm.c (undefer_mouse_highlight, defer_mouse_highlight): New fns. * alloc.c (Fgarbage_collect): Call ..._mouse_highlight. * buffer.c (overlays_at): Use XGCTYPE. * buffer.h (OVERLAY_POSITION): Use XGCTYPE. * xmenu.c (Fx_popup_dialog): If POSITION is t, use selected frame. 1994-04-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xdisp.c (redisplay): do_verify_charstarts controls whether to call verify_charstarts. Fix one-off when checking for the last line. * xterm.c (note_mouse_highlight): Reject out-of-range pos value before it causes an error. * dispnew.c (verify_charstarts): Count right for continued lines. (direct_output_for_insert): Add charstarts entry after the new char. Use the right point value for the inserted character. * xdisp.c (display_text_line): Always store in charstart even if at endp. When clearing charstart, do the whole width. * dispnew.c (scroll_frame_lines): When updating charstarts, treat all columns alike--don't zero out any. Fix end tests of loops over i. (adjust_window_charstarts): Fix typo. * xterm.c (fast_find_position): Always return coords within the window. * xdisp.c (redisplay): Call verify_charstarts. * dispnew.c (verify_charstarts): New function. * xdisp.c (redisplay): Don't call adjust_window_charstarts if on last text line of window. * xterm.c (note_mouse_highlight): Handle disable_mouse_highlight. 1994-04-01 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * buffer.c (list_buffers_1): Set buffer contents, then mode. 1994-04-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dispnew.c (scroll_frame_lines): Fix previous changes. 1994-04-01 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu) * xterm.c (x_wm_set_size_hint): Add USE_X_TOOLKIT conditional and call XtGetValues to get the width and the height of the Emacs frame. * xdisp.c (update_menu_bar): Pass 0 to set_frame_menubar. * widget.c (EmacsFrameSetCharSize): Clean up code. Replace XtVaSetValues by XtSetValues. 1994-04-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (construct_menu_click, construct_mouse_click): Use XSET when setting result->x and result->y. * xmenu.c (xmenu_show): Undo part of March 11 change: Do call lw_destroy_all_widgets at the end. * dispnew.c (scroll_frame_lines): Typo in previous change. Arg POS_ADJUST replaced with arg NEWPOS. * xdisp.c (try_window_id): Pass new arg to scroll_frame_lines. * xdisp.c (redisplay): In previous change, handle case where no newline follows. * xterm.c (note_mouse_highlight): Use the value from sort_overlays. Make the window's buffer current temporarily. window_end_pos is relative to Z, not ZV. 1994-03-31 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dispnew.c (adjust_window_charstarts): New function. (direct_output_for_insert): Call it. (make_frame_glyphs): If EMPTY, don't leave junk in ->total_charstarts. * xdisp.c (redisplay): Call adjust_window_charstarts to update the charstarts of following lines. 1994-03-31 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * callproc.c (child_setup): Check out==err when relocating fds. 1994-03-31 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu) * xfns.c (x_window) [USE_X_TOOLKIT]: When doing geometry management, don't compute the size of the menubar if there is no menubar. 1994-03-31 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTread_socket, MotionNotify and LeaveNotify cases): If not in any frame, call clear_mouse_face. 1994-03-31 Frederic Pierresteguy (fp@geech.gnu.ai.mit.edu) * xterm.h: Define HAVE_X11R4 if AIX3_2 is defined. * xfns.c (x_window) [USE_X_TOOLKIT]: New args window_prompting and minibuffer_only. Don't pass top_pos and left_pos to XtCreatePopupShell. Call initialize_frame_menubar before creating the Emacs frame if it is not the minibuffer. Call XtManageChild for the menubar widget if any. Compute some geometry management. (Fx_create_frame): Pass window_prompting and minibuffer_only to x_window. Don't call x_wm_set_size_hint. Don't call initialize_frame_menubar. * xmenu.c (set_frame_menubar): New arg, first_time. Don't update the menubar the first time it is created via x_window. (initialize_frame_menubar): Pass 1 to set_frame_menubar. * widget.c (set_frame_size): Dont compute any geometry management. 1994-03-31 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_term_init): Set frame_up_to_date_hook. (XTframe_up_to_date): New function. * termhooks.h (frame_up_to_date_hook): Declared. * term.c (frame_up_to_date_hook): Defined. * xdisp.c (redisplay): Call frame_up_to_date_hook. 1994-03-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * scroll.c (do_scrolling): Handle charstarts like glyphs. * dispnew.c (scroll_frame_lines): Handle charstarts like glyphs. (direct_output_for_insert): Likewise. (preserve_other_columns): Likewise. * systty.h (INCLUDED_FCNTL): Define, if include fcntl.h. * xterm.c [INCLUDED_FCNTL]: Don't include fcntl.h again. 1994-03-30 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * minibuf.c (Fminibuffer_prompt, Fminibuffer_prompt_width): New funcs. 1994-03-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * indent.c (Fcompute_motion): Doc fix. (Fcompute_motion): Don't use XFASTINT on possibly-negative coords. 1994-03-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dispnew.c (update_line): Update charstarts like glyphs. 1994-03-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * systime.h (EMACS_TIME_NEG_P): Cast to signed. 1994-03-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTupdate_begin): Turn off mouse face display, and defer it. (XTupdate_end): Undefer. (mouse_face_defer): New variable. (mouse_face_mouse_frame, mouse_face_mouse_x, mouse_face_mouse_y): New variables. * xfaces.c (compute_char_face): New arg MOUSE. (Qmouse_face): New variable. (syms_of_xfaces): Initialize Qmouse_face. * xterm.c (dumpglyphs): Handle HL = 3 by using mouse_face_face_id. (note_mouse_movement): Check for mouse face. (show_mouse_face, fast_find_position): New functions. (clear_mouse_face): New functions. (mouse_face_beg, mouse_face_end, mouse_face_face_id): New variables. (mouse_face_window): New variable. (syms_of_xterm): Init and staticpro it. * xdisp.c (display_text_line): Pass new arg to compute_char_face. Fill in charstarts array. (display_string): Clear part of charstarts array. 1994-03-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * window.c (Fwindow_width): Delete unnecessary variable declarations. * indent.c (Fcompute_motion): Typecheck all arguments. 1994-03-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xdisp.c (display_text_line): Fill in charstart values. * dispextern.h (struct frame_glyphs): New fields charstarts and total_charstarts. * dispnew.c (make_frame_glyphs): Initialize charstarts, total_charstarts. (free_frame_glyphs): Free those fields. 1994-03-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (display_text_line): Handle selective display at window edge. * dired.c (file_name_completion): Don't step on dirname. * xterm.c (x_find_modifier_meanings): Skip zero entries. 1994-03-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dired.c (file_name_completion): Protect things from GC. * buffer.c (verify_overlay_modification): Copy TAIL before a hook, in case the hook recenters the overlay lists. * s/dgux.h (LIBS_SYSTEM): Commented out. 1994-03-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Vinhibit_file_name_handlers): New var. (syms_of_fileio): Set up Lisp var. (Ffind_file_name_handler): Obey the variable. * minibuf.c (Vcompletion_regexp_list): New var. (syms_of_minibuf): Set up Lisp var. (Ftry_completion, Fall_completions): Limit possible completions to strings matching those regexps. * search.c (Freplace_match): Doc fix. 1994-03-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * minibuf.c (read_minibuf): Return val via unbind_to. 1994-03-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * commands.h (this_command, last_command): Declared. * minibuf.c (Fminibuffer_complete): Scroll the completion window in some cases. * print.c (debug_print): New function. * .gdbinit (pr): Use debug_print. 1994-03-25 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * frame.c (Fframe_first_window): New function. 1994-03-24 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * editfns.c (Fformat): Validate number and type of arguments. * xmenu.c (xmenu_show): Enable asynchronous events. * keymap.c (Fwhere_is_internal): Skip duplicate keybindings. * xfns.c (x_report_frame_params): Sample visibility. (x_get_arg): Use downcased string in compare. * process.c (status_notify): Use assignment, not initialization. * textprop.c (add_properties, remove_properties): Ditto. * window.c (unshow_buffer, window_loop, Fdisplay_buffer): Ditto. * xdisp.c (x_consider_frame_title, decode_mode_spec): Ditto. * xfns.c (x_set_frame_parameters, x_get_arg, x_window, Fx_create_frame, Fx_create_frame): Ditto. * xselect.c (x_get_local_selection, x_handle_selection_request): Ditto. * xterm.c (x_window_to_scroll_bar, x_new_font): Ditto. 1994-03-24 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xfns.c (Fx_create_frame): Add USE_X_TOOLKIT conditional around the call to initialize_frame_menubar. 1994-03-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * intervals.c (verify_interval_modification): For insertion in middle of an interval, use the same criterion as between intervals for whether read-only forbids it. 1994-03-23 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * alloc.c (make_event_array): Use assignment, not initialization. * buffer.c (sort_overlays, Fmake_overlay): Ditto. * callint.c (check_mark, Fcall_interactively): Ditto. * callproc.c (call_process_cleanup, getenv_internal): Ditto. * cmds.c (internal_self_insert): Ditto. * data.c (store_symval_forwarding, Fsymbol_value): Ditto. * fileio.c (Finsert_file_contents): Ditto. * filelock.c (lock_file): Ditto. * frame.c (next_frame, prev_frame, other_visible_frames, Fdelete_frame): Ditto. * intervals.c (adjust_intervals_for_insertion, merge_properties_sticky, delete_interval): Ditto. * keymap.c (access_keymap, store_in_keymap, Fcopy_keymap, Fdefine_key, Faccessible_keymaps, Fwhere_is_internal): Ditto. * lread.c (read_filtered_event, intern): Ditto. * minibuf.c (read_minibuf): Ditto. * msdos.c (run_msdos_command): Ditto. * sysdep.c (reset_sys_modes): Turn off O_NDELAY. * window.c (Fscroll_up, Fscroll_down, Fscroll_other_window): Doc fix. * frame.c (do_switch_frame): Common code for Fselect_frame and handle_switch_frame. * xfns.c (x_get_focus_frame): New function. 1994-03-23 Frederic Pierresteguy (fp@geech.gnu.ai.mit.edu) * xmenu.c (update_frame_menubar): Function renamed from update_one_frame_psheets. (initialize_frame_menubar): New function. (set_frame_menubar): Call menu_bar_items when items is NIL. * xfns.c (Fx_create_frame): Call initialize_frame_menubar. 1994-03-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (reset_buffer): Init auto_save_failure_time slot. 1994-03-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c: (where_is_string, Fwhere_is): Deleted. (syms_of_keymap): Corresponding changes. 1994-03-22 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keymap.c (Fdefine_key): Check for non-events in keyvector. * minibuf.c (read_minibuf): Don't redirect focus unless minibuf is on another frame. * lread.c (read1): Check for invalid modifier bits in a string. (unreadchar): Don't back up the pointer when unreading EOF. 1994-03-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * callproc.c (Fcall_process): Make sure to close descriptors. (call_process_cleanup): Always close descriptor. 1994-03-22 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * widget.c (set_frame_size): Put #if 0 around a lot of useless code. Compute explicitely the geometry of the toplevel widget. Call XtSetValues not XtVaSetValues. 1994-03-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (__do_global_ctors, __do_global_ctors_aux) (__do_global_dtors): Don't define if GCC_CTORS_IN_LIBC. (__CTOR_LIST__, __DTOR_LIST__): Likewise. 1994-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (init_keyboard): Don't handle SIGINT if using X. 1994-03-21 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (add_command_key): Use assignment, not initialization. (command_loop_1, read_char, kbd_buffer_store_event, kbd_buffer_get_event, make_lispy_event, make_lispy_movement, apply_modifiers_uncached, parse_modifiers, apply_modifiers, reorder_modifiers, read_key_sequence): Ditto. 1994-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * data.c (Qwholenump): New variable. (syms_of_data): Set and gcpro Qwholenump. * lisp.h (Qwholenump): Declared. (CHECK_NATNUM): Use Qwholenump. 1994-03-21 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keymap.c (Fcopy_keymap): Account for menus and equiv-key cache. (Fkeymapp): Doc fix. 1994-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * data.c (Fstring_to_number): Doc fix. 1994-03-20 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * data.c (Fmake_local_variable): Void variables stay void. 1994-03-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * alloca.c, alloca.s, gmalloc.c: Make them symlinks again. * fns.c (Fy_or_n_p, Fyes_or_no_p): Call Fx_popup_dialog the new way. (Fyes_or_no_p): Always display just one dialog box whether or not USE_X_TOOLKIT. 1994-03-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (xdialog_show): Delete args x, y. (Fx_popup_dialog): Don't pass those args; don't compute them. Second arg is now just one pane. Lots of simplification. Always start by decoding POSITION arg to get a frame. [! USE_X_TOOLKIT]: Put the menu in middle of that frame. * s/freebsd.h (HAVE_TERMIOS, NO_TERMIO): Defined. * Makefile.in.in (emacs): rm emacs before the ln. (tagsfiles): Accept capital letters. * process.c (wait_reading_process_input, both versions): Don't call redisplay_preserve_echo_area unless do_display. * emacs.c (syms_of_emacs): Don't initialize Vinstallation_name and Vinstallation_directory. * fns.c (Fyes_or_no_p) [USE_X_TOOLKIT]: Display just one menu. * xmenu.c (Fx_popup_dialog, Fx_popup_menu): Require 2 args. (Fx_popup_dialog): Don't fail to set X, Y from POSITION. (xdialog_show): Call lw_modify_all_widgets properly. Generate dialog's name at run time to specify number of buttons. Report error if too many buttons to handle or if multiple panes. 1994-03-18 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * lisp.h (MAKE_GLYPH, GLYPH_CHAR, GLYPH_FACE): Handle termcap frames as well as X. (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE): New macros. * xdisp.c (fix_glyph): Handle termcap frames as well as X. (display_text_line, copy_part_of_rope, display_mode_line): Ditto. * dispnew.c (direct_output_for_insert): Ditto. * xterm.c (dumpglyphs): Use the fast macros. 1994-03-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (list_of_items): Arg to push_menu_item was missing. 1994-03-18 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * Makefile.in.in (LIBXT): Add -lXext. 1994-03-18 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * s/netbsd.h (LD_SWITCH_SYSTEM): Undo previous change. 1994-03-17 Jim Blandy (jimb@totoro.bio.indiana.edu) * indent.c (compute_motion): Doc fixes. 1994-03-17 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * Makefile.in.in (X_WINDOWS_SUPPORT): New macro. (lisp): Include X_WINDOWS_SUPPORT. Also add version.el; it is no longer changed by building. 1994-03-17 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * process.c (create_process): Skip the ioctl if fd is -1. * lread.c (openp, Fload): GCPRO some things. * callproc.c (Fcall_process): Ditto. * process.c (Fstart_process): Ditto. * s/netbsd.h (LD_SWITCH_SYSTEM, HAVE_WAIT_HEADER): Define these. 1994-03-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * data.c (Fchar_or_string_p, Fintegerp, Fnatnump): Doc fix. * minibuf.c (read_minibuf): Disallow trailing junk. 1994-03-16 Morten Welinder (terra@diku.dk) * fileio.c (Ffile_modes) [MSDOS]: set exec-bit based on file suffix. * s/msdos.h: use bcopy when moving gap. 1994-03-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * fns.c (Frandom): Eliminate bias in random number generator. * floatfns.c (FLOAT_TO_INT, FLOAT_TO_INT2, range_error2): New macros. (ceiling, floor, round, truncate): Use them. 1994-03-15 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (redisplay): Don't consider minibuffer name for frame title. (update_menu_bar): Delete unused second argument. Callers changed. * fileio.c (Frename_file, Fcopy_file, Fadd_name_to_file, Fmake_symbolic_link): Fix typo in previous change. * s/netbsd.h (LOCALTIME_CACHE): Define this symbol. 1994-03-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Frename_file): Use RETURN_UNGCPRO when run handler. (Fcopy_file, Fadd_name_to_file, Fmake_symbolic_link): Likewise. 1994-03-15 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (message1): Call message2 instead of duplicating code. 1994-03-14 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * floatfns.c (Flogb): Check for 0.0. Emulate logb if needed. * xterm.c (x_scroll_bar_expose): Don't make the right border thicker. * xterm.h (VERTICAL_SCROLL_BAR_RIGHT_BORDER): Change from 3 to 2. * frame.c (terminal-frame) [! MULTI_FRAME]: Create this variable. * minibuf.c (read_minibuf): Make minibuffer frame visible when minibuffer activated. * frame.c (Fhandle_switch_frame): Ignore switch to dead frame. * fileio.c (Fread_file_name): Delete docstring of second version. * frame.c (framep, selected-frame, frame-char-height, frame-char-width, frame-pixel-height, frame-pixel-width, set-frame-height, set-frame-width, set-frame-size): Ditto. * buffer.c (buffer-display-table, buffer-undo-list): Ditto. * xdisp.c (redisplay_window): Avoid dividing negative numbers. * window.c (window_scroll, Fmove_to_window_line): Ditto. * search.c (search_buffer): Avoid boolean/integer confusion. * dispnew.c (Fredraw_frame) [! MULTI_FRAME]: Make noninteractive. 1994-03-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (Fx_popup_dialog, Fx_popup_menu): Handle case where mouse_position_hook doesn't store anything. 1994-03-14 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * widget.c (EmacsFrameSetCharSize): Set the values of left_pos and top_pos to the values of the toplevel widget coordinates. 1994-03-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (Fx_popup_dialog) [! USE_X_TOOLKIT]: Call Fx_popup_menu. * indent.c (Fvertical_motion): New optional arg WINDOW. * window.c (Fdelete_other_windows): Pass new arg to Fvertical_motion. (window_scroll, Frecenter, Fmove_to_window_line): Likewise. * fileio.c (Finsert_file_contents): Don't let same_at_end be less than same_at_start. 1994-03-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * puresize.h (PURESIZE): Reduce to 230000. 1994-03-11 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * floatfns.c (Fexpt): Delete extraneous `for' statement. * process.c (get_process): Allow arg to be a buffer object. * xdisp.c (x_consider_frame_title): New function, extracted from display_mode_line. (redisplay): Update frame title on iconified frames. 1994-03-11 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xmenu.c (xdialog_show): New function to handle the display of dialog boxes. (Fx_popup_dialog): New function. (dialog_selection_callback): New function. (xmenu_show) [USE_X_TOOLKIT]: Don't call lw_destroy_all_widgets at the end. Do the work of construct_mouse_click in the ButtonRelease case. * Makefile.in (LIBXT): Add -lXext to the list. * widget.c (EmacsFrameSetCharSize): Call XawPanedSetRefigureMode. Call XtSetValues not XtVaSetValues. * fns.c (Fyes_or_no_p): Call Fx_popup_dialog instead of Fx_popup_menu. (Fy_or_n_p): Likewise. 1994-03-10 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * filelock.c (lock_superlock): Synchronize NFS cache. * search.c (Fre_search_forward, Fre_search_backward): Doc fix. 1994-03-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * indent.c (compute_motion): Initialize prev_hpos. * keyboard.c (command_loop_1): On entry, set this_command after running Vpost_command_hook. * puresize.h (PURESIZE): Increment to 240000. * xmenu.c (Fx_popup_menu): If POSITION is nil, don't require an open X connection. (single_keymap_panes, keymap_panes, menu_item_enabled_p): New arg NOTREAL. (Fx_popup_menu): Pass new arg (1 if POSITION is nil). (menu_item_enabled_p): If NOTREAL, always return t. * xmenu.c (single_keymap_panes) [!USE_X_TOOLKIT]: Append > to item_string if submenu. 1994-03-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c [USE_X_TOOLKIT]: Display submenus in Xt style. (menu_items): Record where submenus start and end. (menu_items_submenu_depth): New variable. (init_menu_items): Init it. (push_submenu_start, push_submenu_end): New functions. (grow_menu_items): New function. (push_menu_pane, push_menu_item): Use it. (push_menu_pane): Increment menu_items_n_panes only if depth is 0. (single_keymap_panes) [USE_X_TOOLKIT]: Record submenus in menu_items. (xmenu_show) [USE_X_TOOLKIT]: Give submenus to toolkit. * xdisp.c (display_mode_line): Highlight partial-width mode lines for a non-termcal frame. * lisp.h (GLYPH_MODE_LINE_FACE): New macro. * callproc.c: Don't kill remaining processes if child exits. (call_process_exited): New variable. (Fcall_process): Set it. (call_process_cleanup): Test it. 1994-03-09 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * window.c (Fselect_window): Undo previous minibuffer patch. * callint.c (Fcall_interactively): Don't select an active minibuffer. 1994-03-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * window.c (window_loop): Delete MULTI_FRAME conditional within the loop, spuriously added in prev change. Don't ignore invisible or iconified frames for GET_BUFFER_WINDOW; instead, let Fnext_window skip them if appropriate. 1994-03-08 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * window.c (Fselect_window): Don't select an inactive minibuffer. 1994-03-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * window.c (Fdisplay_buffer): If pop_up_frames != 0, consider just visible frames when looking for existing window. * undo.c (syms_of_undo): staticpro pending_boundary. 1994-03-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * process.c (send_process) [_PC_MAX_CANON]: Also test #ifdef HAVE_FPATHCONF before trying to use fpathconf. * config.h.in: Add #undef HAVE_FPATHCONF. * term.c (term_get_fkeys_data): Variable removed. (term_get_fkeys_define_1, term_get_fkeys_define): Functions removed. (term_get_fkeys_address): New variable, to pass arg through condition-case. (term_get_fkeys): Set that to ADDRESS; just do condition-case around call to term_get_fkeys_1, ignoring all errors. (term_get_fkeys_1): New function, containing body of term_get_fkeys. Don't use term_get_fkeys_define_1; call Fdefine_key directly. 1994-03-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * window.c (Fprevious_window, Fnext_window): ALL_FRAMES = visible means consider only visible frames. (window_loop): Likewise for FRAMES. (Fget_buffer_window, Fget_largest_window, Fget_lru_window): Doc fix. (Fdelete_windows_on): Doc fix. * frame.c (next_frame, prev_frame): If MINIBUF is `visible', consider only visible frames. (Fnext_frame, Fprevious_frame): Doc fix. (syms_of_frame): Staticpro Qvisible. * lisp.h (Qvisible): Declared. 1994-03-07 Richard Stallman (rms@mole.gnu.ai.mit.edu) * indent.c (Fcompute_motion): New function. * window.c (Fwindow_width): Doc fix. 1994-03-07 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * doprnt.c (doprnt): Do the right thing for negative size spec. * minibuf.c (temp_echo_area_glyphs): Use quit_char, not C-g. (Fminibuffer_complete, Fminibuffer_complete_word): Doc fix. (get_minibuffer): Make name buffer large enough. * window.c (Fscroll_other_window): Doc fix. 1994-03-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) * alloc.c (mark_object): Add no-op cast. * eval.c (error): Use doprnt. Make buffer larger as necessary. * casefiddle.c (operate_on_word): Don't move point; store in *NEWPOINT. (Fupcase_word, Fdowncase_word, Fcapitalize_word): Set point after changing case. Rename opoint to beg. * undo.c (pending_boundary): New variable. (syms_of_undo): Initialize it. (Fundo_boundary): Use pending_boundary. (record_insert, record_delete, record_property_change): Set pending_boundary. 1994-03-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) * vmsproc.c: Include config.h, lisp.h, buffer.h, process.h, commands.h, errno.h and file.h. (write_to_vms_process): Change =- to -=. (create_process): Set status field instead of obsolete flags field. (child_sig): Likewise. * emacs.c (shut_down_emacs): Set Vrun_hooks to nil. * minibuf.c (read_minibuf): Don't call Vrun_hooks if it is nil. * keyboard.c (command_loop_1, read_key_sequence, Fcommand_execute): Don't call Vrun_hooks if it is nil. * editfns.c (save_excursion_restore): Don't call Vrun_hooks if nil. * buffer.c (Fkill_buffer, Fkill_all_local_variables): Don't call Vrun_hooks if it is nil. * fileio.c (Fdo_auto_save): Doc fix. * lisp.h (ARRAY_MARK_FLAG): Define here. * alloc.c (ARRAY_MARK_FLAG): Not here. 1994-03-04 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (command_loop_1): Fix misplaced assignment of last_point_position. 1994-03-04 Paul Eggert (eggert@twinsun.com) * data.c (isnan): New macro. (float_arith_driver): min and max yield NaN if any argument is a NaN. 1994-03-04 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xmenu.c (update_one_frame_psheets): Call EmacsFrameSetCharSize to force the paned widget to resize to the right value. (xmenu_show): No need to check a second time whether the mouse has moved to another menu bar item. This slows down execution. * widget.c (EmacsFrameSetCharSize): Don't call XtMakeResizeRequest. Use XtVaSetValues for geometry management. 1994-03-04 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * xmenu.c [USE_X_TOOLKIT] (xmenu_show): Pass display to XtWindowToWidget. 1994-03-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * search.c (skip_chars): Treat `-' as alias for space, if syntaxp. * fileio.c (Finsert_file_contents): Pass del_range_1 two ends, not a length. 1994-03-03 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * process.h (chan_process): Don't specify size. 1994-03-03 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * fileio.c (Fread_file_name): Do the right thing when insert-default-directory is nil. Allow for doubled dollar signs in dir when computing pos. * commands.h: New variable last_point_position. * keyboard.c (command_loop_1): Set it to the value of point. * undo.c (record_delete): Save this value in the undo record, rather than the current value of point.) * buffer.c (Fget_file_buffer): Doc fix. * s/aix3-2.h (C_SWITCH_SYSTEM): Increase maxmem when using IBM's compiler. 1994-03-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (chan_process, Vprocess_alist): No longer static. * process.h (chan_process, Vprocess_alist): Declared. * puresize.h (PURESIZE) [MULTI_FRAME]: Incremented to 230000. * minibuf.c (Fdisplay_completion_list): Restore original buffer before running completion-setup-hook. * frame.c (Fdelete_frame): Don't initialize a Lisp_Object. Clean up line breaks. * process.c: Include unistd.h. (pty_max_bytes): New variable. (send_process): Send an eof after each pty_max_bytes bytes. * keyboard.c (menu_bar_items): When moving an item to the end, shift all the following ones forward one slot. 1994-03-02 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xfns.c (Fx_list_fonts): Avoid confused increment of info. * syntax.c (Fforward_comment): Do the right thing at eob. 1994-03-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (menu_bar_items): Accept old vector as arg. Return a vector. (menu_bar_one_keymap, menu_bar_item): Associated changes. (make_lispy_event): Use FRAME_MENU_BAR_LINES as vector. * frame.c (make_frame): Init menu_bar_items field to 0. * xdisp.c (update_menu_bar): Change call to menu_bar_items. (display_menu_bar): Use FRAME_MENU_BAR_LINES as vector. * xmenu.c (map_event_to_object, set_frame_menubar): Use FRAME_MENU_BAR_LINES as vector. 1994-03-01 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * s/aix3-2.h: Use -g with the native compiler. * s/aix3-2-5.h: New file. Use -O with the native compiler. 1994-03-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * lisp.h (struct handler): New field chosen_clause. * eval.c (Fsignal): Record the clause in chosen_clause. (Fcondition_case, internal_condition_case): Look there. (internal_condition_case_1): Look there. * fileio.c (Finsert_file_contents): If undo_list was t, leave it t. * alloc.c (memory_signal_data): No longer static. (syms_of_alloc): Stick Qerror onto memory_signal_data. * lisp.h (memory_signal_data): Declare it. * eval.c (Fsignal): If DATA is memory_signal_data, don't add to it. 1994-02-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * alloc.c (memory_full): Use new variable memory_signal_data with precomputed value instead of trying to build it after memory is already exhausted. 1994-02-28 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) * xmenu.c (xmenu_show): Test XtWindowToWidget before inserting into the event_queue. * xterm.c (XTread_socket): For case ClientMessage and Xatom_wm_delete_window, use x_any_window_to_frame. 1994-02-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sol2-3.h (LD_SWITCH_SYSTEM): New definitions, with #undef. * insdel.c (del_range_1): New function. (del_range): Use it. * fileio.c (Finsert_file_contents): Use del_range_1. 1994-02-26 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (Fsuspend_emacs): New variable cannot-suspend forces a subshell even if the system seems to support job control. * sysdep.c (sys_subshell): New function, split from sys_suspend. 1994-02-25 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * window.c (Fset_window_configuration): Allow for menu-bar-lines to have changed since the configuration was created. 1994-02-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (Vsystem_key_alist): Renamed from Vvendor_key_alist. (syms_of_keyboard): Rename Lisp var to system-key-alist. 1994-02-25 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * buffer.h (OVERLAY_POSITION): Don't check which buffer it points to. * lisp.h: Delete extra backslash on last line of macro. * xdisp.c (display_text_line): Allow for invisible overlays in next_invisible lookahead. * indent.c (compute_motion): Likewise. 1994-02-25 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * widget.c (EmacsFrameSetCharSize): Set coordinates values to the toplevel widget. * xterm.c (XTread_socket): For case ConfigureNotify, call x_any_window_to_frame. [USE_X_TOOLKIT]: Call XTranslateCoordinates for case ConfigureNotify when send_event is 0 and when the event is relative to toplevel widget. * widget.c (EmacsFrameSetCharSize): Call check_frame_size and update vertical_scroll_bar_extra. Call SET_FRAME_GARBAGED. 1994-02-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) * lread.c (Fload): Cast the args to stat. 1994-02-24 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (try_window): Add #ifdef USE_TEXT_PROPERTIES around call to Fget_text_property. * textprop.c (Fget_char_property): New function. * buffer.c (sort_overlays): Allow for null window. * xdisp.c (try_window, display_text_line): Use Fget_char_property to test for invisibility. * indent.c (compute_motion, vmotion): Likewise. * dispnew.c (direct_output_forward_char): Likewise. 1994-02-24 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xfns.c (x_window): Call XChangeWindowAttributes with the standard event set to make all these events reach the Emacs frame. 1994-02-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (Fx_popup_menu): Allow t as position, meaning use mouse pos. * fns.c (Fy_or_n_p): Use a popup menu if reached via mouse command. (Fyes_or_no_p): Likewise. * unexelf.c (ELF_BSS_SECTION_NAME): New macro (config.h may override). (unexec): Use it. 1994-02-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (Fkill_buffer): Call the Vkill_buffer_query_functions. (syms_of_buffer): Make Lisp var for kill-buffer-query-functions. 1994-02-22 Karl Heuer (kwzh@geech.gnu.ai.mit.edu) * lisp.h: New variable Vdoc_directory. * doc.c (get_doc_string, Snarf_documentation): Use it. * callproc.c (syms_of_callproc, init_callproc_1): Initialize it. * paths.h.in: Define PATH_DOC for default doc-directory. 1994-02-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (make_lispy_movement, make_lispy_event): In non-scrollbar mouse case, return coords in pixel units. * frame.c (Fmouse_position): Convert to glyph units. * xterm.c (construct_mouse_click): Don't convert to glyph units. (XTmouse_position): Don't convert to glyph units. * msdos.c (mouse_get_pos): Don't convert to glyph units. * fileio.c (Finsert_file_contents): If REPLACE, always do lseek. Exit main loop if INSERTED reaches TOTAL. 1994-02-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTmouse_position): Use x_any_window_to_frame. 1994-02-22 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * emacs.c: Move extern declarations to top of file. 1994-02-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (make_lispy_event): For menu bar event in USE_X_TOOLKIT case, convert x position to glyphs after map_event_to_object. Call window_from_coordinates later on. * xmenu.c (menu_item_equiv_key): Cached equiv-key data is a sublist. * keymap.c (get_keyelt): Cached equiv-key data is now a sublist. * xterm.c (x_had_errors_p): New function. (construct_menu_click): Move function after pixel_to_glyph_coords. * xmenu.c: Most of file rewritten. (menu_items, menu_items_*): New variables. (MENU_ITEMS_*): New macros. (init_menu_items, discard_menu_items, push_menu_pane, push_menu_item) (finish_menu_items): New functions. (menu_item_enabled_p): New function. (keymap_panes, single_keymap_panes): Major rewrite; most args changed. (list_of_panes, list_of_items): Major rewrite; most args changed. (Fx_popup_menu): Major rewrite. Now independent of display mechanism. No more conditionals here. (set_menu_items, free_menu_items): Functions deleted. (xmenu_show): Both versions rewritten to work from menu_items and to do all the conditionalized things that were in Fx_popup_menu. (unread_menu_bar_button, other_menu_bar_item_p): New functions. (check_mouse_other_menu_bar): New function. * xterm.c [!USE_X_TOOLKIT] (x_any_window_to_frame): Define as x_window_to_frame. 1994-02-20 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * unexsunos4.c: Move config.h after system includes. * syswait.h [BSD]: #undef WCOREDUMP before defining it. 1994-02-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * frame.c (Fframe_visible_p): Do FRAME_SAMPLE_VISIBILITY first. * xterm.c (XTread_socket--cases KeyPress, EnterNotify, LeaveNotify) (cases FocusIn, FocusOut): Use x_any_window_to_frame. * xfns.c (x_window_to_frame): Add parens for clarity. * xmenu.c: Find and display keyboard equivalents of menu items. (menu_item_equiv_key): New function. (single_keymap_panes): Call it. Properly skip help-string if any. Rename item2 to item_string. GCPRO some things. (menu_item_equiv_key): Use either VECTORP or STRINGP, not both. * keymap.c (get_keyelt): Discard keyboard equivalents stored in a menu keymap element. 1994-02-18 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * widget.c (get_default_char_pixel_size): Clean up code. Remove code inside #if 0 directive. * xmenu.c (popup_selection_callback): Clean up code. Remove code inside #if 0 directive. (popup_down_callback): Likewise. 1994-02-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (restore_point_unwind): New function. (Finsert_file_contents): In REPLACE case, set point and restore it. * gnu.h (gnu_bits): Use unsigned char. * bitmaps/*.xbm: Use unsigned char, not char. * window.c (unshow_buffer): Unconditionally set last_window_start. 1994-02-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) * window.c (Fdelete_other_windows): Don't call Frecenter; do it by hand and avoid setting w->force_start. * xterm.c (dumpglyphs): Try various alternatives for foreground color of a glyph with the cursor on it. * dosfns.c, msdos.c, widget.c: Use <...> for config.h. * fileio.c (Finsert_file_contents): New arg REPLACE. New feature to replace buffer contents with file contents. 1994-02-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) * systty.h (EMACS_TTY_TABS_OK): Alternate definition if no TABDLY. * s/bsd4-2.h, s/dgux.h, s/rtu.h, s/umax.h (BSD_PGRPS): Defined. * s/netbsd.h, s/bsd386.h (BSD_PGRPS): Add #undef. * sysdep.c (init_sys_modes, reset_sys_modes): Test BSD_PGRPS. (narrow_foreground_group, widen_foreground_group): Define if BSD_PGRPS. * sysdep.c (child_setup_tty): Use IUCLC, OLCUC, NLDLY only if defined. * emacs.c (main): Test BSD_PGRPS, not BSD. * s/netbsd.h (TAB3): Defined. (NEED_ERRNO, NO_TERMIO, HAVE_TERMIOS, HAVE_UNION_WAIT): Defined. * sysdep.c (init_sys_modes): IEXTEN is in c_lflag, not c_iflag. * unexmips.c (unexec): Add cast to result of `sbrk'. 1994-02-15 Chris Hanson (cph@klia.ai.mit.edu) * s/newsos5.h: Include usg5-4.h. (LIBS_SYSTEM, LINKER, START_FILES, LIB_STANDARD): Definitions moved here. * m/news-risc.h [NEWSOS5] (C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH) (LD_SWITCH_MACHINE): Definitions moved here. * m/mips.h: NEWSOS5 conditional deleted. [NEWSOS5] (START_FILES, LIB_STANDARD, C_DEBUG_SWITCH) (C_OPTIMIZE_SWITCH, LD_SWITCH_MACHINE): Definitions moved away. 1994-02-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (Fx_parse_geometry): Don't call check_x. * sysdep.c (sys_write): If any bytes were written, return how many. * xterm.c (XTread_socket): Do not assume that select returning immediately with no events implies a hangup. 1994-02-14 Karl Heuer (kwzh@geech.gnu.ai.mit.edu) * xterm.h (check_x): Declare it. * xfns.c (check_x): Make it global. (Fx_parse_geometry, Fx_list_fonts, Fx_close_current_connection): call check_x. * xmenu.c (Fx_popup_menu): Likewise. * xselect.c (Fx_own_selection_internal, Fx_get_selection_internal, Fx_disown_selection_internal, Fx_rotate_cut_buffers_internal, Fx_selection_exists_p, Fx_get_cut_buffer_internal, Fx_store_cut_buffer_internal, Fx_selection_owner_p): Likewise. * indent.c (indented_beyond_p): New function. (compute_motion, vmotion): Use it to treat blank lines specially in selective display. * xdisp.c (try_window_id, display_text_line): Likewise. 1994-02-13 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * s/netbsd.h (BROKEN_START, TEXT_START): Don't define. (HAVE_TEXT_START): Define this instead. * sysdep.c (start_of_text): Don't define #ifdef HAVE_TEXT_START. 1994-02-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xdisp.c (decode_mode_spec): Support %+. * keyboard.c (command_loop_1): On entry, set last_command to this_command. * term.c (term_init): If no `se', use `me'; if no `me' either, don't use standout mode at all. 1994-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (${libsrc}make-docfile): Don't pass ../arch-lib as target to submake. 1994-02-11 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * sysdep.c [USG]: Fix conditional includes. * m/convex.h, m/ibmps2-aix.h, m/ibmrs6000.h, m/tekxd88.h, s/386bsd.h, s/bsd386.h, s/dgux.h, s/irix3-3.h, s/linux.h, s/netbsd.h, s/usg5-4.h: Delete HAVE_SETSID; configure checks for that. * xrdb.c (gethomedir): Look at LOGNAME before USER. * editfns.c (Fuser_real_login_name): Doc fix. 1994-02-11 Paul Eggert (eggert@twinsun.com) * editfns.c (init_editfns): Look at LOGNAME before USER. * fileio.c (Fsubstitute_in_file_name): Remove long-dead code that looked at USER before LOGNAME. 1994-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (syms_of_buffer): Doc fix. * xdisp.c (decode_mode_spec): Implement `P'. 1994-02-11 Charles Hannum (mycroft@duality.gnu.ai.mit.edu) * s/netbsd.h (KERNEL_FILE, LDAV_SYMBOL): Undefine and leave them that way. (LIBS_TERMCAP): Define. Native libtermcap is better than the Emacs version, and knows the correct path. (N_PAGSIZ, N_BSSADDR, N_TRELOFF): Don't redefine if they already exist (i.e. under NetBSD >0.9). 1994-02-11 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * s/netbsd.h (SYSV_SYSTEM_DIR): Define. (BROKEN_START, TEXT_START, START_FILES, UNEXEC, RUN_TIME_REMAP): Define to use unexsunos4. (N_PAGSIZ, N_BSSSADDR, N_TRELOFF): Define so unexsunos4.c compiles. 1994-02-11 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xfns.c (x_set_menu_bar_lines) [USE_X_TOOLKIT]: Dont Call XtDestroyWidget but free_frame_menubar. Undo previous changes. * xterm.c (x_destroy_window) [USE_X_TOOLKIT]: Call free_frame_menubar. * xmenu.c (free_frame_menubar) [USE_X_TOOLKIT]: New function to destroy the X Widget instance of the menubar. * widget.c (EmacsFrameResize): Don't call XTranslateCoordinates. Code removed. * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Return Qnil when val is null. 1994-02-11 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * keyboard.c (Fexecute_extended_command): Copy this_command_keys as a vector, not a string. 1994-02-10 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * keyboard.c (syms_of_keyboard): Add a DEFVAR for command-hook-internal. (command_loop_1): Use it for post-command-hook. 1994-02-10 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * process.c (sys_siglist): Protect decl with #ifndef SYS_SIGLIST_DECLARED. * config.h.in: Add #undef SYS_SIGLIST_DECLARED. 1994-02-10 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * lread.c (read_filtered_event): Retry read_char after a buffer change. * keyboard.c (read_char, read_char_minibuf_menu_prompt, read_key_sequence): Likewise. * dispnew.c (buffer_posn_from_coords): Take hscroll into account. * window.c (Fpos_visible_in_window_p): Likewise. * editfns.c (Fmessage): Copy the text to be displayed into a malloc'd buffer. 1994-02-10 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xmenu.c (xmenu_show): Test again event.xmotion.x_root in the MotionNotify case. 1994-02-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * vmsdir.h: File renamed from dir.h. * ndir.h, fileio.c: Use new name vmsdir.h. 1994-02-09 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * alloc.c (Fgarbage_collect): Save and restore echo_area_glyphs_length. * fileio.c (Fdo_auto_save): Likewise. * buffer.c (Fkill_all_local_variables): Run change-major-mode-hook. * xterm.c (x_display_cursor, process_expose_from_menu): Block input. * editfns.c (difftm): Simplify return expression. * m/news.h (CRT0_DUMMIES): Definition deleted. * alloc.c (mark_object): Fetch obj from *objptr at loop, not at the gotos. 1994-02-09 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xmenu.c: Implement a Motif behavior for the menubar. Now, if you move the pointer on another menubar item while displaying the contents of a selected menubar item, the current pulldown menu is closed and the new one corresponding to the new pointed item is displayed. (xmenu_show) [USE_X_TOOLKIT]: Clean up code. Handle the MotionNotify events in the XEvent loop. 1994-02-08 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * xfaces.c (compute_char_face): Extract overlay-sorting code as a separate function, which is now in buffer.c. * buffer.c (sort_overlays): New function, extracted from xfaces.c. 1994-02-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * print.c (print): If print_escapes_newlines, print '\f' as "\\f". (syms_of_print): Update docstring. 1994-02-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (Fprocess_kill_without_query): Doc fix. 1994-02-07 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xterm.c (x_make_frame_invisible): Add USE_X_TOOLKIT conditional. 1994-02-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_set_window_size): New arg CHANGE_GRAVITY. (x_new_font): Pass CHANGE_GRAVITY arg to x_set_window_size. (x_wm_set_size_hint): New arg CHANGE_GRAVITY. (x_set_offset, x_set_window_size): Pass CHANGE_GRAVITY arg to x_set_window_size. * xfns.c (x_set_internal_border_width, x_set_vertical_scroll_bars): Pass CHANGE_GRAVITY arg to x_set_window_size. (Fx_create_frame): Pass CHANGE_GRAVITY arg to x_wm_set_size_hint. * frame.c (Fset_frame_height, Fset_frame_width, Fset_frame_size): Pass CHANGE_GRAVITY arg to x_set_window_size. * frame.c (other_visible_frames): New function; code taken from Fdelete_frame. (Fdelete_frame): Use it. (Fmake_frame_invisible): Use it. New arg FORCE. * xfns.c (x_set_visibility): Pass new arg to Fmake_frame_invisible. * xdisp.c (fix_glyph): New function. (display_text_line, display_string): Use fix_glyph. * xfaces.c (init_frame_faces): Clear FRAME_N_COMPUTED_FACES and FRAME_SIZE_COMPUTED_FACES. 1994-02-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xdisp.c (copy_rope): Function deleted. (copy_part_of_rope): Merge the glyph's face using compute_glyph_face. Take frame as additional arg. (display_text_line): Use copy_part_of_rope always, not copy_rope. Pass the frame as arg. (display_string): Likewise. * xfaces.c (compute_glyph_face): New arg CURRENT_FACE specifies face to merge with. * emacs.c (main) [AIX]: Don't handle signal 20, 21 or 22. Call signal 24 by name (SIGXCPU). * eval.c (internal_condition_case_1): New function. * lisp.h (internal_condition_case_1): Declared. * keyboard.c (menu_bar_item): Use internal_condition_case_1. (menu_bar_item_1): New function. * xmenu.c (single_keymap_panes): Use internal_condition_case_1. (single_keymap_panes_1): New function. 1994-02-04 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * intervals.c (verify_interval_modification): When checking read-only, allow for the case that stickiness might be t instead of a list. * data.c (fmod): Implement it on systems where it's missing, using drem if available. 1994-02-04 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Remove the #if 0 directives and reverse one to avoid the flickering of the menubar. 1994-02-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (Fwhere_is_internal): Take just one keymap arg. (where_is_string): Pass Voverriding_local_map for that arg. * doc.c (Fsubstitute_command_keys): Pass keymap as that arg to Fwhere_is_internal. Init keymap from Voverriding_local_map. 1994-02-03 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * intervals.c (merge_properties_sticky): Preserve original order of properties. 1994-02-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/hpux8.h (X_IO_BUG): Defined. * fileio.c (Fwrite_region): If FILENAME has no handler, see if VISIT has one. * search.c (scan_buffer): New arg ALLOW_QUIT. (find_next_newline): Pass new arg. * xdisp.c (display_count_lines): Pass new arg to scan_buffer. * syntax.c (find_defun_start): Pass new arg to scan_buffer. * cmds.c (Fforward_line): Pass new arg to scan_buffer. 1994-02-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTread_socket): Add X_IO_BUG conditional. * xdisp.c (display_menu_bar): Pass explicit max arg to display_string. (display_string): New arg OBEY_WINDOW_WIDTH. All callers changed. 1994-02-02 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * xterm.c (x_iconify_frame): Fix misbalanced BLOCK_INPUT/UNBLOCK_INPUT. * xdisp.c (try_window_id): Don't pass value beyond ZV to compute_motion. * window.c (Fpos_visible_in_window_p): Return nil if POS > ZV. * sysdep.c (get_system_name): Remove restriction on hostname size. * lisp.h (get_system_name): Declared. * xterm.c (x_term_init): Use get_system_name instead of gethostname. * xrdb.c (x_get_customization_string): Use get_system_name instead of gethostname. 1994-02-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (kbd_buffer_get_event): Pass 1 to read_avail_input. 1994-02-01 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * config.h.in (HAVE_FMOD): Add another #undef. * data.c (Fmod): Use HAVE_FMOD. 1994-02-01 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xfns.c (x_set_menu_bar_lines): Test also menubar_widget before calling XtDestroyWidget. 1994-02-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (dumpglyphs): Don't crash for invalid face code. 1994-01-31 Richard Stallman (rms@mole.gnu.ai.mit.edu) * undo.c (record_first_change): Check for buffer-undo-list = t. Make an undo boundary if appropriate. Set last_undo_buffer. (record_property_change): Use BUFFER, not current_buffer, when testing undo_list. 1994-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * widget.c: Don't declare arg types in decls or fn definitions. * syntax.h (SYNTAX_MATCH, SYNTAX): Fix non-GNUC definitions. * widget.h (EmacsFrameSetCharSize): Don't declare arg types. * Makefile.in.in (configuration): Change # comment to C comment. 1994-01-29 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * keymap.c (currrent_minor_maps): Scale by sizeof when allocating objects. * buffer.c (Fkill_all_local_variables): Follow symbol forwarding. 1994-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * callproc.c: Include stdio.h. (init_callproc): Put non-ex-dir warnings on stderr. * lread.c (init_lread): Put non-ex-dir warnings on stderr. 1994-01-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) * lread.c (init_lread): Put non-ex-dir warnings on stderr. * callproc.c: Include stdio.h. (init_callproc): Put non-ex-dir warnings on stderr. 1994-01-28 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xterm.c (x_set_window_size): Add USE_X_TOOLKIT conditional. Call EmacsFrameSetCharSize and return. * xterm.c (x_term_init): Cast to (char **) before assignment to argv. 1994-01-27 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * keyboard.c (make_lispy_event): Add USE_X_TOOLKIT conditional and test FRAME_EXTERNAL_MENU_BAR. (map_event_to_object) [USE_X_TOOLKIT]: Declare and use it. 1994-01-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_set_mouse_position): Don't raise the frame. * s/sunos4-0.h [__GNUC__] (MKDIR_PROTOTYPE): Defined. * sysdep.c (mkdir): Use MKDIR_PROTOTYPE if defined. 1994-01-26 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xterm.h [USE_X_TOOLKIT]: Don't include Xaw/Box.h. * xdisp.c (update_menu_bar): Add USE_X_TOOLKIT conditional and test FRAME_EXTERNAL_MENU_BAR. 1994-01-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (widgetobj): New variable. (otherobj): Use widgetobj. (XOBJ): Undo previous change. 1994-01-25 Francesco Potorti` (pot@cnuce.cnr.it) * m/delta.h (HAVE_BCOPY): undef'd for efficiency. (bcopy, bzero, bcmp): define'd for efficiency. (GAP_USE_BCOPY, BCOPY_DOWNWARD_SAFE): define'd for GHc compiler. 1994-01-24 Francesco Potorti` (pot@cnuce.cnr.it) * m/delta.h (HAVE_RANDOM, BROKEN_FIONREAD): Defined if X is used. (HAVE_XSCREENNUMBEROFSCREEN): Defined if X is used. (LIB_X11_LIB, LIBX11_SYSTEM): Override only if X is used. (USG_SHARED_LIBRARIES): Undefine only if X is used. 1994-01-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fns.c (Fconcat): Doc fix. 1994-01-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_key_sequence): Properly gcpro fkey_map while using keytran_map. * fns.c (Fassq, Fassoc): Doc fixes. * data.c (Faset): Doc fix. 1994-01-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xdisp.c (display_menu_bar): Add USE_X_TOOLKIT conditional. (redisplay_window) [USE_X_TOOLKIT]: Test FRAME_EXTERNAL_MENU_BAR. (update_menu_bar) [USE_X_TOOLKIT]: Call set_frame_menubar. * widget.c: Include X11/ObjectP.h. * keyboard.c (syms_of_keyboard): New Lisp var command-hook-internal. (command_loop_1): Use it when running the command hooks. * Makefile.in.in (LWLIB_OPTIONS): Define if not defined. (LIBXT): New variable. (LIBX): Use LIBXT. (widget.o): New target. (XOBJ) [USE_X_TOOLKIT]: Add widget.o. * xmenu.c: Find lwlib.h and xlwmenuP.h in ../lwlib. * xfns.c: Find lwlib.h in ../lwlib. * widgetprv.h: Renamed from widgetP.h. * Makefile.in.in (lwlibdir): New variable. ($(OLDXMENU)) [USE_X_TOOLKIT]: Alternate rule. (OLDXMENU) [USE_X_TOOLKIT]: Alternate value. (really-lwlib): New rule. * xterm.h [USE_X_TOOLKIT]: Include StringDefs.h, IntrinsicP.h, CoreP.h, StringDefs.h, Xaw/Box.h. * xterm.c: Don't include them. * xrdb.c (search_magic_path): Fix logic testing for empty path element. 1994-01-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_wm_set_size_hint): Swap southeast and northwest. * xrdb.c (S_ISDIR): Define if not defined. (file_p): Use S_ISDIR. * xterm.c (XTupdate_end): No need to test updating_frame. * term.c (update_end): Clear updating_frame before calling hook. * fileio.c (double_dollars): New function. (Fread_file_name_internal): Use double_dollars. (Fread_file_name): Likewise. * textprop.c (Fprevious_property_change): Move back at least 1 char. (Fprevious_single_property_change): Likewise. * textprop.c: Doc fixes. * xfns.c (store_class_hints): Function deleted. * intervals.c (graft_intervals_into_buffer): Fix one-off comparing lengths of over and under. * keyboard.c (read_key_sequence): Don't call echo_truncate the first time through. 1994-01-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sunos4-1-3.h: Add #undef SYSTEM_MALLOC. * xfns.c (Fx_create_frame): Bind x-resource-name to explicit title. (Qx_resource_name): Declared. (syms_of_xfns): Set up Qx_resource_name. * xmenu.c: Reshuffle functions; put new ones in #ifdef USE_X_TOOLKIT. (Fx_popup_menu): Add USE_X_TOOLKIT conditional around new decls. * xterm.c: Put new functions in #ifdef USE_X_TOOLKIT. * xdisp.c (truncate_echo_area): New function. * keyboard.c (echo_truncate): Call truncate_echo_area. 1994-01-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) * config.h.in: Add #undef for USE_X_TOOLKIT. * xfns.c (x_window): Fix error message. 1993-01-18 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) Support use of X toolkit. * (USE_X_TOOLKIT): New macro to conditionalize the use of Xt. * widget.c, widgetP.h, widget.h: New files. * frame.h (struct frame): New field external_menu_bar. (FRAME_EXTERNAL_MENU_BAR): New macro. * xterm.h (struct x_display): New fields widget, column_widget, edit_widget, menubar_widget. (x_any_window_to_frame): Declared. * lisp.h (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): New macros. * xfns.c (x_any_window_to_frame): New function. (x_window_to_frame, x_window): Handle USE_X_TOOLKIT. (x_set_icon_type, x_set_menu_bar_lines, x_set_name): Likewise. (store_class_hints, hack_wm_protocols): New function. * xmenu.c (string_width): New function. (event_is_in_menu_item, map_event_to_object): Likewise. (set_menu_items, free_menu_items, popup_selection_callback): Likewise. (popup_down_callback, free_menubar_widget_value_tree): Likewise. (update_one_frame_psheets, set_frame_menubar): Likewise. (Fx_popup_menu, xmenu_show): Handle USE_X_TOOLKIT. * xterm.c (construct_mouse_click): New function. (process_expose_from_menu): Likewise. (XTread_socket, x_set_offset, x_set_window_size): Handle USE_X_TOOLKIT. (x_raise_frame, x_lower_frame, x_make_frame_visible): Likewise. (x_iconify_frame, x_destroy_window, x_wm_set_window_state): Likewise. (x_term_init): Likewise. * xmenu.c (dispatch_dummy_expose): New function. (XMenu_xpos, XMenu_ypos): Change the values of the constant assignment. (xmenu_show): Change the way to make the menubar to redraw itself by generating a dummy expose event. * xterm.c (x_term_init): Pass argv, argc to XtAppInitialize with the display_name value. 1994-01-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/linux.h: Don't include stdio.h. * dispnew.c: Include stdio.h before config.h. * emacs.c (init_cmdargs): Set Vinstallation_directory. (syms_of_emacs): staticpro it. * lisp.h (Vinstallation_directory): Declared. * lread.c (init_lread): Use Vinstallation_directory. * callproc.c (init_callproc): Use Vinstallation_directory. * fileio.c (Ffile_symlink_p): Doc fix. * keyboard.c (Voverriding_local_map): New variable. (syms_of_keyboard): Set up Lisp variable. (read_key_sequence, menu_bar_items): Handle Voverriding_local_map. * keymap.c (Fkey_binding): Handle Voverriding_local_map. (describe_buffer_bindings): Likewise. 1994-01-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) * config.h.in (LD_SWITCH_X_SITE_AUX): Add #undef. * s/sol2.h (LD_SWITCH_SYSTEM): Use LD_SWITCH_X_SITE_AUX. * floatfns.c (Fffloor, Ffceil, Ffround, Fftruncate): New functions. (syms_of_floatfns): Turn them on. 1994-01-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (command_loop_1): If there's an error in the post-command-hook or pre-command-hook, leave that hook nil. * s/sco4.h (BSTRING): Don't define it here. 1994-01-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (xterm.o): Depends on syssignal.h. 1994-01-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * sysdep.c (sys_siglist) [sun]: Additional Sun-specific signal names. 1993-01-12 Thomas Horsley (tahorsley@csd.harris.com) * cxux-crt0.s: New file. * emacs.c (main) [USG5 and INTERRUPT_INPUT]: Call setpgrp. * m/nh3000.h: New file for the Night Hawk 3000 series hardware defs. * m/nh4000.h: New file for the Night Hawk 4000 & 5000 series hardware. * s/cxux.h: New file for the CX/UX operating system used by Night Hawks. * s/cxux7.h: New file. * sysdep.c (request_sigio, unrequest_sigio): Add new versions of these routines for the CX/UX operating system. (sys_signal) [SA_RESTART]: Set this flag. * xterm.c: Include syssignal.h. 1994-01-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (sigchld_handler, status_message): Handle a NULL in sys_siglist. 1994-01-11 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * buffer.c (syms_of_buffer): Don't do (put 'erase-buffer 'disabled t). (keys_of_buffer): Do it here instead. 1994-01-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * lread.c (Fload): Record descriptor numbers on load_descriptor_list. (load_descriptor_unwind, close_load_descs): New function. (syms_of_lread): Init and staticpro load_descriptor_list. (init_lread): Clear load_descriptor_list. * callproc.c (child_setup): Call close_load_descs. * eval.c (Fcondition_case): Allow a list of condition names in a handler. (find_handler_clause): Likewise. (Fsignal): Rename 1st arg to error_symbol. (Fcondition_case): Doc fix. * process.c (read_process_output): Supply second arg to unbind_to. (exec_sentinel): Likewise. 1994-01-11 (afs@hplb.hpl.hp.com) * keyboard.c (read_char_x_menu_prompt, read_char_minibuf_menu_prompt): New functions made by dividing up read_char_menu_prompt. (read_char): Call read_char_minibuffer_menu_prompt before the sit_for if X menus are not going to be used. (read_char_minibuf_menu_prompt): Correct access to keymaps for menus when not using X menus. Only store character read in a keyboard macro if it is not the menu help character. 1994-01-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (create_process): Set line discipline only if pty_flag. * search.c (set_search_regs): New subroutine. (search_buffer): Use set_search_regs. Record beginning and end after matching null string. 1994-01-09 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * mem-limits.h: Include before . * process.c: Don't declare sys_nerr. Don't declare sys_errlist unless #ifdef VMS. Declare strerror instead. (wait_reading_process_input): Call strerror instead of using sys_errlist. 1994-01-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (x_sync): Block input. * buffer.h (struct buffer): New field auto_save_failure_time. * fileio.c (Fdo_auto_save): If auto save times out, don't try again for 20 minutes. (Fclear_buffer_auto_save_failure): New function. (Fset_buffer_auto_saved): Clear auto_save_failure_time. * xfns.c (x_sync): New function. * frame.c (Fdelete_frame): Call x_sync. 1994-01-09 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * sysdep.c: Restore big block of #ifdef and #include lines for fcntl.h and friends, apparently accidentally removed in revision 1.70 (Jan 5 changes). 1994-01-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * callproc.c (child_setup): Don't declare PID `register'; we later take its address. * config.h.in: Add #undef HAVE_STRERROR. * sysdep.c [! VMS]: Don't declare sys_errlist here. [! HAVE_STRERROR] (strerror): New function. (dup2): Use strerror instead of sys_errlist. * fileio.c: Don't declare sys_errlist; declare strerror instead. (err_str): Macro removed. (Finsert_file_contents, Fwrite_region): Call strerror instead of err_str. (report_file_error): Call strerror instead of using sys_errlist. * emacs.c (main): Call strerror instead of using sys_errlist. * callproc.c: Don't declare sys_errlist; declare strerror instead. (relocate_fd): Call strerror instead of using sys_errlist. * unexenix.c: Don't declare sys_errlist; declare strerror instead. (fatal_unexec): Call strerror instead of using sys_errlist. * unexmips.c: Likewise. 1994-01-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * frame.c (Fdelete_frame): Do FRAME_SAMPLE_VISIBILITY before testing visibility of a frame. * emacs.c (main): Don't call setpgrp if !initialized. * Makefile.in.in (${etc}DOC): Put back ${lisp} accidentally deleted. * keymap.c (describe_map_tree): New arg NOMENU. (describe_buffer_bindings): Pass new arg. * doc.c (Fsubstitute_command_keys): Pass new arg to describe_map_tree. 1994-01-08 Morten Welinder (terra@diku.dk) * keyboard.c (interrupt_signal) [MSDOS]: write explicit CRs since stdout has been made binary. Start at the top of the screen since the internal terminal otherwise will write "below the screen." 1994-01-07 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (emacs): Don't run inc-vers.el. * config.h.in: Handle HAVE_BCMP. (BSTRING): Don't define unless HAVE_BCMP. 1994-01-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/msdos.h (getppid): Define as macro. * dired.c (DIRENTRY_NONEMPTY): New macro; two definitions. (Fdirectory_files, file_name_completion): Use it. 1993-01-05 Morten Welinder (terra@diku.dk) * buffer.c, buffer.h [MSDOS]: New buffer-local variable: buffer-file-type to handle DOS newlines. * callproc.c (syms_of_callproc) [MSDOS]: New lisp variable: binary-process. (init_callproc) [MSDOS]: Initialize binary-process. [MSDOS]: Declare binary-process. [MSDOS]: Include , , , and needed for the next changes. (Fcall_process) [MSDOS]: Create temporary file for process output. Run the subprocess using `run_msdos_command' instead of forking. Arrange for cleanup to erase temporary file. (Fcall_process) [not subprocesses]: Barf if zero buffer argument. (call_process_cleanup) [MSDOS]: Close and erase temporary file instead of the pid-stuff. (Fcall_process_region) [MSDOS]: Create temporary file in $TMP or $TEMP. (Fchild_setup) [MSDOS]: #if 0, as it is not used. * cmds.c (keys_of_cmds) [MSDOS]: Chars 0200 to 0237 self-insert. * data.c (Frem) [MSDOS]: use `fmod', not `drem'. Put in config.h? * dired.c [MSDOS]: #include instead of . Avoid some external definitions. (Ffile_attributes) [MSDOS]: Set execute bits from file name. (Ffile_name_all_completions) [FILE_SYSTEM_CASE]: Convert case of file name as as indicated by conditional. * emacs.c (main) [MSDOS]: Call init_environment. Set file types to binary for all files. Call init_dosfns. (fatal_error_signal) [MSDOS]: Uncomment sigblock. * fileio.c [MSDOS]: #include "msdos.h" and needed for the following changes. (Ffile_name_directory, Fexpand_file_name) [FILE_SYSTEM_CASE]: Apply case conversion if defined. (Ffile_name_directory, Ffile_name_nondirectory, file_name_as_directory, directory_file_name, Fexpand_file_name, Fsubstitute_in_file_name, expand_and_dir_to_file) [MSDOS]: Drive letter support. (Fexpand_file_name) [MSDOS]: Support for multiple default directories. (Ffile_writeable_p) [MSDOS]: Don't call access with file name ending in a slash. (Finsert_file_contents) [MSDOS]: Determine file type by name (call find-buffer-file-type) and change CR+LF to LF if it is a text file. (Fwrite_region) [MSDOS]: Use text/binary mode as specified by buffer_file_type. (syms_of_fileio) [MSDOS]: Set Qfind_buffer_file_type. (Fsubstitute_in_file_name) [MSDOS]: Ignore case in environtment variable. * floatfns.c [MSDOS]: Don't define HAVE_MATHERR. * keyboard.c [MSDOS]: #include and , but not . (read_avail_input) [MSDOS]: Work around `ioctl'. Also read through dos_keyread for better keyboard support. (interrupt_signal) [MSDOS]: Don't claim we can core dump. (kbd_buffer_store_event): Cast a pointer to avoid a compiler warning. * lread.c [MSDOS]: Use text mode for all files but ".elc" files. (complete_file_name) [MSDOS]: Drive letter support. * mem-limits.h [MSDOS] (get_lim_data): Use go32 call. * sysdep.c [MSDOS]: #include , "dosfns.h", "msdos.h", and needed for the following changes, but not (discard_tty_input) [MSDOS]: Do it by reading till no more keys available. (init_baud_rate) [MSDOS]: Assume highest possible speed. (sys_suspend) [MSDOS]: Save default directory. Call via system, not via fork. (emacs_get_tty, emacs_set_tty) [MSDOS]: Don't do anything. (init_sys_modes) [MSDOS]: Use raw mode. (get_frame_size) [MSDOS]: Get from bios. (reset_sys_modes) [MSDOS]: Back to cooked mode. (start_of_text) [MSDOS]: Reference _tstart. (select) [MSDOS]: Don't use signals, use sleeping. (init_sys_modes) [MSDOS]: Initialize internal terminal. * systty.h [MSDOS]: don't #include . We haven't got it. Declare dummy main field. Don't ever use TABs. * termcap.c (tgetent) [INTERNAL_TERMINAL]: Fake internal terminal without reading any files. (valid_file_name, tgetent) [MSDOS]: Drive letter support. (tgetent) [MSDOS]: Use text mode for database. * unexec.c [MSDOS]: Don't #include , but use other headers. (make_hdr) [MSDOS]: Cast a pointer for bzero. (write_segment) [EFAULT]: Check for before using. (adjust_lnnoptrs) [MSDOS]: Use provided descriptor. (adjust_lnnoptrs): Return 0 if ok. * xdisp.c (decode_mode_spec) [MSDOS]: Let 't' expand to 'T' for text mode or 'B' for binary mode. (decode_mode_spec) [not subprocesses]: Don't access Fprocess_status. * s/msdos.h, m/dos386.h: New files (for MSDOS). * dosfns.c, dosfns.h: New files (for MSDOS). * msdos.c, msdos.h: New files (for MSDOS). 1994-01-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sunos4-1.h (SUNOS_LOCALTIME_BUG): #if 0'd. * print.c (strout, printchar): Use proper frame for minibuffer. * keyboard.c (read_avail_input): Args to `kill' were backwards. (kbd_buffer_get_event): If deleting last frame, call Fkill_emacs. * fns.c (Fmapconcat): Doc fix. * s/sco4.h (bcopy, bzero, bcmp): Defined. 1994-01-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (Fx_list_fonts): Don't fail to init `tail'. 1994-01-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c: Don't include syntax.h. * Makefile.in.in (buffer.o): Don't depend on syntax.h. * syntax.h (enum syntaxcode): Add Sinherit. (RAW_SYNTAX, RAW_SYNTAX_MATCH, SYNTAX_CHOOSE_TABLE): New macros. (SYNTAX, SYNTAX_MATCH, SYNTAX_COMSTART_FIRST, SYNTAX_COMSTART_SECOND) (SYNTAX_COMEND_FIRST, SYNTAX_COMEND_SECOND, SYNTAX_PREFIX) (SYNTAX_COMMENT_STYLE): Handle Sinherit. Alternative definitions if __GNUC__. * syntax.c (describe_syntax): Handle Sinherit. (syntax_code_spec, syntax_spec_code): Add entry for @ and Sinherit. * Makefile.in.in (temacs): Delete redundant use of LDFLAGS. 1994-01-02 Ulrich Mueller (ulm@vsnhd1.cern.ch) * sysdep.c (get_system_name): If the official name of the host is not a fully qualified domain name, then try to find one in the list of alternate names. 1994-01-02 Rick Sladkey (jrs@world.std.com) * intervals.h (NULL_RIGHT_CHILD, NULL_LEFT_CHILD): Assume children must be intervals, never strings or buffers. * intervals.c (rotate_right, rotate_left): Simplify total_length calculation. Minimize pointer dereferencing. (balance_an_interval): Remove recursive rebalancing. Rebalance precisely when imbalanced. If a rotation is done, rebalance only the node which may have become unbalanced. Iterate until the current node is balanced. (balance_possible_root_interval): New function. (balance_intervals): Move the interation into rebalance_an_interval. (balance_intervals_internal): New subroutine of balance_intervals. (split_interval_right, split_interval_left): Speed up by not checking LEAF_INTERVAL_P. (split_interval_right, split_interval_left, find_interval, adjust_intervals_for_insertion, graft_intervals_into_buffer): Add dynamic rebalancing anywhere a node may become unbalanced. (graft_intervals_into_buffer, copy_intervals): No longer any need to do a full rebalance as the tree stays balanced. 1994-01-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Fwrite_region): Don't change START and END from nil until after checking for a magic handler. * .gdbinit: Delete `show env TERMCAP'. * process.c (read_process_output): Use clip_to_bounds when moving to the process marker. * keyboard.c (modify_event_symbol): New arg NAME_ALIST. Allow SYMBOL_TABLE to be an alist. (Vvendor_key_alist): New variable. (syms_of_keyboard): Initialize it. (make_lispy_event): Handle vendor-specific keysyms. (lispy_function_keys): Delete `remove' and th HP keysyms. * xterm.c (XTread_socket): temp_buffer and temp_index deleted. Put all vendor-specific keys into the buffer. (x_is_vendor_fkey): Function deleted. (XTread_socket): Don't call it. * Makefile.in.in (SOME_MACHINE_OBJECTS): New var. (${etc}DOC): Use SOME_MACHINE_OBJECTS, not OBJECTS_MACHINE or OBJECTS_SYSTEM. Don't depend on SOME_MACHINE_OBJECTS. * dired.c (file_name_completion_stat): If have symlinks, use lstat. 1993-12-31 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (Qget_file_buffer): New variable. (syms_of_buffer): Set up Qget_file_buffer. (Fget_file_buffer): For magic file names, run the handler. * fileio.c (Finsert_file_contents): Don't run after change hook if inserted is 0. Avoid setting modtime or buffer-file-name field if ran a handler. jrs: * s/linux.h (PENDING_OUTPUT_COUNT): Two alternate definitions for different versions of stdio.h. 1993-12-30 Morten Welinder (terra@diku.dk) * frame.c: Always include termhooks.h. [! MULTI_FRAME] (Fmouse_position): New definition. [! MULTI_FRAME] (syms_of_frame): Add mouse-position. 1993-12-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * doc.c (Fsubstitute_command_keys): Fix previous change. 1993-12-30 Lawrence R. Dodd (dodd@roebling.poly.edu) * minibuf.c (read_from_minibuffer): Rename arg initial_input to initial_contents. 1993-12-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * editfns.c (Femacs_pid): New function. (syms_of_editfns): Define it for Lisp. * keyboard.c (read_avail_input): Turn O_NDELAY off on DGUX as on USG. * minibuf.c (Fall_completions): Allow completions that start with space if the input starts with space. * Makefile.in.in (LDFLAGS): Define as empty. (ALL_LDFLAGS): Define as LDFLAGS used to be defined. (temacs): Use ALL_LDFLAGS. * xfns.c (Fx_create_frame): Add to Vframe_list before making visible. 1993-12-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (describe_command): If binding is a kbd macro, say so. 1993-12-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (main) [AIX]: Call putenv. * s/linux.h (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Defined. * keyboard.c (lispy_accent_codes): Cope if an XK symbol is undefined. (make_lispy_event): Define i. * termhooks.h (struct input_event): FIx typo in previous change. * xterm.c (XTflash): Use EMACS_GET_TIME. (XTread_socket): Make proper junk values to pass to select. 1993-12-25 Jerry Frain (jerry.frain@tivoli.com) * s/usg5-4.h (bcopy): Use memmove instead of memcpy. * systime.h (EMACS_GET_TIME) [USG5_4]: Give gettimeofday just one arg. 1993-12-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * alloc.c (Fmemory_limit): No longer interactive. 1993-12-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (command_loop_1): Test of whether disp tab elt was a vector was backwards. * fileio.c (Fwrite_region): If handler, don't mess with modtime. (Finsert_file_contents): Likewise. * config.h.in: Add #undef HAVE_SETSID. * process.c (create_process) [NTTYDISC]: Set the tty line discipline. * callproc.c: Include systty.h. (child_setup): Use EMACS_SET_TTY_PGRP. * Makefile.in.in (callproc.o): Depend on systty.h and syssignal.h. * xdisp.c (redisplay_window): Before altering lpoint, make sure the buffer it pertains to is the one being displayed. * syntax.c (Fmodify_syntax_entry): Doc fix. 1993-12-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (Fopen_network_stream): Turn off SIGIO while connecting. 1993-12-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (lispy_accent_codes): New variable. (make_lispy_event): Use that to handle lots of dead accent keys. * xterm.c (XTread_socket): Handle a bunch more dead keys. 1993-12-22 Francesco Potorti` (pot@cnuce.cnr.it) * m/delta.h (BROKEN_CLOSEDIR): added because closedir is interruptible. (HAVE_UNISTD_H): deleted because configure takes care of it. (C_SWITCH_MACHINE): added optimisation options for gnu cc. 1993-12-17 Mike Long (mike.long@analog.com) * s/vms.h (TERMCAP_NAME): Defined. * s/netbsd.h (TERMCAP_NAME): Defined. These correspond with changes in termcap.c. 1993-12-17 Richard Stallman (rms@gnu.ai.mit.edu) * xterm.c (XTread_socket): Don't offset keysym here. Special handling for "dead accent" keysyms. * keyboard.c (make_lispy_event): Offset the event code here. Special handling for "dead accent" keysyms. * keyboard.c (quit_throw_to_read_char): Don't switch frames if internal_last_event_frame is not a frame. * termhooks.h (struct input_event): `code' is now an int. * xterm.c (construct_mouse_click, x_scroll_bar_handle_click) (XTread_socket): `code' of an event is now an int. * keyboard.c (kbd_buffer_store_event, make_lispy_event) (stuff_buffered_input): `code' of an event is now an int. * s/sol2-3.h: New file. * xfns.c (Fx_list_fonts): Handle BROKEN_XLISTFONTSWITHINFO. 1993-12-16 Richard Stallman (rms@gnu.ai.mit.edu) * xterm.c (pixel_to_glyph_coords): New arg NOCLIP. Callers changed. * keyboard.c (make_lispy_movement): If we have a frame but pos is not in a window, return an event with the frame. * xterm.c (XTread_socket): For MotionNotify, if x_mouse_grabbed, use last_mouse_frame. (construct_mouse_click): Set last_mouse_frame. (XTmouse_position): If x_mouse_grabbed, use last_mouse_frame. * xdisp.c (message): Use message2, not message1. 1993-12-15 Richard Stallman (rms@gnu.ai.mit.edu) * xfns.c (Fx_create_frame): Add frame to Vframe_list. * frame.c (make_terminal_frame): Add frame to Vframe_list. (make_frame): Don't add to frame list here. * window.c (Fdisplay_buffer): If pop_up_frames, pass t to Fget_buffer_window. * Makefile.in.in (configuration): New variable. (emacs.o): Define macro CONFIGURATION. * emacs.c (syms_of_emacs): Define Lisp var system-configuration. * xdisp.c (display_string): Fix truncation-criterion after main loop for termination due to LENGTH. * window.h (echo_area_glyphs_length): Declared. * print.c (printchar, strout): Set echo_area_glyphs_length. * keyboard.c (read_key_sequence): Don't return if in middle of possible function-key-map sequence, if the bindings were all found by case conversion. * lisp.h: Use WORDS_BIG_ENDIAN, not BIG_ENDIAN. (Qmenu_bar): Declared. * process.c (Fprocess_status): Use get_process, not Fget_process. * s/dgux.h (SYSTEM_TYPE): Make it dgux. * m/sun2.h (OTHER_FILES): Use ${libsrc} as dir. 1993-12-15 Michal Jankowski (michalj@fuw.edu.pl) * insdel.c (del_range): Second argument in call to offset_intervals is 'from', not 'point'. 1993-12-14 Richard Stallman (rms@gnu.ai.mit.edu) * emacs.c (memory_warning_signal): New function. (main): Handle SIGDANGER, if defined. * minibuf.c (minibuffer_auto_raise): Really define it. * process.c [BROKEN_O_NONBLOCK]: Undefine O_NONBLOCK. 1993-12-14 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * dispnew.c (update_frame): Only call sleep (outq / baud_rate) if baud_rate >= OUTQ. Calling sleep (0) causes a gratuitous delay on some systems. 1993-12-13 Andreas Luik (luik@kepler.isa.de) * xterm.c (x_calc_absolute_position): Borderwidth must be doubled before subtracting from width to get correct value. * xfns.c (Fx_create_frame): Fix order of arguments of x_wm_set_size_hint call. This corrects handling of +x-y and -x+y geometry specifications. 1993-12-12 Richard Stallman (rms@gnu.ai.mit.edu) * xdisp.c (echo_area_glyphs_length): New variable. (message1): Set it. (message2): New function. (display_string): New arg LENGTH. (echo_area_display): Pass new arg to display_string. (redisplay_window): Likewise. (display_text_line): Likewise. (display_menu_bar): Likewise. (display_mode_element): * editfns.c (Fmessage): Use message2. * keyboard.c (set_waiting_for_input): Code testing echo_flag deleted. (echo_flag, echo_now): Vars deleted. * keyboard.c (read_key_sequence): Bind case_converted at top level. Clear it at replay_sequence. (follow_key): Never clear *CASE_CONVERTED. 1993-12-11 Richard Stallman (rms@gnu.ai.mit.edu) * xselect.c (x_get_foreign_selection): Use x_catch_errors. * fileio.c (Fmake_symbolic_link): Do expand FILENAME if starts with ~. * keymap.c (Fwhere_is_internal): Doc fix. * buffer.c (Fbuffer_disable_undo): Make arg optional. 1993-12-11 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * unexsunos4.c [! MAP_FILE] (MAP_FILE): Define to zero. (unexec): Remove unused variable BUF. Use MAP_FILE bit in mmap call. (run_time_remap): Use MAP_FILE bit in mmap call. 1993-12-09 Richard Stallman (rms@gnu.ai.mit.edu) * insdel.c (modify_region): Call record_first_change if necessary. * emacs.c (main): Don't handle SIGDANGER. * minibuf.c (minibuffer_auto_raise): New variable. (syms_of_minibuf): Set up Lisp var. (read_minibuf): Maybe raise the minibuffer's frame. 1993-12-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * dispnew.c (PENDING_OUTPUT_COUNT) [__GNU_LIBRARY__]: Alternate definition for the GNU C library. I changed this in version 18 in 1991, but the change never got propagated. 1993-12-07 (pmr@legacy.pajato.com) * s/dgux.h (SYSV4_PTYS): Remove. (SIGNALS_VIA_CHARACTERS): Defined. * process.c (create_process): Delete SYSV4_PTYS code. (deactivate_process): Likewise. 1993-12-06 Richard Stallman (rms@gnu.ai.mit.edu) * doc.c (Fsubstitute_command_keys): Ignore menu bar bindings. * s/sunos4-1.h (LIBS_S