Mercurial > emacs
view src/ChangeLog.4 @ 29707:a70985b2a88f
*** empty log message ***
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sat, 17 Jun 2000 15:36:33 +0000 |
parents | 8f14d08e19f7 |
children | 218f185269b8 |
line wrap: on
line source
1994-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.25 released. * xdisp.c (redisplay): Limit prev change to pause != 0. * keyboard.c (command_loop_1): Allow direct output for insert if have display table but it says nothing for this char code. Don't allow it if char code has a glyph with a face code. * process.c (create_process): Get a pty for any non-nil Vprocess_connection_type value. 1994-05-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/bsd386.h (TABDLY, TAB3): Defined. (SYSV_SYSTEM_DIR): Defined. * unexhp9k800.c (roundup): Undef before defining. * xdisp.c (redisplay): If have window change at end, redisplay again. * lread.c (defvar_bool, defvar_int, defvar_lisp, defvar_lisp_nopro): Delete third arg DOC. * s/hpux8.h (LD_SWITCH_SYSTEM): Delete the -L options. (LD_SWITCH_X_DEFAULT): Put them here instead. * Makefile.in.in (LD_SWITCH_X_DEFAULT): Define if not defined. (LIBX): Use LD_SWITCH_X_DEFAULT. * xterm.c (x_iconify_frame): Call x_set_offset, if x_make_frame_visible would do so. (x_make_frame_visible): Don't call x_set_offset if frame is iconic. (XTread_socket): For ConfigureNotify, if wm decorations exist, set NorthWestGravity. * Makefile.in.in (mostlyclean): Don't mention xmakefile*. * emacs.c (main): In batch mode, don't set the pgrp. 1994-05-27 Paul Eggert (eggert@twinsun.com) * callproc.c (child_setup): If PWD is set, set it in the child so that it points at the child's working directory. 1994-05-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) * m/mips4.h (C_DEBUG_SWITCH) [not __GNUC__]: Add -Wf option. * s/hpux9.h (C_SWITCH_SYSTEM): Defined. * keyboard.c [HAVE_X_WINDOWS]: Include xterm.h. * xterm.c (x_is_vendor_fkey): Function deleted. (XTread_socket, case KeyPressed): Don't clear the vendor-specific bit. Pass thru almost any vendor-specific keysym. * s/linux.h (HAVE_XRMSETDATABASE): Define if not defined. 1994-05-27 Paul Eggert (eggert@twinsun.com) * editfns.c (difftm): Don't store a long value into an int variable. 1994-05-26 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * fileio.c (Finsert_file_contents): Check for beginning of file. 1994-05-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * systime.h: Make previous change limited to HPUX. 1994-05-26 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * systime.h: If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__. 1994-05-25 Morten Welinder (terra@diku.dk) * msdos.c (output_string): New function. (internal_flush): Use output_string for faster screen update. (internal_flush): Clear to end of line by writing a string of spaces. 1994-05-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (Vx_sensitive_text_pointer_shape): Renamed from Vx_cross_pointer_shape. (syms_of_xfns): Provide Lisp var x-sensitive-text-pointer-shape. * xmenu.c (menu_item_equiv_key): Look for equiv keys both before and after one stage of symbol function indirection. * xterm.c (note_mouse_movement): Use frame's window in XQueryPointer. Special case if mouse isn't on that window. (note_mouse_highlight): Handle negative args and too-large args. * lread.c (openp): Don't use O_RDONLY. 1994-05-24 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * search.c (Freplace_match): Improve capitalization heuristics. * minibuf.c (Fminibuffer_complete_word): GCPRO completion and tem. * undo.c (Fprimitive_undo): GCPRO next and list. Check argument type before calling XINT. 1994-05-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (verify_overlay_modification): GCPRO tail and overlay. Avoid copying tail twice. 1994-05-24 Andreas Schwab (schwab@informatik.uni-dortmund.de) * keymap.c (describe_map): Fix the call to Fequal. 1994-05-24 Morten Welinder (terra@diku.dk) * msdos.c (do_visible_bell): Renamed from visible_bell to avoid potential conflict with variable of the same name. Caller changed. (internal_flush): Code for audio bell inserted. * s/msdos.h (INTERNAL_TERMINAL): Allow audio bell. * msdos.c (dos_rawgetc): Doc fix. Make C-, S-, and M- modifiers independent. Make modifiers work with mouse. Improve C-S-<ascii> handling by using look-up tables. Fix kp-decimal problem. 1994-05-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.24 released. * s/hpux8.h (LD_SWITCH_SYSTEM): Put back -Xlinker for GCC. * Makefile.in.in (LIBXT): Move -lXmu before -lXt. * term.c (update_end): Undo previous change. * frame.c (other_visible_frames): No longer static. * window.c (window_loop): Fix test of dedicated flag in prev change. * window.c (window_loop, UNSHOW_BUFFER case): Put prev change in #ifdef MULTI_FRAME. * keyboard.c (menu_bar_one_keymap): When there's no item string, use Qnil. Don't ever put `undefined' into the list of definitions. 1994-05-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * window.c (window_loop, UNSHOW_BUFFER case): Kill a special frame. * xterm.c (x_set_window_size): If cursor outside new size, mark it off. * dispnew.c (change_frame_size): Keep cursor coords in range. * s/linux.h (HAVE_GETTIMEOFDAY, HAVE_MKDIR, HAVE_RMDIR) (HAVE_XSCREENNUMBEROFSCREEN): Define these if not already defined. 1994-05-22 Morten Welinder (terra@diku.dk) * unexec.c [MSDOS]: Don't include files from the dos extender and debugger. Use the <coff.h> that was put in the right place a couple of djgpp versions ago. Consequently, use `unsigned short' for `word16' and `unsigned long' for `word32'. 1994-05-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (note_mouse_highlight): Handle case of highlight extending past end of window. (fast_find_position): Fix bugs when no text on screen and when the mouse is on an empty line. * s/hpux9shr.h: New file. * s/hpux8.h (LD_SWITCH_SYSTEM): Add conditionals for HPUX_USE_SHLIBS. Delete explicit -Xlinker in GCC case. * unexhp9k800.c: Include config.h. [HPUX_USE_SHLIBS]: Include dl.h. (brk_on_dump): New variable. (unexec): Set brk_on_dump. (copy_file): Change buffer size to 8192. * window.c (change_window_height): Test for DELTA too small only after making it smaller based on maxdelta. 1994-05-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Fdelete_directory): Allow dir names as well as file names. * Makefile.in.in (${etc}DOC): Ignore error from rm. (MSDOS_SUPPORT): New variable. (lisp): Use MSDOS_SUPPORT. * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Commented out. 1994-05-20 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xfns.c (x_set_background_color): Set scroll bar backgrounds. 1994-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_wm_set_window_state) [USE_X_TOOLKIT]: Use XtSetValues. (x_iconify_frame) [USE_X_TOOLKIT]: New code for invisible window case. (XtNinitialState) [USE_X_TOOLKIT]: New #define. (x_make_frame_invisible): Mostly combine toolkit/non-toolkit cases, in the process fixing a dumb bug. 1994-05-20 Michael I Bushnell (mib@geech.gnu.ai.mit.edu) * lread.c (openp): Only lusers assume that O_RDONLY == 0. 1994-05-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (UNEXEC_ALIAS): New variable, used to make the unex...o target. * xfaces.c (Fset_face_attribute_internal): Always return valid data. * textprop.c (syms_of_textprop): Set up Lisp fn get-char-property. 1994-05-19 Andreas Schwab (schwab@issan.informatik.uni-dortmund.de) * fileio.c (Finsert_file_contents): Declare buffer as unsigned char. When comparing with file size convert same_at_start to distance to buffer start. If the file matches the buffer contents truncate the buffer to the size of the file. 1994-05-19 Jim Blandy (jimb@totoro.bio.indiana.edu) * keyboard.c (read_char_minibuf_menu_prompt): Don't forget to initialize nobindings. 1994-05-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (ORDINARY_LINK): Define by default if __GNU_LIBRARY__ and not LINUX. * s/isc4-0.h (EXTRA_INITIALIZE): Definition deleted. * s/isc3-0.h (EXTRA_INITIALIZE): Define here. * keyboard.c (lispy_function_keys): Add `backtab'. * frame.c (syms_of_frame): Set up frame-first-window as Lisp fn. * indent.c: Add "args" to dummy definition of compute-motion. * sysdep.c [BROKEN_TIOCGWINSZ]: Undef TIOCSWINSZ too. * Makefile.in.in (FRAME_SUPPORT): Add menu-bar.el. * dispnew.c: Include errno.h. * widget.c (EmacsFrameSetCharSize): Once again preserve x and y pos, but not the same way as before. * xmenu.c (other_menu_bar_item_p): Return 0 if no menu bar. * fileio.c (Fwrite_region): Set update_mode_lines. * xmenu.c (xmenu_show): Don't look in menubar for core.height if no menu bar. * xterm.c (x_iconify_frame): Fix error messages. 1994-05-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dispnew.c (PENDING_OUTPUT_COUNT): If __GNU_LIBRARY__, use GNU_LIBRARY_PENDING_OUTPUT_COUNT if defined. * keyboard.c (lispy_function_keys): Add various kp- keys for X11R6. * fileio.c (syms_of_fileio): Doc fix. * s/linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Both definitions renamed from PENDING_OUTPUT_COUNT. * process.c (create_process): Don't complain about error from TIOCSETD. * window.c (Fset_window_buffer): Fix dedicated window error call. (window_loop, case UNSHOW_BUFFER): Clear dedicated flag. * fileio.c (Finsert_file_contents): Declare `buffer' as unsigned char. * dispnew.c: Include systime.h after xterm.h. * m/tek4300.h (WORDS_BIG_ENDIAN): Define this, not BIG_ENDIAN. * emacs.c (syms_of_emacs), config.h.in: EMACS_CONFIGURATION renamed from CONFIGURATION. 1994-05-17 Andreas Schwab (schwab@issan.informatik.uni-dortmund.de) * eval.c (Fbacktrace): Properly nest parentheses. (Fbacktrace_frame): Don't bomb on invalid frame number. 1994-05-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (command_loop_1): Fix test for valid display table entry, for backwards motion. * Makefile.in.in (ALL_LDFLAGS): Add LDFLAGS. (MAKE): Don't override a previous value of MAKE set by configure. * dispnew.c (update_frame): Fix test of outq and baud_rate. * emacs.c (shut_down_emacs): Don't call intern. 1994-05-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.23 released. 1994-05-17 Morten Welinder (terra@diku.dk) * msdos.c (gettimeofday): New function substituting the library function of the same name. (init_gettimeofday): New function. (init_environment): Call init_gettimeofday after possibly setting TZ environment variable. * msdos.h: Add template for init_gettimeofday. 1994-05-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * buffer.c (fix_overlays_in_range): New function. * editfns.c (Ftranspose_regions): Call it. Also update point as if it were a marker. 1994-05-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (xmenu_show): Completely ignore nameless panes except for the first pane. Ignore named panes too if KEYMAPS. * widget.c (setup_frame_gcs): Move cursor_bits variable out of setup_frame_gcs and rename to setup_frame_cursor_bits. * eval.c (syms_of_eval): Doc fixes. 1994-05-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_display_box_cursor): Preserve mouse highlight if the old cursor was in it. * editfns.c (Fcurrent_time_zone): Add cast. * s/bsd386.h (LOCALTIME_CACHE): Defined. * m/pmax.h (LOCALTIME_CACHE): Define, if not OSF1. * xfns.c (validate_x_resource_name): Don't let Vx_resource_name have invalid characters. 1994-05-14 Morten Welinder (terra@diku.dk) * msdos.c (crlf_to_lf): Fix off-by-one condition. 1994-05-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (bind_polling_period): Never decrease polling_period. * fileio.c (Fdo_auto_save): Save listdesc as an integer, only if open. (do_auto_save_unwind): Corresponding changes. * keyboard.c (echo): Don't echo motion events. * fileio.c (Fcopy_file): Close output before setting its times. Close both before discarding the unwind protects. 1994-05-13 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * buffer.c (Foverlay_lists): Doc fix. (Fnext_overlay_change): Doc fix. 1994-05-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTread_socket): For button events, clear compose_status. * Makefile.in.in (LIBXTR6): New variable. Test HAVE_X11XTR6. (LIBXT): Use it. * config.h.in (HAVE_X11XTR6): Add #undef. * editfns.c (save_excursion_restore): Don't run activate-mark-hook if mark position is unchanged. * emacs.c (main): PRIO_PROCESS renamed to SET_EMACS_PRIORITY. * callproc.c (child_setup): PRIO_PROCESS renamed to SET_EMACS_PRIORITY. Don't call nice if emacs_priority is positive. * sysdep.c (sys_subshell): PRIO_PROCESS renamed to SET_EMACS_PRIORITY. Don't call nice if emacs_priority is positive. 1994-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in: Handle Motif and Open-look. (LIBW): New variable. (LIBXT): Use it. * process.c (POLL_FOR_INPUT): Define, if appropriate. 1994-05-12 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (display_text_line): Fix check for end of buffer. 1994-05-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (dumpglyphs): For cursor foreground, try the face's background before the face's foreground. (XTread_socket): Call note_mouse_movement for EnterNotify. * process.c (Fopen_network_stream): Call bind_polling_period; later unbind the binding. * keyboard.c (syms_of_keyboard): Set up Qpolling_period. (bind_polling_period): New function. * callproc.c (init_callproc): Never set Vdata_directory based on the executable's location. But maybe set it from source dir. 1994-05-11 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * systty.h [__GNU_LIBRARY__]: Include <termios.h>. 1994-05-11 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) * xmenu.c (xmenu_show): New var mb_item. Use it to determine the menubar item that led to the menu. (Fx_popup_menu): Suppress duplicate test case in the way to determine whether the menu is handling a menu bar click. 1994-05-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (Frename_buffer): Reject empty string as new name. 1994-05-10 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * process.c (exec_sentinel): Don't deactivate the mark. Check for asynch buffer switch. 1994-05-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/bsd4-2.h (BSD): Define as 42. (BSD4_2): Define as 1. This makes it like bsd4-3.h. * floatfns.c: Don't declare logb if it is a macro. 1994-05-10 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (read_char): Preserve echo area on asynch buffer switch. 1994-05-10 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * dispnew.c [__GNU_LIBRARY__]: Redefine PENDING_OUTPUT_COUNT even if already defined. 1994-05-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Finsert_file_contents) [MSDOS]: Ignore the replace feature. * buffer.c (syms_of_buffer): Doc fix. * keyboard.c (syms_of_keyboard): Doc fix. 1994-05-10 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (safe_run_hooks): New function, extracted from command_loop_1. Bind inhibit_quit. 1994-05-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (string_width): Deleted. * xterm.c (x_set_window_size) [USE_X_TOOLKIT]: Preserve the main widget's x and y position. 1994-05-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (process_send_signal): If PREFER_VSUSP, use VSUSP instead of VSWTCH. * s/sco4.h (PREFER_VSUSP): Defined. * s/irix5-0.h (PREFER_VSUSP): Defined. * fileio.c (Fdo_auto_save): Write a list of all auto save file names. (Vauto_save_list_file_name): Specify file name to put them in. (syms_of_fileio): Set up Lisp var. 1994-05-07 Morten Welinder (terra@diku.dk) * callproc.c [MSDOS]: Rename Vbinary_process to Vbinary_process_output. (syms_of_callproc) [MSDOS]: Rename lisp variable binary-process to binary-process-output. (Fcall_process, syms_of_callproc) [MSDOS]: Use new names. (Vbinary_process_input) [MSDOS]: New variable. (syms_of_callproc) [MSDOS]: Declare binary-process-input. (Fcall_process_region) [MSDOS]: Bind binary-process-input temporarily to buffer-file-type. (init_callproc) [MSDOS]: Don't add lib-src as the wrapped binaries are in bin. 1994-05-07 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (Qbuffer_file_type): Var deleted. * callproc.c (Qbuffer_file_type): Var added. * keyboard.c (read_char): Don't test do_mouse_tracking; instead, do prepare_menu_bars only if commandflag > 1. (read_char): Do call add_command_key for mouse-movement events. Test detect_input_pending, not EVENT_QUEUES_EMPTY, for kbd menus. But don't test either one for mouse menus. * undo.c (record_delete): Record the old point value only right after a boundary. 1994-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/dgux5-4r3.h: Use dgux5-4r2.h under new name. * puresize.h (PURESIZE): Increase to 235000 and 205000. 1994-05-06 Morten Welinder (terra@diku.dk) * s/msdos.h: Define NO_MATHERR. * floatfns.c: Don't guard DOMAIN && SING && OVERFLOW check by an #ifndef MSDOS. 1994-05-06 Francesco Potorti` (pot@cnuce.cnr.it) * m/delta.h: (SYSTEM_MALLOC): deleted. The problem isn't there. 1994-05-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_set_offset): Set gravity and size hint before moving the window. * keyboard.c (make_lispy_event): Ignore mouse events for deleted frame. * xterm.c (XTread_socket): For ReparentNotify, use x_top_window_to_frame. Also recompute frame position using x_real_positions. For ConfigureNotify, don't ignore send_events. Also recompute frame position using x_real_positions. 1994-05-05 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * window.c: Use PT, not point. (Fdelete_other_windows): Do nothing if w->start is outside region. Don't temporarily move point when recomputing window position. 1994-05-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (x_real_positions): New function. * keyboard.c (make_lispy_movement): Don't call pixel_to_glyph_coords if FRAME is 0. * xterm.c (x_set_offset): Update XNegative and YNegative for new pos. (x_calc_absolute_position): Clear XNegative and YNegative. * xrdb.c (x_load_resources) [USE_X_TOOLKIT]: Don't call XrmInitialize. * keymap.c (describe_map): Ignore bindings for all except symbols and integers. * unexelfsgi.c (unexec): Handle debugging info properly. * s/freebsd.h: Don't use netbsd.h. Do all those things right here. 1994-05-05 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xmenu.c (Fx_popup_menu): Restore accidentally-deleted call to mouse_position_hook. (xmenu_show): Disallow empty menus. 1994-05-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (last_point_position_buffer): New variable. (command_loop_1): Set it. * undo.c (record_delete): Test it. * commands.h (last_point_position_buffer): Declared. * Makefile.in.in: Put in a separator for where to start cpp procssing. Above that, use Make-style comments. This goes with changes in ../configure.in. 1994-05-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/isc4-0.h (NEED_SIOCTL, ISC4_0): Declared. * sysdep.c: Test ISC4_0 along with TIOCGWINSZ. * process.c (wait_reading_process_input): Don't call prepare_menu_bars unless we are going to redisplay for a garbaged frame. (read_process_output): Call prepare_menu_bars if waiting for input. (exec_sentinel): Call prepare_menu_bars if waiting for input. * s/dgux5-4r3.h, s/dgux5-4r2.h: Renamed from ..4R.. * eval.c (error): Fix logic in call to xmalloc/xrealloc. * xterm.c (x_make_frame_invisible): Use XWithdrawWindow again. * s/sol2.h, s/sol2-3.h (LD_SWITCH_SYSTEM): Use ./prefix-args, not -Xlinker directly. 1994-05-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (x_set_cursor_color): Fix typo. * xselect.c (x_own_selection): Catch errors around XSetSelectionOwner. * buffer.c (syms_of_buffer): Doc fix. * xdisp.c (display_text_line): Since HPOS is negative, avoid writing before the beginning of the charstarts line. * minibuf.c (read_minibuf): Clear previous_echo_glyphs. 1994-05-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dired.c (file_name_completion_stat): Use both lstat and stat. 1994-05-02 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xterm.c (show_mouse_face): Fix test for cursor in highlighted area. (note_mouse_highlight): Reorder test for simplicity. (note_mouse_highlight, show_mouse_face, clear_mouse_face, x_destroy_window): Use row/col instead of buffer position to keep track of highlighted area. 1994-05-02 Francesco Potorti` (pot@cnuce.cnr.it) * m/delta.h: (SYSTEM_MALLOC): Defined, since GNU malloc does not work. (BCOPY_UPWARD_SAFE): Defined to 0 for the Green Hills compiler. 1994-05-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (create_process): Undo April 19 setsid change. 1994-05-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.h (struct x_display): New field size_hint_flags. * xfns.c (Fx_create_frame): Set the size_hint_flags field. Don't call x_calc_absolute_position. * xterm.c (x_calc_absolute_position): Use size_hint_flags. New FLAGS arg deleted. Callers changed. * xfns.c (x_figure_window_size): Handle `-' for top or left. (Fx_parse_geometry): Handle one element at a time. Give `-' when appropriate. (x_figure_window_size): Allow just height or just width. * xterm.c (x_wm_set_size_hint): Don't try to handle negative positions. (x_calc_absolute_position): New arg FLAGS. Use XNegative and YNegative. (x_set_offset): Pass new arg. * xfns.c (x_figure_window_size): Set USPosition only if user-position is non-nil; otherwise, if pos is specified, set PPosition. Likewise for USSize and PSize. (Fx_create_frame): Use XNegative and YNegative to set win_gravity. [USE_X_TOOLKIT] (x_window): Use XNegative and YNegative to set win_gravity. Pass new arg to x_calc_absolute_position. * editfns.c (Ftranspose_regions): Take addresses only after move gap. Cast result of alloca. Use xmalloc instead, for large objects. Always copy the middle portion directly; never put it in temp. Always move the gap to START1 or END2, whichever is nearer. * keyboard.c (Ftrack_mouse): Call prepare_menu_bars at the start. (read_char): Don't call prepare_menu_bars if doing mouse tracking. 1994-04-30 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * puresize.h (PURESIZE) [MULTI_FRAME]: Increase to 232000. 1994-04-30 Paul Reilly (pmr@churchy.gnu.ai.mit.edu) * s/dgux5-4R3.h: new file. * s/dgux5-4R2.h: new file. * s/dgux.h (SVR4): Make conditional on ELF environment. (INTERRUPT_INPUT, ORDINARY_LINK): Set by default. (C_COMPILER, LINKER and MAKE_COMMAND): Remove. * process.c (IN_ADDR, NUMERIC_ADDR_ERROR): Made conditional on HAVE_BROKEN_INET_ADDR. 1994-04-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (record_asynch_buffer_change): Block SIGIO. (force_auto_save_soon): Call record_asynch_buffer_change. * emacs.c (memory_warning_signal): Call force_auto_save_soon. * keyboard.c (force_auto_save_soon): New function. * process.c (Fopen_network_stream): Retry the connect if EADDRINUSE. Ignore EISCONN. 1994-04-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * eval.c (init_eval): Initialize when_entered_debugger to -1. 1994-04-29 Jim Blandy (jimb@totoro.bio.indiana.edu) * data.c (Ffset, Ffmakunbound): Signal an error if SYM is nil or t. 1994-04-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * data.c, floatfns.c, lread.c [MSDOS]: Re-enable some #undef's. 1994-04-29 Karl Fogel (kfogel@phylo) * editfns.c (Ftranspose_regions): New function. (transpose_markers): Helper func for above. (syms_of_frame): Call defsubr for Stranspose_regions. 1994-04-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.h (x_mouse_grabbed): Declared. * xmenu.c (xdialog_show): Clear x_mouse_grabbed. * frame.c (Fframe_live_p): Alternative defn for not MULTI_FRAME. (syms_of_frame): Call defsubr for it. * process.c: Doc fixes. * xterm.c (x_wm_set_size_hint): Always set PWinGravity. Rename the args. Compute x and y fields from negative positions. Use XGetWMNormalHints if X11R4 or newer. (x_make_frame_visible): Call x_set_offset only if not USE_X_TOOLKIT. (x_make_frame_invisible): Call x_wm_set_size_hint. (x_set_offset): Pass 0 as 3rd arg to x_wm_set_size_hint. (x_set_window_size): Likewise. Set win_gravity field here if nec. * xfns.c (Fx_create_frame): Pass 0 as 3rd arg to x_wm_set_size_hint. (x_figure_window_size): Fix typo setting XNegative. * minibuf.c (Fminibuffer_complete): Add third arg to Fset_window_start. * buffer.c (init_buffer_once): Initialize buffer_file_type field right. * m/dos386.h (HAVE_MOUSE): Defined. (PURESIZE): Increase value. * xdisp.c (decode_mode_spec): Fix handling of `%t'. * msdos.c, dosfns.c: Finish downcasing mouse_init1, mouse_off, mouse_check_moved, mouse_pressed, mouse_released, mouse_on, mouse_init. * dispnew.c (update_frame): Fix previous change: Unconditionally bzero at the end. 1994-04-29 Morten Welinder (terra@diku.dk) * msdos.c (visible_bell): Now static. Make the asm volatile. Don't expect register %gs to survive calls to other functions (just to be safe, %gs will survive at present). * keyboard.c (make_lispy_movement): if HAVE_MOUSE then include the mouse handling code. * msdos.c (glyph_to_pixel_coords, pixel_to_glyph_coords) new functions imitating those in xterm.c. * s/msdos.h (getppid): Definition deleted. * msdos.c (dos_rawgetc): Key numbers are biased by 0xff00. * dosfns.c (Fmode25, Fmode4350): Clean up the coding and return a well-defined value. (syms_of_dosfns): Doc fix. 1994-04-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keymap.c (Fsingle_key_description): Undo previous change. (describe_map): Skip string entries. * minibuf.c (do_completion): Initialize vars before gcpro. 1994-04-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dispnew.c (update_frame): Move those assignments even farther down. * xterm.c (x_wm_set_size_hint): Don't set PMaxSize. Don't touch win_gravity field if no PWinGravity. 1994-04-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * print.c: Doc fixes. * keymap.c (describe_map_tree, describe_buffer_bindings): gcpro stuff. (describe_buffer_bindings): Delete unused code. 1994-04-28 Per Abrahamsen (abraham@research.att.com) * keymap.c (Fsingle_key_description): Accept strings as keys since the buffer menu uses them. 1994-04-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dispnew.c (update_frame): Move assignments to current_frame and desired_frame. * floatfns.c (logb): Test HPUX, not hpux. * s/sunos4-1.h (LIBS_SYSTEM): #if 0'd. * xmenu.c (Fx_popup_menu): Doc fix. * xfns.c (x_window) [USE_X_TOOLKIT]: Call XSetWMHints. 1994-04-28 Michael D. Ernst (mernst@monozygote.research.microsoft.com) * fileio.c (inhibit-file-name-handers): Correct documentation. 1994-04-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xterm.c (XTread_socket): Only top window cares about LeaveNotify. * frame.c (Fframe_parameters) [!MULTI_FRAME]: Unstub it again. 1994-04-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (syms_of_emacs): Doc fix. * callproc.c (child_setup): Test PRIO_PROCESS, as in sys_subshell. * m/hp800.h: Renamed from hp9000s800.h. (hp9000s800): Undo previous change. * process.c (create_process): If vfork fails, close forkin and forkout. 1994-04-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_make_frame_visible): Use XtMapWidget, not XtPopup. * m/hp9000s800.h (hp800): Define this instead of hp9000s800. * Makefile.in.in (mostlyclean): Remove liblw.a. * lread.c (read1): Allow `\C- ' and `\C-?'. 1994-04-27 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * unexmips.c (unexec): Cast pointers. Fix error message. * Makefile.in.in: Use C-style comments. * frame.c (Fframe_parameters) [!MULTI_FRAME]: Replace with stub. (Fframe_parameters, Fmodify_frame_parameters) [!MULTI_FRAME]: Remove extra docstring. 1994-04-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sunos4-0.h (LD_SWITCH_SYSTEM): Undo previous change. * xterm.c (XTread_socket, case ClientMessage): Don't call XSetInputFocus if event is not for an existing frame. * xmenu.c (xmenu_show, xdialog_show): If we unread some events, set interrupt_input_pending. * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Never pass motion events to the toolkit. * CONFIGURATION now comes via config.h. * Makefile.in.in (emacs.o): Use the default .c.o command. (configuration): Make variable deleted. * config.h.in (CONFIGURATION): Add #undef. * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Undo previous change. (x_wm_set_size_hint): Do set max_height, max_width, and PMaxSize flag. 1994-04-26 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * process.c (create_process) [HAVE_TERMIOS && LDISC1]: Use tcsetattr. 1994-04-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * alloc.c (mark_object, case frame): Mark menu_bar_vector field. 1994-04-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (Vunread_command_events): Renamed from unread_command_events. All uses changed. * command.h (Vunread_command_events): Renamed. * lread.c (read_filtered_event): Use Vunread_command_events. * minibuf.c (temp_echo_area_glyphs): Use Vunread_command_events. * keyboard.c (read_char): Don't use menus if we have events waiting. * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Let toolkit handle menu bar click. 1994-04-25 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * insdel.c: Use PT, not point. (gap_left, gap_right, adjust_markers): Make these functions static. (adjust_point): New function. (insert_1, insert_from_string_1, del_range_1): Use it. * xterm.c (x_term_init): Add explicit cast. (XTmouse_position): Don't use last_mouse_frame if it's dead. (XTread_socket): Ditto. * textprop.c (F*_property_change): Typecheck limit argument. 1994-04-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xdisp.c (syms_of_xdisp): Set up Qmenu_bar_update_hook. (update_menu_bar): Run that hook. Fix failure to update menu bar when w->update_mode_line was nil. * frame.h (struct frame): New fields menu_bar_vector and menu_bar_items_used. * frame.c (make_frame): Initialize fields menu_bar_vector and menu_bar_items_used. * keyboard.c (menu_bar_item): Put a list of keymaps into the third slot of an item in menu_bar_items_vector. 1994-04-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Finsert_file_contents): Fix accessing buffer_file_type since it is t or nil. Change to handle t or nil as value of find-buffer-file-type. * buffer.c (Fkill_all_local_variables): Doc fix. 1994-04-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (create_process): Use SETUP_SLAVE_PTY only if pty_flag. Likewise for child_setup_tty. * window.c (Fselect_window): Use Fselect_frame. * frame.c (Fset_frame_selected_window): New function. (syms_of_frame): Set up Lisp function. * lisp.h (Vascii_canon_table, Vascii_eqv_table): Declared. * buffer.c (reset_buffer_local_variables): Use Vascii_eqv_table and Vascii_canon_table. * window.c: Implement special frames for specified buffers. (Vspecial_display_buffer_names, Vspecial_display_regexps) (Vspecial_display_function): New variables. (syms_of_window): Set up Lisp variables. (Fdisplay_buffer): Handle them. 1994-04-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (alloca.o): Use config_h. (config_h): Use M_FILE and S_FILE. (S_FILE, M_FILE): New variables hold names of config files. * fileio.c (syms_of_fileio): New Lisp var inhibit-file-name-operation. (Ffind_file_name_handler): Obey that variable. Use new meaning for inhibit-file-name-handlers. * config.h.in (HAVE_LIBRESOLV): Add #undef. * s/sunos4-1.h (LIBS_SYSTEM): Test HAVE_LIBRESOLV, not HAVE_RES_INIT. Do not test HAVE_GETHOSTNAME. * s/sunos4-1.h (LIBS_SYSTEM): Invert the HAVE_RES_INIT condition. 1994-04-22 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * fileio.c (Ffind_file_name_handler): New argument OPERATION. All callers changed. 1994-04-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (max_process_desc): New variable. (wait_reading_process_output): Don't look for process output beyond that many bits. (create_process, Fopen_network_stream, deactivate_process): Update it. (init_process): Initialize it. * frame.c (Fmouse_pixel_position, Fset_mouse_pixel_position): New functions. (syms_of_frame): Set up Lisp functions. * xterm.c (x_set_mouse_pixel_position): New function. 1994-04-21 Simon Leinen (simon@lia.di.epfl.ch) * process.c (send_process): If fpathconf fails, use 250. 1994-04-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (init_cmdargs): Check only for etc and lib-src subdirs when setting Vinstallation_directory. (syms_of_emacs): Make Lisp vars invocation-name, invocation-directory and installation-directory. * lread.c (init_lread): Maybe put build-time Lisp dirs on load-path. * callproc.c (init_callproc): Set Vdoc_directory like Vdata_directory. * lread.c (init_lread): Improve warning message. * xterm.c (x_make_frame_visible): Args to x_set_offset were swapped. 1994-04-20 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xterm.h (x_top_window_to_frame): Declare this function. 1994-04-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fns.c: Doc fixes. * Makefile.in.in (TAGS): Split off included tags file lisp/TAGS. (../lisp/TAGS): New target uses recursive make. (ctagsfiles, lisptagsfiles): New variables. * xfns.c (x_window): Test FRAME_EXTERNAL_MENU_BAR to decide on calling initialize_frame_menubar. 1994-04-20 Francesco Potorti` (pot@fly.cnuce.cnr.it) * m/delta.h (HAVE_SOCKETS): defined if HAVE_INET_SOCKETS is defined. 1994-04-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * frame.c (Fmodify_frame_parameters, Fframe_parameters): Define even if not MULTI_FRAME. * config.h.in (HAVE_INET_SOCKETS): Add #undef. * xterm.c (XTread_socket): Delete the non-NEW_SELECTIONS code and simplify the toolkit conditional for those cases. * xterm.c (XTread_socket, case ClientMessage): Always use x_window_to_frame. * xfns.c (x_top_window_to_frame): New function. 1994-04-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (create_process): Call setsid only if pty_flag. * xterm.c (x_make_frame_invisible): Explicitly clear visible and iconified flags, as well as the async flags. 1994-04-19 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keymap.c (describe_map): Merge with describe_map_2. (describe_map_tree, describe_map): Skip keymaps we've seen before. * keyboard.c (read_avail_input): Don't retry read. 1994-04-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (Vlast_event_frame): Define unconditionally. (syms_of_keyboard): Always make the Lisp var. * Makefile.in.in (${etc}DOC): Delete redundant version.el from cmd. 1994-04-19 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (read_avail_input): Test EINTR, not EAGAIN. Write loop as a do-while. * puresize.h (PURESIZE) [!MULTI_FRAME]: Increase to 200000. 1994-04-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTread_socket): Call XSetInputFocus. 1994-04-18 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * config.h.in: (EMACS_INT, EMACS_UINT): Omit if NOT_C_CODE. 1994-04-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) * mem-limits.h (get_lim_data): Handle NO_LIM_DATA. * xterm.c (x_make_frame_invisible) [USE_X_TOOLKIT]: Use XtPopdown. (XTread_socket): Call _XEditResCheckMessages only if HAVE_X11R5. * m/convex.h (CRT0_DUMMIES): Ignore one arg. (LIBS_TERMCAP): Use the system's termcap. * process.c (create_process): Fix previous change. 1994-04-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (Xatom_editres_name): Declared. (Fx_open_connection): Initialize it. * xterm.c (Xatom_editres_name): Variable defined. (XTread_socket): Handle that kind of message. (x_term_init): Specify -name option in XtAppInitialize. * xterm.c (Qface, Qmouse_face): Supply missing Lisp_Object. * config.h.in (EMACS_INT, EMACS_UINT): New typedefs. * casetab.c (set_case_table): Handle nil for EQV with non-nil CANON. (Fcase_table_p): Accept nil for EQV with non-nil CANON. * keyboard.c (read_avail_input): Test both aix386 and _BSD. * window.c (set_window_width): Don't delete root window for being too narrow. * xterm.c (dumpglyphs): When HL=2, check explicitly for using the frame's default font or not. * keyboard.c (read_char_x_menu_prompt): Don't check for value = nil if value was originally a cons. * xmenu.c (xmenu_show): Fix typo in last change. 1994-04-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * frame.c (Fmouse_position): Don't clip. * keyboard.c (make_lispy_movement): Don't clip. 1994-04-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/netbsd.h: Add NO_SHARED_LIBS conditional. * s/freebsd.h: Rewrite to use netbsd.h and define NO_SHARED_LIBS. * keyboard.c (read_avail_input): Fix previous change--test _BSD. * data.c (Fsetq_default): Doc fix. * eval.c (Fsetq): Doc fix. * Makefile.in.in (configuration): Use SET_MAKE to get the value of $(MAKE). 1994-04-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.h (map_prompt): Declared. * xmenu.c (xmenu_show): Don't cons on subprefix_stack[j] if nil. * keyboard.c (read_avail_input): Don't generate SIGHUP of aix386; only on other AIX systems. * xterm.c (XTread_socket): For UnmapNotify, use x_any_window_to_frame. * process.c (create_process): Test TIOCSETD along with NTTYDISC. * frame.c (Fset_frame_position): Pass new arg to x_set_offset. * xterm.c (x_set_offset): New arg CHANGE_GRAVITY. (x_make_frame_visible): Pass new arg. * xfns.c (Fx_create_frame): Delete excess args to x_wm_set_size_hint. * xterm.c (x_wm_set_size_hint): Args spec_x and spec_y deleted. (x_set_offset, x_set_window_size): Don't pass those args. * fileio.c (Finsert_file_contents): Fix test for unchanged file. * xterm.c (x_destroy_window): Just clear out mouse_face... vars. * keyboard.c (syms_of_keyboard): Init and staticpro system_key_syms. (modify_event_symbol): Use the cdr of the alist entry. Whenever value is nil, intern a new symbol. * Makefile.in.in (LIBX): Put LIBXT after LD_SWITCH_X_SITE. 1994-04-15 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (fix_glyph) [HAVE_X_WINDOWS]: When glyph face is 0, use the computed face as given. * keyboard.c (read_avail_input): Fix comment delimiter. * m/pmax.h (C_SWITCH_X_MACHINE): add -DNeedVarargsPrototypes=0. 1994-04-14 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * scroll.c (calculate_scrolling): Add explicit casts. 1994-04-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_wm_set_size_hint): Use win_gravity from frame. * xterm.h (x_display): New field win_gravity. * xfns.c (Fx_create_frame): Set win_gravity field. * xfns.c (x_window, both versions): Don't call x_calc_absolute_position. * xterm.c (x_make_frame_visible): Call x_set_offset. * xterm.c (x_make_frame_visible): Don't call XMapSubwindows. (x_iconify_frame): Likewise. * s/isc4-0.h (LIBS_SYSTEM): Defined. * keyboard.c (make_lispy_event): Put mouse event code into MULTI_FRAME conditional. * xfns.c (Fx_list_fonts): Error if non-X frame used. * xdisp.c (update_menu_bar): Take frame as arg. (update_menu_bars): Function deleted. (prepare_menu_bars): Call update_menu_bar; do it for all frames. Simplify computation of all_windows; ignore irrelevant criteria. * xterm.h (HAVE_X11R4): If we define HAVE_X11R5, define this too. * xterm.c (pending_autoraise_frame): New variable. (x_new_focus_frame): Don't autoraise here; just set that var. (XTread_socket): Raise that frame here. 1994-04-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (inherited_pgroup): Conditionalize on BSD_PGRPS. * s/netbsd.h (TABDLY): Defined. * doc.c, fileio.c, unexsunos4.c [HAVE_UNISTD_H]: Include unistd.h. * dired.c (Ffile_attributes): Cast st_size to int. * xmenu.c (last_menu_bar_item_end): New variable. (xmenu_show): Set that var. (other_menu_bar_item_p): Return 0 if mouse is not in any menu bar item. * keymap.c (describe_map_tree): Fix call to Flookup_key. * xfns.c (x_window): Don't call initialize_frame_menubar if no menu bar. (Fx_create_frame): Default menu-bar-lines parm before calling x_window. 1994-04-13 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * dispnew.c (Vglyph_table): Doc fix. * frame.c (Fmouse_position) [MULTI_FRAME]: Use pixel_to_glyph, not glyph_to_pixel. Skip the conversion if args are nil. [!MULTI_FRAME]: All results are nil. Remove extra docstring. * window.c (Fnext_window, Fprevious_window, Fdisplay_buffer): Test MULTI_FRAME when frame-walking. (Fset_window_configuration): Only call X fns if HAVE_X_WINDOWS. * fns.c (Fy_or_n_p, Fyes_or_no_p): Test HAVE_X_MENU in popup code. 1994-04-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * indent.c (compute_motion): Do not abort if window shows some other buffer. (Fcompute_motion): Use whatever buffer is current. 1994-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/bsd4-2.h (BSD): Give it a number as definition. * s/sol2-3.h: Fix #include file name. * xterm.c (x_destroy_window): Call clear_mouse_face if necessary. * xmenu.c (xmenu_show, xdialog_show): Add casts in assignments to widget_value fields from string contents. (dispatch_dummy_expose): Cast arg to XtDispatchEvent. [!USE_X_TOOLKIT] (xmenu_show): Right-justify char equivalents. Use alloca for concatenated strings, if alloca is fast. * lisp.h (Fprocess_send_eof, Foverlay_get): Declared. * keymap.c (Fkey_binding): Declare accept_default. * sysdep.c (sys_siglist) [sun]: Check SIGFREEZE and SIGTHAW defined. 1994-04-12 Per Bothner (bothner@cygnus.com) Provide a hook for elisp to signal a changed window size to a process inferior. * sysdep.c (set_window_size): New function. * process.c (Fset_process_window_size): New function. 1994-04-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * eval.c (specbind): Use find_symbol_value. * xfaces.c (frame_update_line_height): Don't call x_set_window_size. Return 1 if line_height changed. (Fset_face_attribute_internal): Call x_set_window_size here if nec. * xterm.c (x_new_font): Always call x_set_window_size. * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Use XtTranslateCoords. * process.c (send_process): Test pty_flag field for nil, not 0. 1994-04-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sunos4-0.h (LD_SWITCH_SYSTEM): Alternate definition if __GNUC__. * callproc.c: If we include fcntl.h, define INCLUDED_FCNTL. * systty.h: Check for INCLUDED_FCNTL already defined. * xterm.c (x_wm_set_size_hint): If PROMPTING is 0, copy the old win_gravity field. If USPosition is set, don't set PWinGravity. * keyboard.c (read_avail_input): Separate local var n_to_read so that reading doesn't clobber that info when it sets nread. * s/isc4-0.h (LIBS_SYSTEM): Defined. * emacs.c (main): Fix typo in prev. change. * Makefile.in.in (temacs): Include ${ALL_LDFLAGS} within the call to YMF_PASS_LDFLAGS. 1994-04-11 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (make_lispy_event): Initialize item. * indent.c (vmotion): Use minibuf_prompt_width despite window-start. * print.c (printchar, strout): Use FRAME_PTR, not struct frame *. * frame.c (Fmouse_position) [!MULTI_FRAME]: Declare col and row. 1994-04-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (make_lispy_movement): Conditionalize on MULTI_FRAME. (kbd_buffer_get_event): Call make_lispy_movement only if MULTI_FRAME. * xselect.c (x_decline_selection_request): Call XFlushQueue. * eval.c (Fsetq): Doc syntax fix. * print.c (syms_of_print): Doc syntax fix. * editfns.c (Fuser_real_login_name): Doc syntax fix. * data.c (Fsetq_default, Fmake_local_variable): Doc syntax fix. 1994-04-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_wm_set_size_hint): If change_gravity is 0, just don't set the gravity. 1994-04-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (dumpglyphs): Clear any extra pixel rows below the text. * xfns.c (x_figure_window_size): Don't call x_calc_absolute_position. (x_window): Separate into two alternative definitions. Call x_calc_absolute_position here. * widget.c (EmacsFrameSetCharSize): Do not attempt to preserve the window position. * xfns.c (Fx_list_fonts): Doc fix. * buffer.c (Vafter_change_functions, Vbefore_change_functions): New variables. (syms_of_buffer): Set up Lisp vars. * buffer.h (Vafter_change_functions, Vbefore_change_functions): Declared. * insdel.c (before_change_functions_restore): (after_change_functions_restore): New functions. (signal_before_change): Handle Vbefore_change_functions. (signal_after_change): Handle Vafter_change_functions. * cmds.c (internal_self_insert): Test Vafter_change_functions, Vbefore_change_functions. * xfaces.c (frame_update_line_height): Check param_faces[i] not null. * emacs.c (main): Handle EXTRA_INITIALIZE. * s/isc4-0.h: New file. * keymap.c (get_keymap): Pass 1 as ERROR to get_keymap_1. (get_keyelt): New arg AUTOLOAD means load keymaps indirected thru. All callers changed; most pass 0. (Fdefine_key, Flookup_key): Load all the keymaps we look in. * editfns.c (make_buffer_string): Copy properties whenever we have some, even if they don't change. * xterm.c (x_display_box_cursor): Explicitly clear full height of line. (dumpglyphs): New arg just_foreground. Callers changed. (x_set_window_size): Call XSync. * xterm.c (note_mouse_highlight): Do nothing if buffer has changed. * xterm.c (x_new_font): Fix setting line_height. * Support fonts of different heights, using tallest as line height: * xfaces.c (frame_update_line_height): New function. (Fset_face_attribute_internal): Call that. * xterm.c (x_new_font): If frame is new, set line_height field. Otherwise call frame_update_line_height. * xterm.h (struct x_display): New field line_height. (VERTICAL_SCROLL_BAR_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW) (CHAR_TO_PIXEL_ROW): Use line_height field. * xterm.c (stufflines, scraplines, dumprectangle, x_do_pending_expose) (pixel_to_glyph_coords, x_draw_box, clear_cursor, x_display_bar_cursor) (x_set_resize_hint, x_set_mouse_position, x_wm_set_size_hint) (XTclear_end_of_line, redraw_previous_char): Use line_height field. * xfns.c (x_char_height): Use line_height field. * widget.c (get_default_char_pixel_size): Use line_height field. * dispnew.c (update_line): Use line_height field. * xmenu.c (Fx_popup_menu): Use line_height field. 1994-04-09 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * indent.c (Fvertical_motion): Use window arg, not selected_window. 1994-04-08 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu) * xterm.c (show_mouse_face): Change the mouse cursor accordingly. * xterm.h (cross_cursor): New field for struct x_display. * xfns.c (syms_of_xfns): Define Vx_cross_pointer_shape. (Vx_cross_pointer_shape): New variable. (Vx_cross_pointer_shape): Create a mouse face cursor for the mouse-face properties. 1994-04-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (Fx_popup_dialog): Doc fix. (list_of_items): Handle nil in item list as left/right boundary. (push_left_right_boundary): Record the boundary. (xmenu_show): Disregard a boundary if any. (xdialog_show): Really obey a boundary. 1994-04-07 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * intervals.h (Qintangible): New symbol, replacing Qhidden. * textprop.c (syms_of_textprop): Initialize it. * intervals.c (set_point): Skip past intangible regions. * term.c (system_uses_terminfo): New variable. (syms_of_term): New function, to initialize it. * emacs.c (main): Call syms_of_term. * termhooks.h (enum event_kind): Add buffer_switch_event. * keyboard.c (kbd_buffer_get_event): Make it lispy. (record_asynch_buffer_change): New. Store it in the event queue. * process.c (read_process_output): If buffer changes, record that fact. * minibuf.c (Vminibuffer_exit_hook): New variable. (read_minibuf): Run hook when exiting minibuffer. * xdisp.c (copy_part_of_rope): Replace non-glyph with 0. * insdel.c (insert_1): New function, extracted from insert. (insert_from_string_1): Likewise, taken from insert_from_string. (insert, insert_from_string): Call the new functions. (insert_before_markers, insert_from_string_before_markers): Adjust the markers before calling the after-change function. 1994-04-07 Richard Stallman (rms@mole.gnu.ai.mit.edu) * scroll.c (struct matrix_elt): Use int, not short. Use unsigned char for insertcount and deletecount. (INFINITY): Increase to 1000000. 1994-04-06 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * minibuf.c (Fminibuffer_prompt_width): Undo previous change. * xdisp.c (display_text_line): minibuffer_prompt_width is a distance, not an absolute position. * editfns.c (Fformat): Reword confusing error message. * doprnt.c (doprnt): Likewise. * eval.c (Fsetq): Doc fix. 1994-04-05 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (display_string): Allow for hpos < 0 when clearing array. * indent.c (vmotion): Don't use minibuf_prompt_width if window-start has suppressed the prompt. * minibuf.c (Fminibuffer_prompt_width): Allow for negative value. * buffer.c (Fget_buffer_create): Disallow empty string. * keymap.c (describe_buffer_bindings): Move XSYMBOL to after SYMBOLP. Exclude trailing null in string copies. * indent.c (compute_motion): Add window argument. All callers changed. * minibuf.c (do_completion): gcpro some things. * minibuf.c, xdisp.c: Use PT, not point. 1994-04-04 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * textprop.c (Fget_char_property): Doc fix. * dired.c (file_name_completion): Honor completion-regexp-list. * search.c (Freplace_match): Don't capitalize unless all matched words are capitalized. * buffer.c (verify_overlay_modification): Run modification-hooks for any deletion that intersects the overlay. 1994-04-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Fdo_auto_save): Don't turn off auto save mode. Instead, store -1 in b->save_length. And don't auto save if there is -1 there. * xterm.c (note_mouse_highlight): Temporarily widen the buffer. * xdisp.c (display_text_line): Rename startp to leftmargin. Use that, not p1start, when checking for char off left edge. * dispnew.c (verify_charstarts): Handle truncation of lines. * xdisp.c (mark_window_display_accurate, redisplay): Set window_end_valid to the buffer displayed, not Qt. * xterm.c (note_mouse_highlight): Check window still shows that buffer. 1994-04-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (show_mouse_face): Turn off cursor only if it's in the area being manipulated. (XTupdate_begin): Don't turn off highlight if we aren't updating the window that it is in. * buffer.c (overlays_at): Fix previous change. * lisp.h (gc_in_progress): Declared. * xterm.c (note_mouse_highlight): Do nothing if gc_in_progress. Set mouse_face_deferred_gc when that case arise. (XTframe_up_to_date): If mouse_face_deferred_gc, redo highlighting. * xdisp.c (display_text_line): Properly handle charstarts for hscroll, and for continuation in mid character. (message2): Call frame_up_to_date_hook. * xterm.c (undefer_mouse_highlight, defer_mouse_highlight): New fns. * alloc.c (Fgarbage_collect): Call ..._mouse_highlight. * buffer.c (overlays_at): Use XGCTYPE. * buffer.h (OVERLAY_POSITION): Use XGCTYPE. * xmenu.c (Fx_popup_dialog): If POSITION is t, use selected frame. 1994-04-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xdisp.c (redisplay): do_verify_charstarts controls whether to call verify_charstarts. Fix one-off when checking for the last line. * xterm.c (note_mouse_highlight): Reject out-of-range pos value before it causes an error. * dispnew.c (verify_charstarts): Count right for continued lines. (direct_output_for_insert): Add charstarts entry after the new char. Use the right point value for the inserted character. * xdisp.c (display_text_line): Always store in charstart even if at endp. When clearing charstart, do the whole width. * dispnew.c (scroll_frame_lines): When updating charstarts, treat all columns alike--don't zero out any. Fix end tests of loops over i. (adjust_window_charstarts): Fix typo. * xterm.c (fast_find_position): Always return coords within the window. * xdisp.c (redisplay): Call verify_charstarts. * dispnew.c (verify_charstarts): New function. * xdisp.c (redisplay): Don't call adjust_window_charstarts if on last text line of window. * xterm.c (note_mouse_highlight): Handle disable_mouse_highlight. 1994-04-01 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * buffer.c (list_buffers_1): Set buffer contents, then mode. 1994-04-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dispnew.c (scroll_frame_lines): Fix previous changes. 1994-04-01 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu) * xterm.c (x_wm_set_size_hint): Add USE_X_TOOLKIT conditional and call XtGetValues to get the width and the height of the Emacs frame. * xdisp.c (update_menu_bar): Pass 0 to set_frame_menubar. * widget.c (EmacsFrameSetCharSize): Clean up code. Replace XtVaSetValues by XtSetValues. 1994-04-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (construct_menu_click, construct_mouse_click): Use XSET when setting result->x and result->y. * xmenu.c (xmenu_show): Undo part of March 11 change: Do call lw_destroy_all_widgets at the end. * dispnew.c (scroll_frame_lines): Typo in previous change. Arg POS_ADJUST replaced with arg NEWPOS. * xdisp.c (try_window_id): Pass new arg to scroll_frame_lines. * xdisp.c (redisplay): In previous change, handle case where no newline follows. * xterm.c (note_mouse_highlight): Use the value from sort_overlays. Make the window's buffer current temporarily. window_end_pos is relative to Z, not ZV. 1994-03-31 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dispnew.c (adjust_window_charstarts): New function. (direct_output_for_insert): Call it. (make_frame_glyphs): If EMPTY, don't leave junk in ->total_charstarts. * xdisp.c (redisplay): Call adjust_window_charstarts to update the charstarts of following lines. 1994-03-31 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * callproc.c (child_setup): Check out==err when relocating fds. 1994-03-31 Frederic Pierresteguy (fp@hal.gnu.ai.mit.edu) * xfns.c (x_window) [USE_X_TOOLKIT]: When doing geometry management, don't compute the size of the menubar if there is no menubar. 1994-03-31 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTread_socket, MotionNotify and LeaveNotify cases): If not in any frame, call clear_mouse_face. 1994-03-31 Frederic Pierresteguy (fp@geech.gnu.ai.mit.edu) * xterm.h: Define HAVE_X11R4 if AIX3_2 is defined. * xfns.c (x_window) [USE_X_TOOLKIT]: New args window_prompting and minibuffer_only. Don't pass top_pos and left_pos to XtCreatePopupShell. Call initialize_frame_menubar before creating the Emacs frame if it is not the minibuffer. Call XtManageChild for the menubar widget if any. Compute some geometry management. (Fx_create_frame): Pass window_prompting and minibuffer_only to x_window. Don't call x_wm_set_size_hint. Don't call initialize_frame_menubar. * xmenu.c (set_frame_menubar): New arg, first_time. Don't update the menubar the first time it is created via x_window. (initialize_frame_menubar): Pass 1 to set_frame_menubar. * widget.c (set_frame_size): Dont compute any geometry management. 1994-03-31 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_term_init): Set frame_up_to_date_hook. (XTframe_up_to_date): New function. * termhooks.h (frame_up_to_date_hook): Declared. * term.c (frame_up_to_date_hook): Defined. * xdisp.c (redisplay): Call frame_up_to_date_hook. 1994-03-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * scroll.c (do_scrolling): Handle charstarts like glyphs. * dispnew.c (scroll_frame_lines): Handle charstarts like glyphs. (direct_output_for_insert): Likewise. (preserve_other_columns): Likewise. * systty.h (INCLUDED_FCNTL): Define, if include fcntl.h. * xterm.c [INCLUDED_FCNTL]: Don't include fcntl.h again. 1994-03-30 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * minibuf.c (Fminibuffer_prompt, Fminibuffer_prompt_width): New funcs. 1994-03-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * indent.c (Fcompute_motion): Doc fix. (Fcompute_motion): Don't use XFASTINT on possibly-negative coords. 1994-03-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dispnew.c (update_line): Update charstarts like glyphs. 1994-03-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * systime.h (EMACS_TIME_NEG_P): Cast to signed. 1994-03-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTupdate_begin): Turn off mouse face display, and defer it. (XTupdate_end): Undefer. (mouse_face_defer): New variable. (mouse_face_mouse_frame, mouse_face_mouse_x, mouse_face_mouse_y): New variables. * xfaces.c (compute_char_face): New arg MOUSE. (Qmouse_face): New variable. (syms_of_xfaces): Initialize Qmouse_face. * xterm.c (dumpglyphs): Handle HL = 3 by using mouse_face_face_id. (note_mouse_movement): Check for mouse face. (show_mouse_face, fast_find_position): New functions. (clear_mouse_face): New functions. (mouse_face_beg, mouse_face_end, mouse_face_face_id): New variables. (mouse_face_window): New variable. (syms_of_xterm): Init and staticpro it. * xdisp.c (display_text_line): Pass new arg to compute_char_face. Fill in charstarts array. (display_string): Clear part of charstarts array. 1994-03-29 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * window.c (Fwindow_width): Delete unnecessary variable declarations. * indent.c (Fcompute_motion): Typecheck all arguments. 1994-03-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xdisp.c (display_text_line): Fill in charstart values. * dispextern.h (struct frame_glyphs): New fields charstarts and total_charstarts. * dispnew.c (make_frame_glyphs): Initialize charstarts, total_charstarts. (free_frame_glyphs): Free those fields. 1994-03-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (display_text_line): Handle selective display at window edge. * dired.c (file_name_completion): Don't step on dirname. * xterm.c (x_find_modifier_meanings): Skip zero entries. 1994-03-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dired.c (file_name_completion): Protect things from GC. * buffer.c (verify_overlay_modification): Copy TAIL before a hook, in case the hook recenters the overlay lists. * s/dgux.h (LIBS_SYSTEM): Commented out. 1994-03-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Vinhibit_file_name_handlers): New var. (syms_of_fileio): Set up Lisp var. (Ffind_file_name_handler): Obey the variable. * minibuf.c (Vcompletion_regexp_list): New var. (syms_of_minibuf): Set up Lisp var. (Ftry_completion, Fall_completions): Limit possible completions to strings matching those regexps. * search.c (Freplace_match): Doc fix. 1994-03-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * minibuf.c (read_minibuf): Return val via unbind_to. 1994-03-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * commands.h (this_command, last_command): Declared. * minibuf.c (Fminibuffer_complete): Scroll the completion window in some cases. * print.c (debug_print): New function. * .gdbinit (pr): Use debug_print. 1994-03-25 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * frame.c (Fframe_first_window): New function. 1994-03-24 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * editfns.c (Fformat): Validate number and type of arguments. * xmenu.c (xmenu_show): Enable asynchronous events. * keymap.c (Fwhere_is_internal): Skip duplicate keybindings. * xfns.c (x_report_frame_params): Sample visibility. (x_get_arg): Use downcased string in compare. * process.c (status_notify): Use assignment, not initialization. * textprop.c (add_properties, remove_properties): Ditto. * window.c (unshow_buffer, window_loop, Fdisplay_buffer): Ditto. * xdisp.c (x_consider_frame_title, decode_mode_spec): Ditto. * xfns.c (x_set_frame_parameters, x_get_arg, x_window, Fx_create_frame, Fx_create_frame): Ditto. * xselect.c (x_get_local_selection, x_handle_selection_request): Ditto. * xterm.c (x_window_to_scroll_bar, x_new_font): Ditto. 1994-03-24 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xfns.c (Fx_create_frame): Add USE_X_TOOLKIT conditional around the call to initialize_frame_menubar. 1994-03-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * intervals.c (verify_interval_modification): For insertion in middle of an interval, use the same criterion as between intervals for whether read-only forbids it. 1994-03-23 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * alloc.c (make_event_array): Use assignment, not initialization. * buffer.c (sort_overlays, Fmake_overlay): Ditto. * callint.c (check_mark, Fcall_interactively): Ditto. * callproc.c (call_process_cleanup, getenv_internal): Ditto. * cmds.c (internal_self_insert): Ditto. * data.c (store_symval_forwarding, Fsymbol_value): Ditto. * fileio.c (Finsert_file_contents): Ditto. * filelock.c (lock_file): Ditto. * frame.c (next_frame, prev_frame, other_visible_frames, Fdelete_frame): Ditto. * intervals.c (adjust_intervals_for_insertion, merge_properties_sticky, delete_interval): Ditto. * keymap.c (access_keymap, store_in_keymap, Fcopy_keymap, Fdefine_key, Faccessible_keymaps, Fwhere_is_internal): Ditto. * lread.c (read_filtered_event, intern): Ditto. * minibuf.c (read_minibuf): Ditto. * msdos.c (run_msdos_command): Ditto. * sysdep.c (reset_sys_modes): Turn off O_NDELAY. * window.c (Fscroll_up, Fscroll_down, Fscroll_other_window): Doc fix. * frame.c (do_switch_frame): Common code for Fselect_frame and handle_switch_frame. * xfns.c (x_get_focus_frame): New function. 1994-03-23 Frederic Pierresteguy (fp@geech.gnu.ai.mit.edu) * xmenu.c (update_frame_menubar): Function renamed from update_one_frame_psheets. (initialize_frame_menubar): New function. (set_frame_menubar): Call menu_bar_items when items is NIL. * xfns.c (Fx_create_frame): Call initialize_frame_menubar. 1994-03-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (reset_buffer): Init auto_save_failure_time slot. 1994-03-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c: (where_is_string, Fwhere_is): Deleted. (syms_of_keymap): Corresponding changes. 1994-03-22 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keymap.c (Fdefine_key): Check for non-events in keyvector. * minibuf.c (read_minibuf): Don't redirect focus unless minibuf is on another frame. * lread.c (read1): Check for invalid modifier bits in a string. (unreadchar): Don't back up the pointer when unreading EOF. 1994-03-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * callproc.c (Fcall_process): Make sure to close descriptors. (call_process_cleanup): Always close descriptor. 1994-03-22 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * widget.c (set_frame_size): Put #if 0 around a lot of useless code. Compute explicitely the geometry of the toplevel widget. Call XtSetValues not XtVaSetValues. 1994-03-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (__do_global_ctors, __do_global_ctors_aux) (__do_global_dtors): Don't define if GCC_CTORS_IN_LIBC. (__CTOR_LIST__, __DTOR_LIST__): Likewise. 1994-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (init_keyboard): Don't handle SIGINT if using X. 1994-03-21 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (add_command_key): Use assignment, not initialization. (command_loop_1, read_char, kbd_buffer_store_event, kbd_buffer_get_event, make_lispy_event, make_lispy_movement, apply_modifiers_uncached, parse_modifiers, apply_modifiers, reorder_modifiers, read_key_sequence): Ditto. 1994-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * data.c (Qwholenump): New variable. (syms_of_data): Set and gcpro Qwholenump. * lisp.h (Qwholenump): Declared. (CHECK_NATNUM): Use Qwholenump. 1994-03-21 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keymap.c (Fcopy_keymap): Account for menus and equiv-key cache. (Fkeymapp): Doc fix. 1994-03-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * data.c (Fstring_to_number): Doc fix. 1994-03-20 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * data.c (Fmake_local_variable): Void variables stay void. 1994-03-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * alloca.c, alloca.s, gmalloc.c: Make them symlinks again. * fns.c (Fy_or_n_p, Fyes_or_no_p): Call Fx_popup_dialog the new way. (Fyes_or_no_p): Always display just one dialog box whether or not USE_X_TOOLKIT. 1994-03-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (xdialog_show): Delete args x, y. (Fx_popup_dialog): Don't pass those args; don't compute them. Second arg is now just one pane. Lots of simplification. Always start by decoding POSITION arg to get a frame. [! USE_X_TOOLKIT]: Put the menu in middle of that frame. * s/freebsd.h (HAVE_TERMIOS, NO_TERMIO): Defined. * Makefile.in.in (emacs): rm emacs before the ln. (tagsfiles): Accept capital letters. * process.c (wait_reading_process_input, both versions): Don't call redisplay_preserve_echo_area unless do_display. * emacs.c (syms_of_emacs): Don't initialize Vinstallation_name and Vinstallation_directory. * fns.c (Fyes_or_no_p) [USE_X_TOOLKIT]: Display just one menu. * xmenu.c (Fx_popup_dialog, Fx_popup_menu): Require 2 args. (Fx_popup_dialog): Don't fail to set X, Y from POSITION. (xdialog_show): Call lw_modify_all_widgets properly. Generate dialog's name at run time to specify number of buttons. Report error if too many buttons to handle or if multiple panes. 1994-03-18 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * lisp.h (MAKE_GLYPH, GLYPH_CHAR, GLYPH_FACE): Handle termcap frames as well as X. (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE): New macros. * xdisp.c (fix_glyph): Handle termcap frames as well as X. (display_text_line, copy_part_of_rope, display_mode_line): Ditto. * dispnew.c (direct_output_for_insert): Ditto. * xterm.c (dumpglyphs): Use the fast macros. 1994-03-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (list_of_items): Arg to push_menu_item was missing. 1994-03-18 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * Makefile.in.in (LIBXT): Add -lXext. 1994-03-18 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * s/netbsd.h (LD_SWITCH_SYSTEM): Undo previous change. 1994-03-17 Jim Blandy (jimb@totoro.bio.indiana.edu) * indent.c (compute_motion): Doc fixes. 1994-03-17 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * Makefile.in.in (X_WINDOWS_SUPPORT): New macro. (lisp): Include X_WINDOWS_SUPPORT. Also add version.el; it is no longer changed by building. 1994-03-17 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * process.c (create_process): Skip the ioctl if fd is -1. * lread.c (openp, Fload): GCPRO some things. * callproc.c (Fcall_process): Ditto. * process.c (Fstart_process): Ditto. * s/netbsd.h (LD_SWITCH_SYSTEM, HAVE_WAIT_HEADER): Define these. 1994-03-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * data.c (Fchar_or_string_p, Fintegerp, Fnatnump): Doc fix. * minibuf.c (read_minibuf): Disallow trailing junk. 1994-03-16 Morten Welinder (terra@diku.dk) * fileio.c (Ffile_modes) [MSDOS]: set exec-bit based on file suffix. * s/msdos.h: use bcopy when moving gap. 1994-03-16 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * fns.c (Frandom): Eliminate bias in random number generator. * floatfns.c (FLOAT_TO_INT, FLOAT_TO_INT2, range_error2): New macros. (ceiling, floor, round, truncate): Use them. 1994-03-15 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (redisplay): Don't consider minibuffer name for frame title. (update_menu_bar): Delete unused second argument. Callers changed. * fileio.c (Frename_file, Fcopy_file, Fadd_name_to_file, Fmake_symbolic_link): Fix typo in previous change. * s/netbsd.h (LOCALTIME_CACHE): Define this symbol. 1994-03-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Frename_file): Use RETURN_UNGCPRO when run handler. (Fcopy_file, Fadd_name_to_file, Fmake_symbolic_link): Likewise. 1994-03-15 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (message1): Call message2 instead of duplicating code. 1994-03-14 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * floatfns.c (Flogb): Check for 0.0. Emulate logb if needed. * xterm.c (x_scroll_bar_expose): Don't make the right border thicker. * xterm.h (VERTICAL_SCROLL_BAR_RIGHT_BORDER): Change from 3 to 2. * frame.c (terminal-frame) [! MULTI_FRAME]: Create this variable. * minibuf.c (read_minibuf): Make minibuffer frame visible when minibuffer activated. * frame.c (Fhandle_switch_frame): Ignore switch to dead frame. * fileio.c (Fread_file_name): Delete docstring of second version. * frame.c (framep, selected-frame, frame-char-height, frame-char-width, frame-pixel-height, frame-pixel-width, set-frame-height, set-frame-width, set-frame-size): Ditto. * buffer.c (buffer-display-table, buffer-undo-list): Ditto. * xdisp.c (redisplay_window): Avoid dividing negative numbers. * window.c (window_scroll, Fmove_to_window_line): Ditto. * search.c (search_buffer): Avoid boolean/integer confusion. * dispnew.c (Fredraw_frame) [! MULTI_FRAME]: Make noninteractive. 1994-03-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (Fx_popup_dialog, Fx_popup_menu): Handle case where mouse_position_hook doesn't store anything. 1994-03-14 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * widget.c (EmacsFrameSetCharSize): Set the values of left_pos and top_pos to the values of the toplevel widget coordinates. 1994-03-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (Fx_popup_dialog) [! USE_X_TOOLKIT]: Call Fx_popup_menu. * indent.c (Fvertical_motion): New optional arg WINDOW. * window.c (Fdelete_other_windows): Pass new arg to Fvertical_motion. (window_scroll, Frecenter, Fmove_to_window_line): Likewise. * fileio.c (Finsert_file_contents): Don't let same_at_end be less than same_at_start. 1994-03-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * puresize.h (PURESIZE): Reduce to 230000. 1994-03-11 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * floatfns.c (Fexpt): Delete extraneous `for' statement. * process.c (get_process): Allow arg to be a buffer object. * xdisp.c (x_consider_frame_title): New function, extracted from display_mode_line. (redisplay): Update frame title on iconified frames. 1994-03-11 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xmenu.c (xdialog_show): New function to handle the display of dialog boxes. (Fx_popup_dialog): New function. (dialog_selection_callback): New function. (xmenu_show) [USE_X_TOOLKIT]: Don't call lw_destroy_all_widgets at the end. Do the work of construct_mouse_click in the ButtonRelease case. * Makefile.in (LIBXT): Add -lXext to the list. * widget.c (EmacsFrameSetCharSize): Call XawPanedSetRefigureMode. Call XtSetValues not XtVaSetValues. * fns.c (Fyes_or_no_p): Call Fx_popup_dialog instead of Fx_popup_menu. (Fy_or_n_p): Likewise. 1994-03-10 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * filelock.c (lock_superlock): Synchronize NFS cache. * search.c (Fre_search_forward, Fre_search_backward): Doc fix. 1994-03-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * indent.c (compute_motion): Initialize prev_hpos. * keyboard.c (command_loop_1): On entry, set this_command after running Vpost_command_hook. * puresize.h (PURESIZE): Increment to 240000. * xmenu.c (Fx_popup_menu): If POSITION is nil, don't require an open X connection. (single_keymap_panes, keymap_panes, menu_item_enabled_p): New arg NOTREAL. (Fx_popup_menu): Pass new arg (1 if POSITION is nil). (menu_item_enabled_p): If NOTREAL, always return t. * xmenu.c (single_keymap_panes) [!USE_X_TOOLKIT]: Append > to item_string if submenu. 1994-03-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c [USE_X_TOOLKIT]: Display submenus in Xt style. (menu_items): Record where submenus start and end. (menu_items_submenu_depth): New variable. (init_menu_items): Init it. (push_submenu_start, push_submenu_end): New functions. (grow_menu_items): New function. (push_menu_pane, push_menu_item): Use it. (push_menu_pane): Increment menu_items_n_panes only if depth is 0. (single_keymap_panes) [USE_X_TOOLKIT]: Record submenus in menu_items. (xmenu_show) [USE_X_TOOLKIT]: Give submenus to toolkit. * xdisp.c (display_mode_line): Highlight partial-width mode lines for a non-termcal frame. * lisp.h (GLYPH_MODE_LINE_FACE): New macro. * callproc.c: Don't kill remaining processes if child exits. (call_process_exited): New variable. (Fcall_process): Set it. (call_process_cleanup): Test it. 1994-03-09 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * window.c (Fselect_window): Undo previous minibuffer patch. * callint.c (Fcall_interactively): Don't select an active minibuffer. 1994-03-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * window.c (window_loop): Delete MULTI_FRAME conditional within the loop, spuriously added in prev change. Don't ignore invisible or iconified frames for GET_BUFFER_WINDOW; instead, let Fnext_window skip them if appropriate. 1994-03-08 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * window.c (Fselect_window): Don't select an inactive minibuffer. 1994-03-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * window.c (Fdisplay_buffer): If pop_up_frames != 0, consider just visible frames when looking for existing window. * undo.c (syms_of_undo): staticpro pending_boundary. 1994-03-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * process.c (send_process) [_PC_MAX_CANON]: Also test #ifdef HAVE_FPATHCONF before trying to use fpathconf. * config.h.in: Add #undef HAVE_FPATHCONF. * term.c (term_get_fkeys_data): Variable removed. (term_get_fkeys_define_1, term_get_fkeys_define): Functions removed. (term_get_fkeys_address): New variable, to pass arg through condition-case. (term_get_fkeys): Set that to ADDRESS; just do condition-case around call to term_get_fkeys_1, ignoring all errors. (term_get_fkeys_1): New function, containing body of term_get_fkeys. Don't use term_get_fkeys_define_1; call Fdefine_key directly. 1994-03-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * window.c (Fprevious_window, Fnext_window): ALL_FRAMES = visible means consider only visible frames. (window_loop): Likewise for FRAMES. (Fget_buffer_window, Fget_largest_window, Fget_lru_window): Doc fix. (Fdelete_windows_on): Doc fix. * frame.c (next_frame, prev_frame): If MINIBUF is `visible', consider only visible frames. (Fnext_frame, Fprevious_frame): Doc fix. (syms_of_frame): Staticpro Qvisible. * lisp.h (Qvisible): Declared. 1994-03-07 Richard Stallman (rms@mole.gnu.ai.mit.edu) * indent.c (Fcompute_motion): New function. * window.c (Fwindow_width): Doc fix. 1994-03-07 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * doprnt.c (doprnt): Do the right thing for negative size spec. * minibuf.c (temp_echo_area_glyphs): Use quit_char, not C-g. (Fminibuffer_complete, Fminibuffer_complete_word): Doc fix. (get_minibuffer): Make name buffer large enough. * window.c (Fscroll_other_window): Doc fix. 1994-03-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) * alloc.c (mark_object): Add no-op cast. * eval.c (error): Use doprnt. Make buffer larger as necessary. * casefiddle.c (operate_on_word): Don't move point; store in *NEWPOINT. (Fupcase_word, Fdowncase_word, Fcapitalize_word): Set point after changing case. Rename opoint to beg. * undo.c (pending_boundary): New variable. (syms_of_undo): Initialize it. (Fundo_boundary): Use pending_boundary. (record_insert, record_delete, record_property_change): Set pending_boundary. 1994-03-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) * vmsproc.c: Include config.h, lisp.h, buffer.h, process.h, commands.h, errno.h and file.h. (write_to_vms_process): Change =- to -=. (create_process): Set status field instead of obsolete flags field. (child_sig): Likewise. * emacs.c (shut_down_emacs): Set Vrun_hooks to nil. * minibuf.c (read_minibuf): Don't call Vrun_hooks if it is nil. * keyboard.c (command_loop_1, read_key_sequence, Fcommand_execute): Don't call Vrun_hooks if it is nil. * editfns.c (save_excursion_restore): Don't call Vrun_hooks if nil. * buffer.c (Fkill_buffer, Fkill_all_local_variables): Don't call Vrun_hooks if it is nil. * fileio.c (Fdo_auto_save): Doc fix. * lisp.h (ARRAY_MARK_FLAG): Define here. * alloc.c (ARRAY_MARK_FLAG): Not here. 1994-03-04 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (command_loop_1): Fix misplaced assignment of last_point_position. 1994-03-04 Paul Eggert (eggert@twinsun.com) * data.c (isnan): New macro. (float_arith_driver): min and max yield NaN if any argument is a NaN. 1994-03-04 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xmenu.c (update_one_frame_psheets): Call EmacsFrameSetCharSize to force the paned widget to resize to the right value. (xmenu_show): No need to check a second time whether the mouse has moved to another menu bar item. This slows down execution. * widget.c (EmacsFrameSetCharSize): Don't call XtMakeResizeRequest. Use XtVaSetValues for geometry management. 1994-03-04 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * xmenu.c [USE_X_TOOLKIT] (xmenu_show): Pass display to XtWindowToWidget. 1994-03-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * search.c (skip_chars): Treat `-' as alias for space, if syntaxp. * fileio.c (Finsert_file_contents): Pass del_range_1 two ends, not a length. 1994-03-03 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * process.h (chan_process): Don't specify size. 1994-03-03 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * fileio.c (Fread_file_name): Do the right thing when insert-default-directory is nil. Allow for doubled dollar signs in dir when computing pos. * commands.h: New variable last_point_position. * keyboard.c (command_loop_1): Set it to the value of point. * undo.c (record_delete): Save this value in the undo record, rather than the current value of point.) * buffer.c (Fget_file_buffer): Doc fix. * s/aix3-2.h (C_SWITCH_SYSTEM): Increase maxmem when using IBM's compiler. 1994-03-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (chan_process, Vprocess_alist): No longer static. * process.h (chan_process, Vprocess_alist): Declared. * puresize.h (PURESIZE) [MULTI_FRAME]: Incremented to 230000. * minibuf.c (Fdisplay_completion_list): Restore original buffer before running completion-setup-hook. * frame.c (Fdelete_frame): Don't initialize a Lisp_Object. Clean up line breaks. * process.c: Include unistd.h. (pty_max_bytes): New variable. (send_process): Send an eof after each pty_max_bytes bytes. * keyboard.c (menu_bar_items): When moving an item to the end, shift all the following ones forward one slot. 1994-03-02 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xfns.c (Fx_list_fonts): Avoid confused increment of info. * syntax.c (Fforward_comment): Do the right thing at eob. 1994-03-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (menu_bar_items): Accept old vector as arg. Return a vector. (menu_bar_one_keymap, menu_bar_item): Associated changes. (make_lispy_event): Use FRAME_MENU_BAR_LINES as vector. * frame.c (make_frame): Init menu_bar_items field to 0. * xdisp.c (update_menu_bar): Change call to menu_bar_items. (display_menu_bar): Use FRAME_MENU_BAR_LINES as vector. * xmenu.c (map_event_to_object, set_frame_menubar): Use FRAME_MENU_BAR_LINES as vector. 1994-03-01 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * s/aix3-2.h: Use -g with the native compiler. * s/aix3-2-5.h: New file. Use -O with the native compiler. 1994-03-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * lisp.h (struct handler): New field chosen_clause. * eval.c (Fsignal): Record the clause in chosen_clause. (Fcondition_case, internal_condition_case): Look there. (internal_condition_case_1): Look there. * fileio.c (Finsert_file_contents): If undo_list was t, leave it t. * alloc.c (memory_signal_data): No longer static. (syms_of_alloc): Stick Qerror onto memory_signal_data. * lisp.h (memory_signal_data): Declare it. * eval.c (Fsignal): If DATA is memory_signal_data, don't add to it. 1994-02-28 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * alloc.c (memory_full): Use new variable memory_signal_data with precomputed value instead of trying to build it after memory is already exhausted. 1994-02-28 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) * xmenu.c (xmenu_show): Test XtWindowToWidget before inserting into the event_queue. * xterm.c (XTread_socket): For case ClientMessage and Xatom_wm_delete_window, use x_any_window_to_frame. 1994-02-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sol2-3.h (LD_SWITCH_SYSTEM): New definitions, with #undef. * insdel.c (del_range_1): New function. (del_range): Use it. * fileio.c (Finsert_file_contents): Use del_range_1. 1994-02-26 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * keyboard.c (Fsuspend_emacs): New variable cannot-suspend forces a subshell even if the system seems to support job control. * sysdep.c (sys_subshell): New function, split from sys_suspend. 1994-02-25 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * window.c (Fset_window_configuration): Allow for menu-bar-lines to have changed since the configuration was created. 1994-02-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (Vsystem_key_alist): Renamed from Vvendor_key_alist. (syms_of_keyboard): Rename Lisp var to system-key-alist. 1994-02-25 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * buffer.h (OVERLAY_POSITION): Don't check which buffer it points to. * lisp.h: Delete extra backslash on last line of macro. * xdisp.c (display_text_line): Allow for invisible overlays in next_invisible lookahead. * indent.c (compute_motion): Likewise. 1994-02-25 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * widget.c (EmacsFrameSetCharSize): Set coordinates values to the toplevel widget. * xterm.c (XTread_socket): For case ConfigureNotify, call x_any_window_to_frame. [USE_X_TOOLKIT]: Call XTranslateCoordinates for case ConfigureNotify when send_event is 0 and when the event is relative to toplevel widget. * widget.c (EmacsFrameSetCharSize): Call check_frame_size and update vertical_scroll_bar_extra. Call SET_FRAME_GARBAGED. 1994-02-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) * lread.c (Fload): Cast the args to stat. 1994-02-24 Karl Heuer (kwzh@hal.gnu.ai.mit.edu) * xdisp.c (try_window): Add #ifdef USE_TEXT_PROPERTIES around call to Fget_text_property. * textprop.c (Fget_char_property): New function. * buffer.c (sort_overlays): Allow for null window. * xdisp.c (try_window, display_text_line): Use Fget_char_property to test for invisibility. * indent.c (compute_motion, vmotion): Likewise. * dispnew.c (direct_output_forward_char): Likewise. 1994-02-24 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xfns.c (x_window): Call XChangeWindowAttributes with the standard event set to make all these events reach the Emacs frame. 1994-02-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (Fx_popup_menu): Allow t as position, meaning use mouse pos. * fns.c (Fy_or_n_p): Use a popup menu if reached via mouse command. (Fyes_or_no_p): Likewise. * unexelf.c (ELF_BSS_SECTION_NAME): New macro (config.h may override). (unexec): Use it. 1994-02-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (Fkill_buffer): Call the Vkill_buffer_query_functions. (syms_of_buffer): Make Lisp var for kill-buffer-query-functions. 1994-02-22 Karl Heuer (kwzh@geech.gnu.ai.mit.edu) * lisp.h: New variable Vdoc_directory. * doc.c (get_doc_string, Snarf_documentation): Use it. * callproc.c (syms_of_callproc, init_callproc_1): Initialize it. * paths.h.in: Define PATH_DOC for default doc-directory. 1994-02-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (make_lispy_movement, make_lispy_event): In non-scrollbar mouse case, return coords in pixel units. * frame.c (Fmouse_position): Convert to glyph units. * xterm.c (construct_mouse_click): Don't convert to glyph units. (XTmouse_position): Don't convert to glyph units. * msdos.c (mouse_get_pos): Don't convert to glyph units. * fileio.c (Finsert_file_contents): If REPLACE, always do lseek. Exit main loop if INSERTED reaches TOTAL. 1994-02-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTmouse_position): Use x_any_window_to_frame. 1994-02-22 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * emacs.c: Move extern declarations to top of file. 1994-02-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (make_lispy_event): For menu bar event in USE_X_TOOLKIT case, convert x position to glyphs after map_event_to_object. Call window_from_coordinates later on. * xmenu.c (menu_item_equiv_key): Cached equiv-key data is a sublist. * keymap.c (get_keyelt): Cached equiv-key data is now a sublist. * xterm.c (x_had_errors_p): New function. (construct_menu_click): Move function after pixel_to_glyph_coords. * xmenu.c: Most of file rewritten. (menu_items, menu_items_*): New variables. (MENU_ITEMS_*): New macros. (init_menu_items, discard_menu_items, push_menu_pane, push_menu_item) (finish_menu_items): New functions. (menu_item_enabled_p): New function. (keymap_panes, single_keymap_panes): Major rewrite; most args changed. (list_of_panes, list_of_items): Major rewrite; most args changed. (Fx_popup_menu): Major rewrite. Now independent of display mechanism. No more conditionals here. (set_menu_items, free_menu_items): Functions deleted. (xmenu_show): Both versions rewritten to work from menu_items and to do all the conditionalized things that were in Fx_popup_menu. (unread_menu_bar_button, other_menu_bar_item_p): New functions. (check_mouse_other_menu_bar): New function. * xterm.c [!USE_X_TOOLKIT] (x_any_window_to_frame): Define as x_window_to_frame. 1994-02-20 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * unexsunos4.c: Move config.h after system includes. * syswait.h [BSD]: #undef WCOREDUMP before defining it. 1994-02-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * frame.c (Fframe_visible_p): Do FRAME_SAMPLE_VISIBILITY first. * xterm.c (XTread_socket--cases KeyPress, EnterNotify, LeaveNotify) (cases FocusIn, FocusOut): Use x_any_window_to_frame. * xfns.c (x_window_to_frame): Add parens for clarity. * xmenu.c: Find and display keyboard equivalents of menu items. (menu_item_equiv_key): New function. (single_keymap_panes): Call it. Properly skip help-string if any. Rename item2 to item_string. GCPRO some things. (menu_item_equiv_key): Use either VECTORP or STRINGP, not both. * keymap.c (get_keyelt): Discard keyboard equivalents stored in a menu keymap element. 1994-02-18 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * widget.c (get_default_char_pixel_size): Clean up code. Remove code inside #if 0 directive. * xmenu.c (popup_selection_callback): Clean up code. Remove code inside #if 0 directive. (popup_down_callback): Likewise. 1994-02-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (restore_point_unwind): New function. (Finsert_file_contents): In REPLACE case, set point and restore it. * gnu.h (gnu_bits): Use unsigned char. * bitmaps/*.xbm: Use unsigned char, not char. * window.c (unshow_buffer): Unconditionally set last_window_start. 1994-02-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) * window.c (Fdelete_other_windows): Don't call Frecenter; do it by hand and avoid setting w->force_start. * xterm.c (dumpglyphs): Try various alternatives for foreground color of a glyph with the cursor on it. * dosfns.c, msdos.c, widget.c: Use <...> for config.h. * fileio.c (Finsert_file_contents): New arg REPLACE. New feature to replace buffer contents with file contents. 1994-02-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) * systty.h (EMACS_TTY_TABS_OK): Alternate definition if no TABDLY. * s/bsd4-2.h, s/dgux.h, s/rtu.h, s/umax.h (BSD_PGRPS): Defined. * s/netbsd.h, s/bsd386.h (BSD_PGRPS): Add #undef. * sysdep.c (init_sys_modes, reset_sys_modes): Test BSD_PGRPS. (narrow_foreground_group, widen_foreground_group): Define if BSD_PGRPS. * sysdep.c (child_setup_tty): Use IUCLC, OLCUC, NLDLY only if defined. * emacs.c (main): Test BSD_PGRPS, not BSD. * s/netbsd.h (TAB3): Defined. (NEED_ERRNO, NO_TERMIO, HAVE_TERMIOS, HAVE_UNION_WAIT): Defined. * sysdep.c (init_sys_modes): IEXTEN is in c_lflag, not c_iflag. * unexmips.c (unexec): Add cast to result of `sbrk'. 1994-02-15 Chris Hanson (cph@klia.ai.mit.edu) * s/newsos5.h: Include usg5-4.h. (LIBS_SYSTEM, LINKER, START_FILES, LIB_STANDARD): Definitions moved here. * m/news-risc.h [NEWSOS5] (C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH) (LD_SWITCH_MACHINE): Definitions moved here. * m/mips.h: NEWSOS5 conditional deleted. [NEWSOS5] (START_FILES, LIB_STANDARD, C_DEBUG_SWITCH) (C_OPTIMIZE_SWITCH, LD_SWITCH_MACHINE): Definitions moved away. 1994-02-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (Fx_parse_geometry): Don't call check_x. * sysdep.c (sys_write): If any bytes were written, return how many. * xterm.c (XTread_socket): Do not assume that select returning immediately with no events implies a hangup. 1994-02-14 Karl Heuer (kwzh@geech.gnu.ai.mit.edu) * xterm.h (check_x): Declare it. * xfns.c (check_x): Make it global. (Fx_parse_geometry, Fx_list_fonts, Fx_close_current_connection): call check_x. * xmenu.c (Fx_popup_menu): Likewise. * xselect.c (Fx_own_selection_internal, Fx_get_selection_internal, Fx_disown_selection_internal, Fx_rotate_cut_buffers_internal, Fx_selection_exists_p, Fx_get_cut_buffer_internal, Fx_store_cut_buffer_internal, Fx_selection_owner_p): Likewise. * indent.c (indented_beyond_p): New function. (compute_motion, vmotion): Use it to treat blank lines specially in selective display. * xdisp.c (try_window_id, display_text_line): Likewise. 1994-02-13 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * s/netbsd.h (BROKEN_START, TEXT_START): Don't define. (HAVE_TEXT_START): Define this instead. * sysdep.c (start_of_text): Don't define #ifdef HAVE_TEXT_START. 1994-02-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xdisp.c (decode_mode_spec): Support %+. * keyboard.c (command_loop_1): On entry, set last_command to this_command. * term.c (term_init): If no `se', use `me'; if no `me' either, don't use standout mode at all. 1994-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (${libsrc}make-docfile): Don't pass ../arch-lib as target to submake. 1994-02-11 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * sysdep.c [USG]: Fix conditional includes. * m/convex.h, m/ibmps2-aix.h, m/ibmrs6000.h, m/tekxd88.h, s/386bsd.h, s/bsd386.h, s/dgux.h, s/irix3-3.h, s/linux.h, s/netbsd.h, s/usg5-4.h: Delete HAVE_SETSID; configure checks for that. * xrdb.c (gethomedir): Look at LOGNAME before USER. * editfns.c (Fuser_real_login_name): Doc fix. 1994-02-11 Paul Eggert (eggert@twinsun.com) * editfns.c (init_editfns): Look at LOGNAME before USER. * fileio.c (Fsubstitute_in_file_name): Remove long-dead code that looked at USER before LOGNAME. 1994-02-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (syms_of_buffer): Doc fix. * xdisp.c (decode_mode_spec): Implement `P'. 1994-02-11 Charles Hannum (mycroft@duality.gnu.ai.mit.edu) * s/netbsd.h (KERNEL_FILE, LDAV_SYMBOL): Undefine and leave them that way. (LIBS_TERMCAP): Define. Native libtermcap is better than the Emacs version, and knows the correct path. (N_PAGSIZ, N_BSSADDR, N_TRELOFF): Don't redefine if they already exist (i.e. under NetBSD >0.9). 1994-02-11 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * s/netbsd.h (SYSV_SYSTEM_DIR): Define. (BROKEN_START, TEXT_START, START_FILES, UNEXEC, RUN_TIME_REMAP): Define to use unexsunos4. (N_PAGSIZ, N_BSSSADDR, N_TRELOFF): Define so unexsunos4.c compiles. 1994-02-11 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xfns.c (x_set_menu_bar_lines) [USE_X_TOOLKIT]: Dont Call XtDestroyWidget but free_frame_menubar. Undo previous changes. * xterm.c (x_destroy_window) [USE_X_TOOLKIT]: Call free_frame_menubar. * xmenu.c (free_frame_menubar) [USE_X_TOOLKIT]: New function to destroy the X Widget instance of the menubar. * widget.c (EmacsFrameResize): Don't call XTranslateCoordinates. Code removed. * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Return Qnil when val is null. 1994-02-11 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * keyboard.c (Fexecute_extended_command): Copy this_command_keys as a vector, not a string. 1994-02-10 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * keyboard.c (syms_of_keyboard): Add a DEFVAR for command-hook-internal. (command_loop_1): Use it for post-command-hook. 1994-02-10 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * process.c (sys_siglist): Protect decl with #ifndef SYS_SIGLIST_DECLARED. * config.h.in: Add #undef SYS_SIGLIST_DECLARED. 1994-02-10 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * lread.c (read_filtered_event): Retry read_char after a buffer change. * keyboard.c (read_char, read_char_minibuf_menu_prompt, read_key_sequence): Likewise. * dispnew.c (buffer_posn_from_coords): Take hscroll into account. * window.c (Fpos_visible_in_window_p): Likewise. * editfns.c (Fmessage): Copy the text to be displayed into a malloc'd buffer. 1994-02-10 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xmenu.c (xmenu_show): Test again event.xmotion.x_root in the MotionNotify case. 1994-02-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * vmsdir.h: File renamed from dir.h. * ndir.h, fileio.c: Use new name vmsdir.h. 1994-02-09 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * alloc.c (Fgarbage_collect): Save and restore echo_area_glyphs_length. * fileio.c (Fdo_auto_save): Likewise. * buffer.c (Fkill_all_local_variables): Run change-major-mode-hook. * xterm.c (x_display_cursor, process_expose_from_menu): Block input. * editfns.c (difftm): Simplify return expression. * m/news.h (CRT0_DUMMIES): Definition deleted. * alloc.c (mark_object): Fetch obj from *objptr at loop, not at the gotos. 1994-02-09 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * Implement a Motif behavior for the menubar. Now, if you move the pointer on another menubar item while displaying the contents of a selected menubar item, the current pulldown menu is closed and the new one corresponding to the new pointed item is displayed. * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Clean up code. Handle the MotionNotify events in the XEvent loop. 1994-02-08 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * xfaces.c (compute_char_face): Extract overlay-sorting code as a separate function, which is now in buffer.c. * buffer.c (sort_overlays): New function, extracted from xfaces.c. 1994-02-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * print.c (print): If print_escapes_newlines, print '\f' as "\\f". (syms_of_print): Update docstring. 1994-02-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (Fprocess_kill_without_query): Doc fix. 1994-02-07 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xterm.c (x_make_frame_invisible): Add USE_X_TOOLKIT conditional. 1994-02-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_set_window_size): New arg CHANGE_GRAVITY. (x_new_font): Pass CHANGE_GRAVITY arg to x_set_window_size. (x_wm_set_size_hint): New arg CHANGE_GRAVITY. (x_set_offset, x_set_window_size): Pass CHANGE_GRAVITY arg to x_set_window_size. * xfns.c (x_set_internal_border_width, x_set_vertical_scroll_bars): Pass CHANGE_GRAVITY arg to x_set_window_size. (Fx_create_frame): Pass CHANGE_GRAVITY arg to x_wm_set_size_hint. * frame.c (Fset_frame_height, Fset_frame_width, Fset_frame_size): Pass CHANGE_GRAVITY arg to x_set_window_size. * frame.c (other_visible_frames): New function; code taken from Fdelete_frame. (Fdelete_frame): Use it. (Fmake_frame_invisible): Use it. New arg FORCE. * xfns.c (x_set_visibility): Pass new arg to Fmake_frame_invisible. * xdisp.c (fix_glyph): New function. (display_text_line, display_string): Use fix_glyph. * xfaces.c (init_frame_faces): Clear FRAME_N_COMPUTED_FACES and FRAME_SIZE_COMPUTED_FACES. 1994-02-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xdisp.c (copy_rope): Function deleted. (copy_part_of_rope): Merge the glyph's face using compute_glyph_face. Take frame as additional arg. (display_text_line): Use copy_part_of_rope always, not copy_rope. Pass the frame as arg. (display_string): Likewise. * xfaces.c (compute_glyph_face): New arg CURRENT_FACE specifies face to merge with. * emacs.c (main) [AIX]: Don't handle signal 20, 21 or 22. Call signal 24 by name (SIGXCPU). * eval.c (internal_condition_case_1): New function. * lisp.h (internal_condition_case_1): Declared. * keyboard.c (menu_bar_item): Use internal_condition_case_1. (menu_bar_item_1): New function. * xmenu.c (single_keymap_panes): Use internal_condition_case_1. (single_keymap_panes_1): New function. 1994-02-04 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * intervals.c (verify_interval_modification): When checking read-only, allow for the case that stickiness might be t instead of a list. * data.c (fmod): Implement it on systems where it's missing, using drem if available. 1994-02-04 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Remove the #if 0 directives and reverse one to avoid the flickering of the menubar. 1994-02-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (Fwhere_is_internal): Take just one keymap arg. (where_is_string): Pass Voverriding_local_map for that arg. * doc.c (Fsubstitute_command_keys): Pass keymap as that arg to Fwhere_is_internal. Init keymap from Voverriding_local_map. 1994-02-03 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * intervals.c (merge_properties_sticky): Preserve original order of properties. 1994-02-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/hpux8.h (X_IO_BUG): Defined. * fileio.c (Fwrite_region): If FILENAME has no handler, see if VISIT has one. * search.c (scan_buffer): New arg ALLOW_QUIT. (find_next_newline): Pass new arg. * xdisp.c (display_count_lines): Pass new arg to scan_buffer. * syntax.c (find_defun_start): Pass new arg to scan_buffer. * cmds.c (Fforward_line): Pass new arg to scan_buffer. 1994-02-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTread_socket): Add X_IO_BUG conditional. * xdisp.c (display_menu_bar): Pass explicit max arg to display_string. (display_string): New arg OBEY_WINDOW_WIDTH. All callers changed. 1994-02-02 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * xterm.c (x_iconify_frame): Fix misbalanced BLOCK_INPUT/UNBLOCK_INPUT. * xdisp.c (try_window_id): Don't pass value beyond ZV to compute_motion. * window.c (Fpos_visible_in_window_p): Return nil if POS > ZV. * sysdep.c (get_system_name): Remove restriction on hostname size. * lisp.h (get_system_name): Declared. * xterm.c (x_term_init): Use get_system_name instead of gethostname. * xrdb.c (x_get_customization_string): Use get_system_name instead of gethostname. 1994-02-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (kbd_buffer_get_event): Pass 1 to read_avail_input. 1994-02-01 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * config.h.in (HAVE_FMOD): Add another #undef. * data.c (Fmod): Use HAVE_FMOD. 1994-02-01 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xfns.c (x_set_menu_bar_lines): Test also menubar_widget before calling XtDestroyWidget. 1994-02-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (dumpglyphs): Don't crash for invalid face code. 1994-01-31 Richard Stallman (rms@mole.gnu.ai.mit.edu) * undo.c (record_first_change): Check for buffer-undo-list = t. Make an undo boundary if appropriate. Set last_undo_buffer. (record_property_change): Use BUFFER, not current_buffer, when testing undo_list. 1994-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * widget.c: Don't declare arg types in decls or fn definitions. * syntax.h (SYNTAX_MATCH, SYNTAX): Fix non-GNUC definitions. * widget.h (EmacsFrameSetCharSize): Don't declare arg types. * Makefile.in.in (configuration): Change # comment to C comment. 1994-01-29 Karl Heuer (kwzh@mole.gnu.ai.mit.edu) * keymap.c (currrent_minor_maps): Scale by sizeof when allocating objects. * buffer.c (Fkill_all_local_variables): Follow symbol forwarding. 1994-01-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * callproc.c: Include stdio.h. (init_callproc): Put non-ex-dir warnings on stderr. * lread.c (init_lread): Put non-ex-dir warnings on stderr. 1994-01-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) * lread.c (init_lread): Put non-ex-dir warnings on stderr. * callproc.c: Include stdio.h. (init_callproc): Put non-ex-dir warnings on stderr. 1994-01-28 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xterm.c (x_set_window_size): Add USE_X_TOOLKIT conditional. Call EmacsFrameSetCharSize and return. * xterm.c (x_term_init): Cast to (char **) before assignment to argv. 1994-01-27 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * keyboard.c (make_lispy_event): Add USE_X_TOOLKIT conditional and test FRAME_EXTERNAL_MENU_BAR. (map_event_to_object) [USE_X_TOOLKIT]: Declare and use it. 1994-01-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_set_mouse_position): Don't raise the frame. * s/sunos4-0.h [__GNUC__] (MKDIR_PROTOTYPE): Defined. * sysdep.c (mkdir): Use MKDIR_PROTOTYPE if defined. 1994-01-26 Frederic Pierresteguy (fp@mole.gnu.ai.mit.edu) * xterm.h [USE_X_TOOLKIT]: Don't include Xaw/Box.h. * xdisp.c (update_menu_bar): Add USE_X_TOOLKIT conditional and test FRAME_EXTERNAL_MENU_BAR. 1994-01-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (widgetobj): New variable. (otherobj): Use widgetobj. (XOBJ): Undo previous change. 1994-01-25 Francesco Potorti` (pot@cnuce.cnr.it) * m/delta.h (HAVE_BCOPY): undef'd for efficiency. (bcopy, bzero, bcmp): define'd for efficiency. (GAP_USE_BCOPY, BCOPY_DOWNWARD_SAFE): define'd for GHc compiler. 1994-01-24 Francesco Potorti` (pot@cnuce.cnr.it) * m/delta.h (HAVE_RANDOM, BROKEN_FIONREAD): Defined if X is used. (HAVE_XSCREENNUMBEROFSCREEN): Defined if X is used. (LIB_X11_LIB, LIBX11_SYSTEM): Override only if X is used. (USG_SHARED_LIBRARIES): Undefine only if X is used. 1994-01-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fns.c (Fconcat): Doc fix. 1994-01-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_key_sequence): Properly gcpro fkey_map while using keytran_map. * fns.c (Fassq, Fassoc): Doc fixes. * data.c (Faset): Doc fix. 1994-01-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xdisp.c (display_menu_bar): Add USE_X_TOOLKIT conditional. (redisplay_window) [USE_X_TOOLKIT]: Test FRAME_EXTERNAL_MENU_BAR. (update_menu_bar) [USE_X_TOOLKIT]: Call set_frame_menubar. * widget.c: Include X11/ObjectP.h. * keyboard.c (syms_of_keyboard): New Lisp var command-hook-internal. (command_loop_1): Use it when running the command hooks. * Makefile.in.in (LWLIB_OPTIONS): Define if not defined. (LIBXT): New variable. (LIBX): Use LIBXT. (widget.o): New target. (XOBJ) [USE_X_TOOLKIT]: Add widget.o. * xmenu.c: Find lwlib.h and xlwmenuP.h in ../lwlib. * xfns.c: Find lwlib.h in ../lwlib. * widgetprv.h: Renamed from widgetP.h. * Makefile.in.in (lwlibdir): New variable. ($(OLDXMENU)) [USE_X_TOOLKIT]: Alternate rule. (OLDXMENU) [USE_X_TOOLKIT]: Alternate value. (really-lwlib): New rule. * xterm.h [USE_X_TOOLKIT]: Include StringDefs.h, IntrinsicP.h, CoreP.h, StringDefs.h, Xaw/Box.h. * xterm.c: Don't include them. * xrdb.c (search_magic_path): Fix logic testing for empty path element. 1994-01-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_wm_set_size_hint): Swap southeast and northwest. * xrdb.c (S_ISDIR): Define if not defined. (file_p): Use S_ISDIR. * xterm.c (XTupdate_end): No need to test updating_frame. * term.c (update_end): Clear updating_frame before calling hook. * fileio.c (double_dollars): New function. (Fread_file_name_internal): Use double_dollars. (Fread_file_name): Likewise. * textprop.c (Fprevious_property_change): Move back at least 1 char. (Fprevious_single_property_change): Likewise. * textprop.c: Doc fixes. * xfns.c (store_class_hints): Function deleted. * intervals.c (graft_intervals_into_buffer): Fix one-off comparing lengths of over and under. * keyboard.c (read_key_sequence): Don't call echo_truncate the first time through. 1994-01-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sunos4-1-3.h: Add #undef SYSTEM_MALLOC. * xfns.c (Fx_create_frame): Bind x-resource-name to explicit title. (Qx_resource_name): Declared. (syms_of_xfns): Set up Qx_resource_name. * xmenu.c: Reshuffle functions; put new ones in #ifdef USE_X_TOOLKIT. (Fx_popup_menu): Add USE_X_TOOLKIT conditional around new decls. * xterm.c: Put new functions in #ifdef USE_X_TOOLKIT. * xdisp.c (truncate_echo_area): New function. * keyboard.c (echo_truncate): Call truncate_echo_area. 1994-01-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) * config.h.in: Add #undef for USE_X_TOOLKIT. * xfns.c (x_window): Fix error message. 1993-01-18 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) * Support use of X toolkit. (USE_X_TOOLKIT): New macro to conditionalize the use of Xt. * widget.c, widgetP.h, widget.h: New files. * frame.h (struct frame): New field external_menu_bar. (FRAME_EXTERNAL_MENU_BAR): New macro. * xterm.h (struct x_display): New fields widget, column_widget, edit_widget, menubar_widget. (x_any_window_to_frame): Declared. * lisp.h (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID): New macros. * xfns.c (x_any_window_to_frame): New function. (x_window_to_frame, x_window): Handle USE_X_TOOLKIT. (x_set_icon_type, x_set_menu_bar_lines, x_set_name): Likewise. (store_class_hints, hack_wm_protocols): New function. * xmenu.c (string_width): New function. (event_is_in_menu_item, map_event_to_object): Likewise. (set_menu_items, free_menu_items, popup_selection_callback): Likewise. (popup_down_callback, free_menubar_widget_value_tree): Likewise. (update_one_frame_psheets, set_frame_menubar): Likewise. (Fx_popup_menu, xmenu_show): Handle USE_X_TOOLKIT. * xterm.c (construct_mouse_click): New function. (process_expose_from_menu): Likewise. (XTread_socket, x_set_offset, x_set_window_size): Handle USE_X_TOOLKIT. (x_raise_frame, x_lower_frame, x_make_frame_visible): Likewise. (x_iconify_frame, x_destroy_window, x_wm_set_window_state): Likewise. (x_term_init): Likewise. * xmenu.c (dispatch_dummy_expose): New function. (XMenu_xpos, XMenu_ypos): Change the values of the constant assignment. (xmenu_show): Change the way to make the menubar to redraw itself by generating a dummy expose event. * xterm.c (x_term_init): Pass argv, argc to XtAppInitialize with the display_name value. 1994-01-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/linux.h: Don't include stdio.h. * dispnew.c: Include stdio.h before config.h. * emacs.c (init_cmdargs): Set Vinstallation_directory. (syms_of_emacs): staticpro it. * lisp.h (Vinstallation_directory): Declared. * lread.c (init_lread): Use Vinstallation_directory. * callproc.c (init_callproc): Use Vinstallation_directory. * fileio.c (Ffile_symlink_p): Doc fix. * keyboard.c (Voverriding_local_map): New variable. (syms_of_keyboard): Set up Lisp variable. (read_key_sequence, menu_bar_items): Handle Voverriding_local_map. * keymap.c (Fkey_binding): Handle Voverriding_local_map. (describe_buffer_bindings): Likewise. 1994-01-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) * config.h.in (LD_SWITCH_X_SITE_AUX): Add #undef. * s/sol2.h (LD_SWITCH_SYSTEM): Use LD_SWITCH_X_SITE_AUX. * floatfns.c (Fffloor, Ffceil, Ffround, Fftruncate): New functions. (syms_of_floatfns): Turn them on. 1994-01-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (command_loop_1): If there's an error in the post-command-hook or pre-command-hook, leave that hook nil. * s/sco4.h (BSTRING): Don't define it here. 1994-01-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (xterm.o): Depends on syssignal.h. 1994-01-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * sysdep.c (sys_siglist) [sun]: Additional Sun-specific signal names. 1993-01-12 Thomas Horsley (tahorsley@csd.harris.com) * cxux-crt0.s: New file. * emacs.c (main) [USG5 and INTERRUPT_INPUT]: Call setpgrp. * m/nh3000.h: New file for the Night Hawk 3000 series hardware defs. * m/nh4000.h: New file for the Night Hawk 4000 & 5000 series hardware. * s/cxux.h: New file for the CX/UX operating system used by Night Hawks. * s/cxux7.h: New file. * sysdep.c (request_sigio, unrequest_sigio): Add new versions of these routines for the CX/UX operating system. (sys_signal) [SA_RESTART]: Set this flag. * xterm.c: Include syssignal.h. 1994-01-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (sigchld_handler, status_message): Handle a NULL in sys_siglist. 1994-01-11 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * buffer.c (syms_of_buffer): Don't do (put 'erase-buffer 'disabled t). (keys_of_buffer): Do it here instead. 1994-01-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * lread.c (Fload): Record descriptor numbers on load_descriptor_list. (load_descriptor_unwind, close_load_descs): New function. (syms_of_lread): Init and staticpro load_descriptor_list. (init_lread): Clear load_descriptor_list. * callproc.c (child_setup): Call close_load_descs. * eval.c (Fcondition_case): Allow a list of condition names in a handler. (find_handler_clause): Likewise. (Fsignal): Rename 1st arg to error_symbol. (Fcondition_case): Doc fix. * process.c (read_process_output): Supply second arg to unbind_to. (exec_sentinel): Likewise. 1994-01-11 (afs@hplb.hpl.hp.com) * keyboard.c (read_char_x_menu_prompt, read_char_minibuf_menu_prompt): New functions made by dividing up read_char_menu_prompt. (read_char): Call read_char_minibuffer_menu_prompt before the sit_for if X menus are not going to be used. (read_char_minibuf_menu_prompt): Correct access to keymaps for menus when not using X menus. Only store character read in a keyboard macro if it is not the menu help character. 1994-01-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (create_process): Set line discipline only if pty_flag. * search.c (set_search_regs): New subroutine. (search_buffer): Use set_search_regs. Record beginning and end after matching null string. 1994-01-09 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * mem-limits.h: Include <sys/types.h> before <sys/resource.h>. * process.c: Don't declare sys_nerr. Don't declare sys_errlist unless #ifdef VMS. Declare strerror instead. (wait_reading_process_input): Call strerror instead of using sys_errlist. 1994-01-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (x_sync): Block input. * buffer.h (struct buffer): New field auto_save_failure_time. * fileio.c (Fdo_auto_save): If auto save times out, don't try again for 20 minutes. (Fclear_buffer_auto_save_failure): New function. (Fset_buffer_auto_saved): Clear auto_save_failure_time. * xfns.c (x_sync): New function. * frame.c (Fdelete_frame): Call x_sync. 1994-01-09 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * sysdep.c: Restore big block of #ifdef and #include lines for fcntl.h and friends, apparently accidentally removed in revision 1.70 (Jan 5 changes). 1994-01-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * callproc.c (child_setup): Don't declare PID `register'; we later take its address. * config.h.in: Add #undef HAVE_STRERROR. * sysdep.c [! VMS]: Don't declare sys_errlist here. [! HAVE_STRERROR] (strerror): New function. (dup2): Use strerror instead of sys_errlist. * fileio.c: Don't declare sys_errlist; declare strerror instead. (err_str): Macro removed. (Finsert_file_contents, Fwrite_region): Call strerror instead of err_str. (report_file_error): Call strerror instead of using sys_errlist. * emacs.c (main): Call strerror instead of using sys_errlist. * callproc.c: Don't declare sys_errlist; declare strerror instead. (relocate_fd): Call strerror instead of using sys_errlist. * unexenix.c: Don't declare sys_errlist; declare strerror instead. (fatal_unexec): Call strerror instead of using sys_errlist. * unexmips.c: Likewise. 1994-01-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * frame.c (Fdelete_frame): Do FRAME_SAMPLE_VISIBILITY before testing visibility of a frame. * emacs.c (main): Don't call setpgrp if !initialized. * Makefile.in.in (${etc}DOC): Put back ${lisp} accidentally deleted. * keymap.c (describe_map_tree): New arg NOMENU. (describe_buffer_bindings): Pass new arg. * doc.c (Fsubstitute_command_keys): Pass new arg to describe_map_tree. 1994-01-08 Morten Welinder (terra@diku.dk) * keyboard.c (interrupt_signal) [MSDOS]: write explicit CRs since stdout has been made binary. Start at the top of the screen since the internal terminal otherwise will write "below the screen." 1994-01-07 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in.in (emacs): Don't run inc-vers.el. * config.h.in: Handle HAVE_BCMP. (BSTRING): Don't define unless HAVE_BCMP. 1994-01-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/msdos.h (getppid): Define as macro. * dired.c (DIRENTRY_NONEMPTY): New macro; two definitions. (Fdirectory_files, file_name_completion): Use it. 1993-01-05 Morten Welinder (terra@diku.dk) * buffer.c, buffer.h [MSDOS]: New buffer-local variable: buffer-file-type to handle DOS newlines. * callproc.c (syms_of_callproc) [MSDOS]: New lisp variable: binary-process. (init_callproc) [MSDOS]: Initialize binary-process. [MSDOS]: Declare binary-process. [MSDOS]: Include <fcntl.h>, <sys/stat.h>, <sys/param.h>, and <errno.h> needed for the next changes. (Fcall_process) [MSDOS]: Create temporary file for process output. Run the subprocess using `run_msdos_command' instead of forking. Arrange for cleanup to erase temporary file. (Fcall_process) [not subprocesses]: Barf if zero buffer argument. (call_process_cleanup) [MSDOS]: Close and erase temporary file instead of the pid-stuff. (Fcall_process_region) [MSDOS]: Create temporary file in $TMP or $TEMP. (Fchild_setup) [MSDOS]: #if 0, as it is not used. * cmds.c (keys_of_cmds) [MSDOS]: Chars 0200 to 0237 self-insert. * data.c (Frem) [MSDOS]: use `fmod', not `drem'. Put in config.h? * dired.c [MSDOS]: #include <dirent.h> instead of <sys/dir.h>. Avoid some external definitions. (Ffile_attributes) [MSDOS]: Set execute bits from file name. (Ffile_name_all_completions) [FILE_SYSTEM_CASE]: Convert case of file name as as indicated by conditional. * emacs.c (main) [MSDOS]: Call init_environment. Set file types to binary for all files. Call init_dosfns. (fatal_error_signal) [MSDOS]: Uncomment sigblock. * fileio.c [MSDOS]: #include "msdos.h" and <sys/param.h> needed for the following changes. (Ffile_name_directory, Fexpand_file_name) [FILE_SYSTEM_CASE]: Apply case conversion if defined. (Ffile_name_directory, Ffile_name_nondirectory, file_name_as_directory, directory_file_name, Fexpand_file_name, Fsubstitute_in_file_name, expand_and_dir_to_file) [MSDOS]: Drive letter support. (Fexpand_file_name) [MSDOS]: Support for multiple default directories. (Ffile_writeable_p) [MSDOS]: Don't call access with file name ending in a slash. (Finsert_file_contents) [MSDOS]: Determine file type by name (call find-buffer-file-type) and change CR+LF to LF if it is a text file. (Fwrite_region) [MSDOS]: Use text/binary mode as specified by buffer_file_type. (syms_of_fileio) [MSDOS]: Set Qfind_buffer_file_type. (Fsubstitute_in_file_name) [MSDOS]: Ignore case in environtment variable. * floatfns.c [MSDOS]: Don't define HAVE_MATHERR. * keyboard.c [MSDOS]: #include <dos.h> and <time.h>, but not <sys/ioctl.h>. (read_avail_input) [MSDOS]: Work around `ioctl'. Also read through dos_keyread for better keyboard support. (interrupt_signal) [MSDOS]: Don't claim we can core dump. (kbd_buffer_store_event): Cast a pointer to avoid a compiler warning. * lread.c [MSDOS]: Use text mode for all files but ".elc" files. (complete_file_name) [MSDOS]: Drive letter support. * mem-limits.h [MSDOS] (get_lim_data): Use go32 call. * sysdep.c [MSDOS]: #include <dos.h>, "dosfns.h", "msdos.h", and <sys/param.h> needed for the following changes, but not <sys/ioctl.h> (discard_tty_input) [MSDOS]: Do it by reading till no more keys available. (init_baud_rate) [MSDOS]: Assume highest possible speed. (sys_suspend) [MSDOS]: Save default directory. Call via system, not via fork. (emacs_get_tty, emacs_set_tty) [MSDOS]: Don't do anything. (init_sys_modes) [MSDOS]: Use raw mode. (get_frame_size) [MSDOS]: Get from bios. (reset_sys_modes) [MSDOS]: Back to cooked mode. (start_of_text) [MSDOS]: Reference _tstart. (select) [MSDOS]: Don't use signals, use sleeping. (init_sys_modes) [MSDOS]: Initialize internal terminal. * systty.h [MSDOS]: don't #include <sgtty.h>. We haven't got it. Declare dummy main field. Don't ever use TABs. * termcap.c (tgetent) [INTERNAL_TERMINAL]: Fake internal terminal without reading any files. (valid_file_name, tgetent) [MSDOS]: Drive letter support. (tgetent) [MSDOS]: Use text mode for database. * unexec.c [MSDOS]: Don't #include <a.out.h>, but use other headers. (make_hdr) [MSDOS]: Cast a pointer for bzero. (write_segment) [EFAULT]: Check for before using. (adjust_lnnoptrs) [MSDOS]: Use provided descriptor. (adjust_lnnoptrs): Return 0 if ok. * xdisp.c (decode_mode_spec) [MSDOS]: Let 't' expand to 'T' for text mode or 'B' for binary mode. (decode_mode_spec) [not subprocesses]: Don't access Fprocess_status. * s/msdos.h, m/dos386.h: New files (for MSDOS). * dosfns.c, dosfns.h: New files (for MSDOS). * msdos.c, msdos.h: New files (for MSDOS). 1994-01-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sunos4-1.h (SUNOS_LOCALTIME_BUG): #if 0'd. * print.c (strout, printchar): Use proper frame for minibuffer. * keyboard.c (read_avail_input): Args to `kill' were backwards. (kbd_buffer_get_event): If deleting last frame, call Fkill_emacs. * fns.c (Fmapconcat): Doc fix. * s/sco4.h (bcopy, bzero, bcmp): Defined. 1994-01-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (Fx_list_fonts): Don't fail to init `tail'. 1994-01-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c: Don't include syntax.h. * Makefile.in.in (buffer.o): Don't depend on syntax.h. * syntax.h (enum syntaxcode): Add Sinherit. (RAW_SYNTAX, RAW_SYNTAX_MATCH, SYNTAX_CHOOSE_TABLE): New macros. (SYNTAX, SYNTAX_MATCH, SYNTAX_COMSTART_FIRST, SYNTAX_COMSTART_SECOND) (SYNTAX_COMEND_FIRST, SYNTAX_COMEND_SECOND, SYNTAX_PREFIX) (SYNTAX_COMMENT_STYLE): Handle Sinherit. Alternative definitions if __GNUC__. * syntax.c (describe_syntax): Handle Sinherit. (syntax_code_spec, syntax_spec_code): Add entry for @ and Sinherit. * Makefile.in.in (temacs): Delete redundant use of LDFLAGS. 1994-01-02 Ulrich Mueller (ulm@vsnhd1.cern.ch) * sysdep.c (get_system_name): If the official name of the host is not a fully qualified domain name, then try to find one in the list of alternate names. 1994-01-02 Rick Sladkey (jrs@world.std.com) * intervals.h (NULL_RIGHT_CHILD, NULL_LEFT_CHILD): Assume children must be intervals, never strings or buffers. * intervals.c (rotate_right, rotate_left): Simplify total_length calculation. Minimize pointer dereferencing. (balance_an_interval): Remove recursive rebalancing. Rebalance precisely when imbalanced. If a rotation is done, rebalance only the node which may have become unbalanced. Iterate until the current node is balanced. (balance_possible_root_interval): New function. (balance_intervals): Move the interation into rebalance_an_interval. (balance_intervals_internal): New subroutine of balance_intervals. (split_interval_right, split_interval_left): Speed up by not checking LEAF_INTERVAL_P. (split_interval_right, split_interval_left, find_interval, adjust_intervals_for_insertion, graft_intervals_into_buffer): Add dynamic rebalancing anywhere a node may become unbalanced. (graft_intervals_into_buffer, copy_intervals): No longer any need to do a full rebalance as the tree stays balanced. 1994-01-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Fwrite_region): Don't change START and END from nil until after checking for a magic handler. * .gdbinit: Delete `show env TERMCAP'. * process.c (read_process_output): Use clip_to_bounds when moving to the process marker. * keyboard.c (modify_event_symbol): New arg NAME_ALIST. Allow SYMBOL_TABLE to be an alist. (Vvendor_key_alist): New variable. (syms_of_keyboard): Initialize it. (make_lispy_event): Handle vendor-specific keysyms. (lispy_function_keys): Delete `remove' and th HP keysyms. * xterm.c (XTread_socket): temp_buffer and temp_index deleted. Put all vendor-specific keys into the buffer. (x_is_vendor_fkey): Function deleted. (XTread_socket): Don't call it. * Makefile.in.in (SOME_MACHINE_OBJECTS): New var. (${etc}DOC): Use SOME_MACHINE_OBJECTS, not OBJECTS_MACHINE or OBJECTS_SYSTEM. Don't depend on SOME_MACHINE_OBJECTS. * dired.c (file_name_completion_stat): If have symlinks, use lstat. 1993-12-31 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (Qget_file_buffer): New variable. (syms_of_buffer): Set up Qget_file_buffer. (Fget_file_buffer): For magic file names, run the handler. * fileio.c (Finsert_file_contents): Don't run after change hook if inserted is 0. Avoid setting modtime or buffer-file-name field if ran a handler. jrs: * s/linux.h (PENDING_OUTPUT_COUNT): Two alternate definitions for different versions of stdio.h. 1993-12-30 Morten Welinder (terra@diku.dk) * frame.c: Always include termhooks.h. [! MULTI_FRAME] (Fmouse_position): New definition. [! MULTI_FRAME] (syms_of_frame): Add mouse-position. 1993-12-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * doc.c (Fsubstitute_command_keys): Fix previous change. 1993-12-30 Lawrence R. Dodd (dodd@roebling.poly.edu) * minibuf.c (read_from_minibuffer): Rename arg initial_input to initial_contents. 1993-12-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * editfns.c (Femacs_pid): New function. (syms_of_editfns): Define it for Lisp. * keyboard.c (read_avail_input): Turn O_NDELAY off on DGUX as on USG. * minibuf.c (Fall_completions): Allow completions that start with space if the input starts with space. * Makefile.in.in (LDFLAGS): Define as empty. (ALL_LDFLAGS): Define as LDFLAGS used to be defined. (temacs): Use ALL_LDFLAGS. * xfns.c (Fx_create_frame): Add to Vframe_list before making visible. 1993-12-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (describe_command): If binding is a kbd macro, say so. 1993-12-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (main) [AIX]: Call putenv. * s/linux.h (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Defined. * keyboard.c (lispy_accent_codes): Cope if an XK symbol is undefined. (make_lispy_event): Define i. * termhooks.h (struct input_event): FIx typo in previous change. * xterm.c (XTflash): Use EMACS_GET_TIME. (XTread_socket): Make proper junk values to pass to select. 1993-12-25 Jerry Frain (jerry.frain@tivoli.com) * s/usg5-4.h (bcopy): Use memmove instead of memcpy. * systime.h (EMACS_GET_TIME) [USG5_4]: Give gettimeofday just one arg. 1993-12-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * alloc.c (Fmemory_limit): No longer interactive. 1993-12-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (command_loop_1): Test of whether disp tab elt was a vector was backwards. * fileio.c (Fwrite_region): If handler, don't mess with modtime. (Finsert_file_contents): Likewise. * config.h.in: Add #undef HAVE_SETSID. * process.c (create_process) [NTTYDISC]: Set the tty line discipline. * callproc.c: Include systty.h. (child_setup): Use EMACS_SET_TTY_PGRP. * Makefile.in.in (callproc.o): Depend on systty.h and syssignal.h. * xdisp.c (redisplay_window): Before altering lpoint, make sure the buffer it pertains to is the one being displayed. * syntax.c (Fmodify_syntax_entry): Doc fix. 1993-12-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (Fopen_network_stream): Turn off SIGIO while connecting. 1993-12-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (lispy_accent_codes): New variable. (make_lispy_event): Use that to handle lots of dead accent keys. * xterm.c (XTread_socket): Handle a bunch more dead keys. 1993-12-22 Francesco Potorti` (pot@cnuce.cnr.it) * m/delta.h (BROKEN_CLOSEDIR): added because closedir is interruptible. (HAVE_UNISTD_H): deleted because configure takes care of it. (C_SWITCH_MACHINE): added optimisation options for gnu cc. 1993-12-17 Mike Long (mike.long@analog.com) * s/vms.h (TERMCAP_NAME): Defined. * s/netbsd.h (TERMCAP_NAME): Defined. These correspond with changes in termcap.c. 1993-12-17 Richard Stallman (rms@gnu.ai.mit.edu) * xterm.c (XTread_socket): Don't offset keysym here. Special handling for "dead accent" keysyms. * keyboard.c (make_lispy_event): Offset the event code here. Special handling for "dead accent" keysyms. * keyboard.c (quit_throw_to_read_char): Don't switch frames if internal_last_event_frame is not a frame. * termhooks.h (struct input_event): `code' is now an int. * xterm.c (construct_mouse_click, x_scroll_bar_handle_click) (XTread_socket): `code' of an event is now an int. * keyboard.c (kbd_buffer_store_event, make_lispy_event) (stuff_buffered_input): `code' of an event is now an int. * s/sol2-3.h: New file. * xfns.c (Fx_list_fonts): Handle BROKEN_XLISTFONTSWITHINFO. 1993-12-16 Richard Stallman (rms@gnu.ai.mit.edu) * xterm.c (pixel_to_glyph_coords): New arg NOCLIP. Callers changed. * keyboard.c (make_lispy_movement): If we have a frame but pos is not in a window, return an event with the frame. * xterm.c (XTread_socket): For MotionNotify, if x_mouse_grabbed, use last_mouse_frame. (construct_mouse_click): Set last_mouse_frame. (XTmouse_position): If x_mouse_grabbed, use last_mouse_frame. * xdisp.c (message): Use message2, not message1. 1993-12-15 Richard Stallman (rms@gnu.ai.mit.edu) * xfns.c (Fx_create_frame): Add frame to Vframe_list. * frame.c (make_terminal_frame): Add frame to Vframe_list. (make_frame): Don't add to frame list here. * window.c (Fdisplay_buffer): If pop_up_frames, pass t to Fget_buffer_window. * Makefile.in.in (configuration): New variable. (emacs.o): Define macro CONFIGURATION. * emacs.c (syms_of_emacs): Define Lisp var system-configuration. * xdisp.c (display_string): Fix truncation-criterion after main loop for termination due to LENGTH. * window.h (echo_area_glyphs_length): Declared. * print.c (printchar, strout): Set echo_area_glyphs_length. * keyboard.c (read_key_sequence): Don't return if in middle of possible function-key-map sequence, if the bindings were all found by case conversion. * lisp.h: Use WORDS_BIG_ENDIAN, not BIG_ENDIAN. (Qmenu_bar): Declared. * process.c (Fprocess_status): Use get_process, not Fget_process. * s/dgux.h (SYSTEM_TYPE): Make it dgux. * m/sun2.h (OTHER_FILES): Use ${libsrc} as dir. 1993-12-15 Michal Jankowski (michalj@fuw.edu.pl) * insdel.c (del_range): Second argument in call to offset_intervals is 'from', not 'point'. 1993-12-14 Richard Stallman (rms@gnu.ai.mit.edu) * emacs.c (memory_warning_signal): New function. (main): Handle SIGDANGER, if defined. * minibuf.c (minibuffer_auto_raise): Really define it. * process.c [BROKEN_O_NONBLOCK]: Undefine O_NONBLOCK. 1993-12-14 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * dispnew.c (update_frame): Only call sleep (outq / baud_rate) if baud_rate >= OUTQ. Calling sleep (0) causes a gratuitous delay on some systems. 1993-12-13 Andreas Luik (luik@kepler.isa.de) * xterm.c (x_calc_absolute_position): Borderwidth must be doubled before subtracting from width to get correct value. * xfns.c (Fx_create_frame): Fix order of arguments of x_wm_set_size_hint call. This corrects handling of +x-y and -x+y geometry specifications. 1993-12-12 Richard Stallman (rms@gnu.ai.mit.edu) * xdisp.c (echo_area_glyphs_length): New variable. (message1): Set it. (message2): New function. (display_string): New arg LENGTH. (echo_area_display): Pass new arg to display_string. (redisplay_window): Likewise. (display_text_line): Likewise. (display_menu_bar): Likewise. (display_mode_element): * editfns.c (Fmessage): Use message2. * keyboard.c (set_waiting_for_input): Code testing echo_flag deleted. (echo_flag, echo_now): Vars deleted. * keyboard.c (read_key_sequence): Bind case_converted at top level. Clear it at replay_sequence. (follow_key): Never clear *CASE_CONVERTED. 1993-12-11 Richard Stallman (rms@gnu.ai.mit.edu) * xselect.c (x_get_foreign_selection): Use x_catch_errors. * fileio.c (Fmake_symbolic_link): Do expand FILENAME if starts with ~. * keymap.c (Fwhere_is_internal): Doc fix. * buffer.c (Fbuffer_disable_undo): Make arg optional. 1993-12-11 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * unexsunos4.c [! MAP_FILE] (MAP_FILE): Define to zero. (unexec): Remove unused variable BUF. Use MAP_FILE bit in mmap call. (run_time_remap): Use MAP_FILE bit in mmap call. 1993-12-09 Richard Stallman (rms@gnu.ai.mit.edu) * insdel.c (modify_region): Call record_first_change if necessary. * emacs.c (main): Don't handle SIGDANGER. * minibuf.c (minibuffer_auto_raise): New variable. (syms_of_minibuf): Set up Lisp var. (read_minibuf): Maybe raise the minibuffer's frame. 1993-12-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * dispnew.c (PENDING_OUTPUT_COUNT) [__GNU_LIBRARY__]: Alternate definition for the GNU C library. I changed this in version 18 in 1991, but the change never got propagated. 1993-12-07 (pmr@legacy.pajato.com) * s/dgux.h (SYSV4_PTYS): Remove. (SIGNALS_VIA_CHARACTERS): Defined. * process.c (create_process): Delete SYSV4_PTYS code. (deactivate_process): Likewise. 1993-12-06 Richard Stallman (rms@gnu.ai.mit.edu) * doc.c (Fsubstitute_command_keys): Ignore menu bar bindings. * s/sunos4-1.h (LIBS_SYSTEM): Use -lresolv if HAVE_RES_INIT is not defined and HAVE_GETHOSTNAME is defined. * keyboard.c (syms_of_keyboard): Define Lisp var track-mouse. * keyboard.c (follow_key): New arg case_converted. (read_key_sequence): Pass the new arg. If key has a binding via case-conversion, that does not prevent use of function_key_map. 1993-12-05 Richard Stallman (rms@gnu.ai.mit.edu) * m/pmax.h (SET_CHILD_PTY_PGRP): Defined. * process.c (create_process) [SET_CHILD_PTY_PGRP]: Do ioctls to set the pgrp of the pty. 1993-12-04 Richard Stallman (rms@gnu.ai.mit.edu) * xfns.c (XSetWMProtocols): New function, defined conditionally. * config.h.in (HAVE_XSETWMPROTOCOLS): Add #undef. * intervals.c (graft_intervals_into_buffer): If SOURCE is null and TREE is null, no need to call Fset_text_properties. * dispnew.c (Fsit_for): Call prepare_menu_bars. * keyboard.c (read_char): Call prepare_menu_bars. * xselect.c (x_handle_selection_clear): Call prepare_menu_bars. * vmsproc.c (Fcall_process): Call prepare_menu_bars. * sysdep.c [VMS] (wait_for_kbd_input): Call prepare_menu_bars. * process.c (wait_reading_process_input): Call prepare_menu_bars. * callproc.c (Fcall_process): Call prepare_menu_bars. * keyboard.c (tracking_off): Call prepare_menu_bars. * xdisp.c (update_menu_bar, update_menu_bars): New functions. (prepare_menu_bars): New function. (redisplay_window): Don't update menu bar here. (display_menu_bar): Assume item list already updated. 1993-12-02 Richard Stallman (rms@gnu.ai.mit.edu) * editfns.c (Fsubst_char_in_region): Move the NOUNDO hacking code after the modify_region call. 1993-12-01 Richard Stallman (rms@gnu.ai.mit.edu) * eval.c (Fmacroexpand): For an autoload definition, check the 4th elt, not the car of the 4th elt. * m/mips4.h (C_DEBUG_SWITCH): Delete -systype bsd43; not needed. * regex.c (regex_compile) [!MATCH_MAY_ALLOCATE]: If fail_stack.stack is nonzero, leave it alone. * fileio.c (Fread_file_name): If defalt is nil and user tries to use it, signal an error. * lisp.h (DEFUN_ARGS_MANY, DEFUN_ARGS_UNEVALLED, DEFUN_ARGS_0,...): New macros. (DEFUN) [__STDC__]: Use those macros. * doc.c (Fdocumentation_property): 3 args is maximum. * callproc.c (Fgetenv): One arg is maximum. 1993-11-30 Richard Stallman (rms@gnu.ai.mit.edu) * dispnew.c (direct_output_forward_char): Give up if in truncated text at end of line. * process.c (create_process): The test to avoid closing forkin is now conditional on #ifndef SIGNALS_VIA_CHARACTERS. * xdisp.c (redisplay_window): Don't alter lpoint when w is selected window in a non-selected frame. 1993-11-30 Richard Stallman (rms@gnu.ai.mit.edu) * Makefile.in.in [__GNUC__ > 1]: Maybe define LINKER_WAS_SPECIFIED. [LINKER_WAS_SPECIFIED] (YMF_PASS_LDFLAGS): Define as identity. * m/mips4.h (NO_MODE_T): Defined. 1993-11-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.22 released. * m/tek4300.h (NO_MODE_T): Defined. 1993-11-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (deactivate_process) [SVR4_PTYS]: If subtty is not nil, close it. * keyboard.c (kbd_buffer_get_event): For delete-window-event, do count iconified frames. * xfns.c (x_window): Call XSetWMProtocols. * keyboard.c (kbd_buffer_get_event): If user destroys the last frame, exit before calling Fdelete_frame. * s/irix5-0.h (SYSTEM_TYPE): Make it "irix". * sysdep.c (closedir): Test BROKEN_CLOSEDIR, not INTERRUPTIBLE_CLOSE. 1993-11-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_avail_input): Undo Nov 18 change. * lread.c (readevalloop): Get error if buffer being eval'd is killed. * s/irix3-3.h (SETPGRP_RELEASES_CTTY): Defined. * s/irix5-0.h (IRIX5, SETPGRP_RELEASES_CTTY): Defined. * process.c (create_process): Do setpgrp for USG regardless of IRIX. (process_send_signal) [IRIX5]: For SIGTSTP, use VSUSP, not VSWTCH. * callproc.c (child_setup): Test SETPGRP_RELEASES_CTTY, not IRIX. (init_callproc): Fix previous change. * s/sunos4-1-3.h [!SYSTEM_MALLOC] (MEMMOVE_MISSING): Defined. * keyboard.c (quit_throw_to_read_char): Look at internal_last_event_frame only if MULTI_FRAME. * m/ibmrt.h (HAVE_FTIME): Deleted (autoconf does it). * m/hp9000s800.h (bcopy, bzero, bcmp): If HAVE_BCOPY, don't #define. * s/sco4.h (LIBS_SYSTEM): Always define this one way or another. Include -lPW in it. * intervals.c (merge_properties_sticky): Declared. * regex.c (MAX, MIN): Undef before defining. * frame.c (Fhandle_switch_frame, Fredirect_frame_focus): Declared. * m/delta.h (HAVE_RANDOM, HAVE_XSCREENNUMBEROFSCREEN, BROKEN_FIONREAD): Add definitions. (LIB_X11_LIB, LIBX11_SYSTEM): Add override definitions. (USG_SHARED_LIBRARIES): Add #undef. * sysdep.c (init_baud_rate): Avoid referring to sg uninitialized. 1993-11-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (main) [AIX]: Don't handle signals 23, SIGAIO, SIGPTY. * indent.c (Fmove_to_column): Increments for control characters were too low by 1. * process.c (Fdelete_process): Fix paren error. * sysdep.c (closedir): Pass on the value from sys_closedir. Do use this definition, if INTERRUPTIBLE_CLOSE. 1993-11-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sco4.h (LIBX11_SYSTEM): Override the definition. * xterm.c (XTread_socket): Really handle Xatom_wm_window_moved events. * s/irix5-0.h (SIGNALS_VIA_CHARACTERS): Defined. * fileio.c (Finsert_file_contents): Don't call signal_after_change if we did not call prepare_to_modify_buffer. * editfns.c (make_buffer_string): Don't copy intervals if we don't really have any properties. * lisp.h: Declare Fnext_single_property_change and Fnext_property_change. * s/sco4.h (HAVE_GETTIMEOFDAY): Define only if HAVE_SOCKETS. Fix up conditionals changed recently. * editfns.c (Finsert_buffer_substring): Pass graft_intervals_into_buffer the current buffer. * intervals.c (graft_intervals_into_buffer): New arg LENGTH. If source has no intervals, set dest properties to nil. * editfns.c (Finsert_buffer_substring): Pass new arg. * insdel.c (insert_from_string): Likewise. * callproc.c (init_callproc): Maybe add ../lib-src to exec-path and maybe store it in exec-directory. Mabe put ../etc into data-directory. (init_callproc_1): Part of init_callproc is split out. * emacs.c (main): Call init_callproc and init_callproc_1. 1993-11-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * editfns.c (Fsubst_char_in_region): Call modify_region only if a change has to be made. Call signal_after_change just once, at end. * lread.c (OBARRAY_SIZE): Increase from 509. * xrdb.c (search_magic_path): Fix colon-colon case. * textprop.c (Ftext_property_not_all): For trivial yes, return start, not Qt. * xselect.c (Fx_disown_selection_internal): When making the fake event for x_handle_selection_clear, use SELECTION_EVENT_... macros. 1993-11-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sunos4-1-3.h (HAVE_TERMIOS, BSD_TERMIOS): Deleted. * systty.h (EMACS_GET_TTY_PGRP, EMACS_SET_TTY_PGRP): If HAVE_TERMIOS and BSD_TERMIOS, don't use tc[sg]etpgrp. * xfns.c (x_set_frame_parameters): Call check_frame_size before Fset_frame_size and Fset_frame_position. * termhooks.h (delete_window_event): New event kind. * xterm.c (XTread_socket): Generate delete_window_event's. * keyboard.c (kbd_buffer_get_event): Handle delete_window_event's. * s/sco4.h [HAVE_SOCKETS] (HAVE_XSCREENNUMBEROFSCREEN): Defined. * keymap.c: Doc fix. * window.c (window_loop, case DELETE_BUFFER_WINDOWS): Select a new buffer only if w is selected window. * hftctl.c: Include config.h. Include sys/signal.h before config.h. (sav_alrm): Use SIGTYPE. (FUNC): Typedef deleted. * Makefile.in.in (hftctl.o): New rule. * process.c (wait_reading_process_input): Use -1 to mean wait_channel is empty. Start process loop with descriptor 0 if keyboard_descriptor is not 0. (make_process): Initialize descriptors to -1. (Fdelete_process): -1 means empty, in infd. (deactivate_process): Likewise. (process_send_signal): Likewise. (kill_buffer_processes): Likewise. (sigchld_handler): Likewise. (status_notify): Likewise. (close_process_descs): Likewise. (create_process): Likewise. (Fopen_network_stream): Likewise. (send_process): Likewise. (Fprocess_send_eof): Likewise. Use XINT when closing outfd. (Fset_process_filter): Use XINT to get infd value. (wait_reading_process_input): Likewise. * process.c (wait_reading_process_input): When bypassing select, clear Available. * sysdep.c (getwd): If getcwd returns 0, we return 0. (getwd for VMS): Likewise. 1993-11-20 Paul Reilly (pmr@legacy.pajato.com) * s/dgux.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Defined (copied from usg5-4.h). (FIRST_PTY_LETTER): Deleted. 1993-11-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * frame.c (Fmake_frame_visible): Doc fix. * textprop.c (Ftext_property_not_all): Swap t and nil values in the case where there are no intervals. (Fprevious_single_property_change, Fprevious_property_change) Extra arg LIMIT. Return value was off by 1. (Fnext_single_property_change, Fnext_property_change): Extra arg LIMIT. (Fnext_single_property_change): Require at least 2 args. * indent.c (compute_motion): Pass new arg to Fnext_single_property_change. * xfaces.c (compute_char_face): Accept new arg LIMIT. Pass Fnext_single_property_change its new arg LIMIT. * xdisp.c (display_text_line): Pass new arg to compute_char_face and to Fnext_single_property_change. * dispnew.c (direct_output_for_insert): Pass new arg to compute_char_face. * keyboard.c (follow_key): When downcasing, downcase just the basic part of the character, and preserve the modifier bits. 1993-11-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_key_sequence): If we get a quit, and current buffer has changed, replay it to get proper keymap. (quit_throw_to_read_char): Switch frames to the frame the quit was in. 1993-11-19 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * buffer.c (Frename_buffer): When the current buffer is already named NAME, don't short-circuit and just return unless UNIQUE is nil. This makes passing UNIQUE=t equivalent to (rename-buffer (generate-new-buffer-name NAME)). This is useful way to rename the buffer automatically so you can create another with the original name. 1993-11-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (quit_throw_to_read_char): Select the frame which the quit char was typed in. * s/linux.h (HAVE_UNISTD_H): No need to define here. * buffer.c (Flist_buffers): Always return a value. * minibuf.c (read_minibuf): History list always gets strings, not Lisp objects made by read. 1993-11-18 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_avail_input): Don't set nread to -1 if we loop around in the loop that calls read. * sysdep.c (read_input_waiting): read_socket_hook delivers events, not characters. Make buf smaller in the case where we actually call read itself. * ralloc.c (r_alloc_init): Explicitly use real_morecore to allocate the entire incomplete page. * frame.c (Fmake_frame_visible): Use FRAME_SAMPLE_VISIBILITY. * s/dgux.h (FIRST_PTY_LETTER): Defined. 1993-11-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (Fkey_binding): Doc fix. * cmds.c (keys_of_cmds): Make 0377 self-inserting. 1993-11-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.21 released. * doprnt.c (doprnt): Cast the value alloca returns. * gmalloc.c [HPUX8]: Include unistd.h earlier on. * s/sunos4shr.h (GNU_MALLOC, REL_ALLOC): Don't define if already defined. * s/hpux8.h (LD_SWITCH_SYSTEM) [hp9000s700]: Add -L/lib/pa1.1. * Makefile.in.in (extraclean): Prevent wildcard from starting comment. (distclean): Do delete Makefile and Makefile.in. 1993-11-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * systty.h [BSD_TERMIOS]: Under NL0, NL1..., ECHO, NOFLSH, TOSTOP, FLUSHO and PENDIN. * s/sunos4-1-3.h (BSD_TERMIOS): Defined. * regex.c (re_set_registers): Use `regoff_t *' when casting 0. * Makefile.in.in: Delete spurious CFLAGS=-g. * s/sco4.h (HAVE_GETTIMEOFDAY): Don't define if already defined. * keyboard.c (read_avail_input): Make cbuf 1 char shorter. 1993-11-14 Paul Reilly (pmr@legacy.pajato.com) * s/dgux.h (INTERRUPT_INPUT): Undefined. (BROKEN_FIONREAD): Defined to work around a problem in DGUX whereby emacs will stop on a background write when invoked from a job control shell for the first time in a session. (FIRST_PTY_LETTER): Undefined. (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Defined to use all the available PTYs in a COFF environment. (LINKER): Removed "-nostdlib" from to be compatible with a prior mod removing "/lib/crt0.o" from the LIBS_SYSTEM define. (LIBS_SYSTEM): Delete /lib/crt0.o. 1993-11-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTread_socket): Increase length of copy_buffer to 81. * lread.c (read1): If token has a \, don't treat it as a number. 1993-11-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (IN_ADDR, NUMERIC_ADDR_ERROR): New macros (two versions). (Fopen_network_stream): Use them. * doprnt.c: Include config.h. * keyboard.c (read_avail_input) [no FIONREAD]: On DGUX, as on USG, read input with O_NDELAY. * s/dgux.h (SYSTEM_MALLOC): Turned off. (NO_TERMIO): Defined. (BROKEN_FASYNC): Turned off. * buffer.c (Foverlay_put): Don't call redisplay_region if overlay has no buffer. 1993-11-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (get_process): Add `static' to definition. * xterm.c (XTmouse_position): Delete test inserted Nov 10. * fileio.c (syms_of_fileio): Fix missing \n\'s. * keyboard.c (Fread_key_sequence): Split the doc string with "". * textprop.c (Fprevious_single_property_change): Fix missing \n\. (Fnext_single_property_change): Likewise. 1993-11-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.20 released. * callproc.c (Fcall_process): Clear synch_process_death and synch_process_retcode before the vfork. * xterm.c (XTmouse_position): Undo roland's change. Fix bug in bfox change. 1993-11-10 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * unexec.c [! HPUX]: Don't declare sbrk at all, so as not to conflict with system headers. * xterm.c (XTmouse_position): First arg is FRAME_PTR, not FRAME_PTR *. 1993-11-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/convexos.h: New file. 1993-11-10 Brian Fox (bfox@mole.gnu.ai.mit.edu) * Makefile.in.in (intervals.o): Depend on puresize.h. * intervals.c (create_root_interval): Check to see if PARENT is in pure memory. If so, we cannot write it. (includes): Add "puresize.h" so we get the definition of CHECK_IMPURE. * xterm.c (XTmouse_position): If the passed in frame is not an Xwindow frame, don't do anything. * frame.c (Fraise_frame): Do like the documentation says, and make the frame visible first. * systty.h (EMACS_GETPGRP): New macro hides argument passing to system getpgrp. Reinstate some semblance of control over this macros behaviour by paying attention to GETPGRP_NO_ARG. * sysdep.c (sys_suspend): Use EMACS_GETPGRP macro. * emacs.c (main): Use EMACS_GETPGRP macro. (shut_down_emacs): Use EMACS_GETPGRP macro. * alloc.c (make_pure_string): If we USE_TEXT_PROPERTIES, set the interval of the pure string to NULL_INTERVAL. * syswait.h: Treat convex like hpux. * search.c (Fskip_chars_backward, Fskip_chars_forward): Doc fix. 1993-11-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * syntax.c (Fforward_comment): On backward scan, exit inner loop after we reach beginning of a comment. Check the SYNTAX_COMMENT_STYLE of a one-character comment ender. (scan_lists): Check the SYNTAX_COMMENT_STYLE of a one-character comment ender. * sysdep.c (read_input_waiting): Don't mess with meta bit if read_socket_hook is nonzero. * sysdep.c (LPASS8, LNOFLSH): Move definitions earlier. (child_setup_tty): Turn on LPASS8. * search.c (skip_chars): Finish reenabling checks for buffer bounds. Use XINT, not XFASTINT, when testing. * fileio.c (Fwrite_region): Fix minor bugs in POS arg to awrite. * xterm.c (syms_of_xterm): Initialize last_mouse_scroll_bar. 1993-11-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c, editfns.c: Doc fix. 1993-11-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) * sysdep.c (child_setup_tty): Make the pty handle 8-bit characters. 1993-11-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/linux.h [TERM]: Alternate definitions of LIBS_MACHINE and C_SWITCH_MACHINE. * process.c [TERM]: Include client.h. (Fopen_network_stream): Handle TERM. 1993-11-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_new_font): xmalloc arg was 1 too small. 1993-11-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sunos4-1-3.h (HAVE_TERMIOS): Defined. 1993-10-25 Brian Fox (bfox@albert.gnu.ai.mit.edu) * process.c (Fopen_network_stream): Cast arg to inet_addr to (char *). * search.c (Freplace_match): Fix argument names to match doc string. (Fmatch_beginning): Fix doc string to match argument name. * floatfns.c: Declare `logb' only if HAVE_LOGB is defined. * fileio.c (Fcopy_file): Don't allow the copying of anything other than regular files or symlink files. 1993-10-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_key_sequence): Arg prompt is now a Lisp object. Pass it to functions found in function-key-map and key-translation-map. (Fread_key_sequence, command_loop_1): Calls changed. 1993-10-22 Brian Fox (bfox@albert.gnu.ai.mit.edu) * config.h.in: Add #undef HAVE_UNISTD_H so configure can edit it correctly. 1993-10-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (status_notify): Don't read from process if filter is t. (Fset_process_filter): Set or clear bit in input_wait_mask when nec. 1993-10-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * data.c [hpux 7] (_MAXLDBL, _NMAXLDBL): New macro definitions. 1993-10-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_key_sequence): Allow function in key-translation-map just as in function-key-map. 1993-10-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (Fdelete_overlay, Foverlay_put): Use marker_position, not OVERLAY_POSITION, to get args for redisplay_region. * fileio.c (Fcar_less_than_car): Fix typo in previous change. 1993-10-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * floatfns.c [hpux 7] (_MAXLDBL, _NMAXLDBL): New macro definitions. * fileio.c (Vafter_insert_file_functions): New variable. (Vwrite_region_annotate_functions): New variable. (Qcar_less_than_car): New variable. (Fcar_less_than_car): New function. (syms_of_fileio): Make Lisp variables and function available. staticpro Qcar_less_than_car. (a_write, build_annotations): New functions. (Fwrite_region): Call them. (Finsert_file_contents): Run the Vafter_insert_file_functions. 1993-10-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sco4.h (SYSTEM_TYPE): Put into #if 0. (BSTRING): Define only if HAVE_BCOPY. 1993-10-08 Brian Fox (bfox@albert.gnu.ai.mit.edu) * search.c (skip_chars): Re-instate the check against the end of the buffer, ignoring cryptic comment. 1993-10-07 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_key_sequence): Allow function-key-map to have a function as the binding; call the function and use its value. 1993-10-04 Brian J. Fox (bfox@ai.mit.edu) * minibuf.c (Fminibuffer_complete_word): GCPRO1 `completion' during calls to Ftry_completion. * keyboard.c (read_key_sequence): Don't declare first_event; it is no longer used. Change "#if 0" for first_event reading to "#if defined (GOBBLE_FIRST_EVENT)". 1993-10-03 Brian J. Fox (bfox@ai.mit.edu) * lisp.h: Doc fix. * minibuf.c (read_minibuf): Rewrite change of Sep 14. Save the return value on the history list provided in the form that the value is returned, iff the value is not equal to the front of the history list. 1993-10-03 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * Makefile.in: File removed. It is now generated by ../configure. * Makefile.in.in (LIBES): Add $(GNULIB_VAR) again at end. This change to ymakefile was mysteriously lost. Were any others lost too? 1993-10-02 Brian J. Fox (bfox@ai.mit.edu) * minibuf.c (Fread_no_blanks_input): Change DEFUN to allow 2nd arg to be optional. The code was already written correctly. 1993-09-30 Brian J. Fox (bfox@ai.mit.edu) * systty.h: If POSIX and HAVE_UNISTD_H are defined, and unistd.h hasn't already been included, include it. * s/linux.h (POSIX_SIGNALS): Comment fix. 1993-09-30 Brian Fox (bfox@albert.gnu.ai.mit.edu) * Makefile.in.in (ALL_CFLAGS): Make sure that `.' is searched before `${srcdir}' when looking for include files. 1993-09-28 Jim Blandy (jimb@geech.gnu.ai.mit.edu) * termhooks.h (enum event_kind): Doc fix. 1993-09-27 Brian Fox (bfox@ai.mit.edu) * ymakefile: Merged into Makefile.in.in. * Makefile.in.in: New file. Now ../configure creates Makefile.in from Makefile.in.in, and creates Makefile from Makefile.in. ymakefile no longer exists, and xmakefile is never created. 1993-09-24 Brian Fox (bfox@ai.mit.edu) * textprop.c (validate_plist): Add declaration for `list' argument. * frame.c (Fhandle_switch_frame): Doc fix. 1993-09-25 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * puresize.h: [MULTI_FRAME]: Increase PURESIZE to 220000. 1993-09-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sunos4-1.h (LIBS_SYSTEM): Use -lresolv if it seems appropriate. * config.h.in: Add #undef HAVE_RES_INIT. 1993-09-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * m/mips4.h (LIB_STANDARD): Add a second -lc after crtn.o. 1993-09-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * pwd.h: File deleted. * intervals.c (graft_intervals_into_buffer): New arg INHERIT. * editfns.c (Finsert_buffer_substring): Pass extra arg to graft_intervals_into_buffer. * insdel.c (insert_from_string): Likewise. New arg INHERIT. (insert_from_string_before_markers): New arg INHERIT. * search.c (Freplace_match): Call Finsert_and_inherit. * editfns.c (Finsert_and_inherit): New function. (Finsert_and_inherit_before_markers): New function. (Finsert, Finsert_before_markers): Pass new arg to insert_from_string*. * minibuf.c (Fminibuffer_complete_word): Pass new arg to insert_from_string*. * doc.c (Fsubstitute_command_keys): Pass new arg. * abbrev.c (Funexpand_abbrev, Fexpand_abbrev): Pass new arg. * s/aix3-2.h (AIX3_2): Defined. * m/ibmrs6000.h (LIBS_MACHINE): Include -lrts, -liconv only if AIX3_2. * xterm.h (HAVE_X11R4): If AIX, do not define HAVE_X11R4. 1993-09-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * sysdep.c (bzero, bcopy, bcmp): Don't define as functions if they are defined as macros. 1993-09-11 Roland McGrath (roland@baalperazim.gnu.ai.mit.edu) * lread.c, callproc.c, filelock.c: Include <paths.h>, not "paths.h". 1993-09-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/linux.h (LIBS_MACHINE): Make definition empty. 1993-09-10 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * Support configuring in a different directory when ${srcdir} has already been configured. * frame.c, xfns.c, xdisp.c, casetab.c, cm.c, casefiddle.c, xterm.c, xrdb.c, eval.c, doc.c, lread.c, callint.c, cmds.c, term.c, fns.c, data.c, alloc.c, unexconvex.c, fileio.c, indent.c, bytecode.c, sunfns.c, xmenu.c, buffer.c, textprop.c, marker.c, print.c, emacs.c, dispnew.c, syntax.c, undo.c, mocklisp.c, scroll.c, search.c, ralloc.c, unexaix.c, unexec.c, unexenix.c, unexmips.c, unexsunos4.c, vmsfns.c, vmsmap.c, dired.c, xselect.c, floatfns.c, filelock.c, sysdep.c, abbrev.c, minibuf.c, xfaces.c, callproc.c, insdel.c, intervals.c, process.c, vm-limit.c, window.c, vmsgmalloc.c, keymap.c, editfns.c, keyboard.c, macros.c, vmstime.c: Include <config.h> instead of "config.h". * ymakefile (ALL_CFLAGS): Put -I. before -I${srcdir}. * Makefile.in (xmakefile): Use -I. in cpp run. * Makefile.in (clean): Use rm -f. * s/netbsd.h: New file. * ymakefile (LIBES): Add $(GNULIB_VAR) again at end. 1993-09-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * sysdep.c (stuff_char): Use input_fd. (narrow_foreground_group, widen_foreground_group, init_sys_modes) (init_baud_rate, init_sigio, request_sigio, unrequest_sigio): Likewise. (change_input_fd): New function. * process.c (keyboard_descriptor): New variable. (wait_reading_process_input, init_keyboard): Use it. Also call change_input_fd. (change_keyboard_wait_descriptor): New function. * xterm.c (x_term_init): Call change_keyboard_wait_descriptor, instead of dup2. Use the existing X desc number in fcntl calls. * xterm.c (XTread_socket): Don't forget to clear out `mask'. 1993-09-08 Francesco Potorti` (pot@cnuce.cnr.it) * filelock.c (fill_in_lock_short_file_name): Fix the crc generation algorithm. 1993-08-19 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * textprop.c (F{next,previous}_single_property_change): Doc fix. 1993-09-15 Brian Fox (bfox@ai.mit.edu) * data.c: Add declaration for atof if not predefined. * xfns.c (XScreenNumberOfScreen): Move assignments out of declarations for (dpy, dpyscr). * sysdep.c (sys_write): Keep trying to write out the data until all of the data is written, or until we receive an error which is not an interrupted write. 1993-09-14 Brian Fox (bfox@ai.mit.edu) * keyboard.c (Qextended_command_history): New variable prevents sharing of M-x command history with other commands that read values in the minibuffer. * doprnt.c (doprnt): Use a fixed buffer to store the format specification, but only if we are sure it will fit. Otherwise, use alloca to get enough space. Don't allow negative size specifications to core dump; instead, treat them as positive ("%-20d" == "%20d"). * minibuf.c (read_minibuf): Don't add history item if it is string-equal to the most recent history item. 1993-07-09 Karl Berry (karl@cs.umb.edu) * dired.c (file_name_completion): Install case-preserving changes from Emacs 18 for completion_ignore_case. (completion_ignore_case): Declare. 1993-09-01 Brian Fox (bfox@ai.mit.edu) * window.c (Fdelete_windows_on): Fix DEFUN to allow optional second argument to appear. 1993-08-30 Brian Fox (bfox@ai.mit.edu) * ymakefile (alloc.o): Remove explicit compilation rule, since it is identical to the default rule, and `$<' doesn't work in explicit rules in all "make"s. 1993-08-27 Brian Fox (bfox@ai.mit.edu) * gmalloc.c (safe_bcopy): Compile if MEMMOVE_MISSING is defined, but only if we aren't compiling for emacs. * sysdep.c (read_input_waiting): If the user specifies `meta-flag', then notice characters with high-bit set. * Added fixes from Karl Berry for ISC-2.2. * s/isc2-2.h (MEMMOVE_MISSING): Define. (SIGNALS_VIA_CHARACTERS): Define. (LIB_STANDARD): Do not include -lcposix. (C_SWITCH_SYSTEM) [__GNUC__]: Do not use -traditional. 1993-08-17 Brian Fox (bfox@ai.mit.edu) * alloca.c: Invert sense of conditional for entire file (GNUC >= 2). Added `#else'. * xterm.c (x_wn_set_size_hint): Make recent window gravity addition depend on "PWinGravity" being `#defined'. 1993-08-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.19 released. * Makefile.in (mostlyclean): Don't delete emacs here. (clean): Delete emacs and emacs-* here. (distclean): Don't delete emacs-* here. * xselect.c (struct property_change): New field `arrived'. (expect_property_change): Return struct property_change *. Clear `arrived'. (unexpect_property_change): Take one as argument. (wait_for_property_change): Take one as argument. If `arrived' is set, don't wait. (wait_for_property_change_unwind): Corresponding changes. (receive_incremental_selection): Corresponding changes. (x_reply_selection_request): Corresponding changes. (property_deleted_p): Function deleted. * xselect.c (x_handle_selection_clear): Redisplay. * search.c (compile_pattern): Cast result of re_compile_pattern. * emacs.c (init_cmdargs): Check openp result for 1, not != 0. * xterm.c (x_wm_set_size_hint): New args spec_x and spec_y. Set the window gravity. All callers changed. * xfns.c (Fx_create_frame): Pass the new args to x_wm_set_size_hint. * xmenu.c (Fx_popup_menu): Adjust coords so they are relative to the inner window. * syswait.h: New file. * sysdep.c, process.c: Include it. * ymakefile (sysdep.o, process.o): Depend on syswait.h. * process.c (wait_reading_process_input): Exit without waiting if wait_for_cell is already non-nil. * sysdep.c (mkdir, rmdir): Use wait_for_termination to wait. Redirect descriptors 0...2 to /dev/null. * emacs.c (__CTOR_LIST__): Don't declare it on Linux. * filelock.c (getpwuid): Declare it as in xrdb.c. (init_filelock): Don't use return value of strcpy. * fns.c (internal_equal): Typo in previous change. * xfns.c (x_set_frame_parameters): Don't die if just one of height and width was set. Likewise left and top. * textprop.c (property_change_between_p): Test NULL_INTERVAL_P in loop, before looking at next->position. * intervals.c (adjust_intervals_for_insertion): If inserting in middle of interval that is sticky in neither direction, don't copy props. (merge_properties_sticky): Handle non-list as front-sticky or rear-nonsticky property. 1993-08-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fns.c (internal_equal): All markers in no buffer are equal. 1993-08-13 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * config.h.in: Added #undef HAVE_XSCREENNUMBEROFSCREEN. 1993-08-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (XScreenNumberOfScreen): New function. * m/tek4300.h (C_DEBUG_SWITCH, SYSTEM_MALLOC): Defined. * m/iris4d.h (START_FILES, LIB_STANDARD): Don't define if USG5_4. (DEFAULT_ENTRY_ADDRESS): Likewise. (UNEXEC): Use unexelfsgi.o if USG5_4. * s/irix5-0.h (C_SWITCH_MACHINE): Deleted. 1993-08-13 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) * m/dpx2.h: Delete conditionals for HAVE_X_WINDOWS and HAVE_SOCKETS. 1993-08-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * m/iris4d.h (C_ALLOCA): Don't define it. * keyboard.c (kbd_buffer_store_event): Use bcopy to copy a selection request event. * unexnext.c (get_data_region): Add cast to avoid warning. 1993-08-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * ymakefile (prefix-args, filemode.o, lastfile.o): Dep on $(config_h). * floatfns.c (Flogb): Error at run time if not supported. * ymakefile (emacs.o): Depend on process.h and syssignal.h. * emacs.c: Include process.h. (init_cmdargs): Use EXEC_SUFFIXES. * s/irix5-0.h: Include alloca.h if appropriate. Fix the #include file name. (ULIMIT_BREAK_VALUE, GETPGRP_NO_ARG, NO_MATHERR): New macros. (LIB_STANDARD): #undef it. * frame.c (Fdelete_frame): Add parens for clarity. * keyboard.c (read_char): Never start echoing if -batch. * minibuf.c (Qread_file_name_internal): New var. (syms_of_minibuf): Set it up and protect it. (Fminibuffer_complete_word): When completing a file name, expand envvar references. * xterm.c (XTread_socket): Make copy_buffer unsigned. * s/usg5-4-2.h (HAVE_GETHOSTNAME): #if 0'd. 1993-08-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/hpux8.h (LD_SWITCH_SYSTEM): Delete the -L options. * termhooks.h (enum event_kind): Delete final comma. (meta_modifier): Delete final comma. * window.c (enum window_loop): Delete final comma. * xfns.c (enum resource_types): Delete final comma. * m/ibmrs6000.h (BIG_ENDIAN): Don't actually define it. * window.c (Frecenter): Preserve point in the buffer we change it in. * cmds.c (Fnewline): If we don't do the first SET_PT, clear flag, so we don't do the second SET_PT. * keyboard.c (make_lispy_event): Clear all but 0377 in event->code. * xselect.c (receive_incremental_selection): Use bcopy, not memcpy. * m/tek4300.h (BIG_ENDIAN): Provide a value that matches the system. * config.h.in: Add #undef HAVE_FTIME. * ymakefile (ALL_CFLAGS): Use C_SWITCH_X_SITE before C_SWITCH_X_SYSTEM and C_SWITCH_X_MACHINE. * s/hpux8.h (C_SWITCH_X_SYSTEM): Define instead of C_SWITCH_SYSTEM. 1993-08-11 Shane Hartman (shane@nugget.spr.com) * buffer.c (verify_overlay_modification): Initialize endpos. * keymap.c (describe_buffer_bindings): Declare shadow just once. 1993-08-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (x_calc_absolute_position): For negative coords, take account of added width from window manager's outer window. * term.c (term_get_fkeys_define_1, term_get_fkeys_define): New functions. (term_get_fkeys): Use them. * m/tekxd88.h: Renamed from tekXD88.h. (LIB_X11_LIB, LIBX11_SYSTEM): Make #undefs unconditional. * systty.h: Handle NO_TERMIO in principal HAVE_TERMIOS case. * xrdb.c (x_get_customization_string): Don't use value of strcpy. * floatfns.c (Fexpt): Use IN_FLOAT2. 1993-08-10 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) * m/dpx2.h (HAVE_TCATTR): Macro #defined. (HAVE_CLOSEDIR): #undef to allow use of closedir in sysdep.c. (SIGTSTP): Commented #undef to allow use of ^Z in shell-mode. (SIGNALS_VIA_CHARACTERS): #defined. 1993-08-09 Paul Eggert (eggert@twinsun.com) * data.c (Fmod): New function; result is always same sign as divisor. (syms_of_data): Add Smod. * emacs.c (main): Invoke syms_of_floatfns even if LISP_FLOAT_TYPE isn't defined, since `(floor A B)' is now needed for integers. * floatfns.c (syms_of_floatfns): Likewise. (Ffloor): Optional second operand specifies divisor, as in Common Lisp. 1993-08-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * unexelf.c (unexec): Add casts for some comparisons. (PATCH_INDEX): Likewise. 1993-08-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.18 released. * term.c (term_init): Improve error messages (give sh commands). * xterm.c (struct font_info): New structure. (x_font_table): Use struct font_info as elements. (x_new_font): Corresponding changes. Use XListFonts, not XListFontsWithInfo. Use XFreeFontNames, not XFreeFontInfo. Compare fonts by name, not by fid. If already_loaded is 0, that counts as "yes". * minibuf.c (Qminibuffer_setup_hook, Vminibuffer_setup_hook): New vars. (syms_of_minibuf): Set them up. (read_minibuffer): Run the hook, if not empty. * dispnew.c (direct_output_forward_char): Fix previous change: verify position is in range before calling Fget_text_property, and calculate position properly. * s/bsd4-2.h, s/bsd4-3.h, s/umax.h, s/rtu.h, s/dgux.h (HAVE_VFORK): Defined. * ymakefile (alloc.o): Don't use DEBUG_MOLE. (DEBUG_MOLE): Deleted. * gnu-hp300: File deleted. * .gdbinit: Don't put -q in args. Don't unset TERM and TERMCAP--show them instead. * alloc.c (mark_object): Declare ptr volatile, or don't use it after a recursive call. Delete the aborts if ptr is clobbered. * fileio.c (expand_and_dir_to_file): Use Fdirectory_file_name. 1993-08-08 Jim Blandy (jimb@geech.gnu.ai.mit.edu) * config.h.in (HAVE_LOGB, HAVE_FREXP): Add #undefs for the configuration script to edit. * floatfns.c (Flogb): Use HAVE_LOGB and HAVE_FREXP, instead of assuming that all USG systems have FREXP. 1993-08-07 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (Vinvocation_directory): New var. (init_cmdargs): Set up its value. (Finvocation_directory): New function. (main): Call init_buffer, init_callproc and init_cmdargs before init_lread. (syms_of_emacs): Install the function, and protect the variable. * lisp.h (Vinvocation_directory): Declared. * lread.c (init_lread): Normally put Vinvocation_directory at end of Vload_path, if not present already. 1993-08-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (set_poll_suppress_count): New function. * eval.c (unwind_to_catch): Call set_poll_suppress_count. * xterm.c (x_term_init): Set the hooks before we call Fset_input_mode. * keyboard.c (Fset_input_mode): Start polling, if appropriate. At the beginning, stop polling. Remove period from error message. (stop_polling, start_polling): Check for interrupt_input. (POLL_FOR_INPUT): Define whether or not target supports SIGIO. * m/ibm370aix.h (HAVE_VFORK, INTEL386, aix386): Add #undef. 1993-08-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) * eval.c (do_autoload): Don't report autoload failure if the autoload definition now is a different one. * m/ibm370aix.h: Total rewrite; includes ibmps2-aix.h. * m/ibmps2-aix.h (SYSTEM_TYPE): Don't redefine it here. * syntax.c: Doc fix. 1993-08-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fns.c (Fyes_or_no_p): Use Qyes_or_no_p_history. (syms_of_fns): Set up Qyes_or_no_p_history. * fileio.c (expand_and_dir_to_file): Remove final / by copying abspath. * data.c (Frem): Don't accept floats, just ints and markers. * m/vax.h [BSD4_2] (HAVE_FTIME): Defined. 1993-08-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * m/7300.h (CRT0_COMPILE): Add -O and -Demacs. * ymakefile (CRT0_COMPILE): Add missing #endif. 1993-08-03 Jim Blandy (jimb@geech.gnu.ai.mit.edu) Changes for 3b1 suggested by Andy Fyfe <andy@scp.caltech.edu> * 7300.h [__GNUC__]: #define HAVE_ALLOCA. [not __GNUC__]: #define SWITCH_ENUM_BUG, C_ALLOCA, and STACK_DIRECTION. (HAVE_SYSVIPC, USE_UTIME): #define these. (memmove): We don't have this; call safe_bcopy. (CRT0_COMPILE): #define this, so we always use the system's cc. * config.h.in: Add #undefs for HAVE_MKDIR and HAVE_RMDIR, for configure to edit. * sysdep.c [not HAVE_MKDIR] (mkdir): New function, taken from tar, for use on systems lacking the mkdir function. [not HAVE_RMDIR] (rmdir): New function, taken from tar, for use on systems lacking the rmdir function. * ymakefile (crt0.o): Replace the compiler and switches with the symbol CRT0_COMPILE. (CRT0_COMPILE): If the system and machine description files have left this undefined, then define it to do the same as the old crt0.o rule used to. 1993-08-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * sysdep.c (vfork): Move this outside the USG conditional. 1993-08-02 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * frame.c (Fprevious_frame): New function, for parity with Fnext_frame. (syms_of_frame): Add defsubr for Sprevious_frame. 1993-08-02 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xdisp.c (display_menu_bar): Redisplay all lines occupied by the menu bar, not just the first. 1993-08-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_key_sequence): Use XFASTINT to convert value of Flength to an int. * buffer.c (Fmove_overlay): Avoid initializer for Lisp_Object vars. (verify_overlay_modification): Declare ostart, oend as Lisp_Object. * frame.c (Fset_frame_position): Doc fix. 1993-08-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * From daveg@synaptics.com: * keyboard.c (last_mouse_button): Renamed from button_up_button. (last_mouse_x, last_mouse_y): Likewise. (button_down_time): Replaces button_up_time. (make_lispy_event): Set button_down_time. Detect and report double-down and double-drag events. (apply_modifiers_uncached): Put `double' or `triple' first. (read_key_sequence): Convert unbound double-drag/down to drag/down. * fileio.c (Finsert_file_contents): Don't call prepare_to_modify_buffer if inserting zero characters. * syntax.c: Doc fix. 1993-07-31 Gregor Schmid (schmid@fb3-s7.math.tu-berlin.de) Handle `sticky' text properties. * intervals.c (adjust_intervals_for_insertion): Handle insertion between two unlike intervals via merge_properties_sticky. (merge_properties_sticky): New function. (graft_intervals_into_buffer): Leave handling of `sticky'-ness to adjust_intervals_for_insertion, then merge properties of the inserted text onto the old ones. (textget_direct): New function. (set_point): Fix calculating of fromprev. (verify_interval_modification): Check for `read-only' property and take its `sticky'-ness into account. * intervals.h (MERGE_INSERTIONS): Define as 1. (FRONT_STICKY): Add real definition. (END_NONSTICKY): New macro. (END_STICKY): Deleted. (textget_direct, Qfront_sticky, Qrear_nonsticky): Declared. * textprop.c (Qfront_sticky, Qrear_nonsticky): New variables. (syms_of_textprop): Set them up. Change display code to handle the `invisible' text property. * dispnew.c (direct_output_for_insert): Fail if character just inserted has text properties. (direct_ouput_forward_char): Fail if moving near invisible chars. * indent.c (compute_motion): Compute correctly for invisible text. (vmotion): Take care of invisible newlines. * intervals.c (set_point): Ignore `invisible' property unless property value is `hidden'. * intervals.h (Qhidden): Declared. * textprop.c (Qhidden): New variable. (syms_of_textprop): Set up Qhidden. * xdisp.c (try_window): Handle invisible newline at end of buffer. (display_text_line): Don't display invisible text. 1993-07-31 Richard Stallman (rms@mole.gnu.ai.mit.edu) * indent.c (Fmove_to_column): After we split a tab, make sure to set last_known... consistently. * editfns.c (save_excursion_restore): Never make the buffer visible. * s/isc3-0.h: Don't mention dir `s/' in #include. 1993-07-30 Jim Blandy (jimb@geech.gnu.ai.mit.edu) * config.h.in (HAVE_AIX_SMT_EXP): New #undef for configure to edit. * m/ibmrs6000.h (LD_SWITCH_MACHINE): Don't mention /usr/lpp/X11/bin/smt.exp unless HAVE_AIX_SMT_EXP is #defined. * config.h.in (HAVE_BCOPY): Add an #undef for this. (BSTRING): #define this iff HAVE_BCOPY is #defined here. Ignore what the system-description files say. They don't always make fine enough distinctions between systems, and sometimes the bcopy routines are available only with X windows. * config.h.in (HAVE_XSCREENRESOURCESTRING): New #undef for configure to edit. * xrdb.c (get_user_db): Test it to decide whether or not to try to retrieve the screen-dependent resources. * xfns.c (Fx_open_connection): Test the CPP symbol HAVE_XRMSETDATABASE to decide whether or not to call XrmSetDatabase. * xfns.c (x_set_background_color): Change the foreground color of the cursor, too. 1993-07-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * editfns.c (syms_of_editfns): Just staticpro Vuser...name and Vsystem_name; don't make them Lisp variables. * xselect.c (prop_location_identifier): Was named prop_location_tick. (property_change_reply_identifier): Renamed from ...-tick. (struct prop_location): Field `identifier' renamed from `tick'. Various functions changed accordingly. (x_handle_selection_request): Delete local struct var `reply'. * xselect.c (wait_for_property_change_unwind): New function. (wait_for_property_change): Add unwind protect. 1993-07-29 Jim Blandy (jimb@geech.gnu.ai.mit.edu) * xfns.c (syms_of_xfns): Don't staticpro Vx_resource_name; DEFVAR_LISP takes care of that, and it's deadly to staticpro a variable containing a string twice. * window.c (check_frame_size): Include the menu bar height in the minimum frame height. * ymakefile (DEBUG_MOLE): Don't put parens around the command we run to detect the GNU hp300 machines. If the make is still somehow using csh, it complains about the parens. 1993-07-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * frame.c (Fdelete_frame): New arg FORCE allows deletion of last non-invisible frame. * s/usg5-4.h (bzero, bcmp, bcopy): New macros. (LIB_STANDARD): Don't include libucb.a. 1993-07-28 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * xfns.c (syms_of_xfns): Use DEFVAR_LISP, not DEFVAR_INT, for Vx_pointer_shape. 1993-07-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) * cmds.c (Fnewline): Disable the "insert one position before" optimization if it would screw up text property behavior. * textprop.c (property_change_between_p): New function. 1993-07-27 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (command_loop_1): Call Qrecompute_lucid_menubar only if defined. * emacs.c (decode_env_path): Strip trailing slashes if there are any. * unexec.c (make_hdr): Use & in call to bzero. * xfns.c (Fx_rebind_key, Fx_rebind_keys): Functions deleted. * syntax.c (scan_sexps_forward): Delete extra Fcdr when analyzing OLDSTATE. * xterm.c (x_iconify_frame): Handle case where frame was invisible. * s/hpux8.h (OLDXMENU_OPTIONS): Definition deleted. * ymakefile (really-oldXMenu): Pass down C_SWITCH_X_SYSTEM. * m/delta88k.h [USG5_4] (LIBX11_SYSTEM): Don't redefine in this case. * search.c (search_buffer): If n is 0, just return POS. 1993-07-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/usg5-4.h (BROKEN_TIOCGETC, BROKEN_TIOCGWINSZ): Add #undefs. * window.c (Fset_window_buffer): Clear window_end_{pos,valid}. * dispnew.c (Fsleep_for): If arg is 0, return right away. 1993-07-26 Francesco Potorti` (pot@spiff.gnu.ai.mit.edu) * m/delta.h (SWITCH_ENUM_BUG): Defined only for AT&T's pcc. (BSTRING): Deleted because they are stubs to the memory funcs. (memmove): Defined as safe_bcopy since memcpy is not safe. (HAVE_X_WINDOWS): Does not conditionally define anything any more. Added support fo the GNU C compiler bundled with R3V7. 1993-07-26 Richard Stallman (rms@mole.gnu.ai.mit.edu) * puresize.h [MULTI_FRAME] (PURESIZE): Increased to 210000. 1993-07-25 Sam Dooley (dooley@watson.ibm.com) * keyboard.c (kbd_buffer_store_event): Apply all the modifiers bits before testing for quit_char and stop_character. Don't alter event->code, though. 1993-07-25 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xselect.c (wait_for_property_change): Eventually time out with error. (x_reply_selection_request): XFlushQueue and UNBLOCK_INPUT before calling wait_for_property_change. (x_get_window_property): Simplify input blocking/unblocking. Don't delete the property here. (receive_incremental_selection): Delete property here. Call XSelectInput to enable and disable PropertyChangeMask. (x_get_window_property_as_lisp_data): And here. * process.c (wait_reading_process_input): Undo last two changes: when wait_for_cell, do not check the keyboard. * filelock.c: Fix typo in previous change. * xselect.c (lisp_data_to_selection_data): New arg NOFREE_RET. For a string, just return its data's address. (x_handle_selection_request): Pass new arg. If value comes back 1, don't call xfree. * xfns.c (MAXREQUEST): Defined. (Fx_server_max_request_size): New function. (syms_of_xfns): Set it up. * window.c (Fwindow_end): Don't assume WINDOW shows the current buffer. * s/386bsd.h (LOCALTIME_CACHE): Defined. (HAVE_SETSID): Defined. (LIB_STANDARD): Override, adding $(GNULIB_VAR). * emacs.c (main): Test LOCALTIME_CACHE. * filelock.c (getpwuid): Declare at top level, and not if __386bsd__. * keyboard.c (interrupt_signal): Tell Fdo_auto_save not to print msg. Print "Auto-save done" here. * fileio.c (Fdo_auto_save): Temporarily clear Vquit_flag. * xfns.c (Fx_create_frame): Typo in previous change. 1993-07-24 Richard Stallman (rms@mole.gnu.ai.mit.edu) * .gdbinit (xscrollbar): Fix typo specifying doc string. * process.c (Fprocess_status): Use Fget_process, to avoid error if unknown process name. * xfaces.c (face_name_id_number): Use assq_no_quit, not Fassq. 1993-07-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (command_loop_1): Run post-command-hook first thing. * xterm.c (redraw_previous_char): New function. * xfns.c (Fx_create_frame): Don't look for default font if the caller has specified a valid font. Try several alternative font patterns. 1993-07-23 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * mem-limits.h: [_LIBC]: Define BSD4_2. 1993-07-23 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sco4.h (HAVE_SOCKETS): Define, if HAVE_INET_SOCKETS. * sunfns.c: Fix comment syntax. Put back the comment saying that we don't maintain this file. * xterm.c (XTread_socket) [! HAVE_X11R5]: Check for XK_Mode_switch and XK_Num_Lock, if defined. * m/hp9000s300.h (TEXT_START) [__GNUC__]: Define as 0. * intervals.h (Vinhibit_point_motion_hooks): Declared. * textprop.c (syms_of_textprop): Set up Lisp var. * intervals.c (set_point): Test it. 1993-07-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/irix5-0.h (PTY_OPEN): Use sigaction, not sigsetmask. * s/386bsd.h (DECLARE_GETPWUID_WITH_UID_T): Declared. * xrdb.c (getpwuid): Test DECLARE_GETPWUID_WITH_UID_T. * process.c (Fget_buffer_process): Delete doc string from second alternative definition. 1993-07-22 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * ralloc.c (ALIGNED, ROUNDUP): Use `unsigned long int' instead of `unsigned int' for casting addresses and sizes. It matters on the 64-bit Alpha. * mem-limits.h [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess. 1993-07-22 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (Fread_key_sequence): Doc fix. (read_key_sequence): Handle Vkey_translation_map. (kbd_buffer_get_event): Discard an event whose kind is no_event. * buffer.c (syms_of_buffer): Lisp var doc fixes. * m/att3b.h (NO_MODE_T): Defined. * intervals.c (graft_intervals_into_buffer): When TREE is null, pass buffer as 2nd arg to reproduce_tree. 1993-07-21 Paul Eggert (eggert@twinsun.com) * print.c (float_to_string): Don't use uninitialized pointer `cp'. Set width to -1 at lose: and other places. Default to .17g, not .20g. 1993-07-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (Qmodification_hooks, Qinsert_in_front_hooks) (Qinsert_behind_hooks): Moved here. (syms_of_buffer): Lisp vars set up here. * textprop.c: No longer here. * alloc.c (compact_strings): Add USE_TEXT_PROPERTIES conditional. * intervals.h (Ftext_property_not_all): Fix typo in decl. * s/sunos4-1.h (SUNOS_LOCALTIME_BUG): Defined. * frame.c (Fdelete_frame): Allow deletion if there is some other visible (perhaps iconified) frame. Also allow deleting terminal frame if there are X frames. * s/sunos4shr.h (memmove): Defined. * m/att3b.h (memmove): Defined as macro. 1993-07-20 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in (xmakefile): Use CFLAGS after C_SWITCH_SYSTEM. * xfns.c (validate_x_resource_name): Call make_string properly. * m/next.h (X_NOT_POSIX): Defined. * s/sol2.h (BROKEN_TIOCGETC, BROKEN_TIOCGWINSZ): Add #undefs. * s/isc3-0.h (memmove): Delete extra parens in the safe_bcopy call. * m/ibmrs6000.h (LD_SWITCH_MACHINE): Add -bI:/usr/lpp/X11/bin/smt.exp. 1993-07-19 Richard Stallman (rms@mole.gnu.ai.mit.edu) * eval.c (Fwhile): If mocklisp, test for nonzeroness. * s/sunos4shr.h (SYSTEM_MALLOC): Add #undef. (GNU_MALLOC, REL_ALLOC): Defined. 1993-07-19 David J. MacKenzie (djm@goldman.gnu.ai.mit.edu) * ymakefile: config.h is in current directory, not ${srcdir}. 1993-07-18 Jim Blandy (jimb@totoro.cs.oberlin.edu) * Version 19.17 released. * xfns.c (Fx_create_frame): Block input around call to x_new_font. Test if the return value is a string, not if it's nil; x_new_font can return things besides nil and strings, to indicate error conditions. * window.c [not MULTI_FRAME] (Fdelete_windows_on): Set FRAME argument to Qt, instead of trying to typecheck it. * ymakefile (config_h): Set this to ${srcdir}/config.h; all the source dependencies mention $(config_h), but until now it never had a value. * xfns.c (Fx_open_connection): Don't trust HAVE_XRMSETDATABASE; use XrmSetDatabase only when HAVE_X11R5 is defined. * dispnew.c (direct_output_for_insert): By the time this function is called, we have already inserted the character into the buffer; the proper buffer position to pass to compute_char_face is point - 1, not point. 1993-07-17 Jim Blandy (jimb@totoro.cs.oberlin.edu) * Makefile.in (C_SWITCH_SYSTEM): New variable, set by top-level Makefile. (xmakefile): Pass it to the C preprocessor. * window.c (Fdelete_windows_on): New optional argument FRAME; if nil, delete windows on all frames. If t, delete windows on the selected frame only. If a frame, delete windows on that frame only. * intervals.c (split_interval_left, split_interval_right): Change OFFSET argument of these functions to be origin 0, not origin 1. This is what all the callers currently want. * intervals.c, textprop.c: All callers changed. * textprop.c (Ftext_property_not_all): Renamed from Ftext_property_all, and changed sense of return value, so that it returns useful information if not all characters have properties EQ to value. Now all the existential and universal questions can be asked. * textprop.c (syms_of_textprop): Don't forget defsubr for Stext_property_all. * textprop.c (Ftext_property_any, Ftext_property_all): Use EQ to compare property values, not Fequal. * xterm.c (x_term_init): Adjust message printed when we can't connect to the X server. * xfns.c (Vx_resource_name): Renamed from Vxrdb_name, and made a lisp-visible variable, so lisp/term/x-win.el can set it. Doc it for "internal use only"; no need for NEWS entry. (validate_x_resource_name): New function. (Fx_get_resource): Doc fix. References to Vxrdb_name renamed. Call validate_x_resource_name. (x_window): References to Vxrdb_name renamed. Call validate_x_resource_name. (Fx_open_connection): References to Vxrdb_name renamed. Instead of setting and validating its value here, just call validate_x_resource_name. (syms_of_xfns): Add DEFVAR_LISP for Vx_resource_name. 1993-07-16 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (Vhelp_menu_bar_map): Deleted. (menu_bar_items): Move elts for events in Vmenu_bar_final_items to end. (syms_of_keyboard): Corresponding changes. 1993-07-15 Jim Blandy (jimb@totoro.cs.oberlin.edu) Consistently use the mark bit of the root interval's parent field to say whether or not the interval tree has been visited (and skip it when revisited), and the mark bit of the plist field to say whether or not that interval has been visited (and abort if revisited); don't try to use the plist mark bit for both meanings. * alloc.c (mark_interval_tree): Don't test if the interval tree has already been visited here; let the MARK_INTERVAL_TREE macro do that; avoid function call overhead. Mark the interval tree as having been visited by setting TREE->parent's mark bit. (MARK_INTERVAL_TREE): If the tree has been visited (according to I->parent's mark bit), don't call mark_interval_tree. (gc_sweep): Rebalance the interval trees of those large strings which are still alive. This also clears the mark bits of those trees' root intervals' parent fields. (compact_strings): Rebalance the interval tree of each small strings which is still alive. This also clears the mark bits of that tree's root interval's parent field. Since the string has moved, update the root interval's parent pointer to contain the new address. * lisp.h (struct interval): Doc fix; explain the roles of the mark bits of the parent and plist members. * termhooks.h: In order to avoid declaring struct input_event (which contains Lisp_Objects) in those .c files which need access to the terminal hooks but don't #include lisp.h (like cm.c), test to see if the macro CONSP is #defined. We used to test XINT, but config.h will #define that everywhere on systems that use tailored tagging schemes. * window.c (Fnext_window, Fprevious_window): Put these docstrings in comments; the strings are too long for some C compilers. * s/hpux9.h: Doc fix. 1993-07-15 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * ymakefile (DEBUG_MOLE): New variable; a shell expression which expands to -DDEBUG_MOLE on HP 9000/300's in the domain gnu.ai.mit.edu, and the empty string on all other machines. (alloc.o): Cite ${DEBUG_MOLE}, so DEBUG_MOLE is #defined when compiling on mole. 1993-07-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_char_menu_prompt): If the user rejects a menu, return t. This makes read_char also return t. (read_key_sequence): If read_char returned t, return -1. (Fread_key_sequence): If read_key_sequence returned -1, quit. (command_loop_1): If read_key_sequence returned -1, loop around. 1993-07-15 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * keyboard.c (menu_bar_one_keymap): If the key's binding is the symbol `undefined', don't try to take that symbol's cdr before passing it to menu_bar_item; pass the `undefined' binding itself, so menu_bar_item can remove bindings for the same key from result. 1993-07-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * buffer.c (Fbuffer_local_variables): For local var that is unbound, put just the symbol in the result, not a cons of (symbol . value). * keyboard.c (Qdisabled_command_hook): New variable. (Vdisabled_command_hook): Deleted. (syms_of_keyboard): Corresponding changes. (Fcommand_execute): Use Qdisabled_command_hook. * alloc.c (mark_object) [DEBUG_MOLE]: Add abort at beginning. * keyboard.c (Vhelp_menu_bar_map): New var. (syms_of_keyboard): Set up Lisp var for it. (menu_bar_items): Use Vhelp_menu_bar_map. 1993-07-14 Jim Blandy (jimb@totoro.cs.oberlin.edu) * textprop.c (Ftext_property_any, Ftext_property_all): New functions, from David Gillespie. * intervals.h (Ftext_property_any, Ftext_property_all): Declare them. * keyboard.c (read_key_sequence): Accept both strings and vectors as bindings in function-key-map. * keymap.c (Vfunction_key_map in syms_of_keymap): Doc fix. * keyboard.c (Fsuspend_emacs): Pass selected_frame as the first argument to change_frame_size, not 0. This function may be called in an Emacs compiled with multi-frame support. 1993-07-13 Jim Blandy (jimb@totoro.cs.oberlin.edu) * xterm.c (XTread_socket, UnmapNotify case): Add missing comment terminator. * intervals.c (graft_intervals_into_buffer): Properly compute length of buffer. 1993-07-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * minibuf.c (Fdisplay_completion_list): Run completion-setup-hook. 1993-07-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * textprop.c (Qinsert_in_front_hooks, Qinsert_behind_hooks): New vars. (syms_of_textprop): Set them up. * lisp.h (Qinsert_in_front_hooks, Qinsert_behind_hooks): Declared. (Qmodification_hooks): Declared. * intervals.c (verify_interval_modification): For insertion, run the insert-in-front-hooks and insert-behind-hooks, not the modification-hooks. * buffer.c (verify_overlay_modification): New function. (call_overlay_mod_hooks): New function. * insdel.c (prepare_to_modify_buffer): Call that. * keyboard.c (Qundefined): New variable. (syms_of_keyboard): Set up Qundefined. (menu_bar_items): Don't reverse the items. Process the maps in reverse order. (menu_bar_item): If definition is `undefined', delete any menu bar item already made, and don't make one. 1993-07-12 Jim Blandy (jimb@totoro.cs.oberlin.edu) * print.c (float_to_string): Distinguish between a precision of zero and an omitted precision. Do allow %.0f to produce strings containing no decimal point or exponent. (syms_of_print): Doc fix for float-output-format. * xfns.c (x_set_frame_parameters): Don't set the frame's size and position unless those parameters are actually specified in ALIST. * syntax.c (Fmodify_syntax_entry): Doc fix. 1993-07-12 Frederic Pierresteguy (F.Pierresteguy@frcl.bull.fr) * xterm.c, sysdep.c (F_SETOWN_BUG): Defined. * m/dpx2.h: New file. 1993-07-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * textprop.c (set_properties): Call modify_region. (remove_properties): Call modify_region before record_property_change. (add_properties): Likewise. 1993-07-10 Jim Blandy (jimb@totoro.cs.oberlin.edu) * xrdb.c: Implement search for app-defaults directory and localized default databases, along with some other functionality provided by Xt. #include <stdio.h>, since we call sprintf. [emacs] (malloc, realloc, free): #define these to xmalloc, xrealloc, and xfree. (x_get_string_resource, file_p): Add forward declarations for these. (x_customization_string): New variable. (x_get_customization_string): New function. (gethomedir): Return malloc'ed space of the right size, instead of writing into a fixed-size buffer; this means that our callers do not impose an arbitrary limit on file name length. (magic_file_p): Rewrite of decode_magic; actually do the substitutions, instead of expanding all %-escapes to "". Support the customization string. Return 0 or the expanded file name, instead of just zero or one. Allocate the space for the expanded file name ourselves, instead of writing into a fixed-size buffer passed to us; this removes an arbitrary limit. (search_magic_path): Rewrite of magic_searchpath_decoder. Return 0 or the expanded file name, instead of just zero or one. Allocate the space for the expanded file name ourselves, instead of writing into a fixed-size buffer passed to us; this means that our callers do not impose an arbitrary limit on file name length. (get_system_app): Changed to work with search_magic_path. (get_user_app): Rewritten to work with search_magic_path, and not to assume that the values of XAPPLRESDIR is a single directory. (get_user_db): Properly use the new version of gethomedir. (get_environ_db): Remove arbitrary limit on length of host name. (x_load_resources): Take a new argument, myname. Call get_user_db early to obtain the customization string. Changes to stand-alone testing code. * xfns.c (Fx_open_connection): Set Vxrdb_name early, and pass it to x_load_resources. * keymap.c (syms_of_keymap): Doc fix. 1993-07-09 Richard Stallman (rms@mole.gnu.ai.mit.edu) * process.c (wait_reading_process_input): If wait_for_cell, do call swallow_events and do_pending_window_change when appropriate. 1993-07-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * editfns.c (region_limit): Declare Vmark_even_if_inactive. * callint.c (syms_of_callint): Fix DEFVAR_LISP for Vmark_even_if_inactive to use right Lisp symbol name (without V prepended). 1993-07-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * callint.c (check_mark): Don't check mark-active unless in transient-mark-mode. For inactive mark, signal mark-inactive instead of error with a message. * editfns.c (region_limit): Don't error if Vmark_even_if_inactive is set. When the mark is inactive and that is a no-no, signal mark-inactive instead of using error with a message. * data.c (syms_of_data): Staticpro Qmark_inactive. * data.c: Define Qmark_inactive. (syms_of_data): Initialize it. * lisp.h: Declare Qmark_inactive. 1993-07-07 Jim Blandy (jimb@geech.gnu.ai.mit.edu) * editfns.c (Fformat): Since floats occupy two elements in the argument list passed to doprnt, we must use separate indices for the array of arguments passed to Fformat, and the array of arguments to be passed to doprnt. * .gdbinit: Add size to geometry spec. Specify sevenbit-strings in set print. (xfloat): New command. 1993-07-06 Jim Blandy (jimb@geech.gnu.ai.mit.edu) * Version 19.16 released. * ymakefile [not ORDINARY_LINK && __GNUC__ && __GNUC__ > 1 && not LIB_GCC] (LIB_GCC): Use "$(CC)" instead of "gcc". 1993-07-06 Jim Blandy (jimb@geech.gnu.ai.mit.edu) * textprop.c (copy_text_properties): Pass a copy of POS to validate_interval_range; that function increments its arguments, which isn't what we want. * fns.c (Fsubstring, concat): Pass all six arguments to copy_text_properties. * intervals.c (find_interval): Doc fixes, computation of tree->position rearranged for clarity. * intervals.c (find_interval): Consistently treat POSITION as an actual buffer position, i.e. origin 1. The old code seemed undecided on this point. Treat the end of the buffer as being part of the rightmost interval. (adjust_intervals_for_insertion): Consistently treat POSITION as origin 1. (interval_deletion_adjustment): The exception: FROM should be origin zero here. Consistently treat it as such. Simplify code which shrinks and possibly deletes intervals. (adjust_intervals_for_deletion): Treat start as origin 1; our caller does. (set_point): Use buffer positions throughout, not a mix of buffer posns and origin zero posns. (get_local_map): Remove special case for POSITION at end of buffer; find_interval handles that case correctly. (verify_interval_modification): Remove special case for START at end of buffer. * textprop.c (validate_interval_range): End-of-buffer/string positions no longer need special handling. * intervals.c (make_new_interval): #if 0 this out. Nobody calls it. * textprop.c (copy_text_properties): New function, from David Gillespie. * intervals.h: Declare copy_text_properties. * fns.c: #include "intervals.h". (Fsubstring): Copy text properties to result string. (concat): Copy text properties to result string. * ymakefile (fns.o): Note that this depends on INTERVAL_SRC. * print.c: Get rid of extra space at the end of print syntax for strings with intervals. [USE_TEXT_PROPERTIES] (print): Don't print a space before the interval property lists. [USE_TEXT_PROPERTIES] (print_interval): Print a space before this internal's properties, not after. * m/pmax.h (C_SWITCH_X_MACHINE): Set this to "-DNeedFunctionPrototypes=0", to avoid lossage in DEC X11 header files. * ymakefile (really-oldXMenu): Pass C_SWITCH_X_MACHINE to the oldXMenu make. * doc.c (Fsubstitute_command_keys): Pass all five arguments to describe_map_tree. 1993-07-05 Jim Blandy (jimb@geech.gnu.ai.mit.edu) Compare the values of text properties using EQ, not Fequal. * intervals.c (intervals_equal): Call EQ, not Fequal. * textprop.c (interval_has_all_properties, add_properties): Same. * textprop.c (validate_interval_range): Don't increment both *begin and *end if they point to the same thing. (validate_plist): Call QUIT while scanning LIST. * intervals.c (intervals_equal): Test the return value of Fequal against Qnil, not 0. * keyboard.c (Vdouble_click_time): Renamed from double_click_time, and made a Lisp_Object instead of an int. (make_lispy_event): If Vdouble_click_time is t, impose no time limit on double-clicks. (syms_of_keyboard): DEFVAR_LISP (not DEFVAR_INT) Vdouble_click_time (not double_click_time), and adjust doc string to say that `nil' means no double clicks, and `t' means no time limit. 1993-07-04 Jim Blandy (jimb@churchy.gnu.ai.mit.edu) * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): New accessors. * s/sunos4-1.h (LIBS_SYSTEM): Don't link against -lresolv; that's only needed for misconfigured systems. 1993-07-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (describe_map_tree): When inserting TITLE, mention PREFIX. Insert newline at end, if inserted anything else. (describe_buffer_bindings): Corresponding changes. For minor mode maps, build up a title string, then let describe_map_tree insert it. * eval.c (Fsignal): Clarify error message. 1993-07-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_char): After Fgarbage_collect, call redisplay. 1993-07-03 Jim Blandy (jimb@churchy.gnu.ai.mit.edu) * frame.c (Fredirect_frame_focus): Allow redirection of focus of dead frames. * s/sunos4-1.h (LIBS_SYSTEM): Make this be -lresolv, so we get the versions of gethostbyname and such that use the DNS. 1993-07-03 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * fileio.c (Frename_file): After prompting for ok-if-already-exists, pass only nil or t to copy-file, never an integer. 1993-07-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (Faccessible_keymaps): Doc fix. 1993-07-02 Jim Blandy (jimb@churchy.gnu.ai.mit.edu) * textprop.c (set_properties): Don't try to make undo records if OBJECT is a string. 1993-07-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_key_sequence): When inserting `menu-bar' prefix, modify the position field to prevent doing so twice. Do all these forms of event expansion after replayed events also. Set last_real_key_start before each key. Use last_real_key_start in criterion for being the first event. * process.c (wait_reading_process_input): Do include the keyboard in the select, if read_kbd was a cons cell. 1993-07-01 Jim Blandy (jimb@churchy.gnu.ai.mit.edu) * xterm.c (XTread_socket): When handing non-synthetic ConfigureNotify events, don't refer to the parent window descriptor. * textprop.c (set_properties): Add undo records to remove entirely new properties. Only record old property values for those properties whose values have changed. 1993-07-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * callint.c (Vmark_even_if_inactive): New var, with Lisp variable. (check_mark): Use it. 1993-07-01 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xfaces.c [XOS_NEEDS_TIME_H]: #undef USG while #including <X11/Xos.h>, so that file doesn't try to define struct timeval and struct timezone. * xterm.c (frame_highlight, frame_unhighlight): Don't test Vx_no_window_manager. BLOCK_INPUT around the border manipulation calls. 1993-06-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xterm.c (XTread_socket): Initialize event_found to zero, and pass a zeroed timeout to select, not a null pointer; the latter means "wait forever". * s/hpux8.h (random, srandom): No need to define these to be foo_random and foo_srandom; autoconf should autodetect when the real random functions are available. * xdisp.c (redisplay): If we're not already showing the region, then don't disable the single-line optimizations just because the mark isn't where we last displayed it. 1993-06-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (syms_of_keyboard): Doc fix. (Vhelp_char): Renamed from help_char. (Vprefix_help_command): New Lisp variable. (read_key_sequence): Use that, for help char after prefix key. * keyboard.c (kbd_buffer_get_event): Clear f before calling mouse_position_hook. * emacs.c, callproc.c (PRIO_PROCESS): Definition deleted. * vm-limit.c (check_memory_limits): Make data_size and five_percent unsigned long. 1993-06-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * keyboard.c (kbd_buffer_get_event): Correctly generate switch-frame events when reading mouse motion events. 1993-06-29 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xterm.c: Add CPP tangle from process.c to get definitions for FD_SET, etcetera. (XTread_socket): Use those macros when testing for dropped connection. 1993-06-29 Richard Stallman (rms@mole.gnu.ai.mit.edu) * alloc.c (mark_object): Add aborts in Lisp_Symbol case. * keymap.c (describe_map_tree): Insert key_heading here. New arg TITLE. (describe_buffer_bindings): Corresponding changes. * process.c (wait_reading_process_input): Use SIGIO only if defined. * keymap.c (shadow_lookup): New function. (describe_map_2): Call it. SHADOW is now a list of maps. (describe_vector): Likewise. (describe_map): SHADOW is now a list of maps. (describe_map_tree): Likewise. (describe_buffer_bindings): Build suitable list to pass as SHADOW. (Faccessible_keymaps): New arg PREFIX. Callers changed. (describe_map_tree): New arg PREFIX. (Fdescribe_bindings): New arg PREFIX. Pass to describe_buffer_bindings along with buffer. (describe_buffer_bindings): Extract PREFIX and pass along. 1993-06-28 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (describe_map_2): Cleanups. Check there's no previous definition in same keymap. 1993-06-24 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * keyboard.c (read_char): Don't do idle autosaves if we're not interactive. 1993-06-23 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xfns.c (Fx_create_frame): Check for internalBorder resource, as well as internalBorderWidth. * xterm.c (XTread_socket): Remove #if 0''s around code which tests for dropped connection (i.e. sigio but no events). 1993-06-22 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * keyboard.c (menu_bar_items, read_key_sequence): Use current_global_map, not global_map; the latter is only meant to be used for initial_define_key. * commands.h: Doc fix. * commands.h (Vglobal_mouse_map): Removed; unused. * xfns.c (Vglobal_mouse_map): Same. * buffer.c (list_buffers_1): Make desired_point a lisp object; set it to nil, unless we find the current buffer. (Flist_buffers): Don't try to set point in the buffer list unless list_buffers_1 actually returns an integer. Don't use a full save_excursion; just save and restore the buffer. Separate parameter faces (those created and modified by the user) from the computed faces (the combinations created by compute_char_face), so that we don't waste global face id's. * xterm.h (struct x_display): Replace the fields faces and n_faces with fields param_faces, n_param_faces, computed_faces, n_computed_faces, and size_computed_faces. (FRAME_FACES, FRAME_N_FACES): Replaced by... (FRAME_COMPUTED_FACES, FRAME_N_COMPUTED_FACES, FRAME_PARAM_FACES, FRAME_N_PARAM_FACES): New macros. * xfaces.c: Doc fixes. (init_frame_faces): Call new_computed_face to create entries for the default and mode line faces. Use the FRAME...PARAM_FACES macros. (free_frame_faces): Use the FRAME...PARAM_FACES and FRAME...COMPUTED_FACES macros. Don't use the copy flag; all parameter faces have real X resources, and all computed faces just have copies. Free both the parameter and computed face arrays. (new_computed_face): New function. (intern_computed_face): Renamed from intern_frame_face; callers changed. Call new_computed_face. (ensure_face_ready, compute_char_face, compute_glyph_face): Use the FRAME...PARAM_FACES macros. (recompute_basic_faces): Use the FRAME...PARAM_FACES and FRAME...COMPUTED_FACES macros. Produce the computed faces by starting with the base faces and merging in the parameter faces. (Fset_face_attribute_internal): Use the FRAME...PARAM_FACES macros. Just call recompute_basic_faces if the default or mode line faces have changed. * xfns.c (Fx_list_fonts): Use the FRAME...PARAM_FACES macros. * xterm.c (dumpglyphs): Use the FRAME...COMPUTED_FACES macros. * dispextern.h (struct face): Remove the copy member. This is no longer necessary; all computed faces are copies, and no parameter faces are. * xfaces.c (face_vector, nfaces, nfaces_allocated): Make these static. * xdisp.c (redisplay_window): Remember to compute end relative to the start of the visible region, too. 1993-06-21 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xrdb.c (get_user_db): Remember to free the screen-local resource string after we've merged its data into db. * keyboard.c (make_lispy_event): Added detection of double-click and triple-click events. (parse_modifiers_uncached, apply_modifiers_uncached): Same. (read_key_sequence): Coerce double-clicks to clicks, and triple-clicks to double-clicks or clicks, by analogy with drag events. (double_click_time): Added variable. * termhooks.h: Added multi-click event modifier bits. 1993-06-21 Richard Stallman (rms@mole.gnu.ai.mit.edu) * textprop.c (Fremove_text_properties, Fadd_text_properties): Really do next_interval when skipping the first interval. 1993-06-20 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xfns.c (Fx_open_connection): Remember to block input while calling x_load_resources. * xrdb.c: Undo change of June 19th; it was a BLOCK_INPUT problem, not a server-specific bug. * alloc.c (Fgarbage_collect): If the minibuffer is active, don't display the "...done" message; allow the minibuffer to show again. * config.h.in (HAVE_LONG_FILE_NAMES): Add an #undef, for autoconf to chew on. Re-arrange macros to reflect the ordering of the corresponding macros in configure.in, to facilitate this kind of checking. 1993-06-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * version 19.15 released. 1993-06-19 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * puresize.h (PURESIZE): Up this to 205000 for MULTI_FRAME Emaces, and 190000 for non-MULTI_FRAME Emaces. * xfaces.c (recompute_basic_faces): This shouldn't be declared static. * xrdb.c (get_user_db): Some NCD xterms seem to hang in XScreenResourceString. Consult the ServerVendor and VendorRelease variables to see if we're talking to such a server. * xterm.c (XTread_socket): Never treat a modifier key as a non_ascii_keystroke. * emacs.c (Fkill_emacs): Pass third argument to shut_down_emacs. * lisp.h (shut_down_emacs): Doc fix. 1993-06-18 Jim Blandy (jimb@geech.gnu.ai.mit.edu) * frame.c (Fmake_frame_visible): Make this interactively callable; frames can accept input while iconified, so it makes sense to put this on a key. * xfaces.c: Add forward declaration for recompute_basic_faces. * fileio.c (Fset_visited_file_modtime): We're only passing two arguments to the file name handler; use call2, not call3. Changes for Irix 4.0, tested this time: * s/irix4-0.h: Get rid of our fake definitions for setpgrp and getpgrp. * callproc.c (Fcall_process): Go ahead and use the USG calling convention for setpgrp. * ymakefile (pre-crt0.o): Add rule for this. Perhaps it will help separate-source-directory compilation. * emacs.c (shut_down_emacs): Some USG systems #define EMACS_HAVE_TTY_PGRP; call getpgrp as appropriate for such systems. * sysdep.c (sys_suspend): Call getpgrp as appropriate for USG and non-USG. * sysdep.c (rename): Make arguments const. autoconf #defines const away on systems which don't have it; any system with prototypes will declare the arguments const (the ones to which I have access do); and systems without prototypes won't notice. * process.c [IRIX] (create_process): Don't put child in process group zero before opening the tty; Irix is like USG in this regard. * s/isc2-2.h, s/linux.h, s/usg5-4.h, m/alliant-2800.h, m/convex.h, m/pfa50.h: Remove #definition of HAVE_CLOSEDIR; autoconf figures this out. * xfns.c: Always #include "bitmaps/gray.xbm"; the bitmaps seem to be missing on some systems, and there's no point in having configure check; it should work fine to always use our copy. * minibuf.c (Fread_minibuffer): Add missing semicolon after CHECK_STRING macro. 1993-06-17 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * Version 19.14 released. 1993-06-17 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * m/iris4d.h (LIB_STANDARD): Do *not* include -lbsd. We are now calling the BSD[sg]etpgrp functions directly, so this library is not needed; it just provides the BSD[sg]etpgrp functions under the [sg]etpgrp names. * callproc.c [IRIX] (child_setup): Don't call setpgrp this time. It's already been called up in Fcall_process, and create_process. * callproc.c (Fcall_process, child_setup): If IRIX is #defined, call setpgrp with arguments, even if USG is #defined. * process.c [IRIX] (create_process): Don't call setpgrp before opening the pty. Call it after doing the TIOCNOTTY ioctl. * xfaces.c (compute_base_face): Initialize the face's stipple. Although we don't use this feature now, face_eql notices it. * xfaces.c (compute_base_face): Set cached_index to an invalid index, to avoid an unnecessary comparison. * keyboard.c (read_key_sequence): Don't confuse mock input with function-key-map expansion, and continue reading mock events when the current sequence is unbound. * keyboard.c (read_key_sequence): After providing a prefix symbol for a mouse event, modify the mouse event to indicate that that won't need to be done again, by putting the event's position symbol in a list. * keyboard.c (read_key_sequence): When returning mock input which has run off the end of the current maps, make sure the events get echoed, and make it into this-command-keys. * keyboard.c (read_key_sequence): When re-reading a previously read mouse click which requires a prefix symbol, make sure to set last_real_key_start appropriately, so we can properly drop button-down events. 1993-06-17 Richard Stallman (rms@mole.gnu.ai.mit.edu) * ymakefile (really-oldXMenu): Pass C_SWITCH_MACHINE down. * intervals.c (verify_interval_modification): Don't just test Qread_only prop; use INTERVAL_WRITABLE_P. * syntax.c (scan_lists, Fforward_comment): #if 0 the code to treat two-character comment enders with a special shortcut. 1993-06-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * config.h.in (HAVE_CLOSEDIR): Add an #undef for autoconf to change. * sysdep.c (closedir): Only define this if autoconf can't find HAVE_CLOSEDIR. If we're running under solaris (defined (sun) && defined (USG5_4)), then don't free the buffer separately. * keyboard.c (read_key_sequence): If we add events to a key sequence that didn't come from the input stream (e.g. `mode-line' prefixing a mouse click, or an expansion from function-key-map), and end up with a sequence that runs off the end of the current maps, return the entire key sequence, not just the initial portion which was bound or unbound. * xdisp.c (redisplay_window): Do not subtract one from start before passing it to the set_vertical_scroll_bar_hook. * lisp.h (CHECK_LIST, CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_VECTOR, CHECK_BUFFER, CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER, CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT, CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY): Wrap a do ... while (0) around these compound statements to make them syntactically equivalent to a single statement. 1993-06-16 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * editfns.c (Finsert_buffer_substring): Doc fix. 1993-06-16 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) Don't let the 'B' interactive spec default to buffers viewed in any visible frame. * buffer.c (Fother_buffer): Pass Qt as the second argument to Fget_buffer_window. * window.c (window_loop): In GET_BUFFER_WINDOW case, ignore non-visible frames. (Fget_buffer_window): Change doc string to mention that passing Qt for the FRAME argument returns windows on visible frames only. Changes for correct pgrp behavior; approach suggested by Bob Glickstein <bobg@zindigo.z-code.com>: * m/iris4d.h (LIB_STANDARD): Do list -lbsd here. * s/irix4-0.h (getpgrp, setpgrp): #define these to call BSDgetpgrp and BSDsetpgrp. (GETPGRP_NO_ARG): Don't #define this. * emacs.c (main): Don't test GETPGRP_NO_ARG. * sysdep.c (sys_suspend): Don't test GETPGRP_NO_ARG. * Makefile.in (CPP): New variable, set by the top-level Makefile. * m/delta88k.h (HAVE_GETTIMEOFDAY): Don't #define this; autoconf takes care of that. (LIBS_SYSTEM): Don't attempt to #define this if we already have a definition of LIB_SYSTEM from s/usg5-4.h. * unexec.c [HPUX] (sbrk): This returns a void *. * window.c (check_frame_size): Allow minibuffer-only frames to be one line high. * frame.c (store_frame_param): Fix error message punctuation. * callproc.c [IRIX] (child_setup): Don't set the pgroup. * s/isc3-0.h (memmove): #define this to call safe_bcopy. * buffer.c (list_buffers_1): Return the desired point. (Flist_buffers): Put point there in the buffer summary. Bring mumbleclean targets into conformance with GNU coding standards. * Makefile.in (mostlyclean): New target. (clean): Just call mostlyclean. Get rid of ../etc/DOC too. (distclean): Use clean to do most of the work. Get rid of ../etc/DOC-* too. (realclean): New target. * xdisp.c (redisplay_window): Do not subtract BEGV to compute the scroll bar handle's end. 1993-06-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xmenu.c (xmenu_show): Store 0 in *ERROR at the beginning. * fileio.c (Finsert_file_contents): Two new args, BEG and END. * intervals.c (adjust_intervals_for_insertion): By default, copy properties from before the insertion. 1993-06-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * syntax.c (scan_sexps_forward): Set state.comstart to before the comment starter, not after. * xmenu.c (Fx_popup_menu): Call keymap_panes right in one-keymap case. 1993-06-14 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * s/linux.h (LIBS_MACHINE, HAVE_SYSVIPC): Set the former to -lipc, and #define the latter. * xdisp.c (display_text_line): Use temporary variable. 1993-06-14 Richard Stallman (rms@mole.gnu.ai.mit.edu) * window.c (Fdelete_window): Handle deleting a parent of the selected window. 1993-06-13 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (Fset_visited_file_modtime): Don't give the handler the filename as an argument. * syntax.c (scan_lists, Fforward_comment): Pass 0 as commentstop arg to scan_sexps_forward. (scan_sexps_forward, char_quoted): Now static. (describe_syntax, describe_syntax_1): Now static. * undo.c (Fprimitive_undo): Rename arg to N to avoid conflict. * window.c (Fdelete_window): Mostly undo last change. Don't initialize `frame' in the declaration. * Make prefix keys work with keymap inheritance by creating an inheritance structure for each subkeymap that we create in the inheriting keymap. * keymap.c (access_keymap): New arg NOINHERIT. All calls changed. (define_as_prefix): New function. (Fdefine_key): Use them. 1993-06-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (shut_down_emacs): New arg STUFF. Stuff input here. (Fkill_emacs, fatal_error_signal): Pass new arg. * xterm.c (x_connection_closed): Pass new arg. * dired.c (Ffile_attributes): Give -1 as size if size won't fit. * intervals.c (set_point): When moving over invis chars, don't screw up at end of buffer. * eval.c (call5, call6): New functions. (call1, call2, call3, call4): Renumber the args. * lread.c (Fload): Use call5. * fileio.c (Fcopy_file): Pass all the args to the handler. (Fwrite_region): Use call6. (Frename_file): Look for handler for newname. (Fadd_name_to_file): Pass arg ok_if_already_exists to handler. (Fmake_symbolic_link): Likewise. (Ffile_newer_than_file_p): Check both file names for handler. 1993-06-12 John Hughes (john@moonlite.CalvaCom.fr) * term.c (term_get_fkeys): Use `prior', not `previous', for %8/kP. 1993-06-12 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * sysdep.c (child_setup_tty): Remove duplicate settings for VQUIT and VINTR. * sysdep.c [ultrix] (init_sys_modes): Don't set LLITOUT; it disables the meta key. * frame.c (Fmouse_position, Fset_mouse_position): Doc fix. * xfns.c [! HAVE_X11R5] (Fx_rebind_key): Recognize that XK_Mode_switch and XK_Num_Lock are modifier keysyms too. * xterm.c (XTset_vertical_scroll_bar): Use double type for intermediate results in scaling. 1993-06-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * undo.c (syms_of_undo): Set up Qinhibit_read_only. (Fprimitive_undo): Sometimes bind inhibit-read-only to t. * minibuf.c (read_minibuf): Set and use mini_frame only if MULTI_FRAME. * xdisp.c (echo_area_display): Use XFASTINT on ->height. (copy_rope, copy_part_of_rope): Access *f as Lisp_Object. * window.c (Fdelete_window): Make `frame' a FRAME_PTR and use as such. * undo.c (record_delete): Always use XFASTINT on sbeg. (Fprimitive_undo): Add missing `else'. Add USE_TEXT_PROPERTIES conditional for calling Fput_text_property. Use XINT on high, low. * process.c (start_process_unwind): Use XINT. * syntax.c (Fset_syntax_table): Add XFASTINT. 1993-06-12 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xterm.c (x_error_quitter, x_io_error_quitter): Remove calls to abort. We can always run Emacs with _Xdebug set to 1. * ymakefile (really-oldXMenu): Remember backslash to extend command. * keyboard.c (read_key_sequence): When we generate a prefix symbol for a mouse event, store the actual mouse event in unread_command_events, so we don't lose it if the symbol isn't bound to a prefix. * config.h.in (HAVE_XRMSETDATABASE, HAVE_RANDOM, HAVE_LIBXBSD): Add #undefs for these. Dyke out code requesting -lXbsd and HAVE_RANDOM for XFREE386. * xfns.c (Fx_open_connection): Test HAVE_XRMSETDATABASE instead of NO_XRM_SET_DATABASE; the latter isn't used any more. * m/delta88k, m/tekXD88.h, s/linux.h, s/usg5-4-2.h (HAVE_RANDOM): Dyke out these #definitions; to avoid conflict with autoconf. * ymakefile (really-oldXMenu): Explicitly pass CC, CFLAGS, and MAKE to the oldXMenu make. * window.c (Fprevious_window): Use FRAME_HAS_MINIBUF_P to decide if the frame has a minibuffer; FRAME_MINIBUF_WINDOW points to the surrogate on minibufferless frames, not nil. 1993-06-12 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keyboard.c (read_char): Set c properly as a Lisp int. (command_loop_1): Delete spurious use of XINT on c, a char. * frame.c: Doc fixes. * data.c (cons_to_long): Declare top, bot as Lisp_Object. * floatfns.c (Fexpt): New local `val' for making integer to return. * keymap.c (Fcopy_keymap): Check Fkeymapp value with NILP. (get_keymap_1): Add missing semicolon. (describe_vector_princ): Align to column 16. * emacs.c (main) [GETPGRP_NO_ARG]: Really pass no arg to getpgrp. 1993-06-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xterm.c (XTmouse_position): Don't set *f at all unless we win. * process.c (read_process_output): Don't deactivate the mark. Do restore Vdeactivate_mark, so that no one else deactivates it. * buffer.c (Fgenerate_new_buffer_name): GENTEMP is the value to compare against IGNORE. 1993-06-11 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) Interact properly with shells lacking job control (sh, rc, es...) * sysdep.c [BSD] (inherited_pgroup): New variable. (narrow_foreground_group, widen_foreground_group): New functions. (init_sys_modes): Call narrow_foreground_group. (reset_sys_modes): Call widen_foreground_group. * emacs.c [BSD] (inherited_pgroup): Add extern declaration. [BSD] (main): Set inherited_pgroup, and put ourselves in our own pgroup. 1993-06-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (syms_of_xfns): Don't set up Qicon. (Qicon): Declaration deleted. * frame.h (Qicon): Declared. * frame.c (Fmouse_position): Set up defaults before calling the hook. 1993-06-11 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xdisp.c (redisplay_window): Don't call try_window_id if the window isn't starting at the beginning of the line. * window.c (Fprevious_window): Typo. 1993-06-11 Richard Stallman (rms@mole.gnu.ai.mit.edu) * ymakefile (alloca.o): Delete allocatem.c, not allocax.c. * textprop.c (Fset_text_properties): No special case for props = nil. * xfns.c (Fx_list_fonts): If names is 0, just return nil. 1993-06-11 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xterm.c (x_new_font): If font_names is zero, that's all the indication we get that no matches were found. * s/isc3-0.h (LIB_X11_LIB): #undef this, to remove the value inherited from usg5-3.h; ISC doesn't have libX11_s. (LIBX11_SYSTEM): Link against the static -lc, not -lc_s. 1993-06-10 Richard Stallman (rms@mole.gnu.ai.mit.edu) * lread.c (Fload): Forward all 4 args to magic-name handler. 1993-06-10 Shane Hartman (shane@nugget.spr.com) * window.c (Fscroll_left): Make argument optional. (Fscroll_right): Ditto. 1993-06-10 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * search.c (Flooking_at, Fstring_match, fast_string_match, search_buffer): Don't block input while calling searching and matching functions. These functions may not call malloc under Emacs anyway, and we need to be able to check for C-g. * xrdb.c (get_user_db): Get the screen-specific database too. * syntax.c (scan_lists, Fforward_comment): Call scan_sexps_forward with the proper number of arguments. * sysdep.c: Remove clause for DGUX support of FASYNC; add clause to #undef FASYNC if BROKEN_FASYNC is #defined. * filelock.c: Test HAVE_LONG_FILE_NAMES, not SHORT_FILE_NAMES, to interface nicely with autoconf. * m/delta.h: Don't #define SHORT_FILE_NAMES; autoconf does this for us. * s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>: (BSD4_4, SVR4, HAVE_SETSID, HAVE_UNIX_DOMAIN): #define these. (FIRST_PTY_LETTER): This is 'r', not 'p'. (HAVE_TERMIO, SIGNALS_VIA_CHARACTERS): Don't #define these. (HAVE_TERMIOS): #define these instead. (XREBINDKEYSYM): Don't #define. Test THIS_IS_YMAKEFILE instead of MAKING_MAKEFILE. (sigmask, sigpause): #undef these after #including <signal.h>. (LD_SWITCH_SYSTEM, START_FILES, LIBS_SYSTEM, LIB_GCC): #define these to avoid problems with /lib/crt0.o. (C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH): #define these. * s/dgux.h (BROKEN_FASYNC): #define this. * fileio.c (Frename_file): Pass all arguments to the file name handler. * eval.c (call4): New function. 1993-06-09 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * s/linux.h (SIGNALS_VIA_CHARACTERS): Don't #define this. * process.c (sigchld_handler): Add cast, to avoid warnings on Linux. (Fopen_network_stream): Cast the second argument to connect, to avoid warnings on any system that provides prototypes for connect. * xdisp.c (display_text_line): Handle case where line ends in a continuation character but we never actually displayed any buffer text (due to minibuffer prompt). * xterm.c (x_is_vendor_fkey): New function. (XTread_socket): Call it to recognize vendor-specific function keys. * s/dgux.h: Move #definition of SYSTEM_MALLOC outside of MAKING_MAKEFILE conditional. No harm. * xfaces.c (init_frame_faces): Remove assumption that the selected frame must be an X frame whenever there is already an X frame. 1993-06-08 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * alloc.c (emacs_blocked_malloc, emacs_blocked_realloc): Cast the return values of malloc and realloc, to placate compilers. 1993-06-08 Richard Stallman (rms@mole.gnu.ai.mit.edu) * window.c (Fprevious_window): When changing frames, use the new frame's minibuffer if any. * intervals.h (INTERVAL_WRITABLE_P): Fix backwards tests. * m/tekXD88.h: Rewrite by author. 1993-06-08 Jim Blandy (jimb@totoro.cs.oberlin.edu) * Version 19.13 released. * ymakefile (C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH): Remove these; people shouldn't edit this file to choose optimization and debugging switches anyway. ../configure will set CFLAGS to an appropriate default, which they will be able to override. * Makefile.in (xmakefile): Don't try to turn -g and -O in CFLAGS into C_DEBUG_SWITCH and C_OPTIMIZE_SWITCH. CFLAGS should be the sole source of such switches, so that setting CFLAGS controls them completely. 1993-06-07 Jim Blandy (jimb@totoro.cs.oberlin.edu) * config.h.in (HAVE_LIBDNET): New macro, to be defined by ../configure. * m/pmax.h (LIBS_MACHINE): Only put "-ldnet" here if HAVE_LIBDNET is #defined. 1993-06-07 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fileio.c (syms_of_fileio): Set up Qset_visited_file_modtime. (Fset_visited_file_modtime): Use the proper operation. * sysdep.c (init_baud_rate) [HAVE_TERMIOS]: Use cfgetospeed. * systty.h: Add NO_TERMIO conditional. * textprop.c (Fadd_text_properties): Don't treat the initial interval specially, aside from splitting off the part starting where we want to start changing things. (Fremove_text_properties): Likewise. For ending interval, split it left as in Fadd_text_properties. (Fset_text_properties): Don't set starting interval if it goes past END. Instead, split it left and set the left part. * keymap.c (Fdescribe_vector): Use current buf, not standard-output. (describe_vector_princ): Add newline at end. * keymap.c (store_in_keymap, access_keymap): Use CHAR_META when clearing excess high bits. * s/dgux.h (INTERRUPTIBLE_*): Fix spelling of macros. * s/hpux9.h (SYSTEM_MALLOC, GNU_MALLOC, REL_ALLOC): Definition and #undefs deleted. * keymap.c: Doc fix. * buffer.c (Fdelete_overlay): Do nothing if overlay already deleted. Bind inhibit-quit to t. (Fmove_overlay): Properly handle changing buffers, or no prev buffer. Bind inhibit-quit to t. * lread.c (syms_of_lread): Set up Qload. (Fload): Handle magic file names. 1993-06-07 Shane Hartman (shane@nugget.spr.com) * xterm.c (x_caught_error_message): Change type to char* from char*[]. (X_CAUGHT_ERROR_MESSAGE_SIZE): New macro. (x_error_catcher): Corresponding changes. (x_catch_errors): Corresponding changes. (x_check_errors): Do not free x_caught_error_message. (x_uncatch_errors): Set x_caught_error_message to 0 after freeing it. 1993-06-06 Paul Eggert (eggert@twinsun.com) * uaf.h (uaf$v_thursday): Fix misspelling of "thursday". * floatfns.c (Fceiling): Fix spelling of "ceiling". 1993-06-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) * ymakefile [__GNUC__ >= 2] (LIB_GCC): Delete spurious -L. * m/tekXD88.h (HAVE_RENAME): Deleted. * data.c (Ffset): Delete special check for t and nil. * xfaces.c (same_size_fonts): Compare only the width. * dispnew.c: Include lisp.h earlier (before termhooks.h). * editfns.c (Fcurrent_time_zone): Add alternative for !HAVE_TM_ZONE. * systime.h [HAVE_TZNAME]: Declare tzname if not macro. * config.h.in (HAVE_TZNAME): Add #undef. 1993-06-06 Nobuyuki Hikichi (hikichi@sra.co.jp) * m/news-risc.h (NO_MODE_T): Defined. (LINKER): Add #undef. 1993-06-06 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (access_keymap, store_in_keymap): Discard meaningless high bits of a character event. 1993-06-05 Richard Stallman (rms@mole.gnu.ai.mit.edu) * lisp.h: Don't declare malloc or realloc. * xfns.c [EMACS_BIT_MAPS]: Include gray.xbm from ./bitmaps. * xterm.c (x_new_font): Don't give up right away if XListFontsWithInfo finds no fonts--try XLoadQueryFont anyway. * xfns.c (Fx_open_connection): Make `data' unsigned char. * window.c (Fset_window_configuration): If a window is supposed to have a buffer, always give it one. * xmenu.c (Fx_popup_menu): Error if we don't get a window or a frame somehow. * puresize.h: Test MULTI_FRAME, not HAVE_X_WINDOWS. * frame.c (Frubber_band_rectangle): Deleted. (syms_of_frame): Don't defsubr it. * xselect.c (x_get_foreign_selection): Handle x_selection_timeout as milliseconds, not as seconds. (syms_of_xselect): Doc fix to match. * m/mips4.h (MIPS2): Comment out define. (LIB_STANDARD): Delete -lisode. 1993-06-04 Richard Stallman (rms@mole.gnu.ai.mit.edu) * syssignal.h [POSIX] [!__GNUC__] (sys_sigmask): Add declaration. * alloc.c (make_event_array): Ignore bits above CHAR_META. * frame.c [!MULTI_FRAME] (Fframep): New dummy definition. (syms_of_frame): Defsubr that. * buffer.c (syms_of_buffer): Set up Lisp var inhibit-read-only. * lisp.h (Vinhibit_read_only): Declared. * buffer.c (Fbarf_if_buffer_read_only): Check Vinhibit_read_only. * cmds.c (Fnewline): Use Fbarf_if_buffer_read_only. * intervals.h (INTERVAL_VISIBLE_P): Use textget. (INTERVAL_WRITABLE_P): Use textget. Check Vinhibit_read_only. * window.c (syms_of_window): Always defvar pop-up-frames and pop-up-frame-function. * process.c (read_process_output): Deactivate the mark. Save and restore Vdeactivate_mark. * xfns.c (x_set_menu_bar_lines_1): Adjust just the uppermost child in a vertical split. Adjust the hight counter to the top. (x_set_menu_bar_lines): Don't change overall frame height. 1993-06-04 Francesco Potorti` (pot@cnuce.cnr.it) * filelock.c (MAKE_LOCK_PATH): If SHORT_FILE_NAMES allocates different space and calls fill_in_lock_short_file_name. (fill_in_lock_short_file_name): New function for 14-chars hashed file names. Replaces fill_in_lock_file_name if SHORT_FILE_NAMES. 1993-06-03 Richard Stallman (rms@mole.gnu.ai.mit.edu) * sysdep.c (wait_for_termination): Fix sigpause in POSIX_SIGNALS case. * xterm.c (x_catch_errors): Fill in missing array size in cast. * Makefile.in (xmakefile): Depend on ../config.status. * buffer.c (init_buffer): Init default-directory of minibuffer. * m/iris4d.h (LIB_STANDARD): Delete -lbsd. * keyboard.c (read_key_sequence): Reset fkey_map when we find something at the end of Vfunction_key_map. * m/ibmrt-aix.h (HAVE_FTIME): Defined. * emacs.c (syms_of_emacs): Doc fix. * keyboard.c (read_char_menu_prompt): Now static. Add declaration. * dispnew.c (Fredraw_display): Redraw all visible frames. (redraw_garbaged_frames): New function. * xdisp.c (redisplay, echo_area_display): Use redraw_garbaged_frames. * dispnew.c (do_pending_window_change): No need to clear FRAME_NEW_HEIGHT/WIDTH. Do test width != 0. * xterm.c (x_wm_set_size_hint): Handle XGetNormalHints returning 0. * xfns.c (x_set_frame_parameters): Process all parms in reverse order. * frame.h (FRAME_MINIBUF_WINDOW): Use minibuffer_window. 1993-06-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * sysdep.c (init_sys_modes): Disable VLNEXT char. Also VWERASE, VREPRINT, VDISCARD. * xfaces.c: Test XOS_NEEDS_TIME_H, not HPUX, for including time.h. * s/sol2.h, s/hpux.h (XOS_NEEDS_TIME_H): Defined. 1993-06-02 Francesco Potorti` (pot@cnuce.cnr.it) * ymakefile (alloca.o): Use temp names allocax.o, allocax.s * m/delta.h (MOTOROLA_DELTA): Defined. (HAVE_SYSVIPC, BAT68K, BAT_ALLOCA): Deleted--obsolete. (STACK_DIRECTION, HAVE_X_WINDOWS): Deleted--configure knows. (C_SWITCH_MACHINE): Set to -ga if using the Green Hills compiler. (LIB_STANDARD, LIB_MATH): Defined to the 68881 versions. (LIBS_SYSTEM): -lbsd brings sigblock and sigsetmask. (sigsetmask): Undefined--it is in -lbsd. (LDAV_SYMBOL): Undefined--we have no such thing. (KERNEL_FILE): Defined to "/sysV68". (BSTRING, HAVE_SELECT, HAVE_UNISTD_H, HAVE_TIMEVAL): Defined. (SIGNALS_VIA_CHARACTERS): Defined. (memmove): Defined as memcpy--we have no memmove. (SIGIO, INTERRUPT_INPUT): Undefined--not yet tested. (SHORT_FILE_NAMES, CLASH_DETECTION): Defined. 1993-06-02 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 19.12 released. * term.c (term_get_fkeys): Use correct names for F10 and up. Use the key sequence, not the termcap cap name, in Fdefine_key. * intervals.c (copy_intervals): Don't adjust total_length at the end. Set lengths of subintervals properly. (balance_intervals): Balance left as well as right. 1993-06-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * keymap.c (syms_of_keymap): Add missing 2nd arg to Fcons. 1993-06-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * x/esix5-4.h: Redone by Joe Kelsey. * xterm.c (x_new_font): Take out last change. * s/386bsd.h (BSD4_2): Defined. * fileio.c (Fwrite_region): Don't fsync if autosaving. * s/irix4-0.h (GETPGRP_NO_ARG): Defined. * emacs.c (shut_down_emacs): Handle GETPGRP_NO_ARG. * sysdep.c (sys_suspend): Handle GETPGRP_NO_ARG. * fileio.c [HPUX9]: Don't include errnet.h. * hftctl.c (hft_alrm): Don't return a value. Always declare to return void. * floatfns.c [!FLOAT_CHECK_ERRNO] (IN_FLOAT): New definition. (Flog): Fix argument of `log'. * m/pmax.h (KERNEL_FILE): New override definition. * keyboard.c (read_key_sequence) [!USE_TEXT_PROPERTIES]: Fix typo. (menu_bar_items) [!USE_TEXT_PROPERTIES]: Likewise. * s/isc3-0.h: #undef C_SWITCH_SYSTEM. * xselect.c (Fx_store_cut_buffer_internal): Handle empty string right. * xfaces.c (init_frame_faces): Don't look at selected_frame unless it is an X frame. * xfns.c (x_window): Use Vxrdb_name for res_name field. Delete the shortname stuff. * m/pmax.h (LIBS_MACHINE): Defined. * Version 19.11 released. 1993-06-01 Richard Stallman (rms@mole.gnu.ai.mit.edu) * xfns.c (x_set_menu_bar_lines): Use FRAME_NEW_HEIGHT and ..._WIDTH. * m/sparc.h [__GNUC__ >= 2]: Don't include alloca.h. * xterm.c (x_new_font): If XListFontsWithInfo finds nothing, try to load the font anyway. * ymakefile (emacs): Don't run inc-vers if ../lisp is read-only. (C_SWITCH_SITE_1): New make variable. (really-oldXMenu): Pass C_SWITCH_X_SITE_1 as C_SWITCH_X_SITE. Use C_SWITCH_SITE_1 to pass C_SWITCH_SITE. * s/386bsd.h: New file. 1993-05-31 Richard Stallman (rms@mole.gnu.ai.mit.edu) * fns.c (internal_equal): Don't let ints be equal to floats. * print.c (float_to_string): Skip `-' like digits when ensuring result looks like a float. * data.c (Frem): Fix result sign properly. * xrdb.c [__bsdi__]: ALternate decls of getpwuid and getpwnam. * emacs.c (main) [BSD]: Delete the setpgrp (both times). * m/ibmrs6000.h (NLIST_STRUCT): Defined. * ymakefile (GETLOADAVG_OBJ): New macro. (obj): Use that. * s/bsd386.h: New file. * term.c (term_get_fkeys): If not initialized, init Vfunction_key_map. * m/ibmrs6000.h: Delete ! __GNUC__ conditional. (LD_SWITCH_MACHINE): Defined. (ORDINARY_LINK): Defined unconditionally. * dispnew.c (update_frame): Make preempt_count positive. Defend against negative baud_rate. * scroll.c (calculate_scrolling): Defend against negative baud_rate. * mem-limits.h [__bsdi__]: Define BSD4_2. * xfns.c (x_window): In XSetClassHint, use a shortened version of the frame name. * s/hpux8.h (C_SWITCH_SYSTEM): Fix typo in X11R5 dirname. * xterm.c (XTread_socket, case KeyPress) [HPUX]: Test IsModifiedKey. * keyboard.c (kbd_buffer_get_event): Shorten the first MULTI_FRAME conditional. * s/usg5-4-2.h (HAVE_VFORK): Deleted. 1993-05-31 James Clark (jjc@jclark.com) * xselect.c (x_reply_selection_request): Call XFlushQueue. * window.c (Fset_window_buffer): Set window's force_start to Qnil. 1993-05-31 Richard Stallman (rms@mole.gnu.ai.mit.edu) * syntax.c (Fforward_comment): Set point to where scan stops, thus moving acros whitespace. When moving fwd, treat Sendcomment as whitespace; likewise for Scomment when moving back. (scan_sexps_forward): New arg COMMENTSTOP. (Fparse_partial_sexp): Likewise. * xfns.c (Fx_create_frame): Use bitmapIcon, not iconType. 1993-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * data.c (float_arith_driver): Detect division by zero in advance. (arith_driver, Frem): Likewise. * xfns.c (Fx_list_fonts): Handle 0 for FRAME_FACES (f) [face_id]->font. * print.c (Fwith_output_to_temp_buffer): Doc fix. * sysdep.c (wait_for_termination): Delete LINUX conditionals. * s/linux.h (HAVE_TCATTR): Deleted. (BSD): Don't define. (read, write, open, close): Defined. (INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, INTERRUPTIBLE_IO): Defined. (C_SWITCH_SYSTEM): Defined. * xterm.c: Include systty.h; don't mess with FIONREAD. Don't include termio.h dorectly. * intervals.c (interval_deletion_adjustment): Delete unreachable abort. * fns.c (Fyes_or_no_p): Delete unreachable UNGCPRO. * keyboard.c (lispy_function_keys): Add `remove' key. 1993-05-30 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * buffer.c (Fgenerate_new_buffer_name): Doc fix. 1993-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Makefile.in (clean): Delete libXMenu11.a. 1993-05-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * m/mips.h (KERNEL_FILE): Set this to "/unix". * m/mips4.h (MIPS2): Go ahead and define this. (C_DEBUG_SWITCH): Add -DMips and -g3, and up Olimit to 2000. 1993-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * emacs.c (main) [AIX _I386]: Don't handle SIGIOINT. * lisp.h (UCHAR): Don't define if _UCHAR_T. * m/ibmps2-aix.h (HAVE_GETTIMEOFDAY): Deleted. (HAVE_SETSID, HAVE_TERMIOS): Defined. (HAVE_TERMIO): Add #undef. (SIGNALS_VIA_CHARACTERS): Defined. (C_DEBUG_SWITCH): Make definition empty. (LIBS_DEBUG): Defined. (BROKEN_TIOCGWINSZ, LIB_X11_LIB): Add #undef. * sysdep.c (child_setup_tty) [AIX SIGNALS_VIA_CHARACTERS]: Install something usefull in the VQUIT and VINTR. (emacs_set_tty): Try only 10 times to call tcsetattr. Don't use memcmp to test what it did. * systty.h [HAVE_TERMIOS _AIX _I386]: Include termios before termio. * dispnew.c (buffer_posn_from_coords): Since COL is already window-relative, don't subtract window_left. 1993-05-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xfaces.c (unload_color): Don't #include <X11/Intrinsic.h>, <X11/StringDefs.h>, or <X11/Xmu/Drawing.h>. Just write out "unsigned long" instead of using the "Pixel" typedef; it's in the protocol, so it's not likely to change. * hftctl.c (hft_alrm): Declare and define this to return void, not int; the AIX #include files have prototypes for it. * s/aix3-2.h (LIBS_SYSTEM): Remove -lIM and -liconv from here... * m/ibmrs6000.h (LIBS_MACHINE): They're already here. Doc fix. * Makefile.in (SUBMAKEFLAGS): Remember to propagate MAKE. 1993-05-30 Richard Stallman (rms@mole.gnu.ai.mit.edu) * s/sunos4-1-3.h: Delete the #undef of SYSTEM_MALLOC. * systty.h [IRIX4]: Include unistd.h. * s/irix4-0.h (IRIX4): Defined. (IRIS_UTIME): #undef this. * xfns.c (Fx_open_connection) [NO_XRM_SET_DATABASE]: Don't call XrmsSetDatabase. * xfaces.c: Fix HPUX conditional syntax. * s/hpux8.h (random, srandom): Defined. * s/usg5-4-2.h: Don't specify s/ dir in #include. * s/usg5-4-2.h (PTY_TTY_NAME_SPRINTF): Defined. (HAVE_SYSV_SIGPAUSE): #undef this. * sysdep.c (wait_for_termination): Add POSIX_SIGNALS alternative. 1993-05-30 Jim Blandy (jimb@wookumz.gnu.ai.mit.edu) * xfaces.c (init_frame_faces): We have to make sure that face ID's are valid on all frames or no frames; make sure F has allocated faces for any face valid on the selected frame. * s/hpux9.h: New file; don't use the GNU allocator. Hope we fix this soon. See ChangeLog.3 for earlier changes.