Update copyright year to 2014 by running admin/update-copyright.
[emacs.git] / src / ChangeLog.4
blob81e74a9dfa08ee3bfe03e99d544b46c228066602
1 1994-05-30  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3         * Version 19.25 released.
5         * xdisp.c (redisplay): Limit prev change to pause != 0.
7         * keyboard.c (command_loop_1): Allow direct output for insert
8         if have display table but it says nothing for this char code.
9         Don't allow it if char code has a glyph with a face code.
11         * process.c (create_process): Get a pty for any non-nil
12         Vprocess_connection_type value.
14 1994-05-28  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
16         * s/bsd386.h (TABDLY, TAB3): Defined.
17         (SYSV_SYSTEM_DIR): Defined.
19         * unexhp9k800.c (roundup): Undef before defining.
21         * xdisp.c (redisplay): If have window change at end, redisplay again.
23         * lread.c (defvar_bool, defvar_int, defvar_lisp, defvar_lisp_nopro):
24         Delete third arg DOC.
26         * s/hpux8.h (LD_SWITCH_SYSTEM): Delete the -L options.
27         (LD_SWITCH_X_DEFAULT): Put them here instead.
29         * Makefile.in.in (LD_SWITCH_X_DEFAULT): Define if not defined.
30         (LIBX): Use LD_SWITCH_X_DEFAULT.
32         * xterm.c (x_iconify_frame): Call x_set_offset,
33         if x_make_frame_visible would do so.
34         (x_make_frame_visible): Don't call x_set_offset if frame is iconic.
35         (XTread_socket): For ConfigureNotify, if wm decorations exist,
36         set NorthWestGravity.
38         * Makefile.in.in (mostlyclean): Don't mention xmakefile*.
40         * emacs.c (main): In batch mode, don't set the pgrp.
42 1994-05-27  Paul Eggert  (eggert@twinsun.com)
44         * callproc.c (child_setup): If PWD is set, set it in the child so that
45         it points at the child's working directory.
47 1994-05-27  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
49         * m/mips4.h (C_DEBUG_SWITCH) [not __GNUC__]: Add -Wf option.
51         * s/hpux9.h (C_SWITCH_SYSTEM): Defined.
53         * keyboard.c [HAVE_X_WINDOWS]: Include xterm.h.
55         * xterm.c (x_is_vendor_fkey): Function deleted.
56         (XTread_socket, case KeyPressed): Don't clear the vendor-specific bit.
57         Pass thru almost any vendor-specific keysym.
59         * s/linux.h (HAVE_XRMSETDATABASE): Define if not defined.
61 1994-05-27  Paul Eggert  (eggert@twinsun.com)
63         * editfns.c (difftm): Don't store a long value into an int variable.
65 1994-05-26  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
67         * fileio.c (Finsert_file_contents): Check for beginning of file.
69 1994-05-26  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
71         * systime.h: Make previous change limited to HPUX.
73 1994-05-26  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
75         * systime.h: If _STRUCT_TIMEVAL is defined, also define __TIMEVAL__.
77 1994-05-25  Morten Welinder  (terra@diku.dk)
79         * msdos.c (output_string): New function.
80         (internal_flush): Use output_string for faster screen update.
81         (internal_flush): Clear to end of line by writing a string of
82         spaces.
84 1994-05-25  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
86         * xfns.c (Vx_sensitive_text_pointer_shape):
87         Renamed from Vx_cross_pointer_shape.
88         (syms_of_xfns): Provide Lisp var x-sensitive-text-pointer-shape.
90         * xmenu.c (menu_item_equiv_key): Look for equiv keys both before
91         and after one stage of symbol function indirection.
93         * xterm.c (note_mouse_movement): Use frame's window in XQueryPointer.
94         Special case if mouse isn't on that window.
95         (note_mouse_highlight): Handle negative args and too-large args.
97         * lread.c (openp): Don't use O_RDONLY.
99 1994-05-24  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
101         * search.c (Freplace_match): Improve capitalization heuristics.
103         * minibuf.c (Fminibuffer_complete_word): GCPRO completion and tem.
105         * undo.c (Fprimitive_undo): GCPRO next and list.
106         Check argument type before calling XINT.
108 1994-05-24  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
110         * buffer.c (verify_overlay_modification): GCPRO tail and overlay.
111         Avoid copying tail twice.
113 1994-05-24  Andreas Schwab  (schwab@informatik.uni-dortmund.de)
115         * keymap.c (describe_map): Fix the call to Fequal.
117 1994-05-24  Morten Welinder  (terra@diku.dk)
119         * msdos.c (do_visible_bell): Renamed from visible_bell to avoid
120         potential conflict with variable of the same name.  Caller changed.
121         (internal_flush): Code for audio bell inserted.
122         * s/msdos.h (INTERNAL_TERMINAL): Allow audio bell.
124         * msdos.c (dos_rawgetc): Doc fix.  Make C-, S-, and M- modifiers
125         independent.  Make modifiers work with mouse.  Improve C-S-<ascii>
126         handling by using look-up tables.  Fix kp-decimal problem.
128 1994-05-23  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
130         * Version 19.24 released.
132         * s/hpux8.h (LD_SWITCH_SYSTEM): Put back -Xlinker for GCC.
134         * Makefile.in.in (LIBXT): Move -lXmu before -lXt.
136         * term.c (update_end): Undo previous change.
138         * frame.c (other_visible_frames): No longer static.
140         * window.c (window_loop): Fix test of dedicated flag in prev change.
142         * window.c (window_loop, UNSHOW_BUFFER case):
143         Put prev change in #ifdef MULTI_FRAME.
145         * keyboard.c (menu_bar_one_keymap):
146         When there's no item string, use Qnil.
147         Don't ever put `undefined' into the list of definitions.
149 1994-05-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
151         * window.c (window_loop, UNSHOW_BUFFER case): Kill a special frame.
153         * xterm.c (x_set_window_size): If cursor outside new size, mark it off.
154         * dispnew.c (change_frame_size): Keep cursor coords in range.
156         * s/linux.h (HAVE_GETTIMEOFDAY, HAVE_MKDIR, HAVE_RMDIR)
157         (HAVE_XSCREENNUMBEROFSCREEN): Define these if not already defined.
159 1994-05-22  Morten Welinder  (terra@diku.dk)
161         * unexec.c [MSDOS]: Don't include files from the dos extender
162         and debugger.  Use the <coff.h> that was put in the right place
163         a couple of djgpp versions ago.  Consequently, use `unsigned short'
164         for `word16' and `unsigned long' for `word32'.
166 1994-05-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
168         * xterm.c (note_mouse_highlight): Handle case of highlight extending
169         past end of window.
170         (fast_find_position): Fix bugs when no text on screen
171         and when the mouse is on an empty line.
173         * s/hpux9shr.h: New file.
175         * s/hpux8.h (LD_SWITCH_SYSTEM): Add conditionals for HPUX_USE_SHLIBS.
176         Delete explicit -Xlinker in GCC case.
178         * unexhp9k800.c: Include config.h.
179         [HPUX_USE_SHLIBS]: Include dl.h.
180         (brk_on_dump): New variable.
181         (unexec): Set brk_on_dump.
182         (copy_file): Change buffer size to 8192.
184         * window.c (change_window_height): Test for DELTA too small
185         only after making it smaller based on maxdelta.
187 1994-05-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
189         * fileio.c (Fdelete_directory): Allow dir names as well as file names.
191         * Makefile.in.in (${etc}DOC): Ignore error from rm.
192         (MSDOS_SUPPORT): New variable.
193         (lisp): Use MSDOS_SUPPORT.
195         * s/freebsd.h (A_TEXT_OFFSET, A_TEXT_SEEK): Commented out.
197 1994-05-20  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
199         * xfns.c (x_set_background_color): Set scroll bar backgrounds.
201 1994-05-20  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
203         * xterm.c (x_wm_set_window_state) [USE_X_TOOLKIT]: Use XtSetValues.
204         (x_iconify_frame) [USE_X_TOOLKIT]: New code for invisible window case.
205         (XtNinitialState) [USE_X_TOOLKIT]: New #define.
206         (x_make_frame_invisible): Mostly combine toolkit/non-toolkit cases,
207         in the process fixing a dumb bug.
209 1994-05-20  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)
211         * lread.c (openp): Only lusers assume that O_RDONLY == 0.
213 1994-05-20  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
215         * Makefile.in.in (UNEXEC_ALIAS): New variable, used
216         to make the unex...o target.
218         * xfaces.c (Fset_face_attribute_internal): Always return valid data.
220         * textprop.c (syms_of_textprop): Set up Lisp fn get-char-property.
222 1994-05-19  Andreas Schwab  (schwab@issan.informatik.uni-dortmund.de)
224         * fileio.c (Finsert_file_contents): Declare buffer as unsigned
225         char.  When comparing with file size convert same_at_start to
226         distance to buffer start.  If the file matches the buffer
227         contents truncate the buffer to the size of the file.
229 1994-05-19  Jim Blandy  (jimb@totoro.bio.indiana.edu)
231         * keyboard.c (read_char_minibuf_menu_prompt): Don't forget to
232         initialize nobindings.
234 1994-05-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
236         * Makefile.in.in (ORDINARY_LINK): Define by default
237         if __GNU_LIBRARY__ and not LINUX.
239         * s/isc4-0.h (EXTRA_INITIALIZE): Definition deleted.
241         * s/isc3-0.h (EXTRA_INITIALIZE): Define here.
243         * keyboard.c (lispy_function_keys): Add `backtab'.
245         * frame.c (syms_of_frame): Set up frame-first-window as Lisp fn.
247         * indent.c: Add "args" to dummy definition of compute-motion.
249         * sysdep.c [BROKEN_TIOCGWINSZ]: Undef TIOCSWINSZ too.
251         * Makefile.in.in (FRAME_SUPPORT): Add menu-bar.el.
253         * dispnew.c: Include errno.h.
255         * widget.c (EmacsFrameSetCharSize): Once again preserve x and y pos,
256         but not the same way as before.
258         * xmenu.c (other_menu_bar_item_p): Return 0 if no menu bar.
260         * fileio.c (Fwrite_region): Set update_mode_lines.
262         * xmenu.c (xmenu_show): Don't look in menubar for core.height
263         if no menu bar.
265         * xterm.c (x_iconify_frame): Fix error messages.
267 1994-05-18  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
269         * dispnew.c (PENDING_OUTPUT_COUNT): If __GNU_LIBRARY__,
270         use GNU_LIBRARY_PENDING_OUTPUT_COUNT if defined.
272         * keyboard.c (lispy_function_keys): Add various kp- keys for X11R6.
274         * fileio.c (syms_of_fileio): Doc fix.
276         * s/linux.h (GNU_LIBRARY_PENDING_OUTPUT_COUNT): Both definitions
277         renamed from PENDING_OUTPUT_COUNT.
279         * process.c (create_process): Don't complain about error
280         from TIOCSETD.
282         * window.c (Fset_window_buffer): Fix dedicated window error call.
283         (window_loop, case UNSHOW_BUFFER): Clear dedicated flag.
285         * fileio.c (Finsert_file_contents): Declare `buffer' as unsigned char.
287         * dispnew.c: Include systime.h after xterm.h.
289         * m/tek4300.h (WORDS_BIG_ENDIAN): Define this, not BIG_ENDIAN.
291         * emacs.c (syms_of_emacs), config.h.in:
292         EMACS_CONFIGURATION renamed from CONFIGURATION.
294 1994-05-17  Andreas Schwab  (schwab@issan.informatik.uni-dortmund.de)
296         * eval.c (Fbacktrace): Properly nest parentheses.
297         (Fbacktrace_frame): Don't bomb on invalid frame number.
299 1994-05-17  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
301         * keyboard.c (command_loop_1): Fix test for valid display table entry,
302         for backwards motion.
304         * Makefile.in.in (ALL_LDFLAGS): Add LDFLAGS.
305         (MAKE): Don't override a previous value of MAKE set by configure.
307         * dispnew.c (update_frame): Fix test of outq and baud_rate.
309         * emacs.c (shut_down_emacs): Don't call intern.
311 1994-05-17  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
313         * Version 19.23 released.
315 1994-05-17  Morten Welinder  (terra@diku.dk)
317         * msdos.c (gettimeofday): New function substituting the library
318         function of the same name.
319         (init_gettimeofday): New function.
320         (init_environment): Call init_gettimeofday after possibly
321         setting TZ environment variable.
322         * msdos.h: Add template for init_gettimeofday.
324 1994-05-16  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
326         * buffer.c (fix_overlays_in_range): New function.
327         * editfns.c (Ftranspose_regions): Call it.  Also update point as
328         if it were a marker.
330 1994-05-16  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
332         * xmenu.c (xmenu_show): Completely ignore nameless panes
333         except for the first pane.  Ignore named panes too if KEYMAPS.
335         * widget.c (setup_frame_gcs): Move cursor_bits variable out of
336         setup_frame_gcs and rename to setup_frame_cursor_bits.
338         * eval.c (syms_of_eval): Doc fixes.
340 1994-05-15  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
342         * xterm.c (x_display_box_cursor): Preserve mouse highlight
343         if the old cursor was in it.
345         * editfns.c (Fcurrent_time_zone): Add cast.
347         * s/bsd386.h (LOCALTIME_CACHE): Defined.
349         * m/pmax.h (LOCALTIME_CACHE): Define, if not OSF1.
351         * xfns.c (validate_x_resource_name): Don't let Vx_resource_name
352         have invalid characters.
354 1994-05-14  Morten Welinder  (terra@diku.dk)
356         * msdos.c (crlf_to_lf): Fix off-by-one condition.
358 1994-05-14  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
360         * keyboard.c (bind_polling_period): Never decrease polling_period.
362         * fileio.c (Fdo_auto_save): Save listdesc as an integer, only if open.
363         (do_auto_save_unwind): Corresponding changes.
365         * keyboard.c (echo): Don't echo motion events.
367         * fileio.c (Fcopy_file): Close output before setting its times.
368         Close both before discarding the unwind protects.
370 1994-05-13  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
372         * buffer.c (Foverlay_lists): Doc fix.
373         (Fnext_overlay_change): Doc fix.
375 1994-05-13  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
377         * xterm.c (XTread_socket): For button events, clear compose_status.
379         * Makefile.in.in (LIBXTR6): New variable.  Test HAVE_X11XTR6.
380         (LIBXT): Use it.
381         * config.h.in (HAVE_X11XTR6): Add #undef.
383         * editfns.c (save_excursion_restore): Don't run activate-mark-hook
384         if mark position is unchanged.
386         * emacs.c (main): PRIO_PROCESS renamed to SET_EMACS_PRIORITY.
387         * callproc.c (child_setup): PRIO_PROCESS renamed to SET_EMACS_PRIORITY.
388         Don't call nice if emacs_priority is positive.
389         * sysdep.c (sys_subshell): PRIO_PROCESS renamed to SET_EMACS_PRIORITY.
390         Don't call nice if emacs_priority is positive.
392 1994-05-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
394         * Makefile.in.in: Handle Motif and Open-look.
395         (LIBW): New variable.
396         (LIBXT): Use it.
398         * process.c (POLL_FOR_INPUT): Define, if appropriate.
400 1994-05-12  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
402         * xdisp.c (display_text_line): Fix check for end of buffer.
404 1994-05-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
406         * xterm.c (dumpglyphs): For cursor foreground, try the
407         face's background before the face's foreground.
408         (XTread_socket): Call note_mouse_movement for EnterNotify.
410         * process.c (Fopen_network_stream):
411         Call bind_polling_period; later unbind the binding.
413         * keyboard.c (syms_of_keyboard): Set up Qpolling_period.
414         (bind_polling_period): New function.
416         * callproc.c (init_callproc): Never set Vdata_directory based on
417         the executable's location.  But maybe set it from source dir.
419 1994-05-11  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
421         * systty.h [__GNU_LIBRARY__]: Include <termios.h>.
423 1994-05-11  Frederic Pierresteguy  (F.Pierresteguy@frcl.bull.fr)
425         * xmenu.c (xmenu_show): New var mb_item. Use it to determine the
426         menubar item that led to the menu.
427         (Fx_popup_menu): Suppress duplicate test case in the way to determine
428         whether the menu is handling a menu bar click.
430 1994-05-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
432         * buffer.c (Frename_buffer): Reject empty string as new name.
434 1994-05-10  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
436         * process.c (exec_sentinel): Don't deactivate the mark.
437         Check for asynch buffer switch.
439 1994-05-10  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
441         * s/bsd4-2.h (BSD): Define as 42.
442         (BSD4_2): Define as 1.  This makes it like bsd4-3.h.
444         * floatfns.c: Don't declare logb if it is a macro.
446 1994-05-10  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
448         * keyboard.c (read_char): Preserve echo area on asynch buffer switch.
450 1994-05-10  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
452         * dispnew.c [__GNU_LIBRARY__]: Redefine PENDING_OUTPUT_COUNT even
453         if already defined.
455 1994-05-10  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
457         * fileio.c (Finsert_file_contents) [MSDOS]: Ignore the replace feature.
459         * buffer.c (syms_of_buffer): Doc fix.
461         * keyboard.c (syms_of_keyboard): Doc fix.
463 1994-05-10  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
465         * keyboard.c (safe_run_hooks): New function, extracted from
466         command_loop_1.  Bind inhibit_quit.
468 1994-05-09  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
470         * xmenu.c (string_width): Deleted.
472         * xterm.c (x_set_window_size) [USE_X_TOOLKIT]:
473         Preserve the main widget's x and y position.
475 1994-05-08  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
477         * process.c (process_send_signal): If PREFER_VSUSP,
478         use VSUSP instead of VSWTCH.
479         * s/sco4.h (PREFER_VSUSP): Defined.
480         * s/irix5-0.h (PREFER_VSUSP): Defined.
482         * fileio.c (Fdo_auto_save): Write a list of all auto save file names.
483         (Vauto_save_list_file_name): Specify file name to put them in.
484         (syms_of_fileio): Set up Lisp var.
486 1994-05-07  Morten Welinder  (terra@diku.dk)
488         * callproc.c [MSDOS]: Rename Vbinary_process to Vbinary_process_output.
489         (syms_of_callproc) [MSDOS]: Rename lisp variable binary-process to
490         binary-process-output.
491         (Fcall_process, syms_of_callproc) [MSDOS]: Use new names.
492         (Vbinary_process_input) [MSDOS]: New variable.
493         (syms_of_callproc) [MSDOS]: Declare binary-process-input.
494         (Fcall_process_region) [MSDOS]: Bind binary-process-input temporarily
495         to buffer-file-type.
496         (init_callproc) [MSDOS]: Don't add lib-src as the wrapped binaries
497         are in bin.
499 1994-05-07  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
501         * buffer.c (Qbuffer_file_type): Var deleted.
502         * callproc.c (Qbuffer_file_type): Var added.
504         * keyboard.c (read_char): Don't test do_mouse_tracking;
505         instead, do prepare_menu_bars only if commandflag > 1.
506         (read_char): Do call add_command_key for mouse-movement events.
507         Test detect_input_pending, not EVENT_QUEUES_EMPTY, for kbd menus.
508         But don't test either one for mouse menus.
510         * undo.c (record_delete): Record the old point value
511         only right after a boundary.
513 1994-05-06  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
515         * s/dgux5-4r3.h: Use dgux5-4r2.h under new name.
517         * puresize.h (PURESIZE): Increase to 235000 and 205000.
519 1994-05-06  Morten Welinder  (terra@diku.dk)
521         * s/msdos.h: Define NO_MATHERR.
522         * floatfns.c: Don't guard DOMAIN && SING && OVERFLOW check by
523         an #ifndef MSDOS.
525 1994-05-06  Francesco Potortì  (pot@cnuce.cnr.it)
527         * m/delta.h (SYSTEM_MALLOC): Deleted.  The problem isn't there.
529 1994-05-06  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
531         * xterm.c (x_set_offset): Set gravity and size hint
532         before moving the window.
534         * keyboard.c (make_lispy_event): Ignore mouse events for deleted frame.
536         * xterm.c (XTread_socket):
537         For ReparentNotify, use x_top_window_to_frame.
538         Also recompute frame position using x_real_positions.
539         For ConfigureNotify, don't ignore send_events.
540         Also recompute frame position using x_real_positions.
542 1994-05-05  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
544         * window.c: Use PT, not point.
545         (Fdelete_other_windows): Do nothing if w->start is outside region.
546         Don't temporarily move point when recomputing window position.
548 1994-05-05  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
550         * xfns.c (x_real_positions): New function.
552         * keyboard.c (make_lispy_movement): Don't call pixel_to_glyph_coords
553         if FRAME is 0.
555         * xterm.c (x_set_offset): Update XNegative and YNegative for new pos.
556         (x_calc_absolute_position): Clear XNegative and YNegative.
558         * xrdb.c (x_load_resources) [USE_X_TOOLKIT]: Don't call XrmInitialize.
560         * keymap.c (describe_map): Ignore bindings for all except
561         symbols and integers.
563         * unexelfsgi.c (unexec): Handle debugging info properly.
565         * s/freebsd.h: Don't use netbsd.h.  Do all those things right here.
567 1994-05-05  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
569         * xmenu.c (Fx_popup_menu): Restore accidentally-deleted call to
570         mouse_position_hook.
571         (xmenu_show): Disallow empty menus.
573 1994-05-05  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
575         * keyboard.c (last_point_position_buffer): New variable.
576         (command_loop_1): Set it.
577         * undo.c (record_delete): Test it.
578         * commands.h (last_point_position_buffer): Declared.
580         * Makefile.in.in: Put in a separator for where to start cpp procssing.
581         Above that, use Make-style comments.
582         This goes with changes in ../configure.in.
584 1994-05-04  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
586         * s/isc4-0.h (NEED_SIOCTL, ISC4_0): Declared.
588         * sysdep.c: Test ISC4_0 along with TIOCGWINSZ.
590         * process.c (wait_reading_process_input): Don't call prepare_menu_bars
591         unless we are going to redisplay for a garbaged frame.
592         (read_process_output): Call prepare_menu_bars if waiting for input.
593         (exec_sentinel): Call prepare_menu_bars if waiting for input.
595         * s/dgux5-4r3.h, s/dgux5-4r2.h: Renamed from ..4R..
597         * eval.c (error): Fix logic in call to xmalloc/xrealloc.
599         * xterm.c (x_make_frame_invisible): Use XWithdrawWindow again.
601         * s/sol2.h, s/sol2-3.h (LD_SWITCH_SYSTEM):
602         Use ./prefix-args, not -Xlinker directly.
604 1994-05-03  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
606         * xfns.c (x_set_cursor_color): Fix typo.
608         * xselect.c (x_own_selection): Catch errors around XSetSelectionOwner.
610         * buffer.c (syms_of_buffer): Doc fix.
612         * xdisp.c (display_text_line): Since HPOS is negative, avoid
613         writing before the beginning of the charstarts line.
615         * minibuf.c (read_minibuf): Clear previous_echo_glyphs.
617 1994-05-02  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
619         * dired.c (file_name_completion_stat): Use both lstat and stat.
621 1994-05-02  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
623         * xterm.c (show_mouse_face): Fix test for cursor in highlighted area.
624         (note_mouse_highlight): Reorder test for simplicity.
625         (note_mouse_highlight, show_mouse_face, clear_mouse_face,
626         x_destroy_window): Use row/col instead of buffer position to keep
627         track of highlighted area.
629 1994-05-02  Francesco Potortì  (pot@cnuce.cnr.it)
631         * m/delta.h (SYSTEM_MALLOC): Defined, since GNU malloc does not work.
632         (BCOPY_UPWARD_SAFE): Defined to 0 for the Green Hills compiler.
634 1994-05-02  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
636         * process.c (create_process): Undo April 19 setsid change.
638 1994-05-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
640         * xterm.h (struct x_display): New field size_hint_flags.
641         * xfns.c (Fx_create_frame): Set the size_hint_flags field.
642         Don't call x_calc_absolute_position.
643         * xterm.c (x_calc_absolute_position): Use size_hint_flags.
644         New FLAGS arg deleted.  Callers changed.
646         * xfns.c (x_figure_window_size): Handle `-' for top or left.
647         (Fx_parse_geometry): Handle one element at a time.
648         Give `-' when appropriate.
649         (x_figure_window_size): Allow just height or just width.
651         * xterm.c (x_wm_set_size_hint): Don't try to handle negative positions.
652         (x_calc_absolute_position):
653         New arg FLAGS.  Use XNegative and YNegative.
654         (x_set_offset): Pass new arg.
656         * xfns.c (x_figure_window_size): Set USPosition only if user-position
657         is non-nil; otherwise, if pos is specified, set PPosition.
658         Likewise for USSize and PSize.
659         (Fx_create_frame): Use XNegative and YNegative to set win_gravity.
660         [USE_X_TOOLKIT] (x_window): Use XNegative and YNegative
661         to set win_gravity.  Pass new arg to x_calc_absolute_position.
663         * editfns.c (Ftranspose_regions): Take addresses only after move gap.
664         Cast result of alloca.  Use xmalloc instead, for large objects.
665         Always copy the middle portion directly; never put it in temp.
666         Always move the gap to START1 or END2, whichever is nearer.
668         * keyboard.c (Ftrack_mouse): Call prepare_menu_bars at the start.
669         (read_char): Don't call prepare_menu_bars if doing mouse tracking.
671 1994-04-30  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
673         * puresize.h (PURESIZE) [MULTI_FRAME]: Increase to 232000.
675 1994-04-30  Paul Reilly  (pmr@churchy.gnu.ai.mit.edu)
677         * s/dgux5-4R3.h: New file.
679         * s/dgux5-4R2.h: New file.
681         * s/dgux.h (SVR4): Make conditional on ELF environment.
682         (INTERRUPT_INPUT, ORDINARY_LINK): Set by default.
683         (C_COMPILER, LINKER and MAKE_COMMAND): Remove.
685         * process.c (IN_ADDR, NUMERIC_ADDR_ERROR): Made conditional on
686         HAVE_BROKEN_INET_ADDR.
688 1994-04-30  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
690         * keyboard.c (record_asynch_buffer_change): Block SIGIO.
691         (force_auto_save_soon): Call record_asynch_buffer_change.
693         * emacs.c (memory_warning_signal): Call force_auto_save_soon.
695         * keyboard.c (force_auto_save_soon): New function.
697         * process.c (Fopen_network_stream): Retry the connect if EADDRINUSE.
698         Ignore EISCONN.
700 1994-04-29  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
702         * eval.c (init_eval): Initialize when_entered_debugger to -1.
704 1994-04-29  Jim Blandy  (jimb@totoro.bio.indiana.edu)
706         * data.c (Ffset, Ffmakunbound): Signal an error if SYM is nil or t.
708 1994-04-29  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
710         * data.c, floatfns.c, lread.c [MSDOS]: Re-enable some #undef's.
712 1994-04-29  Karl Fogel  (kfogel@phylo)
714         * editfns.c (Ftranspose_regions): New function.
715         (transpose_markers): Helper func for above.
716         (syms_of_frame): Call defsubr for Stranspose_regions.
718 1994-04-29  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
720         * xterm.h (x_mouse_grabbed): Declared.
721         * xmenu.c (xdialog_show): Clear x_mouse_grabbed.
723         * frame.c (Fframe_live_p): Alternative defn for not MULTI_FRAME.
724         (syms_of_frame): Call defsubr for it.
726         * process.c: Doc fixes.
728         * xterm.c (x_wm_set_size_hint): Always set PWinGravity.
729         Rename the args.  Compute x and y fields from negative positions.
730         Use XGetWMNormalHints if X11R4 or newer.
731         (x_make_frame_visible): Call x_set_offset only if not USE_X_TOOLKIT.
732         (x_make_frame_invisible): Call x_wm_set_size_hint.
733         (x_set_offset): Pass 0 as 3rd arg to x_wm_set_size_hint.
734         (x_set_window_size): Likewise.  Set win_gravity field here if nec.
736         * xfns.c (Fx_create_frame): Pass 0 as 3rd arg to x_wm_set_size_hint.
737         (x_figure_window_size): Fix typo setting XNegative.
739         * minibuf.c (Fminibuffer_complete): Add third arg to Fset_window_start.
741         * buffer.c (init_buffer_once): Initialize buffer_file_type field right.
743         * m/dos386.h (HAVE_MOUSE): Defined.
744         (PURESIZE): Increase value.
746         * xdisp.c (decode_mode_spec): Fix handling of `%t'.
748         * msdos.c, dosfns.c: Finish downcasing mouse_init1, mouse_off,
749         mouse_check_moved, mouse_pressed, mouse_released, mouse_on, mouse_init.
751         * dispnew.c (update_frame): Fix previous change:
752         Unconditionally bzero at the end.
754 1994-04-29  Morten Welinder  (terra@diku.dk)
756         * msdos.c (visible_bell): Now static.  Make the asm volatile.
757         Don't expect register %gs to survive calls to other functions
758         (just to be safe, %gs will survive at present).
760         * keyboard.c (make_lispy_movement): If HAVE_MOUSE then include
761         the mouse handling code.
762         * msdos.c (glyph_to_pixel_coords, pixel_to_glyph_coords):
763         New functions imitating those in xterm.c.
765         * s/msdos.h (getppid): Definition deleted.
767         * msdos.c (dos_rawgetc): Key numbers are biased by 0xff00.
769         * dosfns.c (Fmode25, Fmode4350): Clean up the coding and return
770         a well-defined value.
771         (syms_of_dosfns): Doc fix.
773 1994-04-29  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
775         * keymap.c (Fsingle_key_description): Undo previous change.
776         (describe_map): Skip string entries.
778         * minibuf.c (do_completion): Initialize vars before gcpro.
780 1994-04-29  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
782         * dispnew.c (update_frame): Move those assignments even farther down.
784         * xterm.c (x_wm_set_size_hint): Don't set PMaxSize.
785         Don't touch win_gravity field if no PWinGravity.
787 1994-04-28  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
789         * print.c: Doc fixes.
791         * keymap.c (describe_map_tree, describe_buffer_bindings): gcpro stuff.
792         (describe_buffer_bindings): Delete unused code.
794 1994-04-28  Per Abrahamsen  (abraham@research.att.com)
796         * keymap.c (Fsingle_key_description): Accept strings as keys since
797         the buffer menu uses them.
799 1994-04-28  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
801         * dispnew.c (update_frame): Move assignments to current_frame
802         and desired_frame.
804         * floatfns.c (logb): Test HPUX, not hpux.
806         * s/sunos4-1.h (LIBS_SYSTEM): #if 0'd.
808         * xmenu.c (Fx_popup_menu): Doc fix.
810         * xfns.c (x_window) [USE_X_TOOLKIT]: Call XSetWMHints.
812 1994-04-28  Michael D. Ernst  (mernst@monozygote.research.microsoft.com)
814         * fileio.c (inhibit-file-name-handlers): Correct documentation.
816 1994-04-28  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
818         * xterm.c (XTread_socket): Only top window cares about LeaveNotify.
820         * frame.c (Fframe_parameters) [!MULTI_FRAME]: Unstub it again.
822 1994-04-28  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
824         * emacs.c (syms_of_emacs): Doc fix.
826         * callproc.c (child_setup): Test PRIO_PROCESS, as in sys_subshell.
828         * m/hp800.h: Renamed from hp9000s800.h.
829         (hp9000s800): Undo previous change.
831         * process.c (create_process): If vfork fails, close forkin and forkout.
833 1994-04-27  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
835         * xterm.c (x_make_frame_visible): Use XtMapWidget, not XtPopup.
837         * m/hp9000s800.h (hp800): Define this instead of hp9000s800.
839         * Makefile.in.in (mostlyclean): Remove liblw.a.
841         * lread.c (read1): Allow `\C- ' and `\C-?'.
843 1994-04-27  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
845         * unexmips.c (unexec): Cast pointers.
846         Fix error message.
848         * Makefile.in.in: Use C-style comments.
850         * frame.c (Fframe_parameters) [!MULTI_FRAME]: Replace with stub.
851         (Fframe_parameters, Fmodify_frame_parameters) [!MULTI_FRAME]:
852         Remove extra docstring.
854 1994-04-27  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
856         * s/sunos4-0.h (LD_SWITCH_SYSTEM): Undo previous change.
858         * xterm.c (XTread_socket, case ClientMessage): Don't call
859         XSetInputFocus if event is not for an existing frame.
861         * xmenu.c (xmenu_show, xdialog_show):
862         If we unread some events, set interrupt_input_pending.
864         * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Never pass motion
865         events to the toolkit.
867         CONFIGURATION now comes via config.h.
868         * Makefile.in.in (emacs.o): Use the default .c.o command.
869         (configuration): Make variable deleted.
870         * config.h.in (CONFIGURATION): Add #undef.
872         * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Undo previous change.
873         (x_wm_set_size_hint): Do set max_height, max_width, and PMaxSize flag.
875 1994-04-26  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
877         * process.c (create_process) [HAVE_TERMIOS && LDISC1]: Use tcsetattr.
879 1994-04-26  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
881         * alloc.c (mark_object, case frame): Mark menu_bar_vector field.
883 1994-04-25  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
885         * keyboard.c (Vunread_command_events):
886         Renamed from unread_command_events.
887         All uses changed.
888         * command.h (Vunread_command_events): Renamed.
889         * lread.c (read_filtered_event): Use Vunread_command_events.
890         * minibuf.c (temp_echo_area_glyphs): Use Vunread_command_events.
892         * keyboard.c (read_char): Don't use menus if we have events waiting.
894         * xterm.c (XTread_socket) [USE_X_TOOLKIT]: Let toolkit handle
895         menu bar click.
897 1994-04-25  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
899         * insdel.c: Use PT, not point.
900         (gap_left, gap_right, adjust_markers): Make these functions static.
901         (adjust_point): New function.
902         (insert_1, insert_from_string_1, del_range_1): Use it.
904         * xterm.c (x_term_init): Add explicit cast.
905         (XTmouse_position): Don't use last_mouse_frame if it's dead.
906         (XTread_socket): Ditto.
908         * textprop.c (F*_property_change): Typecheck limit argument.
910 1994-04-25  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
912         * xdisp.c (syms_of_xdisp): Set up Qmenu_bar_update_hook.
913         (update_menu_bar): Run that hook.
914         Fix failure to update menu bar when w->update_mode_line was nil.
916         * frame.h (struct frame): New fields menu_bar_vector and
917         menu_bar_items_used.
918         * frame.c (make_frame): Initialize fields menu_bar_vector and
919         menu_bar_items_used.
921         * keyboard.c (menu_bar_item): Put a list of keymaps into the third
922         slot of an item in menu_bar_items_vector.
924 1994-04-24  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
926         * fileio.c (Finsert_file_contents): Fix accessing buffer_file_type
927         since it is t or nil.  Change to handle t or nil as value
928         of find-buffer-file-type.
930         * buffer.c (Fkill_all_local_variables): Doc fix.
932 1994-04-23  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
934         * process.c (create_process): Use SETUP_SLAVE_PTY only if pty_flag.
935         Likewise for child_setup_tty.
937         * window.c (Fselect_window): Use Fselect_frame.
939         * frame.c (Fset_frame_selected_window): New function.
940         (syms_of_frame): Set up Lisp function.
942         * lisp.h (Vascii_canon_table, Vascii_eqv_table): Declared.
944         * buffer.c (reset_buffer_local_variables): Use Vascii_eqv_table
945         and Vascii_canon_table.
947         * window.c: Implement special frames for specified buffers.
948         (Vspecial_display_buffer_names, Vspecial_display_regexps)
949         (Vspecial_display_function): New variables.
950         (syms_of_window): Set up Lisp variables.
951         (Fdisplay_buffer): Handle them.
953 1994-04-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
955         * Makefile.in.in (alloca.o): Use config_h.
956         (config_h): Use M_FILE and S_FILE.
957         (S_FILE, M_FILE): New variables hold names of config files.
959         * fileio.c (syms_of_fileio): New Lisp var inhibit-file-name-operation.
960         (Ffind_file_name_handler): Obey that variable.  Use new meaning
961         for inhibit-file-name-handlers.
963         * config.h.in (HAVE_LIBRESOLV): Add #undef.
964         * s/sunos4-1.h (LIBS_SYSTEM): Test HAVE_LIBRESOLV, not HAVE_RES_INIT.
965         Do not test HAVE_GETHOSTNAME.
967         * s/sunos4-1.h (LIBS_SYSTEM): Invert the HAVE_RES_INIT condition.
969 1994-04-22  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
971         * fileio.c (Ffind_file_name_handler): New argument OPERATION.
972         All callers changed.
974 1994-04-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
976         * process.c (max_process_desc): New variable.
977         (wait_reading_process_output): Don't look for process output
978         beyond that many bits.
979         (create_process, Fopen_network_stream, deactivate_process): Update it.
980         (init_process): Initialize it.
982         * frame.c (Fmouse_pixel_position, Fset_mouse_pixel_position):
983         New functions.
984         (syms_of_frame): Set up Lisp functions.
986         * xterm.c (x_set_mouse_pixel_position): New function.
988 1994-04-21  Simon Leinen  (simon@lia.di.epfl.ch)
990         * process.c (send_process): If fpathconf fails, use 250.
992 1994-04-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
994         * emacs.c (init_cmdargs): Check only for etc and lib-src subdirs
995         when setting Vinstallation_directory.
996         (syms_of_emacs): Make Lisp vars invocation-name, invocation-directory
997         and installation-directory.
999         * lread.c (init_lread): Maybe put build-time Lisp dirs on load-path.
1001         * callproc.c (init_callproc): Set Vdoc_directory like Vdata_directory.
1003         * lread.c (init_lread): Improve warning message.
1005         * xterm.c (x_make_frame_visible): Args to x_set_offset were swapped.
1007 1994-04-20  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1009         * xterm.h (x_top_window_to_frame): Declare this function.
1011 1994-04-20  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1013         * fns.c: Doc fixes.
1015         * Makefile.in.in (TAGS): Split off included tags file lisp/TAGS.
1016         (../lisp/TAGS): New target uses recursive make.
1017         (ctagsfiles, lisptagsfiles): New variables.
1019         * xfns.c (x_window): Test FRAME_EXTERNAL_MENU_BAR
1020         to decide on calling initialize_frame_menubar.
1022 1994-04-20  Francesco Potortì  (pot@fly.cnuce.cnr.it)
1024         * m/delta.h (HAVE_SOCKETS): Defined if HAVE_INET_SOCKETS is defined.
1026 1994-04-20  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1028         * frame.c (Fmodify_frame_parameters, Fframe_parameters):
1029         Define even if not MULTI_FRAME.
1031         * config.h.in (HAVE_INET_SOCKETS): Add #undef.
1033         * xterm.c (XTread_socket): Delete the non-NEW_SELECTIONS code
1034         and simplify the toolkit conditional for those cases.
1036         * xterm.c (XTread_socket, case ClientMessage):
1037         Always use x_window_to_frame.
1039         * xfns.c (x_top_window_to_frame): New function.
1041 1994-04-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1043         * process.c (create_process): Call setsid only if pty_flag.
1045         * xterm.c (x_make_frame_invisible): Explicitly clear visible and
1046         iconified flags, as well as the async flags.
1048 1994-04-19  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1050         * keymap.c (describe_map): Merge with describe_map_2.
1051         (describe_map_tree, describe_map): Skip keymaps we've seen before.
1053         * keyboard.c (read_avail_input): Don't retry read.
1055 1994-04-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1057         * keyboard.c (Vlast_event_frame): Define unconditionally.
1058         (syms_of_keyboard): Always make the Lisp var.
1060         * Makefile.in.in (${etc}DOC): Delete redundant version.el from cmd.
1062 1994-04-19  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1064         * keyboard.c (read_avail_input): Test EINTR, not EAGAIN.
1065         Write loop as a do-while.
1067         * puresize.h (PURESIZE) [!MULTI_FRAME]: Increase to 200000.
1069 1994-04-18  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1071         * xterm.c (XTread_socket): Call XSetInputFocus.
1073 1994-04-18  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1075         * config.h.in (EMACS_INT, EMACS_UINT): Omit if NOT_C_CODE.
1077 1994-04-18  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1079         * mem-limits.h (get_lim_data): Handle NO_LIM_DATA.
1081         * xterm.c (x_make_frame_invisible) [USE_X_TOOLKIT]: Use XtPopdown.
1082         (XTread_socket): Call _XEditResCheckMessages only if HAVE_X11R5.
1084         * m/convex.h (CRT0_DUMMIES): Ignore one arg.
1085         (LIBS_TERMCAP): Use the system's termcap.
1087         * process.c (create_process): Fix previous change.
1089 1994-04-17  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1091         * xfns.c (Xatom_editres_name): Declared.
1092         (Fx_open_connection): Initialize it.
1093         * xterm.c (Xatom_editres_name): Variable defined.
1094         (XTread_socket): Handle that kind of message.
1095         (x_term_init): Specify -name option in XtAppInitialize.
1097         * xterm.c (Qface, Qmouse_face): Supply missing Lisp_Object.
1099         * config.h.in (EMACS_INT, EMACS_UINT): New typedefs.
1101         * casetab.c (set_case_table): Handle nil for EQV with non-nil CANON.
1102         (Fcase_table_p): Accept nil for EQV with non-nil CANON.
1104         * keyboard.c (read_avail_input): Test both aix386 and _BSD.
1106         * window.c (set_window_width):
1107         Don't delete root window for being too narrow.
1109         * xterm.c (dumpglyphs): When HL=2, check explicitly for using
1110         the frame's default font or not.
1112         * keyboard.c (read_char_x_menu_prompt): Don't check for value = nil
1113         if value was originally a cons.
1115         * xmenu.c (xmenu_show): Fix typo in last change.
1117 1994-04-16  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1119         * frame.c (Fmouse_position): Don't clip.
1120         * keyboard.c (make_lispy_movement): Don't clip.
1122 1994-04-16  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1124         * s/netbsd.h: Add NO_SHARED_LIBS conditional.
1125         * s/freebsd.h: Rewrite to use netbsd.h and define NO_SHARED_LIBS.
1127         * keyboard.c (read_avail_input): Fix previous change--test _BSD.
1129         * data.c (Fsetq_default): Doc fix.
1131         * eval.c (Fsetq): Doc fix.
1133         * Makefile.in.in (configuration): Use SET_MAKE to get
1134         the value of $(MAKE).
1136 1994-04-15  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1138         * keyboard.h (map_prompt): Declared.
1140         * xmenu.c (xmenu_show): Don't cons on subprefix_stack[j] if nil.
1142         * keyboard.c (read_avail_input): Don't generate SIGHUP of aix386;
1143         only on other AIX systems.
1145         * xterm.c (XTread_socket):
1146         For UnmapNotify, use x_any_window_to_frame.
1148         * process.c (create_process): Test TIOCSETD along with NTTYDISC.
1150         * frame.c (Fset_frame_position): Pass new arg to x_set_offset.
1152         * xterm.c (x_set_offset): New arg CHANGE_GRAVITY.
1153         (x_make_frame_visible): Pass new arg.
1155         * xfns.c (Fx_create_frame): Delete excess args to x_wm_set_size_hint.
1157         * xterm.c (x_wm_set_size_hint): Args spec_x and spec_y deleted.
1158         (x_set_offset, x_set_window_size): Don't pass those args.
1160         * fileio.c (Finsert_file_contents): Fix test for unchanged file.
1162         * xterm.c (x_destroy_window): Just clear out mouse_face... vars.
1164         * keyboard.c (syms_of_keyboard): Init and staticpro system_key_syms.
1165         (modify_event_symbol): Use the cdr of the alist entry.
1166         Whenever value is nil, intern a new symbol.
1168         * Makefile.in.in (LIBX): Put LIBXT after LD_SWITCH_X_SITE.
1170 1994-04-15  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1172         * xdisp.c (fix_glyph) [HAVE_X_WINDOWS]: When glyph face is 0, use
1173         the computed face as given.
1175         * keyboard.c (read_avail_input): Fix comment delimiter.
1177         * m/pmax.h (C_SWITCH_X_MACHINE): Add -DNeedVarargsPrototypes=0.
1179 1994-04-14  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1181         * scroll.c (calculate_scrolling): Add explicit casts.
1183 1994-04-14  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1185         * xterm.c (x_wm_set_size_hint): Use win_gravity from frame.
1187         * xterm.h (x_display): New field win_gravity.
1188         * xfns.c (Fx_create_frame): Set win_gravity field.
1190         * xfns.c (x_window, both versions):
1191         Don't call x_calc_absolute_position.
1192         * xterm.c (x_make_frame_visible): Call x_set_offset.
1194         * xterm.c (x_make_frame_visible): Don't call XMapSubwindows.
1195         (x_iconify_frame): Likewise.
1197         * s/isc4-0.h (LIBS_SYSTEM): Defined.
1199         * keyboard.c (make_lispy_event): Put mouse event code
1200         into MULTI_FRAME conditional.
1202         * xfns.c (Fx_list_fonts): Error if non-X frame used.
1204         * xdisp.c (update_menu_bar): Take frame as arg.
1205         (update_menu_bars): Function deleted.
1206         (prepare_menu_bars): Call update_menu_bar; do it for all frames.
1207         Simplify computation of all_windows; ignore irrelevant criteria.
1209         * xterm.h (HAVE_X11R4): If we define HAVE_X11R5, define this too.
1211         * xterm.c (pending_autoraise_frame): New variable.
1212         (x_new_focus_frame): Don't autoraise here; just set that var.
1213         (XTread_socket): Raise that frame here.
1215 1994-04-13  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1217         * emacs.c (inherited_pgroup): Conditionalize on BSD_PGRPS.
1219         * s/netbsd.h (TABDLY): Defined.
1221         * doc.c, fileio.c, unexsunos4.c [HAVE_UNISTD_H]: Include unistd.h.
1223         * dired.c (Ffile_attributes): Cast st_size to int.
1225         * xmenu.c (last_menu_bar_item_end): New variable.
1226         (xmenu_show): Set that var.
1227         (other_menu_bar_item_p): Return 0 if mouse is not in any menu bar item.
1229         * keymap.c (describe_map_tree): Fix call to Flookup_key.
1231         * xfns.c (x_window): Don't call initialize_frame_menubar
1232         if no menu bar.
1233         (Fx_create_frame): Default menu-bar-lines parm before calling x_window.
1235 1994-04-13  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1237         * dispnew.c (Vglyph_table): Doc fix.
1239         * frame.c (Fmouse_position) [MULTI_FRAME]: Use pixel_to_glyph, not
1240         glyph_to_pixel.  Skip the conversion if args are nil.
1241         [!MULTI_FRAME]: All results are nil.  Remove extra docstring.
1243         * window.c (Fnext_window, Fprevious_window, Fdisplay_buffer): Test
1244         MULTI_FRAME when frame-walking.
1245         (Fset_window_configuration): Only call X fns if HAVE_X_WINDOWS.
1247         * fns.c (Fy_or_n_p, Fyes_or_no_p): Test HAVE_X_MENU in popup code.
1249 1994-04-13  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1251         * indent.c (compute_motion): Do not abort if window shows some
1252         other buffer.
1253         (Fcompute_motion): Use whatever buffer is current.
1255 1994-04-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1257         * s/bsd4-2.h (BSD): Give it a number as definition.
1259         * s/sol2-3.h: Fix #include file name.
1261         * xterm.c (x_destroy_window): Call clear_mouse_face if necessary.
1263         * xmenu.c (xmenu_show, xdialog_show): Add casts in assignments
1264         to widget_value fields from string contents.
1265         (dispatch_dummy_expose): Cast arg to XtDispatchEvent.
1266         [!USE_X_TOOLKIT] (xmenu_show): Right-justify char equivalents.
1267         Use alloca for concatenated strings, if alloca is fast.
1269         * lisp.h (Fprocess_send_eof, Foverlay_get): Declared.
1271         * keymap.c (Fkey_binding): Declare accept_default.
1273         * sysdep.c (sys_siglist) [sun]: Check SIGFREEZE and SIGTHAW defined.
1275 1994-04-12  Per Bothner  (bothner@cygnus.com)
1277         Provide a hook for elisp to signal a changed window size
1278         to a process inferior.
1279         * sysdep.c (set_window_size): New function.
1280         * process.c (Fset_process_window_size): New function.
1282 1994-04-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1284         * eval.c (specbind): Use find_symbol_value.
1286         * xfaces.c (frame_update_line_height): Don't call x_set_window_size.
1287         Return 1 if line_height changed.
1288         (Fset_face_attribute_internal): Call x_set_window_size here if nec.
1289         * xterm.c (x_new_font): Always call x_set_window_size.
1291         * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Use XtTranslateCoords.
1293         * process.c (send_process): Test pty_flag field for nil, not 0.
1295 1994-04-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1297         * s/sunos4-0.h (LD_SWITCH_SYSTEM): Alternate definition if __GNUC__.
1299         * callproc.c: If we include fcntl.h, define INCLUDED_FCNTL.
1300         * systty.h: Check for INCLUDED_FCNTL already defined.
1302         * xterm.c (x_wm_set_size_hint): If PROMPTING is 0,
1303         copy the old win_gravity field.
1304         If USPosition is set, don't set PWinGravity.
1306         * keyboard.c (read_avail_input): Separate local var n_to_read
1307         so that reading doesn't clobber that info when it sets nread.
1309         * s/isc4-0.h (LIBS_SYSTEM): Defined.
1311         * emacs.c (main): Fix typo in prev. change.
1313         * Makefile.in.in (temacs): Include ${ALL_LDFLAGS} within
1314         the call to YMF_PASS_LDFLAGS.
1316 1994-04-11  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1318         * keyboard.c (make_lispy_event): Initialize item.
1320         * indent.c (vmotion): Use minibuf_prompt_width despite window-start.
1322         * print.c (printchar, strout): Use FRAME_PTR, not struct frame *.
1324         * frame.c (Fmouse_position) [!MULTI_FRAME]: Declare col and row.
1326 1994-04-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1328         * keyboard.c (make_lispy_movement): Conditionalize on MULTI_FRAME.
1329         (kbd_buffer_get_event): Call make_lispy_movement only if MULTI_FRAME.
1331         * xselect.c (x_decline_selection_request): Call XFlushQueue.
1333         * eval.c (Fsetq): Doc syntax fix.
1334         * print.c (syms_of_print): Doc syntax fix.
1335         * editfns.c (Fuser_real_login_name): Doc syntax fix.
1336         * data.c (Fsetq_default, Fmake_local_variable): Doc syntax fix.
1338 1994-04-10  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1340         * xterm.c (x_wm_set_size_hint): If change_gravity is 0,
1341         just don't set the gravity.
1343 1994-04-09  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1345         * xterm.c (dumpglyphs): Clear any extra pixel rows below the text.
1347         * xfns.c (x_figure_window_size): Don't call x_calc_absolute_position.
1348         (x_window): Separate into two alternative definitions.
1349         Call x_calc_absolute_position here.
1351         * widget.c (EmacsFrameSetCharSize): Do not attempt to preserve
1352         the window position.
1354         * xfns.c (Fx_list_fonts): Doc fix.
1356         * buffer.c (Vafter_change_functions, Vbefore_change_functions):
1357         New variables.
1358         (syms_of_buffer): Set up Lisp vars.
1359         * buffer.h (Vafter_change_functions, Vbefore_change_functions):
1360         Declared.
1362         * insdel.c (before_change_functions_restore)
1363         (after_change_functions_restore): New functions.
1364         (signal_before_change): Handle Vbefore_change_functions.
1365         (signal_after_change): Handle Vafter_change_functions.
1367         * cmds.c (internal_self_insert): Test Vafter_change_functions,
1368         Vbefore_change_functions.
1370         * xfaces.c (frame_update_line_height): Check param_faces[i] not null.
1372         * emacs.c (main): Handle EXTRA_INITIALIZE.
1374         * s/isc4-0.h: New file.
1376         * keymap.c (get_keymap): Pass 1 as ERROR to get_keymap_1.
1377         (get_keyelt): New arg AUTOLOAD means load keymaps indirected thru.
1378         All callers changed; most pass 0.
1379         (Fdefine_key, Flookup_key): Load all the keymaps we look in.
1381         * editfns.c (make_buffer_string): Copy properties whenever we
1382         have some, even if they don't change.
1384         * xterm.c (x_display_box_cursor): Explicitly clear full height of line.
1385         (dumpglyphs): New arg just_foreground.  Callers changed.
1386         (x_set_window_size): Call XSync.
1388         * xterm.c (note_mouse_highlight): Do nothing if buffer has changed.
1390         * xterm.c (x_new_font): Fix setting line_height.
1392         Support fonts of different heights, using tallest as line height:
1394         * xfaces.c (frame_update_line_height): New function.
1395         (Fset_face_attribute_internal): Call that.
1397         * xterm.c (x_new_font): If frame is new, set line_height field.
1398         Otherwise call frame_update_line_height.
1400         * xterm.h (struct x_display): New field line_height.
1401         (VERTICAL_SCROLL_BAR_PIXEL_HEIGHT, PIXEL_TO_CHAR_ROW)
1402         (CHAR_TO_PIXEL_ROW): Use line_height field.
1404         * xterm.c (stufflines, scraplines, dumprectangle, x_do_pending_expose)
1405         (pixel_to_glyph_coords, x_draw_box, clear_cursor, x_display_bar_cursor)
1406         (x_set_resize_hint, x_set_mouse_position, x_wm_set_size_hint)
1407         (XTclear_end_of_line, redraw_previous_char): Use line_height field.
1408         * xfns.c (x_char_height): Use line_height field.
1409         * widget.c (get_default_char_pixel_size): Use line_height field.
1410         * dispnew.c (update_line): Use line_height field.
1411         * xmenu.c (Fx_popup_menu): Use line_height field.
1413 1994-04-09  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1415         * indent.c (Fvertical_motion): Use window arg, not selected_window.
1417 1994-04-08  Frederic Pierresteguy  (fp@hal.gnu.ai.mit.edu)
1419         * xterm.c (show_mouse_face): Change the mouse cursor accordingly.
1421         * xterm.h (cross_cursor): New field for struct x_display.
1423         * xfns.c (syms_of_xfns): Define Vx_cross_pointer_shape.
1424         (Vx_cross_pointer_shape): New variable.
1425         (Vx_cross_pointer_shape): Create a mouse face cursor for the mouse-face
1426         properties.
1428 1994-04-08  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1430         * xmenu.c (Fx_popup_dialog): Doc fix.
1431         (list_of_items): Handle nil in item list as left/right boundary.
1432         (push_left_right_boundary): Record the boundary.
1433         (xmenu_show): Disregard a boundary if any.
1434         (xdialog_show): Really obey a boundary.
1436 1994-04-07  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1438         * intervals.h (Qintangible): New symbol, replacing Qhidden.
1439         * textprop.c (syms_of_textprop): Initialize it.
1440         * intervals.c (set_point): Skip past intangible regions.
1442         * term.c (system_uses_terminfo): New variable.
1443         (syms_of_term): New function, to initialize it.
1444         * emacs.c (main): Call syms_of_term.
1446         * termhooks.h (enum event_kind): Add buffer_switch_event.
1447         * keyboard.c (kbd_buffer_get_event): Make it lispy.
1448         (record_asynch_buffer_change): New.  Store it in the event queue.
1449         * process.c (read_process_output): If buffer changes, record that fact.
1451         * minibuf.c (Vminibuffer_exit_hook): New variable.
1452         (read_minibuf): Run hook when exiting minibuffer.
1454         * xdisp.c (copy_part_of_rope): Replace non-glyph with 0.
1456         * insdel.c (insert_1): New function, extracted from insert.
1457         (insert_from_string_1): Likewise, taken from insert_from_string.
1458         (insert, insert_from_string): Call the new functions.
1459         (insert_before_markers, insert_from_string_before_markers): Adjust
1460         the markers before calling the after-change function.
1462 1994-04-07  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1464         * scroll.c (struct matrix_elt): Use int, not short.
1465         Use unsigned char for insertcount and deletecount.
1466         (INFINITY): Increase to 1000000.
1468 1994-04-06  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1470         * minibuf.c (Fminibuffer_prompt_width): Undo previous change.
1471         * xdisp.c (display_text_line): minibuffer_prompt_width is a
1472         distance, not an absolute position.
1474         * editfns.c (Fformat): Reword confusing error message.
1475         * doprnt.c (doprnt): Likewise.
1477         * eval.c (Fsetq): Doc fix.
1479 1994-04-05  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1481         * xdisp.c (display_string): Allow for hpos < 0 when clearing array.
1483         * indent.c (vmotion): Don't use minibuf_prompt_width if
1484         window-start has suppressed the prompt.
1486         * minibuf.c (Fminibuffer_prompt_width): Allow for negative value.
1488         * buffer.c (Fget_buffer_create): Disallow empty string.
1490         * keymap.c (describe_buffer_bindings): Move XSYMBOL to after SYMBOLP.
1491         Exclude trailing null in string copies.
1493         * indent.c (compute_motion): Add window argument.  All callers changed.
1495         * minibuf.c (do_completion): gcpro some things.
1497         * minibuf.c, xdisp.c: Use PT, not point.
1499 1994-04-04  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1501         * textprop.c (Fget_char_property): Doc fix.
1503         * dired.c (file_name_completion): Honor completion-regexp-list.
1505         * search.c (Freplace_match): Don't capitalize unless all matched
1506         words are capitalized.
1508         * buffer.c (verify_overlay_modification): Run modification-hooks
1509         for any deletion that intersects the overlay.
1511 1994-04-04  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1513         * fileio.c (Fdo_auto_save): Don't turn off auto save mode.
1514         Instead, store -1 in b->save_length.  And don't auto save
1515         if there is -1 there.
1517         * xterm.c (note_mouse_highlight): Temporarily widen the buffer.
1519         * xdisp.c (display_text_line): Rename startp to leftmargin.
1520         Use that, not p1start, when checking for char off left edge.
1522         * dispnew.c (verify_charstarts): Handle truncation of lines.
1524         * xdisp.c (mark_window_display_accurate, redisplay):
1525         Set window_end_valid to the buffer displayed, not Qt.
1526         * xterm.c (note_mouse_highlight): Check window still shows that buffer.
1528 1994-04-03  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1530         * xterm.c (show_mouse_face): Turn off cursor only if it's
1531         in the area being manipulated.
1532         (XTupdate_begin): Don't turn off highlight if we aren't updating
1533         the window that it is in.
1535         * buffer.c (overlays_at): Fix previous change.
1537         * lisp.h (gc_in_progress): Declared.
1539         * xterm.c (note_mouse_highlight): Do nothing if gc_in_progress.
1540         Set mouse_face_deferred_gc when that case arise.
1541         (XTframe_up_to_date): If mouse_face_deferred_gc, redo highlighting.
1543         * xdisp.c (display_text_line): Properly handle charstarts for hscroll,
1544         and for continuation in mid character.
1545         (message2): Call frame_up_to_date_hook.
1547         * xterm.c (undefer_mouse_highlight, defer_mouse_highlight): New fns.
1548         * alloc.c (Fgarbage_collect): Call ..._mouse_highlight.
1550         * buffer.c (overlays_at): Use XGCTYPE.
1552         * buffer.h (OVERLAY_POSITION): Use XGCTYPE.
1554         * xmenu.c (Fx_popup_dialog): If POSITION is t, use selected frame.
1556 1994-04-02  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1558         * xdisp.c (redisplay): do_verify_charstarts controls whether to
1559         call verify_charstarts.
1560         Fix one-off when checking for the last line.
1562         * xterm.c (note_mouse_highlight): Reject out-of-range pos value
1563         before it causes an error.
1565         * dispnew.c (verify_charstarts): Count right for continued lines.
1566         (direct_output_for_insert): Add charstarts entry after the new char.
1567         Use the right point value for the inserted character.
1569         * xdisp.c (display_text_line): Always store in charstart
1570         even if at endp.  When clearing charstart, do the whole width.
1572         * dispnew.c (scroll_frame_lines): When updating charstarts,
1573         treat all columns alike--don't zero out any.
1574         Fix end tests of loops over i.
1575         (adjust_window_charstarts): Fix typo.
1577         * xterm.c (fast_find_position): Always return coords within the window.
1579         * xdisp.c (redisplay): Call verify_charstarts.
1581         * dispnew.c (verify_charstarts): New function.
1583         * xdisp.c (redisplay): Don't call adjust_window_charstarts
1584         if on last text line of window.
1586         * xterm.c (note_mouse_highlight): Handle disable_mouse_highlight.
1588 1994-04-01  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1590         * buffer.c (list_buffers_1): Set buffer contents, then mode.
1592 1994-04-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1594         * dispnew.c (scroll_frame_lines): Fix previous changes.
1596 1994-04-01  Frederic Pierresteguy  (fp@hal.gnu.ai.mit.edu)
1598         * xterm.c (x_wm_set_size_hint): Add USE_X_TOOLKIT conditional and call
1599         XtGetValues to get the width and the height of the Emacs frame.
1601         * xdisp.c (update_menu_bar): Pass 0 to set_frame_menubar.
1603         * widget.c (EmacsFrameSetCharSize): Clean up code.
1604         Replace XtVaSetValues by XtSetValues.
1606 1994-04-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1608         * xterm.c (construct_menu_click, construct_mouse_click):
1609         Use XSET when setting result->x and result->y.
1611         * xmenu.c (xmenu_show): Undo part of March 11 change:
1612         Do call lw_destroy_all_widgets at the end.
1614         * dispnew.c (scroll_frame_lines): Typo in previous change.
1615         Arg POS_ADJUST replaced with arg NEWPOS.
1616         * xdisp.c (try_window_id): Pass new arg to scroll_frame_lines.
1618         * xdisp.c (redisplay): In previous change, handle case where
1619         no newline follows.
1621         * xterm.c (note_mouse_highlight): Use the value from sort_overlays.
1622         Make the window's buffer current temporarily.
1623         window_end_pos is relative to Z, not ZV.
1625 1994-03-31  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1627         * dispnew.c (adjust_window_charstarts): New function.
1628         (direct_output_for_insert): Call it.
1629         (make_frame_glyphs): If EMPTY, don't leave junk in ->total_charstarts.
1631         * xdisp.c (redisplay): Call adjust_window_charstarts
1632         to update the charstarts of following lines.
1634 1994-03-31  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1636         * callproc.c (child_setup): Check out==err when relocating fds.
1638 1994-03-31  Frederic Pierresteguy  (fp@hal.gnu.ai.mit.edu)
1640         * xfns.c (x_window) [USE_X_TOOLKIT]: When doing geometry management,
1641         don't compute the size of the menubar if there is no menubar.
1643 1994-03-31  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1645         * xterm.c (XTread_socket, MotionNotify and LeaveNotify cases):
1646         If not in any frame, call clear_mouse_face.
1648 1994-03-31  Frederic Pierresteguy  (fp@geech.gnu.ai.mit.edu)
1650         * xterm.h: Define HAVE_X11R4 if AIX3_2 is defined.
1652         * xfns.c (x_window) [USE_X_TOOLKIT]: New args window_prompting and
1653         minibuffer_only.
1654         Don't pass top_pos and left_pos to XtCreatePopupShell.
1655         Call initialize_frame_menubar before creating the Emacs frame if it is
1656         not the minibuffer. Call XtManageChild for the menubar widget if any.
1657         Compute some geometry management.
1658         (Fx_create_frame): Pass window_prompting and minibuffer_only to
1659         x_window.
1660         Don't call x_wm_set_size_hint.
1661         Don't call initialize_frame_menubar.
1663         * xmenu.c (set_frame_menubar): New arg, first_time.
1664         Don't update the menubar the first time it is created via x_window.
1665         (initialize_frame_menubar): Pass 1 to set_frame_menubar.
1667         * widget.c (set_frame_size): Don't compute any geometry management.
1669 1994-03-31  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1671         * xterm.c (x_term_init): Set frame_up_to_date_hook.
1672         (XTframe_up_to_date): New function.
1673         * termhooks.h (frame_up_to_date_hook): Declared.
1674         * term.c (frame_up_to_date_hook): Defined.
1675         * xdisp.c (redisplay): Call frame_up_to_date_hook.
1677 1994-03-30  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1679         * scroll.c (do_scrolling): Handle charstarts like glyphs.
1681         * dispnew.c (scroll_frame_lines): Handle charstarts like glyphs.
1682         (direct_output_for_insert): Likewise.
1683         (preserve_other_columns): Likewise.
1685         * systty.h (INCLUDED_FCNTL): Define, if include fcntl.h.
1686         * xterm.c [INCLUDED_FCNTL]: Don't include fcntl.h again.
1688 1994-03-30  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1690         * minibuf.c (Fminibuffer_prompt, Fminibuffer_prompt_width): New funcs.
1692 1994-03-29  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1694         * indent.c (Fcompute_motion): Doc fix.
1695         (Fcompute_motion): Don't use XFASTINT on possibly-negative coords.
1697 1994-03-29  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1699         * dispnew.c (update_line): Update charstarts like glyphs.
1701 1994-03-29  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1703         * systime.h (EMACS_TIME_NEG_P): Cast to signed.
1705 1994-03-29  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1707         * xterm.c (XTupdate_begin): Turn off mouse face display, and defer it.
1708         (XTupdate_end): Undefer.
1709         (mouse_face_defer): New variable.
1710         (mouse_face_mouse_frame, mouse_face_mouse_x, mouse_face_mouse_y):
1711         New variables.
1713         * xfaces.c (compute_char_face): New arg MOUSE.
1714         (Qmouse_face): New variable.
1715         (syms_of_xfaces): Initialize Qmouse_face.
1716         * xterm.c (dumpglyphs): Handle HL = 3 by using mouse_face_face_id.
1717         (note_mouse_movement): Check for mouse face.
1718         (show_mouse_face, fast_find_position): New functions.
1719         (clear_mouse_face): New functions.
1720         (mouse_face_beg, mouse_face_end, mouse_face_face_id): New variables.
1721         (mouse_face_window): New variable.
1722         (syms_of_xterm): Init and staticpro it.
1724         * xdisp.c (display_text_line): Pass new arg to compute_char_face.
1725         Fill in charstarts array.
1726         (display_string): Clear part of charstarts array.
1728 1994-03-29  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1730         * window.c (Fwindow_width): Delete unnecessary variable declarations.
1732         * indent.c (Fcompute_motion): Typecheck all arguments.
1734 1994-03-29  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1736         * xdisp.c (display_text_line): Fill in charstart values.
1738         * dispextern.h (struct frame_glyphs): New fields charstarts
1739         and total_charstarts.
1740         * dispnew.c (make_frame_glyphs):
1741         Initialize charstarts, total_charstarts.
1742         (free_frame_glyphs): Free those fields.
1744 1994-03-28  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1746         * xdisp.c (display_text_line): Handle selective display at window edge.
1748         * dired.c (file_name_completion): Don't step on dirname.
1750         * xterm.c (x_find_modifier_meanings): Skip zero entries.
1752 1994-03-28  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1754         * dired.c (file_name_completion): Protect things from GC.
1756         * buffer.c (verify_overlay_modification):
1757         Copy TAIL before a hook, in case the hook recenters the overlay lists.
1759         * s/dgux.h (LIBS_SYSTEM): Commented out.
1761 1994-03-27  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1763         * fileio.c (Vinhibit_file_name_handlers): New var.
1764         (syms_of_fileio): Set up Lisp var.
1765         (Ffind_file_name_handler): Obey the variable.
1767         * minibuf.c (Vcompletion_regexp_list): New var.
1768         (syms_of_minibuf): Set up Lisp var.
1769         (Ftry_completion, Fall_completions):
1770         Limit possible completions to strings matching those regexps.
1772         * search.c (Freplace_match): Doc fix.
1774 1994-03-26  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1776         * minibuf.c (read_minibuf): Return val via unbind_to.
1778 1994-03-25  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1780         * commands.h (this_command, last_command): Declared.
1782         * minibuf.c (Fminibuffer_complete): Scroll the completion window
1783         in some cases.
1785         * print.c (debug_print): New function.
1786         * .gdbinit (pr): Use debug_print.
1788 1994-03-25  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1790         * frame.c (Fframe_first_window): New function.
1792 1994-03-24  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1794         * editfns.c (Fformat): Validate number and type of arguments.
1796         * xmenu.c (xmenu_show): Enable asynchronous events.
1798         * keymap.c (Fwhere_is_internal): Skip duplicate keybindings.
1800         * xfns.c (x_report_frame_params): Sample visibility.
1801         (x_get_arg): Use downcased string in compare.
1803         * process.c (status_notify): Use assignment, not initialization.
1804         * textprop.c (add_properties, remove_properties): Ditto.
1805         * window.c (unshow_buffer, window_loop, Fdisplay_buffer): Ditto.
1806         * xdisp.c (x_consider_frame_title, decode_mode_spec): Ditto.
1807         * xfns.c (x_set_frame_parameters, x_get_arg, x_window,
1808         Fx_create_frame, Fx_create_frame): Ditto.
1809         * xselect.c (x_get_local_selection, x_handle_selection_request): Ditto.
1810         * xterm.c (x_window_to_scroll_bar, x_new_font): Ditto.
1812 1994-03-24  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
1814         * xfns.c (Fx_create_frame): Add USE_X_TOOLKIT conditional around the
1815         call to initialize_frame_menubar.
1817 1994-03-23  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1819         * intervals.c (verify_interval_modification): For insertion in
1820         middle of an interval, use the same criterion as between intervals
1821         for whether read-only forbids it.
1823 1994-03-23  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1825         * alloc.c (make_event_array): Use assignment, not initialization.
1826         * buffer.c (sort_overlays, Fmake_overlay): Ditto.
1827         * callint.c (check_mark, Fcall_interactively): Ditto.
1828         * callproc.c (call_process_cleanup, getenv_internal): Ditto.
1829         * cmds.c (internal_self_insert): Ditto.
1830         * data.c (store_symval_forwarding, Fsymbol_value): Ditto.
1831         * fileio.c (Finsert_file_contents): Ditto.
1832         * filelock.c (lock_file): Ditto.
1833         * frame.c (next_frame, prev_frame, other_visible_frames,
1834         Fdelete_frame): Ditto.
1835         * intervals.c (adjust_intervals_for_insertion,
1836         merge_properties_sticky, delete_interval): Ditto.
1837         * keymap.c (access_keymap, store_in_keymap, Fcopy_keymap,
1838         Fdefine_key, Faccessible_keymaps, Fwhere_is_internal): Ditto.
1839         * lread.c (read_filtered_event, intern): Ditto.
1840         * minibuf.c (read_minibuf): Ditto.
1841         * msdos.c (run_msdos_command): Ditto.
1843         * sysdep.c (reset_sys_modes): Turn off O_NDELAY.
1845         * window.c (Fscroll_up, Fscroll_down, Fscroll_other_window): Doc fix.
1847         * frame.c (do_switch_frame): Common code for Fselect_frame and
1848         handle_switch_frame.
1850         * xfns.c (x_get_focus_frame): New function.
1852 1994-03-23  Frederic Pierresteguy  (fp@geech.gnu.ai.mit.edu)
1854         * xmenu.c (update_frame_menubar): Function renamed from
1855         update_one_frame_psheets.
1856         (initialize_frame_menubar): New function.
1857         (set_frame_menubar): Call menu_bar_items when items is NIL.
1859         * xfns.c (Fx_create_frame): Call initialize_frame_menubar.
1861 1994-03-23  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1863         * buffer.c (reset_buffer): Init auto_save_failure_time slot.
1865 1994-03-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1867         * keymap.c (where_is_string, Fwhere_is): Deleted.
1868         (syms_of_keymap): Corresponding changes.
1870 1994-03-22  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1872         * keymap.c (Fdefine_key): Check for non-events in keyvector.
1874         * minibuf.c (read_minibuf): Don't redirect focus unless minibuf is
1875         on another frame.
1877         * lread.c (read1): Check for invalid modifier bits in a string.
1878         (unreadchar): Don't back up the pointer when unreading EOF.
1880 1994-03-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1882         * callproc.c (Fcall_process): Make sure to close descriptors.
1883         (call_process_cleanup): Always close descriptor.
1885 1994-03-22  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
1887         * widget.c (set_frame_size): Put #if 0 around a lot of useless code.
1888         Compute explicitly the geometry of the toplevel widget.
1889         Call XtSetValues not XtVaSetValues.
1891 1994-03-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1893         * emacs.c (__do_global_ctors, __do_global_ctors_aux)
1894         (__do_global_dtors): Don't define if GCC_CTORS_IN_LIBC.
1895         (__CTOR_LIST__, __DTOR_LIST__): Likewise.
1897 1994-03-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1899         * keyboard.c (init_keyboard): Don't handle SIGINT if using X.
1901 1994-03-21  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1903         * keyboard.c (add_command_key): Use assignment, not initialization.
1904         (command_loop_1, read_char, kbd_buffer_store_event,
1905         kbd_buffer_get_event, make_lispy_event, make_lispy_movement,
1906         apply_modifiers_uncached, parse_modifiers, apply_modifiers,
1907         reorder_modifiers, read_key_sequence): Ditto.
1909 1994-03-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1911         * data.c (Qwholenump): New variable.
1912         (syms_of_data): Set and gcpro Qwholenump.
1913         * lisp.h (Qwholenump): Declared.
1914         (CHECK_NATNUM): Use Qwholenump.
1916 1994-03-21  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1918         * keymap.c (Fcopy_keymap): Account for menus and equiv-key cache.
1919         (Fkeymapp): Doc fix.
1921 1994-03-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1923         * data.c (Fstring_to_number): Doc fix.
1925 1994-03-20  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1927         * data.c (Fmake_local_variable): Void variables stay void.
1929 1994-03-20  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1931         * alloca.c, alloca.s, gmalloc.c: Make them symlinks again.
1933         * fns.c (Fy_or_n_p, Fyes_or_no_p): Call Fx_popup_dialog the new way.
1934         (Fyes_or_no_p): Always display just one dialog box
1935         whether or not USE_X_TOOLKIT.
1937 1994-03-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1939         * xmenu.c (xdialog_show): Delete args x, y.
1940         (Fx_popup_dialog): Don't pass those args; don't compute them.
1941         Second arg is now just one pane.  Lots of simplification.
1942         Always start by decoding POSITION arg to get a frame.
1943         [! USE_X_TOOLKIT]: Put the menu in middle of that frame.
1945         * s/freebsd.h (HAVE_TERMIOS, NO_TERMIO): Defined.
1947         * Makefile.in.in (emacs): rm emacs before the ln.
1948         (tagsfiles): Accept capital letters.
1950         * process.c (wait_reading_process_input, both versions): Don't call
1951         redisplay_preserve_echo_area unless do_display.
1953         * emacs.c (syms_of_emacs): Don't initialize Vinstallation_name
1954         and Vinstallation_directory.
1956         * fns.c (Fyes_or_no_p) [USE_X_TOOLKIT]: Display just one menu.
1958         * xmenu.c (Fx_popup_dialog, Fx_popup_menu): Require 2 args.
1959         (Fx_popup_dialog): Don't fail to set X, Y from POSITION.
1960         (xdialog_show): Call lw_modify_all_widgets properly.
1961         Generate dialog's name at run time to specify number of buttons.
1962         Report error if too many buttons to handle or if multiple panes.
1964 1994-03-18  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1966         * lisp.h (MAKE_GLYPH, GLYPH_CHAR, GLYPH_FACE): Handle termcap
1967         frames as well as X.
1968         (FAST_MAKE_GLYPH, FAST_GLYPH_CHAR, FAST_GLYPH_FACE): New macros.
1969         * xdisp.c (fix_glyph): Handle termcap frames as well as X.
1970         (display_text_line, copy_part_of_rope, display_mode_line): Ditto.
1971         * dispnew.c (direct_output_for_insert): Ditto.
1972         * xterm.c (dumpglyphs): Use the fast macros.
1974 1994-03-18  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
1976         * xmenu.c (list_of_items): Arg to push_menu_item was missing.
1978 1994-03-18  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
1980         * Makefile.in.in (LIBXT): Add -lXext.
1982 1994-03-18  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1984         * s/netbsd.h (LD_SWITCH_SYSTEM): Undo previous change.
1986 1994-03-17  Jim Blandy  (jimb@totoro.bio.indiana.edu)
1988         * indent.c (compute_motion): Doc fixes.
1990 1994-03-17  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
1992         * Makefile.in.in (X_WINDOWS_SUPPORT): New macro.
1993         (lisp): Include X_WINDOWS_SUPPORT.  Also add version.el; it is no
1994         longer changed by building.
1996 1994-03-17  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
1998         * process.c (create_process): Skip the ioctl if fd is -1.
2000         * lread.c (openp, Fload): GCPRO some things.
2001         * callproc.c (Fcall_process): Ditto.
2002         * process.c (Fstart_process): Ditto.
2004         * s/netbsd.h (LD_SWITCH_SYSTEM, HAVE_WAIT_HEADER): Define these.
2006 1994-03-16  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2008         * data.c (Fchar_or_string_p, Fintegerp, Fnatnump): Doc fix.
2010         * minibuf.c (read_minibuf): Disallow trailing junk.
2012 1994-03-16  Morten Welinder  (terra@diku.dk)
2014         * fileio.c (Ffile_modes) [MSDOS]: Set exec-bit based on file suffix.
2015         * s/msdos.h: Use bcopy when moving gap.
2017 1994-03-16  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2019         * fns.c (Frandom): Eliminate bias in random number generator.
2021         * floatfns.c (FLOAT_TO_INT, FLOAT_TO_INT2, range_error2): New macros.
2022         (ceiling, floor, round, truncate): Use them.
2024 1994-03-15  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2026         * xdisp.c (redisplay): Don't consider minibuffer name for frame title.
2027         (update_menu_bar): Delete unused second argument.  Callers changed.
2029         * fileio.c (Frename_file, Fcopy_file, Fadd_name_to_file,
2030         Fmake_symbolic_link): Fix typo in previous change.
2032         * s/netbsd.h (LOCALTIME_CACHE): Define this symbol.
2034 1994-03-15  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2036         * fileio.c (Frename_file): Use RETURN_UNGCPRO when run handler.
2037         (Fcopy_file, Fadd_name_to_file, Fmake_symbolic_link): Likewise.
2039 1994-03-15  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2041         * xdisp.c (message1): Call message2 instead of duplicating code.
2043 1994-03-14  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2045         * floatfns.c (Flogb): Check for 0.0.  Emulate logb if needed.
2047         * xterm.c (x_scroll_bar_expose): Don't make the right border thicker.
2048         * xterm.h (VERTICAL_SCROLL_BAR_RIGHT_BORDER): Change from 3 to 2.
2050         * frame.c (terminal-frame) [! MULTI_FRAME]: Create this variable.
2052         * minibuf.c (read_minibuf): Make minibuffer frame visible when
2053         minibuffer activated.
2055         * frame.c (Fhandle_switch_frame): Ignore switch to dead frame.
2057         * fileio.c (Fread_file_name): Delete docstring of second version.
2058         * frame.c (framep, selected-frame, frame-char-height, frame-char-width,
2059         frame-pixel-height, frame-pixel-width, set-frame-height,
2060         set-frame-width, set-frame-size): Ditto.
2062         * buffer.c (buffer-display-table, buffer-undo-list): Ditto.
2064         * xdisp.c (redisplay_window): Avoid dividing negative numbers.
2065         * window.c (window_scroll, Fmove_to_window_line): Ditto.
2066         * search.c (search_buffer): Avoid boolean/integer confusion.
2068         * dispnew.c (Fredraw_frame) [! MULTI_FRAME]: Make noninteractive.
2070 1994-03-14  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2072         * xmenu.c (Fx_popup_dialog, Fx_popup_menu): Handle case where
2073         mouse_position_hook doesn't store anything.
2075 1994-03-14  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2077         * widget.c (EmacsFrameSetCharSize): Set the values of left_pos and
2078         top_pos to the values of the toplevel widget coordinates.
2080 1994-03-13  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2082         * xmenu.c (Fx_popup_dialog) [! USE_X_TOOLKIT]: Call Fx_popup_menu.
2084         * indent.c (Fvertical_motion): New optional arg WINDOW.
2085         * window.c (Fdelete_other_windows): Pass new arg to Fvertical_motion.
2086         (window_scroll, Frecenter, Fmove_to_window_line): Likewise.
2088         * fileio.c (Finsert_file_contents): Don't let same_at_end be less
2089         than same_at_start.
2091 1994-03-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2093         * puresize.h (PURESIZE): Reduce to 230000.
2095 1994-03-11  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2097         * floatfns.c (Fexpt): Delete extraneous `for' statement.
2099         * process.c (get_process): Allow arg to be a buffer object.
2101         * xdisp.c (x_consider_frame_title): New function, extracted from
2102         display_mode_line.
2103         (redisplay): Update frame title on iconified frames.
2105 1994-03-11  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2107         * xmenu.c (xdialog_show): New function to handle the display of dialog
2108         boxes.
2109         (Fx_popup_dialog): New function.
2110         (dialog_selection_callback): New function.
2111         (xmenu_show) [USE_X_TOOLKIT]: Don't call lw_destroy_all_widgets at the
2112         end.
2113         Do the work of construct_mouse_click in the ButtonRelease case.
2115         * Makefile.in (LIBXT): Add -lXext to the list.
2117         * widget.c (EmacsFrameSetCharSize): Call XawPanedSetRefigureMode.
2118         Call XtSetValues not XtVaSetValues.
2120         * fns.c (Fyes_or_no_p): Call Fx_popup_dialog instead of Fx_popup_menu.
2121         (Fy_or_n_p): Likewise.
2123 1994-03-10  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2125         * filelock.c (lock_superlock): Synchronize NFS cache.
2127         * search.c (Fre_search_forward, Fre_search_backward): Doc fix.
2129 1994-03-10  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2131         * indent.c (compute_motion): Initialize prev_hpos.
2133         * keyboard.c (command_loop_1): On entry, set this_command
2134         after running Vpost_command_hook.
2136         * puresize.h (PURESIZE): Increment to 240000.
2138         * xmenu.c (Fx_popup_menu): If POSITION is nil,
2139         don't require an open X connection.
2140         (single_keymap_panes, keymap_panes, menu_item_enabled_p):
2141         New arg NOTREAL.
2142         (Fx_popup_menu): Pass new arg (1 if POSITION is nil).
2143         (menu_item_enabled_p): If NOTREAL, always return t.
2145         * xmenu.c (single_keymap_panes) [!USE_X_TOOLKIT]:
2146         Append > to item_string if submenu.
2148 1994-03-09  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2150         * xmenu.c [USE_X_TOOLKIT]: Display submenus in Xt style.
2151         (menu_items): Record where submenus start and end.
2152         (menu_items_submenu_depth): New variable.
2153         (init_menu_items): Init it.
2154         (push_submenu_start, push_submenu_end): New functions.
2155         (grow_menu_items): New function.
2156         (push_menu_pane, push_menu_item): Use it.
2157         (push_menu_pane): Increment menu_items_n_panes only if depth is 0.
2158         (single_keymap_panes) [USE_X_TOOLKIT]: Record submenus in menu_items.
2159         (xmenu_show) [USE_X_TOOLKIT]: Give submenus to toolkit.
2161         * xdisp.c (display_mode_line): Highlight partial-width mode lines
2162         for a non-termcal frame.
2164         * lisp.h (GLYPH_MODE_LINE_FACE): New macro.
2166         * callproc.c: Don't kill remaining processes if child exits.
2167         (call_process_exited): New variable.
2168         (Fcall_process): Set it.
2169         (call_process_cleanup): Test it.
2171 1994-03-09  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2173         * window.c (Fselect_window): Undo previous minibuffer patch.
2174         * callint.c (Fcall_interactively): Don't select an active minibuffer.
2176 1994-03-09  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2178         * window.c (window_loop): Delete MULTI_FRAME
2179         conditional within the loop, spuriously added in prev change.
2180         Don't ignore invisible or iconified frames for GET_BUFFER_WINDOW;
2181         instead, let Fnext_window skip them if appropriate.
2183 1994-03-08  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2185         * window.c (Fselect_window): Don't select an inactive minibuffer.
2187 1994-03-08  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2189         * window.c (Fdisplay_buffer): If pop_up_frames != 0,
2190         consider just visible frames when looking for existing window.
2192         * undo.c (syms_of_undo): staticpro pending_boundary.
2194 1994-03-08  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
2196         * process.c (send_process) [_PC_MAX_CANON]: Also test #ifdef
2197         HAVE_FPATHCONF before trying to use fpathconf.
2198         * config.h.in: Add #undef HAVE_FPATHCONF.
2200         * term.c (term_get_fkeys_data): Variable removed.
2201         (term_get_fkeys_define_1, term_get_fkeys_define): Functions removed.
2202         (term_get_fkeys_address): New variable, to pass arg through
2203         condition-case.
2204         (term_get_fkeys): Set that to ADDRESS; just do condition-case
2205         around call to term_get_fkeys_1, ignoring all errors.
2206         (term_get_fkeys_1): New function, containing body of term_get_fkeys.
2207         Don't use term_get_fkeys_define_1; call Fdefine_key directly.
2209 1994-03-08  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2211         * window.c (Fprevious_window, Fnext_window): ALL_FRAMES = visible
2212         means consider only visible frames.
2213         (window_loop): Likewise for FRAMES.
2214         (Fget_buffer_window, Fget_largest_window, Fget_lru_window): Doc fix.
2215         (Fdelete_windows_on): Doc fix.
2217         * frame.c (next_frame, prev_frame): If MINIBUF is `visible',
2218         consider only visible frames.
2219         (Fnext_frame, Fprevious_frame): Doc fix.
2220         (syms_of_frame): Staticpro Qvisible.
2221         * lisp.h (Qvisible): Declared.
2223 1994-03-07  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2225         * indent.c (Fcompute_motion): New function.
2227         * window.c (Fwindow_width): Doc fix.
2229 1994-03-07  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2231         * doprnt.c (doprnt): Do the right thing for negative size spec.
2233         * minibuf.c (temp_echo_area_glyphs): Use quit_char, not C-g.
2234         (Fminibuffer_complete, Fminibuffer_complete_word): Doc fix.
2235         (get_minibuffer): Make name buffer large enough.
2237         * window.c (Fscroll_other_window): Doc fix.
2239 1994-03-06  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2241         * alloc.c (mark_object): Add no-op cast.
2243         * eval.c (error): Use doprnt.  Make buffer larger as necessary.
2245         * casefiddle.c (operate_on_word): Don't move point; store in *NEWPOINT.
2246         (Fupcase_word, Fdowncase_word, Fcapitalize_word):
2247         Set point after changing case.  Rename opoint to beg.
2249         * undo.c (pending_boundary): New variable.
2250         (syms_of_undo): Initialize it.
2251         (Fundo_boundary): Use pending_boundary.
2252         (record_insert, record_delete, record_property_change):
2253         Set pending_boundary.
2255 1994-03-05  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2257         * vmsproc.c: Include config.h, lisp.h, buffer.h, process.h, commands.h,
2258         errno.h and file.h.
2259         (write_to_vms_process): Change =- to -=.
2260         (create_process): Set status field instead of obsolete flags field.
2261         (child_sig): Likewise.
2263         * emacs.c (shut_down_emacs): Set Vrun_hooks to nil.
2264         * minibuf.c (read_minibuf): Don't call Vrun_hooks if it is nil.
2265         * keyboard.c (command_loop_1, read_key_sequence, Fcommand_execute):
2266         Don't call Vrun_hooks if it is nil.
2267         * editfns.c (save_excursion_restore): Don't call Vrun_hooks if nil.
2268         * buffer.c (Fkill_buffer, Fkill_all_local_variables):
2269         Don't call Vrun_hooks if it is nil.
2271         * fileio.c (Fdo_auto_save): Doc fix.
2273         * lisp.h (ARRAY_MARK_FLAG): Define here.
2274         * alloc.c (ARRAY_MARK_FLAG): Not here.
2276 1994-03-04  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2278         * keyboard.c (command_loop_1): Fix misplaced assignment of
2279         last_point_position.
2281 1994-03-04  Paul Eggert  (eggert@twinsun.com)
2283         * data.c (isnan): New macro.
2284         (float_arith_driver): min and max yield NaN if any argument is a NaN.
2286 1994-03-04  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2288         * xmenu.c (update_one_frame_psheets): Call EmacsFrameSetCharSize to
2289         force the paned widget to resize to the right value.
2290         (xmenu_show): No need to check a second time whether the mouse has
2291         moved to another menu bar item. This slows down execution.
2293         * widget.c (EmacsFrameSetCharSize): Don't call XtMakeResizeRequest.
2294         Use XtVaSetValues for geometry management.
2296 1994-03-04  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
2298         * xmenu.c [USE_X_TOOLKIT] (xmenu_show): Pass display to
2299         XtWindowToWidget.
2301 1994-03-03  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2303         * search.c (skip_chars): Treat `-' as alias for space, if syntaxp.
2305         * fileio.c (Finsert_file_contents): Pass del_range_1 two ends,
2306         not a length.
2308 1994-03-03  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2310         * process.h (chan_process): Don't specify size.
2312 1994-03-03  Karl Heuer  (kwzh@mole.gnu.ai.mit.edu)
2314         * fileio.c (Fread_file_name): Do the right thing when
2315         insert-default-directory is nil.
2316         Allow for doubled dollar signs in dir when computing pos.
2318         * commands.h: New variable last_point_position.
2319         * keyboard.c (command_loop_1): Set it to the value of point.
2320         * undo.c (record_delete): Save this value in the undo record,
2321         rather than the current value of point.)
2323         * buffer.c (Fget_file_buffer): Doc fix.
2325         * s/aix3-2.h (C_SWITCH_SYSTEM): Increase maxmem when using IBM's
2326         compiler.
2328 1994-03-02  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2330         * process.c (chan_process, Vprocess_alist): No longer static.
2331         * process.h (chan_process, Vprocess_alist): Declared.
2333         * puresize.h (PURESIZE) [MULTI_FRAME]: Incremented to 230000.
2335         * minibuf.c (Fdisplay_completion_list): Restore original buffer
2336         before running completion-setup-hook.
2338         * frame.c (Fdelete_frame): Don't initialize a Lisp_Object.
2339         Clean up line breaks.
2341         * process.c: Include unistd.h.
2342         (pty_max_bytes): New variable.
2343         (send_process): Send an eof after each pty_max_bytes bytes.
2345         * keyboard.c (menu_bar_items): When moving an item to the end,
2346         shift all the following ones forward one slot.
2348 1994-03-02  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2350         * xfns.c (Fx_list_fonts): Avoid confused increment of info.
2352         * syntax.c (Fforward_comment): Do the right thing at eob.
2354 1994-03-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2356         * keyboard.c (menu_bar_items): Accept old vector as arg.
2357         Return a vector.
2358         (menu_bar_one_keymap, menu_bar_item): Associated changes.
2359         (make_lispy_event): Use FRAME_MENU_BAR_LINES as vector.
2360         * frame.c (make_frame): Init menu_bar_items field to 0.
2361         * xdisp.c (update_menu_bar): Change call to menu_bar_items.
2362         (display_menu_bar): Use FRAME_MENU_BAR_LINES as vector.
2363         * xmenu.c (map_event_to_object, set_frame_menubar):
2364         Use FRAME_MENU_BAR_LINES as vector.
2366 1994-03-01  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2368         * s/aix3-2.h: Use -g with the native compiler.
2369         * s/aix3-2-5.h: New file.  Use -O with the native compiler.
2371 1994-03-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2373         * lisp.h (struct handler): New field chosen_clause.
2374         * eval.c (Fsignal): Record the clause in chosen_clause.
2375         (Fcondition_case, internal_condition_case): Look there.
2376         (internal_condition_case_1): Look there.
2378         * fileio.c (Finsert_file_contents): If undo_list was t, leave it t.
2380         * alloc.c (memory_signal_data): No longer static.
2381         (syms_of_alloc): Stick Qerror onto memory_signal_data.
2382         * lisp.h (memory_signal_data): Declare it.
2383         * eval.c (Fsignal): If DATA is memory_signal_data, don't add to it.
2385 1994-02-28  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2387         * alloc.c (memory_full): Use new variable memory_signal_data with
2388         precomputed value instead of trying to build it after memory is
2389         already exhausted.
2391 1994-02-28  Frederic Pierresteguy  (F.Pierresteguy@frcl.bull.fr)
2393         * xmenu.c (xmenu_show): Test XtWindowToWidget before inserting into
2394         the event_queue.
2396         * xterm.c (XTread_socket): For case ClientMessage and
2397         Xatom_wm_delete_window, use x_any_window_to_frame.
2399 1994-02-26  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2401         * s/sol2-3.h (LD_SWITCH_SYSTEM): New definitions, with #undef.
2403         * insdel.c (del_range_1): New function.
2404         (del_range): Use it.
2405         * fileio.c (Finsert_file_contents): Use del_range_1.
2407 1994-02-26  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2409         * keyboard.c (Fsuspend_emacs): New variable cannot-suspend forces
2410         a subshell even if the system seems to support job control.
2411         * sysdep.c (sys_subshell): New function, split from sys_suspend.
2413 1994-02-25  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2415         * window.c (Fset_window_configuration): Allow for menu-bar-lines
2416         to have changed since the configuration was created.
2418 1994-02-25  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2420         * keyboard.c (Vsystem_key_alist): Renamed from Vvendor_key_alist.
2421         (syms_of_keyboard): Rename Lisp var to system-key-alist.
2423 1994-02-25  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2425         * buffer.h (OVERLAY_POSITION): Don't check which buffer it points to.
2427         * lisp.h: Delete extra backslash on last line of macro.
2429         * xdisp.c (display_text_line): Allow for invisible overlays in
2430         next_invisible lookahead.
2431         * indent.c (compute_motion): Likewise.
2433 1994-02-25  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2435         * widget.c (EmacsFrameSetCharSize): Set coordinates values to the
2436         toplevel widget.
2438         * xterm.c (XTread_socket): For case ConfigureNotify, call
2439         x_any_window_to_frame.
2440         [USE_X_TOOLKIT]: Call XTranslateCoordinates for case ConfigureNotify
2441         when send_event is 0 and when the event is relative to toplevel widget.
2443         * widget.c (EmacsFrameSetCharSize): Call check_frame_size and update
2444         vertical_scroll_bar_extra.
2445         Call SET_FRAME_GARBAGED.
2447 1994-02-24  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2449         * lread.c (Fload): Cast the args to stat.
2451 1994-02-24  Karl Heuer  (kwzh@hal.gnu.ai.mit.edu)
2453         * xdisp.c (try_window): Add #ifdef USE_TEXT_PROPERTIES around call
2454         to Fget_text_property.
2456         * textprop.c (Fget_char_property): New function.
2457         * buffer.c (sort_overlays): Allow for null window.
2458         * xdisp.c (try_window, display_text_line): Use Fget_char_property
2459         to test for invisibility.
2460         * indent.c (compute_motion, vmotion): Likewise.
2461         * dispnew.c (direct_output_forward_char): Likewise.
2463 1994-02-24  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2465         * xfns.c (x_window): Call XChangeWindowAttributes with the standard
2466         event set to make all these events reach the Emacs frame.
2468 1994-02-24  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2470         * xmenu.c (Fx_popup_menu): Allow t as position, meaning use mouse pos.
2472         * fns.c (Fy_or_n_p): Use a popup menu if reached via mouse command.
2473         (Fyes_or_no_p): Likewise.
2475         * unexelf.c (ELF_BSS_SECTION_NAME): New macro (config.h may override).
2476         (unexec): Use it.
2478 1994-02-23  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2480         * buffer.c (Fkill_buffer): Call the Vkill_buffer_query_functions.
2481         (syms_of_buffer): Make Lisp var for kill-buffer-query-functions.
2483 1994-02-22  Karl Heuer  (kwzh@geech.gnu.ai.mit.edu)
2485         * lisp.h: New variable Vdoc_directory.
2486         * doc.c (get_doc_string, Snarf_documentation): Use it.
2487         * callproc.c (syms_of_callproc, init_callproc_1): Initialize it.
2488         * paths.h.in: Define PATH_DOC for default doc-directory.
2490 1994-02-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2492         * keyboard.c (make_lispy_movement, make_lispy_event):
2493         In non-scrollbar mouse case, return coords in pixel units.
2495         * frame.c (Fmouse_position): Convert to glyph units.
2497         * xterm.c (construct_mouse_click): Don't convert to glyph units.
2498         (XTmouse_position): Don't convert to glyph units.
2499         * msdos.c (mouse_get_pos): Don't convert to glyph units.
2501         * fileio.c (Finsert_file_contents): If REPLACE, always do lseek.
2502         Exit main loop if INSERTED reaches TOTAL.
2504 1994-02-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2506         * xterm.c (XTmouse_position): Use x_any_window_to_frame.
2508 1994-02-22  Karl Heuer  (kwzh@mole.gnu.ai.mit.edu)
2510         * emacs.c: Move extern declarations to top of file.
2512 1994-02-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2514         * keyboard.c (make_lispy_event): For menu bar event in USE_X_TOOLKIT
2515         case, convert x position to glyphs after map_event_to_object.
2516         Call window_from_coordinates later on.
2518         * xmenu.c (menu_item_equiv_key): Cached equiv-key data is a sublist.
2519         * keymap.c (get_keyelt): Cached equiv-key data is now a sublist.
2521         * xterm.c (x_had_errors_p): New function.
2522         (construct_menu_click): Move function after pixel_to_glyph_coords.
2524         * xmenu.c: Most of file rewritten.
2525         (menu_items, menu_items_*): New variables.
2526         (MENU_ITEMS_*): New macros.
2527         (init_menu_items, discard_menu_items, push_menu_pane, push_menu_item)
2528         (finish_menu_items): New functions.
2529         (menu_item_enabled_p): New function.
2530         (keymap_panes, single_keymap_panes): Major rewrite; most args changed.
2531         (list_of_panes, list_of_items): Major rewrite; most args changed.
2532         (Fx_popup_menu): Major rewrite.  Now independent of display mechanism.
2533         No more conditionals here.
2534         (set_menu_items, free_menu_items): Functions deleted.
2535         (xmenu_show): Both versions rewritten to work from menu_items
2536         and to do all the conditionalized things that were in Fx_popup_menu.
2537         (unread_menu_bar_button, other_menu_bar_item_p): New functions.
2538         (check_mouse_other_menu_bar): New function.
2540         * xterm.c [!USE_X_TOOLKIT] (x_any_window_to_frame):
2541         Define as x_window_to_frame.
2543 1994-02-20  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
2545         * unexsunos4.c: Move config.h after system includes.
2547         * syswait.h [BSD]: #undef WCOREDUMP before defining it.
2549 1994-02-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2551         * frame.c (Fframe_visible_p): Do FRAME_SAMPLE_VISIBILITY first.
2553         * xterm.c (XTread_socket--cases KeyPress, EnterNotify, LeaveNotify)
2554         (cases FocusIn, FocusOut): Use x_any_window_to_frame.
2556         * xfns.c (x_window_to_frame): Add parens for clarity.
2558         * xmenu.c: Find and display keyboard equivalents of menu items.
2559         (menu_item_equiv_key): New function.
2560         (single_keymap_panes): Call it.  Properly skip help-string if any.
2561         Rename item2 to item_string.
2562         GCPRO some things.
2563         (menu_item_equiv_key): Use either VECTORP or STRINGP, not both.
2565         * keymap.c (get_keyelt): Discard keyboard equivalents stored in a
2566         menu keymap element.
2568 1994-02-18  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2570         * widget.c (get_default_char_pixel_size): Clean up code.
2571         Remove code inside #if 0 directive.
2573         * xmenu.c (popup_selection_callback): Clean up code. Remove code inside
2574         #if 0 directive.
2575         (popup_down_callback): Likewise.
2577 1994-02-18  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2579         * fileio.c (restore_point_unwind): New function.
2580         (Finsert_file_contents): In REPLACE case, set point and restore it.
2582         * gnu.h (gnu_bits): Use unsigned char.
2584         * bitmaps/*.xbm: Use unsigned char, not char.
2586         * window.c (unshow_buffer): Unconditionally set last_window_start.
2588 1994-02-17  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2590         * window.c (Fdelete_other_windows): Don't call Frecenter;
2591         do it by hand and avoid setting w->force_start.
2593         * xterm.c (dumpglyphs): Try various alternatives for foreground color
2594         of a glyph with the cursor on it.
2596         * dosfns.c, msdos.c, widget.c: Use <...> for config.h.
2598         * fileio.c (Finsert_file_contents): New arg REPLACE.
2599         New feature to replace buffer contents with file contents.
2601 1994-02-16  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2603         * systty.h (EMACS_TTY_TABS_OK): Alternate definition if no TABDLY.
2605         * s/bsd4-2.h, s/dgux.h, s/rtu.h, s/umax.h (BSD_PGRPS): Defined.
2606         * s/netbsd.h, s/bsd386.h (BSD_PGRPS): Add #undef.
2607         * sysdep.c (init_sys_modes, reset_sys_modes): Test BSD_PGRPS.
2608         (narrow_foreground_group, widen_foreground_group): Define if BSD_PGRPS.
2610         * sysdep.c (child_setup_tty): Use IUCLC, OLCUC, NLDLY only if defined.
2612         * emacs.c (main): Test BSD_PGRPS, not BSD.
2614         * s/netbsd.h (TAB3): Defined.
2615         (NEED_ERRNO, NO_TERMIO, HAVE_TERMIOS, HAVE_UNION_WAIT): Defined.
2617         * sysdep.c (init_sys_modes): IEXTEN is in c_lflag, not c_iflag.
2619         * unexmips.c (unexec): Add cast to result of `sbrk'.
2621 1994-02-15  Chris Hanson  (cph@klia.ai.mit.edu)
2623         * s/newsos5.h: Include usg5-4.h.
2624         (LIBS_SYSTEM, LINKER, START_FILES, LIB_STANDARD):
2625         Definitions moved here.
2627         * m/news-risc.h [NEWSOS5] (C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH)
2628         (LD_SWITCH_MACHINE): Definitions moved here.
2630         * m/mips.h: NEWSOS5 conditional deleted.
2631         [NEWSOS5] (START_FILES, LIB_STANDARD, C_DEBUG_SWITCH)
2632         (C_OPTIMIZE_SWITCH, LD_SWITCH_MACHINE): Definitions moved away.
2634 1994-02-15  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2636         * xfns.c (Fx_parse_geometry): Don't call check_x.
2638         * sysdep.c (sys_write): If any bytes were written, return how many.
2640         * xterm.c (XTread_socket): Do not assume that select returning
2641         immediately with no events implies a hangup.
2643 1994-02-14  Karl Heuer  (kwzh@geech.gnu.ai.mit.edu)
2645         * xterm.h (check_x): Declare it.
2646         * xfns.c (check_x): Make it global.
2647         (Fx_parse_geometry, Fx_list_fonts, Fx_close_current_connection):
2648         call check_x.
2650         * xmenu.c (Fx_popup_menu): Likewise.
2651         * xselect.c (Fx_own_selection_internal, Fx_get_selection_internal,
2652         Fx_disown_selection_internal, Fx_rotate_cut_buffers_internal,
2653         Fx_selection_exists_p, Fx_get_cut_buffer_internal,
2654         Fx_store_cut_buffer_internal, Fx_selection_owner_p): Likewise.
2656         * indent.c (indented_beyond_p): New function.
2657         (compute_motion, vmotion): Use it to treat blank lines specially
2658         in selective display.
2659         * xdisp.c (try_window_id, display_text_line): Likewise.
2661 1994-02-13  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
2663         * s/netbsd.h (BROKEN_START, TEXT_START): Don't define.
2664         (HAVE_TEXT_START): Define this instead.
2665         * sysdep.c (start_of_text): Don't define #ifdef HAVE_TEXT_START.
2667 1994-02-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2669         * xdisp.c (decode_mode_spec): Support %+.
2671         * keyboard.c (command_loop_1):
2672         On entry, set last_command to this_command.
2674         * term.c (term_init): If no `se', use `me';
2675         if no `me' either, don't use standout mode at all.
2677 1994-02-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2679         * Makefile.in.in (${libsrc}make-docfile): Don't pass ../arch-lib
2680         as target to submake.
2682 1994-02-11  Karl Heuer  (kwzh@mole.gnu.ai.mit.edu)
2684         * sysdep.c [USG]: Fix conditional includes.
2686         * m/convex.h, m/ibmps2-aix.h, m/ibmrs6000.h, m/tekxd88.h,
2687         s/386bsd.h, s/bsd386.h, s/dgux.h, s/irix3-3.h, s/linux.h,
2688         s/netbsd.h, s/usg5-4.h: Delete HAVE_SETSID; configure checks for
2689         that.
2691         * xrdb.c (gethomedir): Look at LOGNAME before USER.
2693         * editfns.c (Fuser_real_login_name): Doc fix.
2695 1994-02-11  Paul Eggert  (eggert@twinsun.com)
2697         * editfns.c (init_editfns): Look at LOGNAME before USER.
2698         * fileio.c (Fsubstitute_in_file_name): Remove long-dead code
2699         that looked at USER before LOGNAME.
2701 1994-02-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2703         * buffer.c (syms_of_buffer): Doc fix.
2705         * xdisp.c (decode_mode_spec): Implement `P'.
2707 1994-02-11  Charles Hannum  (mycroft@duality.gnu.ai.mit.edu)
2709         * s/netbsd.h (KERNEL_FILE, LDAV_SYMBOL): Undefine and leave them
2710         that way.
2711         (LIBS_TERMCAP): Define.  Native libtermcap is better than the Emacs
2712         version, and knows the correct path.
2713         (N_PAGSIZ, N_BSSADDR, N_TRELOFF): Don't redefine if they already
2714         exist (i.e. under NetBSD >0.9).
2716 1994-02-11  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
2718         * s/netbsd.h (SYSV_SYSTEM_DIR): Define.
2719         (BROKEN_START, TEXT_START, START_FILES, UNEXEC, RUN_TIME_REMAP):
2720         Define to use unexsunos4.
2721         (N_PAGSIZ, N_BSSSADDR, N_TRELOFF): Define so unexsunos4.c compiles.
2723 1994-02-11  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2725         * xfns.c (x_set_menu_bar_lines) [USE_X_TOOLKIT]: Don't call
2726         XtDestroyWidget but free_frame_menubar.
2727         Undo previous changes.
2728         * xterm.c (x_destroy_window) [USE_X_TOOLKIT]: Call free_frame_menubar.
2729         * xmenu.c (free_frame_menubar) [USE_X_TOOLKIT]: New function to destroy
2730         the X Widget instance of the menubar.
2732         * widget.c (EmacsFrameResize): Don't call XTranslateCoordinates. Code
2733         removed.
2735         * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Return Qnil when val is null.
2737 1994-02-11  Karl Heuer  (kwzh@mole.gnu.ai.mit.edu)
2739         * keyboard.c (Fexecute_extended_command): Copy this_command_keys
2740         as a vector, not a string.
2742 1994-02-10  Karl Heuer  (kwzh@mole.gnu.ai.mit.edu)
2744         * keyboard.c (syms_of_keyboard): Add a DEFVAR for command-hook-internal.
2745         (command_loop_1): Use it for post-command-hook.
2747 1994-02-10  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
2749         * process.c (sys_siglist): Protect decl with #ifndef
2750         SYS_SIGLIST_DECLARED.
2751         * config.h.in: Add #undef SYS_SIGLIST_DECLARED.
2753 1994-02-10  Karl Heuer  (kwzh@mole.gnu.ai.mit.edu)
2755         * lread.c (read_filtered_event): Retry read_char after a buffer change.
2756         * keyboard.c (read_char, read_char_minibuf_menu_prompt,
2757         read_key_sequence): Likewise.
2759         * dispnew.c (buffer_posn_from_coords): Take hscroll into account.
2760         * window.c (Fpos_visible_in_window_p): Likewise.
2762         * editfns.c (Fmessage): Copy the text to be displayed into a
2763         malloc'd buffer.
2765 1994-02-10  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2767         * xmenu.c (xmenu_show): Test again event.xmotion.x_root in the
2768         MotionNotify case.
2770 1994-02-09  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2772         * vmsdir.h: File renamed from dir.h.
2773         * ndir.h, fileio.c: Use new name vmsdir.h.
2775 1994-02-09  Karl Heuer  (kwzh@mole.gnu.ai.mit.edu)
2777         * alloc.c (Fgarbage_collect): Save and restore echo_area_glyphs_length.
2778         * fileio.c (Fdo_auto_save): Likewise.
2780         * buffer.c (Fkill_all_local_variables): Run change-major-mode-hook.
2782         * xterm.c (x_display_cursor, process_expose_from_menu): Block input.
2784         * editfns.c (difftm): Simplify return expression.
2786         * m/news.h (CRT0_DUMMIES): Definition deleted.
2788         * alloc.c (mark_object): Fetch obj from *objptr at loop, not at
2789         the gotos.
2791 1994-02-09  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2793         * xmenu.c: Implement a Motif behavior for the menubar.
2794         Now, if you move the pointer on another menubar item while
2795         displaying the contents of a selected menubar item, the current
2796         pulldown menu is closed and the new one corresponding to the new
2797         pointed item is displayed.
2798         (xmenu_show) [USE_X_TOOLKIT]: Clean up code.
2799         Handle the MotionNotify events in the XEvent loop.
2801 1994-02-08  Karl Heuer  (kwzh@mole.gnu.ai.mit.edu)
2803         * xfaces.c (compute_char_face): Extract overlay-sorting code as a
2804         separate function, which is now in buffer.c.
2805         * buffer.c (sort_overlays): New function, extracted from xfaces.c.
2807 1994-02-08  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
2809         * print.c (print): If print_escapes_newlines, print '\f' as "\\f".
2810         (syms_of_print): Update docstring.
2812 1994-02-08  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2814         * process.c (Fprocess_kill_without_query): Doc fix.
2816 1994-02-07  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2818         * xterm.c (x_make_frame_invisible): Add USE_X_TOOLKIT conditional.
2820 1994-02-06  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2822         * xterm.c (x_set_window_size): New arg CHANGE_GRAVITY.
2823         (x_new_font): Pass CHANGE_GRAVITY arg to x_set_window_size.
2824         (x_wm_set_size_hint): New arg CHANGE_GRAVITY.
2825         (x_set_offset, x_set_window_size):
2826         Pass CHANGE_GRAVITY arg to x_set_window_size.
2827         * xfns.c (x_set_internal_border_width, x_set_vertical_scroll_bars):
2828         Pass CHANGE_GRAVITY arg to x_set_window_size.
2829         (Fx_create_frame): Pass CHANGE_GRAVITY arg to x_wm_set_size_hint.
2830         * frame.c (Fset_frame_height, Fset_frame_width, Fset_frame_size):
2831         Pass CHANGE_GRAVITY arg to x_set_window_size.
2833         * frame.c (other_visible_frames):
2834         New function; code taken from Fdelete_frame.
2835         (Fdelete_frame): Use it.
2836         (Fmake_frame_invisible): Use it.  New arg FORCE.
2837         * xfns.c (x_set_visibility): Pass new arg to Fmake_frame_invisible.
2839         * xdisp.c (fix_glyph): New function.
2840         (display_text_line, display_string): Use fix_glyph.
2842         * xfaces.c (init_frame_faces): Clear FRAME_N_COMPUTED_FACES
2843         and FRAME_SIZE_COMPUTED_FACES.
2845 1994-02-05  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2847         * xdisp.c (copy_rope): Function deleted.
2848         (copy_part_of_rope): Merge the glyph's face using compute_glyph_face.
2849         Take frame as additional arg.
2850         (display_text_line): Use copy_part_of_rope always, not copy_rope.
2851         Pass the frame as arg.
2852         (display_string): Likewise.
2854         * xfaces.c (compute_glyph_face): New arg CURRENT_FACE
2855         specifies face to merge with.
2857         * emacs.c (main) [AIX]: Don't handle signal 20, 21 or 22.
2858         Call signal 24 by name (SIGXCPU).
2860         * eval.c (internal_condition_case_1): New function.
2861         * lisp.h (internal_condition_case_1): Declared.
2862         * keyboard.c (menu_bar_item): Use internal_condition_case_1.
2863         (menu_bar_item_1): New function.
2864         * xmenu.c (single_keymap_panes): Use internal_condition_case_1.
2865         (single_keymap_panes_1): New function.
2867 1994-02-04  Karl Heuer  (kwzh@mole.gnu.ai.mit.edu)
2869         * intervals.c (verify_interval_modification): When checking
2870         read-only, allow for the case that stickiness might be t instead
2871         of a list.
2873         * data.c (fmod): Implement it on systems where it's missing, using
2874         drem if available.
2876 1994-02-04  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2878         * xmenu.c (xmenu_show) [USE_X_TOOLKIT]: Remove the #if 0 directives
2879         and reverse one to avoid the flickering of the menubar.
2881 1994-02-04  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2883         * keymap.c (Fwhere_is_internal): Take just one keymap arg.
2884         (where_is_string): Pass Voverriding_local_map for that arg.
2885         * doc.c (Fsubstitute_command_keys): Pass keymap as that arg
2886         to Fwhere_is_internal.  Init keymap from Voverriding_local_map.
2888 1994-02-03  Karl Heuer  (kwzh@mole.gnu.ai.mit.edu)
2890         * intervals.c (merge_properties_sticky): Preserve original order
2891         of properties.
2893 1994-02-03  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2895         * s/hpux8.h (X_IO_BUG): Defined.
2897         * fileio.c (Fwrite_region):
2898         If FILENAME has no handler, see if VISIT has one.
2900         * search.c (scan_buffer): New arg ALLOW_QUIT.
2901         (find_next_newline): Pass new arg.
2902         * xdisp.c (display_count_lines): Pass new arg to scan_buffer.
2903         * syntax.c (find_defun_start): Pass new arg to scan_buffer.
2904         * cmds.c (Fforward_line): Pass new arg to scan_buffer.
2906 1994-02-02  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2908         * xterm.c (XTread_socket): Add X_IO_BUG conditional.
2910         * xdisp.c (display_menu_bar): Pass explicit max arg to display_string.
2911         (display_string): New arg OBEY_WINDOW_WIDTH.  All callers changed.
2913 1994-02-02  Karl Heuer  (kwzh@mole.gnu.ai.mit.edu)
2915         * xterm.c (x_iconify_frame): Fix misbalanced
2916         BLOCK_INPUT/UNBLOCK_INPUT.
2918         * xdisp.c (try_window_id): Don't pass value beyond ZV to
2919         compute_motion.
2920         * window.c (Fpos_visible_in_window_p): Return nil if POS > ZV.
2922         * sysdep.c (get_system_name): Remove restriction on hostname size.
2923         * lisp.h (get_system_name): Declared.
2924         * xterm.c (x_term_init): Use get_system_name instead of gethostname.
2925         * xrdb.c (x_get_customization_string): Use get_system_name instead
2926         of gethostname.
2928 1994-02-02  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2930         * keyboard.c (kbd_buffer_get_event): Pass 1 to read_avail_input.
2932 1994-02-01  Karl Heuer  (kwzh@mole.gnu.ai.mit.edu)
2934         * config.h.in (HAVE_FMOD): Add another #undef.
2935         * data.c (Fmod): Use HAVE_FMOD.
2937 1994-02-01  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2939         * xfns.c (x_set_menu_bar_lines): Test also menubar_widget before
2940         calling XtDestroyWidget.
2942 1994-02-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2944         * xterm.c (dumpglyphs): Don't crash for invalid face code.
2946 1994-01-31  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2948         * undo.c (record_first_change): Check for buffer-undo-list = t.
2949         Make an undo boundary if appropriate.  Set last_undo_buffer.
2950         (record_property_change): Use BUFFER, not current_buffer,
2951         when testing undo_list.
2953 1994-01-29  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2955         * widget.c: Don't declare arg types in decls or fn definitions.
2957         * syntax.h (SYNTAX_MATCH, SYNTAX): Fix non-GNUC definitions.
2959         * widget.h (EmacsFrameSetCharSize): Don't declare arg types.
2961         * Makefile.in.in (configuration): Change # comment to C comment.
2963 1994-01-29  Karl Heuer  (kwzh@mole.gnu.ai.mit.edu)
2965         * keymap.c (current_minor_maps): Scale by sizeof when allocating
2966         objects.
2968         * buffer.c (Fkill_all_local_variables): Follow symbol forwarding.
2970 1994-01-29  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2972         * callproc.c: Include stdio.h.
2973         (init_callproc): Put non-ex-dir warnings on stderr.
2975         * lread.c (init_lread): Put non-ex-dir warnings on stderr.
2977 1994-01-28  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2979         * lread.c (init_lread): Put non-ex-dir warnings on stderr.
2980         * callproc.c: Include stdio.h.
2981         (init_callproc): Put non-ex-dir warnings on stderr.
2983 1994-01-28  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2985         * xterm.c (x_set_window_size): Add USE_X_TOOLKIT conditional. Call
2986         EmacsFrameSetCharSize and return.
2988         * xterm.c (x_term_init): Cast to (char **) before assignment to argv.
2990 1994-01-27  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
2992         * keyboard.c (make_lispy_event): Add USE_X_TOOLKIT conditional and
2993         test FRAME_EXTERNAL_MENU_BAR.
2994         (map_event_to_object) [USE_X_TOOLKIT]: Declare and use it.
2996 1994-01-26  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
2998         * xterm.c (x_set_mouse_position): Don't raise the frame.
3000         * s/sunos4-0.h [__GNUC__] (MKDIR_PROTOTYPE): Defined.
3002         * sysdep.c (mkdir): Use MKDIR_PROTOTYPE if defined.
3004 1994-01-26  Frederic Pierresteguy  (fp@mole.gnu.ai.mit.edu)
3006         * xterm.h [USE_X_TOOLKIT]: Don't include Xaw/Box.h.
3008         * xdisp.c (update_menu_bar): Add USE_X_TOOLKIT conditional and test
3009         FRAME_EXTERNAL_MENU_BAR.
3011 1994-01-26  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3013         * Makefile.in.in (widgetobj): New variable.
3014         (otherobj): Use widgetobj.
3015         (XOBJ): Undo previous change.
3017 1994-01-25  Francesco Potortì  (pot@cnuce.cnr.it)
3019         * m/delta.h (HAVE_BCOPY): undef'd for efficiency.
3020         (bcopy, bzero, bcmp): define'd for efficiency.
3021         (GAP_USE_BCOPY, BCOPY_DOWNWARD_SAFE): define'd for GHc compiler.
3023 1994-01-24  Francesco Potortì  (pot@cnuce.cnr.it)
3025         * m/delta.h (HAVE_RANDOM, BROKEN_FIONREAD): Defined if X is used.
3026         (HAVE_XSCREENNUMBEROFSCREEN): Defined if X is used.
3027         (LIB_X11_LIB, LIBX11_SYSTEM): Override only if X is used.
3028         (USG_SHARED_LIBRARIES): Undefine only if X is used.
3030 1994-01-23  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3032         * fns.c (Fconcat): Doc fix.
3034 1994-01-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3036         * keyboard.c (read_key_sequence): Properly gcpro fkey_map while
3037         using keytran_map.
3039         * fns.c (Fassq, Fassoc): Doc fixes.
3041         * data.c (Faset): Doc fix.
3043 1994-01-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3045         * xdisp.c (display_menu_bar): Add USE_X_TOOLKIT conditional.
3046         (redisplay_window) [USE_X_TOOLKIT]: Test FRAME_EXTERNAL_MENU_BAR.
3047         (update_menu_bar) [USE_X_TOOLKIT]: Call set_frame_menubar.
3049         * widget.c: Include X11/ObjectP.h.
3051         * keyboard.c (syms_of_keyboard): New Lisp var command-hook-internal.
3052         (command_loop_1): Use it when running the command hooks.
3054         * Makefile.in.in (LWLIB_OPTIONS): Define if not defined.
3055         (LIBXT): New variable.
3056         (LIBX): Use LIBXT.
3057         (widget.o): New target.
3058         (XOBJ) [USE_X_TOOLKIT]: Add widget.o.
3060         * xmenu.c: Find lwlib.h and xlwmenuP.h in ../lwlib.
3061         * xfns.c: Find lwlib.h in ../lwlib.
3063         * widgetprv.h: Renamed from widgetP.h.
3065         * Makefile.in.in (lwlibdir): New variable.
3066         ($(OLDXMENU)) [USE_X_TOOLKIT]: Alternate rule.
3067         (OLDXMENU) [USE_X_TOOLKIT]: Alternate value.
3068         (really-lwlib): New rule.
3070         * xterm.h [USE_X_TOOLKIT]: Include StringDefs.h, IntrinsicP.h,
3071         CoreP.h, StringDefs.h, Xaw/Box.h.
3072         * xterm.c: Don't include them.
3074         * xrdb.c (search_magic_path): Fix logic testing for empty path element.
3076 1994-01-20  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3078         * xterm.c (x_wm_set_size_hint): Swap southeast and northwest.
3080         * xrdb.c (S_ISDIR): Define if not defined.
3081         (file_p): Use S_ISDIR.
3083         * xterm.c (XTupdate_end): No need to test updating_frame.
3084         * term.c (update_end): Clear updating_frame before calling hook.
3086         * fileio.c (double_dollars): New function.
3087         (Fread_file_name_internal): Use double_dollars.
3088         (Fread_file_name): Likewise.
3090         * textprop.c (Fprevious_property_change): Move back at least 1 char.
3091         (Fprevious_single_property_change): Likewise.
3092         * textprop.c: Doc fixes.
3094         * xfns.c (store_class_hints): Function deleted.
3096         * intervals.c (graft_intervals_into_buffer): Fix one-off
3097         comparing lengths of over and under.
3099         * keyboard.c (read_key_sequence): Don't call echo_truncate
3100         the first time through.
3102 1994-01-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3104         * s/sunos4-1-3.h: Add #undef SYSTEM_MALLOC.
3106         * xfns.c (Fx_create_frame): Bind x-resource-name to explicit title.
3107         (Qx_resource_name): Declared.
3108         (syms_of_xfns): Set up Qx_resource_name.
3110         * xmenu.c: Reshuffle functions; put new ones in #ifdef USE_X_TOOLKIT.
3111         (Fx_popup_menu): Add USE_X_TOOLKIT conditional around new decls.
3113         * xterm.c: Put new functions in #ifdef USE_X_TOOLKIT.
3115         * xdisp.c (truncate_echo_area): New function.
3116         * keyboard.c (echo_truncate): Call truncate_echo_area.
3118 1994-01-18  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3120         * config.h.in: Add #undef for USE_X_TOOLKIT.
3122         * xfns.c (x_window): Fix error message.
3124 1993-01-18  Frederic Pierresteguy  (F.Pierresteguy@frcl.bull.fr)
3126         Support use of X toolkit.
3127         * (USE_X_TOOLKIT): New macro to conditionalize the use of Xt.
3128         * widget.c, widgetP.h, widget.h: New files.
3129         * frame.h (struct frame): New field external_menu_bar.
3130         (FRAME_EXTERNAL_MENU_BAR): New macro.
3131         * xterm.h (struct x_display): New fields widget, column_widget,
3132         edit_widget, menubar_widget.
3133         (x_any_window_to_frame): Declared.
3134         * lisp.h (VOID_TO_LISP, CVOID_TO_LISP, LISP_TO_VOID, LISP_TO_CVOID):
3135         New macros.
3136         * xfns.c (x_any_window_to_frame): New function.
3137         (x_window_to_frame, x_window): Handle USE_X_TOOLKIT.
3138         (x_set_icon_type, x_set_menu_bar_lines, x_set_name): Likewise.
3139         (store_class_hints, hack_wm_protocols): New function.
3140         * xmenu.c (string_width): New function.
3141         (event_is_in_menu_item, map_event_to_object): Likewise.
3142         (set_menu_items, free_menu_items, popup_selection_callback): Likewise.
3143         (popup_down_callback, free_menubar_widget_value_tree): Likewise.
3144         (update_one_frame_psheets, set_frame_menubar): Likewise.
3145         (Fx_popup_menu, xmenu_show): Handle USE_X_TOOLKIT.
3146         * xterm.c (construct_mouse_click): New function.
3147         (process_expose_from_menu): Likewise.
3148         (XTread_socket, x_set_offset, x_set_window_size): Handle USE_X_TOOLKIT.
3149         (x_raise_frame, x_lower_frame, x_make_frame_visible): Likewise.
3150         (x_iconify_frame, x_destroy_window, x_wm_set_window_state): Likewise.
3151         (x_term_init): Likewise.
3153         * xmenu.c (dispatch_dummy_expose): New function.
3154         (XMenu_xpos, XMenu_ypos): Change the values of the constant assignment.
3155         (xmenu_show): Change the way to make the menubar to redraw itself by
3156         generating a dummy expose event.
3158         * xterm.c (x_term_init): Pass argv, argc to XtAppInitialize with the
3159         display_name value.
3161 1994-01-16  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3163         * s/linux.h: Don't include stdio.h.
3165         * dispnew.c: Include stdio.h before config.h.
3167         * emacs.c (init_cmdargs): Set Vinstallation_directory.
3168         (syms_of_emacs): staticpro it.
3169         * lisp.h (Vinstallation_directory): Declared.
3170         * lread.c (init_lread): Use Vinstallation_directory.
3171         * callproc.c (init_callproc): Use Vinstallation_directory.
3173         * fileio.c (Ffile_symlink_p): Doc fix.
3175         * keyboard.c (Voverriding_local_map): New variable.
3176         (syms_of_keyboard): Set up Lisp variable.
3177         (read_key_sequence, menu_bar_items): Handle Voverriding_local_map.
3179         * keymap.c (Fkey_binding): Handle Voverriding_local_map.
3180         (describe_buffer_bindings): Likewise.
3182 1994-01-15  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3184         * config.h.in (LD_SWITCH_X_SITE_AUX): Add #undef.
3185         * s/sol2.h (LD_SWITCH_SYSTEM): Use LD_SWITCH_X_SITE_AUX.
3187         * floatfns.c (Fffloor, Ffceil, Ffround, Fftruncate): New functions.
3188         (syms_of_floatfns): Turn them on.
3190 1994-01-14  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3192         * keyboard.c (command_loop_1): If there's an error in the
3193         post-command-hook or pre-command-hook, leave that hook nil.
3195         * s/sco4.h (BSTRING): Don't define it here.
3197 1994-01-13  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3199         * Makefile.in.in (xterm.o): Depends on syssignal.h.
3201 1994-01-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3203         * sysdep.c (sys_siglist) [sun]: Additional Sun-specific signal names.
3205 1993-01-12  Thomas Horsley  (tahorsley@csd.harris.com)
3207         * cxux-crt0.s: New file.
3209         * emacs.c (main) [USG5 and INTERRUPT_INPUT]: Call setpgrp.
3211         * m/nh3000.h: New file for the Night Hawk 3000 series hardware defs.
3213         * m/nh4000.h: New file for the Night Hawk 4000 & 5000 series hardware.
3215         * s/cxux.h: New file for the CX/UX operating system used by Night
3216         Hawks.
3218         * s/cxux7.h: New file.
3220         * sysdep.c (request_sigio, unrequest_sigio): Add new versions of
3221         these routines for the CX/UX operating system.
3222         (sys_signal) [SA_RESTART]: Set this flag.
3224         * xterm.c: Include syssignal.h.
3226 1994-01-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3228         * process.c (sigchld_handler, status_message):
3229         Handle a NULL in sys_siglist.
3231 1994-01-11  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
3233         * buffer.c (syms_of_buffer): Don't do (put 'erase-buffer 'disabled t).
3234         (keys_of_buffer): Do it here instead.
3236 1994-01-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3238         * lread.c (Fload): Record descriptor numbers on load_descriptor_list.
3239         (load_descriptor_unwind, close_load_descs): New function.
3240         (syms_of_lread): Init and staticpro load_descriptor_list.
3241         (init_lread): Clear load_descriptor_list.
3243         * callproc.c (child_setup): Call close_load_descs.
3245         * eval.c (Fcondition_case): Allow a list of condition names
3246         in a handler.
3247         (find_handler_clause): Likewise.
3248         (Fsignal): Rename 1st arg to error_symbol.
3249         (Fcondition_case): Doc fix.
3251         * process.c (read_process_output): Supply second arg to unbind_to.
3252         (exec_sentinel): Likewise.
3254 1994-01-11  Andy Seaborne  (afs@hplb.hpl.hp.com)
3256         * keyboard.c (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
3257         New functions made by dividing up read_char_menu_prompt.
3258         (read_char): Call read_char_minibuffer_menu_prompt before the sit_for
3259         if X menus are not going to be used.
3260         (read_char_minibuf_menu_prompt): Correct access to keymaps for
3261         menus when not using X menus.  Only store character read in a keyboard
3262         macro if it is not the menu help character.
3264 1994-01-10  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3266         * process.c (create_process): Set line discipline only if pty_flag.
3268         * search.c (set_search_regs): New subroutine.
3269         (search_buffer): Use set_search_regs.
3270         Record beginning and end after matching null string.
3272 1994-01-09  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
3274         * mem-limits.h: Include <sys/types.h> before <sys/resource.h>.
3276         * process.c: Don't declare sys_nerr.  Don't declare sys_errlist
3277         unless #ifdef VMS.  Declare strerror instead.
3278         (wait_reading_process_input): Call strerror instead of using
3279         sys_errlist.
3281 1994-01-09  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3283         * xfns.c (x_sync): Block input.
3285         * buffer.h (struct buffer): New field auto_save_failure_time.
3287         * fileio.c (Fdo_auto_save): If auto save times out,
3288         don't try again for 20 minutes.
3289         (Fclear_buffer_auto_save_failure): New function.
3290         (Fset_buffer_auto_saved): Clear auto_save_failure_time.
3292         * xfns.c (x_sync): New function.
3293         * frame.c (Fdelete_frame): Call x_sync.
3295 1994-01-09  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
3297         * sysdep.c: Restore big block of #ifdef and #include lines for
3298         fcntl.h and friends, apparently accidentally removed in revision
3299         1.70 (Jan 5 changes).
3301 1994-01-08  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
3303         * callproc.c (child_setup): Don't declare PID `register'; we later
3304         take its address.
3306         * config.h.in: Add #undef HAVE_STRERROR.
3307         * sysdep.c [! VMS]: Don't declare sys_errlist here.
3308         [! HAVE_STRERROR] (strerror): New function.
3309         (dup2): Use strerror instead of sys_errlist.
3310         * fileio.c: Don't declare sys_errlist; declare strerror instead.
3311         (err_str): Macro removed.
3312         (Finsert_file_contents, Fwrite_region): Call strerror instead of
3313         err_str.
3314         (report_file_error): Call strerror instead of using sys_errlist.
3315         * emacs.c (main): Call strerror instead of using sys_errlist.
3316         * callproc.c: Don't declare sys_errlist; declare strerror instead.
3317         (relocate_fd): Call strerror instead of using sys_errlist.
3318         * unexenix.c: Don't declare sys_errlist; declare strerror instead.
3319         (fatal_unexec): Call strerror instead of using sys_errlist.
3320         * unexmips.c: Likewise.
3322 1994-01-08  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3324         * frame.c (Fdelete_frame): Do FRAME_SAMPLE_VISIBILITY before
3325         testing visibility of a frame.
3327         * emacs.c (main): Don't call setpgrp if !initialized.
3329         * Makefile.in.in (${etc}DOC): Put back ${lisp} accidentally deleted.
3331         * keymap.c (describe_map_tree): New arg NOMENU.
3332         (describe_buffer_bindings): Pass new arg.
3333         * doc.c (Fsubstitute_command_keys): Pass new arg to describe_map_tree.
3335 1994-01-08  Morten Welinder  (terra@diku.dk)
3337         * keyboard.c (interrupt_signal) [MSDOS]: Write explicit CRs since
3338         stdout has been made binary.  Start at the top of the screen since
3339         the internal terminal otherwise will write "below the screen."
3341 1994-01-07  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3343         * Makefile.in.in (emacs): Don't run inc-vers.el.
3345         * config.h.in: Handle HAVE_BCMP.
3346         (BSTRING): Don't define unless HAVE_BCMP.
3348 1994-01-05  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3350         * s/msdos.h (getppid): Define as macro.
3352         * dired.c (DIRENTRY_NONEMPTY): New macro; two definitions.
3353         (Fdirectory_files, file_name_completion): Use it.
3355 1993-01-05  Morten Welinder  (terra@diku.dk)
3357         * buffer.c, buffer.h [MSDOS]: New buffer-local variable:
3358         buffer-file-type to handle DOS newlines.
3360         * callproc.c (syms_of_callproc) [MSDOS]: New lisp variable:
3361         binary-process.
3362         (init_callproc) [MSDOS]: Initialize binary-process.
3363         [MSDOS]: Declare binary-process.
3364         [MSDOS]: Include <fcntl.h>, <sys/stat.h>, <sys/param.h>,
3365         and <errno.h> needed for the next changes.
3366         (Fcall_process) [MSDOS]: Create temporary file for process output.
3367         Run the subprocess using `run_msdos_command' instead of forking.
3368         Arrange for cleanup to erase temporary file.
3369         (Fcall_process) [not subprocesses]: Barf if zero buffer argument.
3370         (call_process_cleanup) [MSDOS]: Close and erase temporary file
3371         instead of the pid-stuff.
3372         (Fcall_process_region) [MSDOS]: Create temporary file in $TMP or
3373         $TEMP.
3374         (Fchild_setup) [MSDOS]: #if 0, as it is not used.
3376         * cmds.c (keys_of_cmds) [MSDOS]: Chars 0200 to 0237 self-insert.
3378         * data.c (Frem) [MSDOS]: Use `fmod', not `drem'.  Put in config.h?
3380         * dired.c [MSDOS]: #include <dirent.h> instead of <sys/dir.h>.  Avoid
3381         some external definitions.
3382         (Ffile_attributes) [MSDOS]: Set execute bits from file name.
3383         (Ffile_name_all_completions) [FILE_SYSTEM_CASE]: Convert
3384         case of file name as as indicated by conditional.
3386         * emacs.c (main) [MSDOS]: Call init_environment.  Set file types to
3387         binary for all files.  Call init_dosfns.
3388         (fatal_error_signal) [MSDOS]: Uncomment sigblock.
3390         * fileio.c [MSDOS]: #include "msdos.h" and <sys/param.h> needed for
3391         the following changes.
3392         (Ffile_name_directory, Fexpand_file_name) [FILE_SYSTEM_CASE]: Apply
3393         case conversion if defined.
3394         (Ffile_name_directory, Ffile_name_nondirectory, file_name_as_directory,
3395         directory_file_name, Fexpand_file_name, Fsubstitute_in_file_name,
3396         expand_and_dir_to_file) [MSDOS]: Drive letter support.
3397         (Fexpand_file_name) [MSDOS]: Support for multiple default directories.
3398         (Ffile_writeable_p) [MSDOS]: Don't call access with file name ending
3399         in a slash.
3400         (Finsert_file_contents) [MSDOS]: Determine file type by name (call
3401         find-buffer-file-type) and change CR+LF to LF if it is a text file.
3402         (Fwrite_region) [MSDOS]: Use text/binary mode as specified by
3403         buffer_file_type.
3404         (syms_of_fileio) [MSDOS]: Set Qfind_buffer_file_type.
3405         (Fsubstitute_in_file_name) [MSDOS]: Ignore case in environment
3406         variable.
3408         * floatfns.c [MSDOS]: Don't define HAVE_MATHERR.
3410         * keyboard.c [MSDOS]: #include <dos.h> and <time.h>, but not
3411         <sys/ioctl.h>.
3412         (read_avail_input) [MSDOS]: Work around `ioctl'.  Also read through
3413         dos_keyread for better keyboard support.
3414         (interrupt_signal) [MSDOS]: Don't claim we can core dump.
3415         (kbd_buffer_store_event): Cast a pointer to avoid a compiler warning.
3417         * lread.c [MSDOS]: Use text mode for all files but ".elc" files.
3418         (complete_file_name) [MSDOS]: Drive letter support.
3420         * mem-limits.h [MSDOS] (get_lim_data): Use go32 call.
3422         * sysdep.c [MSDOS]: #include <dos.h>, "dosfns.h", "msdos.h", and
3423         <sys/param.h> needed for the following changes, but not <sys/ioctl.h>.
3424         (discard_tty_input) [MSDOS]: Do it by reading till no more keys
3425         available.
3426         (init_baud_rate) [MSDOS]: Assume highest possible speed.
3427         (sys_suspend) [MSDOS]: Save default directory.  Call via system, not
3428         via fork.
3429         (emacs_get_tty, emacs_set_tty) [MSDOS]: Don't do anything.
3430         (init_sys_modes) [MSDOS]: Use raw mode.
3431         (get_frame_size) [MSDOS]: Get from bios.
3432         (reset_sys_modes) [MSDOS]: Back to cooked mode.
3433         (start_of_text) [MSDOS]: Reference _tstart.
3434         (select) [MSDOS]: Don't use signals, use sleeping.
3435         (init_sys_modes) [MSDOS]: Initialize internal terminal.
3437         * systty.h [MSDOS]: Don't #include <sgtty.h>.  We haven't got it.
3438         Declare dummy main field.  Don't ever use TABs.
3440         * termcap.c (tgetent) [INTERNAL_TERMINAL]: Fake internal terminal
3441         without reading any files.
3442         (valid_file_name, tgetent) [MSDOS]: Drive letter support.
3443         (tgetent) [MSDOS]: Use text mode for database.
3445         * unexec.c [MSDOS]: Don't #include <a.out.h>, but use other headers.
3446         (make_hdr) [MSDOS]: Cast a pointer for bzero.
3447         (write_segment) [EFAULT]: Check for before using.
3448         (adjust_lnnoptrs) [MSDOS]: Use provided descriptor.
3449         (adjust_lnnoptrs): Return 0 if ok.
3451         * xdisp.c (decode_mode_spec) [MSDOS]: Let 't' expand to 'T' for
3452         text mode or 'B' for binary mode.
3453         (decode_mode_spec) [not subprocesses]: Don't access Fprocess_status.
3455         * s/msdos.h, m/dos386.h: New files (for MSDOS).
3456         * dosfns.c, dosfns.h: New files (for MSDOS).
3457         * msdos.c, msdos.h: New files (for MSDOS).
3459 1994-01-04  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3461         * s/sunos4-1.h (SUNOS_LOCALTIME_BUG): #if 0'd.
3463         * print.c (strout, printchar): Use proper frame for minibuffer.
3465         * keyboard.c (read_avail_input): Args to `kill' were backwards.
3466         (kbd_buffer_get_event): If deleting last frame, call Fkill_emacs.
3468         * fns.c (Fmapconcat): Doc fix.
3470         * s/sco4.h (bcopy, bzero, bcmp): Defined.
3472 1994-01-03  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3474         * xfns.c (Fx_list_fonts): Don't fail to init `tail'.
3476 1994-01-02  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3478         * buffer.c: Don't include syntax.h.
3479         * Makefile.in.in (buffer.o): Don't depend on syntax.h.
3481         * syntax.h (enum syntaxcode): Add Sinherit.
3482         (RAW_SYNTAX, RAW_SYNTAX_MATCH, SYNTAX_CHOOSE_TABLE): New macros.
3483         (SYNTAX, SYNTAX_MATCH, SYNTAX_COMSTART_FIRST, SYNTAX_COMSTART_SECOND)
3484         (SYNTAX_COMEND_FIRST, SYNTAX_COMEND_SECOND, SYNTAX_PREFIX)
3485         (SYNTAX_COMMENT_STYLE): Handle Sinherit.
3486         Alternative definitions if __GNUC__.
3488         * syntax.c (describe_syntax): Handle Sinherit.
3489         (syntax_code_spec, syntax_spec_code): Add entry for @ and Sinherit.
3491         * Makefile.in.in (temacs): Delete redundant use of LDFLAGS.
3493 1994-01-02  Ulrich Mueller  (ulm@vsnhd1.cern.ch)
3495         * sysdep.c (get_system_name): If the official name of the host is
3496         not a fully qualified domain name, then try to find one in the
3497         list of alternate names.
3499 1994-01-02  Rick Sladkey  (jrs@world.std.com)
3501         * intervals.h (NULL_RIGHT_CHILD, NULL_LEFT_CHILD):
3502         Assume children must be intervals, never strings or buffers.
3504         * intervals.c (rotate_right, rotate_left): Simplify
3505         total_length calculation.  Minimize pointer dereferencing.
3506         (balance_an_interval): Remove recursive rebalancing.
3507         Rebalance precisely when imbalanced.  If a rotation is done,
3508         rebalance only the node which may have become unbalanced.
3509         Iterate until the current node is balanced.
3510         (balance_possible_root_interval): New function.
3511         (balance_intervals): Move the iteration into rebalance_an_interval.
3512         (balance_intervals_internal): New subroutine of balance_intervals.
3513         (split_interval_right, split_interval_left): Speed up by
3514         not checking LEAF_INTERVAL_P.
3515         (split_interval_right, split_interval_left, find_interval,
3516         adjust_intervals_for_insertion, graft_intervals_into_buffer):
3517         Add dynamic rebalancing anywhere a node may become unbalanced.
3518         (graft_intervals_into_buffer, copy_intervals): No longer
3519         any need to do a full rebalance as the tree stays balanced.
3521 1994-01-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3523         * fileio.c (Fwrite_region): Don't change START and END from nil
3524         until after checking for a magic handler.
3526         * .gdbinit: Delete `show env TERMCAP'.
3528         * process.c (read_process_output): Use clip_to_bounds when moving
3529         to the process marker.
3531         * keyboard.c (modify_event_symbol): New arg NAME_ALIST.
3532         Allow SYMBOL_TABLE to be an alist.
3533         (Vvendor_key_alist): New variable.
3534         (syms_of_keyboard): Initialize it.
3535         (make_lispy_event): Handle vendor-specific keysyms.
3536         (lispy_function_keys): Delete `remove' and th HP keysyms.
3538         * xterm.c (XTread_socket): temp_buffer and temp_index deleted.
3539         Put all vendor-specific keys into the buffer.
3540         (x_is_vendor_fkey): Function deleted.
3541         (XTread_socket): Don't call it.
3543         * Makefile.in.in (SOME_MACHINE_OBJECTS): New var.
3544         (${etc}DOC): Use SOME_MACHINE_OBJECTS,
3545         not OBJECTS_MACHINE or OBJECTS_SYSTEM.
3546         Don't depend on SOME_MACHINE_OBJECTS.
3548         * dired.c (file_name_completion_stat): If have symlinks, use lstat.
3550 1993-12-31  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3552         * buffer.c (Qget_file_buffer): New variable.
3553         (syms_of_buffer): Set up Qget_file_buffer.
3554         (Fget_file_buffer): For magic file names, run the handler.
3556         * fileio.c (Finsert_file_contents): Don't run after change hook
3557         if inserted is 0.
3558         Avoid setting modtime or buffer-file-name field if ran a handler.
3560         jrs:
3561         * s/linux.h (PENDING_OUTPUT_COUNT): Two alternate definitions
3562         for different versions of stdio.h.
3564 1993-12-30  Morten Welinder  (terra@diku.dk)
3566         * frame.c: Always include termhooks.h.
3567         [! MULTI_FRAME] (Fmouse_position): New definition.
3568         [! MULTI_FRAME] (syms_of_frame): Add mouse-position.
3570 1993-12-30  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3572         * doc.c (Fsubstitute_command_keys): Fix previous change.
3574 1993-12-30  Lawrence R. Dodd  (dodd@roebling.poly.edu)
3576         * minibuf.c (read_from_minibuffer): Rename arg initial_input
3577         to initial_contents.
3579 1993-12-30  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3581         * editfns.c (Femacs_pid): New function.
3582         (syms_of_editfns): Define it for Lisp.
3584         * keyboard.c (read_avail_input): Turn O_NDELAY off on DGUX as on USG.
3586         * minibuf.c (Fall_completions): Allow completions that start with space
3587         if the input starts with space.
3589         * Makefile.in.in (LDFLAGS): Define as empty.
3590         (ALL_LDFLAGS): Define as LDFLAGS used to be defined.
3591         (temacs): Use ALL_LDFLAGS.
3593         * xfns.c (Fx_create_frame): Add to Vframe_list before making visible.
3595 1993-12-29  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3597         * keymap.c (describe_command): If binding is a kbd macro, say so.
3599 1993-12-26  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3601         * emacs.c (main) [AIX]: Call putenv.
3603         * s/linux.h (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Defined.
3605         * keyboard.c (lispy_accent_codes): Cope if an XK symbol is undefined.
3606         (make_lispy_event): Define i.
3608         * termhooks.h (struct input_event): FIx typo in previous change.
3610         * xterm.c (XTflash): Use EMACS_GET_TIME.
3611         (XTread_socket): Make proper junk values to pass to select.
3613 1993-12-25  Jerry Frain  (jerry.frain@tivoli.com)
3615         * s/usg5-4.h (bcopy): Use memmove instead of memcpy.
3617         * systime.h (EMACS_GET_TIME) [USG5_4]: Give gettimeofday just one arg.
3619 1993-12-25  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3621         * alloc.c (Fmemory_limit): No longer interactive.
3623 1993-12-24  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3625         * keyboard.c (command_loop_1): Test of whether disp tab elt
3626         was a vector was backwards.
3628         * fileio.c (Fwrite_region): If handler, don't mess with modtime.
3629         (Finsert_file_contents): Likewise.
3631         * config.h.in: Add #undef HAVE_SETSID.
3633         * process.c (create_process) [NTTYDISC]: Set the tty line discipline.
3635         * callproc.c: Include systty.h.
3636         (child_setup): Use EMACS_SET_TTY_PGRP.
3637         * Makefile.in.in (callproc.o): Depend on systty.h and syssignal.h.
3639         * xdisp.c (redisplay_window): Before altering lpoint,
3640         make sure the buffer it pertains to is the one being displayed.
3642         * syntax.c (Fmodify_syntax_entry): Doc fix.
3644 1993-12-23  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3646         * process.c (Fopen_network_stream): Turn off SIGIO while connecting.
3648 1993-12-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3650         * keyboard.c (lispy_accent_codes): New variable.
3651         (make_lispy_event): Use that to handle lots of dead accent keys.
3653         * xterm.c (XTread_socket): Handle a bunch more dead keys.
3655 1993-12-22  Francesco Potortì  (pot@cnuce.cnr.it)
3657         * m/delta.h (BROKEN_CLOSEDIR): Added because closedir is interruptible.
3658         (HAVE_UNISTD_H): Deleted because configure takes care of it.
3659         (C_SWITCH_MACHINE): Added optimization options for gnu cc.
3661 1993-12-17  Mike Long  (mike.long@analog.com)
3663         * s/vms.h (TERMCAP_NAME): Defined.
3664         * s/netbsd.h (TERMCAP_NAME): Defined.
3665         These correspond with changes in termcap.c.
3667 1993-12-17  Richard Stallman  (rms@gnu.ai.mit.edu)
3669         * xterm.c (XTread_socket): Don't offset keysym here.
3670         Special handling for "dead accent" keysyms.
3671         * keyboard.c (make_lispy_event): Offset the event code here.
3672         Special handling for "dead accent" keysyms.
3674         * keyboard.c (quit_throw_to_read_char): Don't switch frames if
3675         internal_last_event_frame is not a frame.
3677         * termhooks.h (struct input_event): `code' is now an int.
3678         * xterm.c (construct_mouse_click, x_scroll_bar_handle_click)
3679         (XTread_socket): `code' of an event is now an int.
3680         * keyboard.c (kbd_buffer_store_event, make_lispy_event)
3681         (stuff_buffered_input): `code' of an event is now an int.
3683         * s/sol2-3.h: New file.
3684         * xfns.c (Fx_list_fonts): Handle BROKEN_XLISTFONTSWITHINFO.
3686 1993-12-16  Richard Stallman  (rms@gnu.ai.mit.edu)
3688         * xterm.c (pixel_to_glyph_coords): New arg NOCLIP.  Callers changed.
3690         * keyboard.c (make_lispy_movement): If we have a frame but pos is not
3691         in a window, return an event with the frame.
3693         * xterm.c (XTread_socket): For MotionNotify, if x_mouse_grabbed,
3694         use last_mouse_frame.
3695         (construct_mouse_click): Set last_mouse_frame.
3696         (XTmouse_position): If x_mouse_grabbed, use last_mouse_frame.
3698         * xdisp.c (message): Use message2, not message1.
3700 1993-12-15  Richard Stallman  (rms@gnu.ai.mit.edu)
3702         * xfns.c (Fx_create_frame): Add frame to Vframe_list.
3703         * frame.c (make_terminal_frame): Add frame to Vframe_list.
3704         (make_frame): Don't add to frame list here.
3706         * window.c (Fdisplay_buffer): If pop_up_frames, pass t to
3707         Fget_buffer_window.
3709         * Makefile.in.in (configuration): New variable.
3710         (emacs.o): Define macro CONFIGURATION.
3711         * emacs.c (syms_of_emacs): Define Lisp var system-configuration.
3713         * xdisp.c (display_string): Fix truncation-criterion after main loop
3714         for termination due to LENGTH.
3715         * window.h (echo_area_glyphs_length): Declared.
3716         * print.c (printchar, strout): Set echo_area_glyphs_length.
3718         * keyboard.c (read_key_sequence): Don't return if in middle
3719         of possible function-key-map sequence, if the bindings were all
3720         found by case conversion.
3722         * lisp.h: Use WORDS_BIG_ENDIAN, not BIG_ENDIAN.
3723         (Qmenu_bar): Declared.
3725         * process.c (Fprocess_status): Use get_process, not Fget_process.
3727         * s/dgux.h (SYSTEM_TYPE): Make it dgux.
3729         * m/sun2.h (OTHER_FILES): Use ${libsrc} as dir.
3731 1993-12-15  Michal Jankowski  (michalj@fuw.edu.pl)
3733         * insdel.c (del_range): Second argument in call to
3734         offset_intervals is 'from', not 'point'.
3736 1993-12-14  Richard Stallman  (rms@gnu.ai.mit.edu)
3738         * emacs.c (memory_warning_signal): New function.
3739         (main): Handle SIGDANGER, if defined.
3741         * minibuf.c (minibuffer_auto_raise): Really define it.
3743         * process.c [BROKEN_O_NONBLOCK]: Undefine O_NONBLOCK.
3745 1993-12-14  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
3747         * dispnew.c (update_frame): Only call sleep (outq / baud_rate) if
3748         baud_rate >= OUTQ.  Calling sleep (0) causes a gratuitous delay on
3749         some systems.
3751 1993-12-13  Andreas Luik  (luik@kepler.isa.de)
3753         * xterm.c (x_calc_absolute_position): Borderwidth must be doubled
3754         before subtracting from width to get correct value.
3756         * xfns.c (Fx_create_frame): Fix order of arguments of
3757         x_wm_set_size_hint call.  This corrects handling of +x-y and -x+y
3758         geometry specifications.
3760 1993-12-12  Richard Stallman  (rms@gnu.ai.mit.edu)
3762         * xdisp.c (echo_area_glyphs_length): New variable.
3763         (message1): Set it.
3764         (message2): New function.
3765         (display_string): New arg LENGTH.
3766         (echo_area_display): Pass new arg to display_string.
3767         (redisplay_window): Likewise.
3768         (display_text_line): Likewise.
3769         (display_menu_bar): Likewise.
3770         (display_mode_element):
3772         * editfns.c (Fmessage): Use message2.
3774         * keyboard.c (set_waiting_for_input): Code testing echo_flag deleted.
3775         (echo_flag, echo_now): Vars deleted.
3777         * keyboard.c (read_key_sequence): Bind case_converted at top level.
3778         Clear it at replay_sequence.
3779         (follow_key): Never clear *CASE_CONVERTED.
3781 1993-12-11  Richard Stallman  (rms@gnu.ai.mit.edu)
3783         * xselect.c (x_get_foreign_selection): Use x_catch_errors.
3785         * fileio.c (Fmake_symbolic_link): Do expand FILENAME if starts with ~.
3787         * keymap.c (Fwhere_is_internal): Doc fix.
3789         * buffer.c (Fbuffer_disable_undo): Make arg optional.
3791 1993-12-11  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
3793         * unexsunos4.c [! MAP_FILE] (MAP_FILE): Define to zero.
3794         (unexec): Remove unused variable BUF.
3795         Use MAP_FILE bit in mmap call.
3796         (run_time_remap): Use MAP_FILE bit in mmap call.
3798 1993-12-09  Richard Stallman  (rms@gnu.ai.mit.edu)
3800         * insdel.c (modify_region): Call record_first_change if necessary.
3802         * emacs.c (main): Don't handle SIGDANGER.
3804         * minibuf.c (minibuffer_auto_raise): New variable.
3805         (syms_of_minibuf): Set up Lisp var.
3806         (read_minibuf): Maybe raise the minibuffer's frame.
3808 1993-12-08  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
3810         * dispnew.c (PENDING_OUTPUT_COUNT) [__GNU_LIBRARY__]: Alternate
3811         definition for the GNU C library.  I changed this in version 18 in
3812         1991, but the change never got propagated.
3814 1993-12-07  Paul Reilly  (pmr@legacy.pajato.com)
3816         * s/dgux.h (SYSV4_PTYS): Remove.
3817         (SIGNALS_VIA_CHARACTERS): Defined.
3819         * process.c (create_process): Delete SYSV4_PTYS code.
3820         (deactivate_process): Likewise.
3822 1993-12-06  Richard Stallman  (rms@gnu.ai.mit.edu)
3824         * doc.c (Fsubstitute_command_keys): Ignore menu bar bindings.
3826         * s/sunos4-1.h (LIBS_SYSTEM): Use -lresolv if HAVE_RES_INIT
3827         is not defined and HAVE_GETHOSTNAME is defined.
3829         * keyboard.c (syms_of_keyboard): Define Lisp var track-mouse.
3831         * keyboard.c (follow_key): New arg case_converted.
3832         (read_key_sequence): Pass the new arg.
3833         If key has a binding via case-conversion, that does not prevent
3834         use of function_key_map.
3836 1993-12-05  Richard Stallman  (rms@gnu.ai.mit.edu)
3838         * m/pmax.h (SET_CHILD_PTY_PGRP): Defined.
3840         * process.c (create_process) [SET_CHILD_PTY_PGRP]: Do ioctls
3841         to set the pgrp of the pty.
3843 1993-12-04  Richard Stallman  (rms@gnu.ai.mit.edu)
3845         * xfns.c (XSetWMProtocols): New function, defined conditionally.
3847         * config.h.in (HAVE_XSETWMPROTOCOLS): Add #undef.
3849         * intervals.c (graft_intervals_into_buffer): If SOURCE is null
3850         and TREE is null, no need to call Fset_text_properties.
3852         * dispnew.c (Fsit_for): Call prepare_menu_bars.
3853         * keyboard.c (read_char): Call prepare_menu_bars.
3854         * xselect.c (x_handle_selection_clear): Call prepare_menu_bars.
3855         * vmsproc.c (Fcall_process): Call prepare_menu_bars.
3856         * sysdep.c [VMS] (wait_for_kbd_input): Call prepare_menu_bars.
3857         * process.c (wait_reading_process_input): Call prepare_menu_bars.
3858         * callproc.c (Fcall_process): Call prepare_menu_bars.
3859         * keyboard.c (tracking_off): Call prepare_menu_bars.
3860         * xdisp.c (update_menu_bar, update_menu_bars): New functions.
3861         (prepare_menu_bars): New function.
3862         (redisplay_window): Don't update menu bar here.
3863         (display_menu_bar): Assume item list already updated.
3865 1993-12-02  Richard Stallman  (rms@gnu.ai.mit.edu)
3867         * editfns.c (Fsubst_char_in_region): Move the NOUNDO hacking code
3868         after the modify_region call.
3870 1993-12-01  Richard Stallman  (rms@gnu.ai.mit.edu)
3872         * eval.c (Fmacroexpand): For an autoload definition,
3873         check the 4th elt, not the car of the 4th elt.
3875         * m/mips4.h (C_DEBUG_SWITCH): Delete  -systype bsd43; not needed.
3877         * regex.c (regex_compile) [!MATCH_MAY_ALLOCATE]: If fail_stack.stack
3878         is nonzero, leave it alone.
3880         * fileio.c (Fread_file_name): If defalt is nil and user tries to use
3881         it, signal an error.
3883         * lisp.h (DEFUN_ARGS_MANY, DEFUN_ARGS_UNEVALLED, DEFUN_ARGS_0, ...):
3884         New macros.
3885         (DEFUN) [__STDC__]: Use those macros.
3887         * doc.c (Fdocumentation_property): 3 args is maximum.
3889         * callproc.c (Fgetenv): One arg is maximum.
3891 1993-11-30  Richard Stallman  (rms@gnu.ai.mit.edu)
3893         * dispnew.c (direct_output_forward_char):
3894         Give up if in truncated text at end of line.
3896         * process.c (create_process): The test to avoid closing forkin
3897         is now conditional on #ifndef SIGNALS_VIA_CHARACTERS.
3899         * xdisp.c (redisplay_window): Don't alter lpoint when w is
3900         selected window in a non-selected frame.
3902 1993-11-30  Richard Stallman  (rms@gnu.ai.mit.edu)
3904         * Makefile.in.in [__GNUC__ > 1]: Maybe define LINKER_WAS_SPECIFIED.
3905         [LINKER_WAS_SPECIFIED] (YMF_PASS_LDFLAGS): Define as identity.
3907         * m/mips4.h (NO_MODE_T): Defined.
3909 1993-11-27  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3911         * Version 19.22 released.
3913         * m/tek4300.h (NO_MODE_T): Defined.
3915 1993-11-26  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3917         * process.c (deactivate_process) [SVR4_PTYS]:
3918         If subtty is not nil, close it.
3920         * keyboard.c (kbd_buffer_get_event): For delete-window-event,
3921         do count iconified frames.
3923         * xfns.c (x_window): Call XSetWMProtocols.
3925         * keyboard.c (kbd_buffer_get_event): If user destroys the last frame,
3926         exit before calling Fdelete_frame.
3928         * s/irix5-0.h (SYSTEM_TYPE): Make it "irix".
3930         * sysdep.c (closedir): Test BROKEN_CLOSEDIR, not INTERRUPTIBLE_CLOSE.
3932 1993-11-25  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3934         * keyboard.c (read_avail_input): Undo Nov 18 change.
3936         * lread.c (readevalloop): Get error if buffer being eval'd is killed.
3938         * s/irix3-3.h (SETPGRP_RELEASES_CTTY): Defined.
3939         * s/irix5-0.h (IRIX5, SETPGRP_RELEASES_CTTY): Defined.
3940         * process.c (create_process): Do setpgrp for USG regardless of IRIX.
3941         (process_send_signal) [IRIX5]: For SIGTSTP, use VSUSP, not VSWTCH.
3942         * callproc.c (child_setup): Test SETPGRP_RELEASES_CTTY, not IRIX.
3943         (init_callproc): Fix previous change.
3945         * s/sunos4-1-3.h [!SYSTEM_MALLOC] (MEMMOVE_MISSING): Defined.
3947         * keyboard.c (quit_throw_to_read_char):
3948         Look at internal_last_event_frame only if MULTI_FRAME.
3950         * m/ibmrt.h (HAVE_FTIME): Deleted (autoconf does it).
3952         * m/hp9000s800.h (bcopy, bzero, bcmp): If HAVE_BCOPY, don't #define.
3954         * s/sco4.h (LIBS_SYSTEM): Always define this one way or another.
3955         Include -lPW in it.
3957         * intervals.c (merge_properties_sticky): Declared.
3959         * regex.c (MAX, MIN): Undef before defining.
3961         * frame.c (Fhandle_switch_frame, Fredirect_frame_focus): Declared.
3963         * m/delta.h (HAVE_RANDOM, HAVE_XSCREENNUMBEROFSCREEN, BROKEN_FIONREAD):
3964         Add definitions.
3965         (LIB_X11_LIB, LIBX11_SYSTEM): Add override definitions.
3966         (USG_SHARED_LIBRARIES): Add #undef.
3968         * sysdep.c (init_baud_rate): Avoid referring to sg uninitialized.
3970 1993-11-24  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3972         * emacs.c (main) [AIX]: Don't handle signals 23, SIGAIO, SIGPTY.
3974         * indent.c (Fmove_to_column): Increments for control characters
3975         were too low by 1.
3977         * process.c (Fdelete_process): Fix paren error.
3979         * sysdep.c (closedir): Pass on the value from sys_closedir.
3980         Do use this definition, if INTERRUPTIBLE_CLOSE.
3982 1993-11-23  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
3984         * s/sco4.h (LIBX11_SYSTEM): Override the definition.
3986         * xterm.c (XTread_socket): Really handle Xatom_wm_window_moved events.
3988         * s/irix5-0.h (SIGNALS_VIA_CHARACTERS): Defined.
3990         * fileio.c (Finsert_file_contents): Don't call signal_after_change
3991         if we did not call prepare_to_modify_buffer.
3993         * editfns.c (make_buffer_string): Don't copy intervals
3994         if we don't really have any properties.
3996         * lisp.h: Declare Fnext_single_property_change
3997         and Fnext_property_change.
3999         * s/sco4.h (HAVE_GETTIMEOFDAY): Define only if HAVE_SOCKETS.
4000         Fix up conditionals changed recently.
4002         * editfns.c (Finsert_buffer_substring):
4003         Pass graft_intervals_into_buffer the current buffer.
4005         * intervals.c (graft_intervals_into_buffer): New arg LENGTH.
4006         If source has no intervals, set dest properties to nil.
4007         * editfns.c (Finsert_buffer_substring): Pass new arg.
4008         * insdel.c (insert_from_string): Likewise.
4010         * callproc.c (init_callproc): Maybe add ../lib-src to exec-path
4011         and maybe store it in exec-directory.
4012         Maybe put ../etc into data-directory.
4013         (init_callproc_1): Part of init_callproc is split out.
4014         * emacs.c (main): Call init_callproc and init_callproc_1.
4016 1993-11-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4018         * editfns.c (Fsubst_char_in_region): Call modify_region only if
4019         a change has to be made.  Call signal_after_change just once, at end.
4021         * lread.c (OBARRAY_SIZE): Increase from 509.
4023         * xrdb.c (search_magic_path): Fix colon-colon case.
4025         * textprop.c (Ftext_property_not_all):
4026         For trivial yes, return start, not Qt.
4028         * xselect.c (Fx_disown_selection_internal): When making the fake
4029         event for x_handle_selection_clear, use SELECTION_EVENT_... macros.
4031 1993-11-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4033         * s/sunos4-1-3.h (HAVE_TERMIOS, BSD_TERMIOS): Deleted.
4035         * systty.h (EMACS_GET_TTY_PGRP, EMACS_SET_TTY_PGRP):
4036         If HAVE_TERMIOS and BSD_TERMIOS, don't use tc[sg]etpgrp.
4038         * xfns.c (x_set_frame_parameters): Call check_frame_size
4039         before Fset_frame_size and Fset_frame_position.
4041         * termhooks.h (delete_window_event): New event kind.
4042         * xterm.c (XTread_socket): Generate delete_window_event's.
4043         * keyboard.c (kbd_buffer_get_event): Handle delete_window_event's.
4045         * s/sco4.h [HAVE_SOCKETS] (HAVE_XSCREENNUMBEROFSCREEN): Defined.
4047         * keymap.c: Doc fix.
4049         * window.c (window_loop, case DELETE_BUFFER_WINDOWS):
4050         Select a new buffer only if w is selected window.
4052         * hftctl.c: Include config.h.  Include sys/signal.h before config.h.
4053         (sav_alrm): Use SIGTYPE.
4054         (FUNC): Typedef deleted.
4056         * Makefile.in.in (hftctl.o): New rule.
4058         * process.c (wait_reading_process_input):
4059         Use -1 to mean wait_channel is empty.
4060         Start process loop with descriptor 0 if keyboard_descriptor is not 0.
4061         (make_process): Initialize descriptors to -1.
4062         (Fdelete_process): -1 means empty, in infd.
4063         (deactivate_process): Likewise.
4064         (process_send_signal): Likewise.
4065         (kill_buffer_processes): Likewise.
4066         (sigchld_handler): Likewise.
4067         (status_notify): Likewise.
4068         (close_process_descs): Likewise.
4069         (create_process): Likewise.
4070         (Fopen_network_stream): Likewise.
4071         (send_process): Likewise.
4072         (Fprocess_send_eof): Likewise.  Use XINT when closing outfd.
4073         (Fset_process_filter): Use XINT to get infd value.
4074         (wait_reading_process_input): Likewise.
4076         * process.c (wait_reading_process_input): When bypassing select,
4077         clear Available.
4079         * sysdep.c (getwd): If getcwd returns 0, we return 0.
4080         (getwd for VMS): Likewise.
4082 1993-11-20  Paul Reilly  (pmr@legacy.pajato.com)
4084         *  s/dgux.h (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF):
4085         Defined (copied from usg5-4.h).
4086         (FIRST_PTY_LETTER): Deleted.
4088 1993-11-20  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4090         * frame.c (Fmake_frame_visible): Doc fix.
4092         * textprop.c (Ftext_property_not_all): Swap t and nil values in
4093         the case where there are no intervals.
4094         (Fprevious_single_property_change, Fprevious_property_change)
4095         Extra arg LIMIT.  Return value was off by 1.
4096         (Fnext_single_property_change, Fnext_property_change):
4097         Extra arg LIMIT.
4098         (Fnext_single_property_change): Require at least 2 args.
4099         * indent.c (compute_motion):
4100         Pass new arg to Fnext_single_property_change.
4101         * xfaces.c (compute_char_face): Accept new arg LIMIT.
4102         Pass Fnext_single_property_change its new arg LIMIT.
4103         * xdisp.c (display_text_line): Pass new arg to compute_char_face
4104         and to Fnext_single_property_change.
4105         * dispnew.c (direct_output_for_insert):
4106         Pass new arg to compute_char_face.
4108         * keyboard.c (follow_key): When downcasing, downcase just the
4109         basic part of the character, and preserve the modifier bits.
4111 1993-11-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4113         * keyboard.c (read_key_sequence): If we get a quit, and current buffer
4114         has changed, replay it to get proper keymap.
4115         (quit_throw_to_read_char): Switch frames to the frame the quit was in.
4117 1993-11-19  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
4119         * buffer.c (Frename_buffer): When the current buffer is already
4120         named NAME, don't short-circuit and just return unless UNIQUE is
4121         nil.  This makes passing UNIQUE=t equivalent to (rename-buffer
4122         (generate-new-buffer-name NAME)).  This is useful way to rename
4123         the buffer automatically so you can create another with the
4124         original name.
4126 1993-11-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4128         * keyboard.c (quit_throw_to_read_char): Select the frame
4129         which the quit char was typed in.
4131         * s/linux.h (HAVE_UNISTD_H): No need to define here.
4133         * buffer.c (Flist_buffers): Always return a value.
4135         * minibuf.c (read_minibuf): History list always gets strings,
4136         not Lisp objects made by read.
4138 1993-11-18  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4140         * keyboard.c (read_avail_input): Don't set nread to -1
4141         if we loop around in the loop that calls read.
4143         * sysdep.c (read_input_waiting): read_socket_hook
4144         delivers events, not characters.  Make buf smaller
4145         in the case where we actually call read itself.
4147         * ralloc.c (r_alloc_init): Explicitly use real_morecore
4148         to allocate the entire incomplete page.
4150         * frame.c (Fmake_frame_visible): Use FRAME_SAMPLE_VISIBILITY.
4152         * s/dgux.h (FIRST_PTY_LETTER): Defined.
4154 1993-11-17  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4156         * keymap.c (Fkey_binding): Doc fix.
4158         * cmds.c (keys_of_cmds): Make 0377 self-inserting.
4160 1993-11-16  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4162         * Version 19.21 released.
4164         * doprnt.c (doprnt): Cast the value alloca returns.
4166         * gmalloc.c [HPUX8]: Include unistd.h earlier on.
4168         * s/sunos4shr.h (GNU_MALLOC, REL_ALLOC): Don't define if
4169         already defined.
4171         * s/hpux8.h (LD_SWITCH_SYSTEM) [hp9000s700]: Add -L/lib/pa1.1.
4173         * Makefile.in.in (extraclean): Prevent wildcard from starting comment.
4174         (distclean): Do delete Makefile and Makefile.in.
4176 1993-11-14  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4178         * systty.h [BSD_TERMIOS]: Under NL0, NL1..., ECHO, NOFLSH, TOSTOP,
4179         FLUSHO and PENDIN.
4180         * s/sunos4-1-3.h (BSD_TERMIOS): Defined.
4182         * regex.c (re_set_registers): Use `regoff_t *' when casting 0.
4184         * Makefile.in.in: Delete spurious CFLAGS=-g.
4186         * s/sco4.h (HAVE_GETTIMEOFDAY): Don't define if already defined.
4188         * keyboard.c (read_avail_input): Make cbuf 1 char shorter.
4190 1993-11-14  Paul Reilly  (pmr@legacy.pajato.com)
4192         * s/dgux.h (INTERRUPT_INPUT): Undefined.
4193         (BROKEN_FIONREAD): Defined to work around a problem in DGUX
4194         whereby emacs will stop on a background write when invoked from a
4195         job control shell for the first time in a session.
4196         (FIRST_PTY_LETTER): Undefined.
4197         (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Defined
4198         to use all the available PTYs in a COFF environment.
4199         (LINKER): Removed "-nostdlib" from to be compatible with a prior
4200         mod removing "/lib/crt0.o" from the LIBS_SYSTEM define.
4201         (LIBS_SYSTEM): Delete /lib/crt0.o.
4203 1993-11-14  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4205         * xterm.c (XTread_socket): Increase length of copy_buffer to 81.
4207         * lread.c (read1): If token has a \, don't treat it as a number.
4209 1993-11-13  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4211         * process.c (IN_ADDR, NUMERIC_ADDR_ERROR): New macros (two versions).
4212         (Fopen_network_stream): Use them.
4214         * doprnt.c: Include config.h.
4216         * keyboard.c (read_avail_input) [no FIONREAD]: On DGUX, as on USG,
4217         read input with O_NDELAY.
4219         * s/dgux.h (SYSTEM_MALLOC): Turned off.
4220         (NO_TERMIO): Defined.
4221         (BROKEN_FASYNC): Turned off.
4223         * buffer.c (Foverlay_put): Don't call redisplay_region
4224         if overlay has no buffer.
4226 1993-11-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4228         * process.c (get_process): Add `static' to definition.
4230         * xterm.c (XTmouse_position): Delete test inserted Nov 10.
4232         * fileio.c (syms_of_fileio): Fix missing \n\'s.
4234         * keyboard.c (Fread_key_sequence): Split the doc string with "".
4236         * textprop.c (Fprevious_single_property_change): Fix missing \n\.
4237         (Fnext_single_property_change): Likewise.
4239 1993-11-10  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4241         * Version 19.20 released.
4243         * callproc.c (Fcall_process): Clear synch_process_death and
4244         synch_process_retcode before the vfork.
4246         * xterm.c (XTmouse_position): Undo roland's change.
4247         Fix bug in bfox change.
4249 1993-11-10  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
4251         * unexec.c [! HPUX]: Don't declare sbrk at all, so as not to
4252         conflict with system headers.
4254         * xterm.c (XTmouse_position): First arg is FRAME_PTR, not
4255         FRAME_PTR *.
4257 1993-11-10  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4259         * s/convexos.h: New file.
4261 1993-11-10  Brian J. Fox  (bfox@mole.gnu.ai.mit.edu)
4263         * Makefile.in.in (intervals.o): Depend on puresize.h.
4265         * intervals.c (create_root_interval): Check to see if PARENT is in
4266         pure memory.  If so, we cannot write it.
4267         (includes): Add "puresize.h" so we get the definition of CHECK_IMPURE.
4269         * xterm.c (XTmouse_position): If the passed in frame is not an
4270         Xwindow frame, don't do anything.
4272         * frame.c (Fraise_frame): Do like the documentation says, and make
4273         the frame visible first.
4275         * systty.h (EMACS_GETPGRP): New macro hides argument passing to
4276         system getpgrp.  Reinstate some semblance of control over this
4277         macros behavior by paying attention to GETPGRP_NO_ARG.
4278         * sysdep.c (sys_suspend): Use EMACS_GETPGRP macro.
4279         * emacs.c (main): Use EMACS_GETPGRP macro.
4280         (shut_down_emacs): Use EMACS_GETPGRP macro.
4282         * alloc.c (make_pure_string): If we USE_TEXT_PROPERTIES, set the
4283         interval of the pure string to NULL_INTERVAL.
4285         * syswait.h: Treat convex like hpux.
4287         * search.c (Fskip_chars_backward, Fskip_chars_forward): Doc fix.
4289 1993-11-10  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4291         * syntax.c (Fforward_comment): On backward scan, exit inner loop
4292         after we reach beginning of a comment.
4293         Check the SYNTAX_COMMENT_STYLE of a one-character comment ender.
4294         (scan_lists): Check the SYNTAX_COMMENT_STYLE
4295         of a one-character comment ender.
4297         * sysdep.c (read_input_waiting): Don't mess with meta bit
4298         if read_socket_hook is nonzero.
4300         * sysdep.c (LPASS8, LNOFLSH): Move definitions earlier.
4301         (child_setup_tty): Turn on LPASS8.
4303         * search.c (skip_chars): Finish reenabling checks for buffer bounds.
4304         Use XINT, not XFASTINT, when testing.
4306         * fileio.c (Fwrite_region): Fix minor bugs in POS arg to a_write.
4308         * xterm.c (syms_of_xterm): Initialize last_mouse_scroll_bar.
4310 1993-11-09  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4312         * buffer.c, editfns.c: Doc fix.
4314 1993-11-06  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4316         * sysdep.c (child_setup_tty): Make the pty handle 8-bit characters.
4318 1993-11-04  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4320         * s/linux.h [TERM]: Alternate definitions of LIBS_MACHINE
4321         and C_SWITCH_MACHINE.
4323         * process.c [TERM]: Include client.h.
4324         (Fopen_network_stream): Handle TERM.
4326 1993-11-03  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4328         * xterm.c (x_new_font): xmalloc arg was 1 too small.
4330 1993-11-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4332         * s/sunos4-1-3.h (HAVE_TERMIOS): Define.
4334 1993-10-25  Brian J. Fox  (bfox@albert.gnu.ai.mit.edu)
4336         * process.c (Fopen_network_stream): Cast arg to inet_addr to (char *).
4338         * search.c (Freplace_match): Fix argument names to match doc string.
4339         (Fmatch_beginning): Fix doc string to match argument name.
4341         * floatfns.c: Declare `logb' only if HAVE_LOGB is defined.
4343         * fileio.c (Fcopy_file): Don't allow the copying of anything other
4344         than regular files or symlink files.
4346 1993-10-24  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4348         * keyboard.c (read_key_sequence): Arg prompt is now a Lisp object.
4349         Pass it to functions found in function-key-map and key-translation-map.
4350         (Fread_key_sequence, command_loop_1): Calls changed.
4352 1993-10-22  Brian J. Fox  (bfox@albert.gnu.ai.mit.edu)
4354         * config.h.in: Add #undef HAVE_UNISTD_H so configure can edit it
4355         correctly.
4357 1993-10-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4359         * process.c (status_notify): Don't read from process if filter is t.
4360         (Fset_process_filter): Set or clear bit in input_wait_mask when nec.
4362 1993-10-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4364         * data.c [hpux 7] (_MAXLDBL, _NMAXLDBL): New macro definitions.
4366 1993-10-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4368         * keyboard.c (read_key_sequence): Allow function in key-translation-map
4369         just as in function-key-map.
4371 1993-10-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4373         * buffer.c (Fdelete_overlay, Foverlay_put): Use marker_position,
4374         not OVERLAY_POSITION, to get args for redisplay_region.
4376         * fileio.c (Fcar_less_than_car): Fix typo in previous change.
4378 1993-10-09  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4380         * floatfns.c [hpux 7] (_MAXLDBL, _NMAXLDBL): New macro definitions.
4382         * fileio.c (Vafter_insert_file_functions): New variable.
4383         (Vwrite_region_annotate_functions): New variable.
4384         (Qcar_less_than_car): New variable.
4385         (Fcar_less_than_car): New function.
4386         (syms_of_fileio): Make Lisp variables and function available.
4387         staticpro Qcar_less_than_car.
4388         (a_write, build_annotations): New functions.
4389         (Fwrite_region): Call them.
4390         (Finsert_file_contents): Run the Vafter_insert_file_functions.
4392 1993-10-08  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4394         * s/sco4.h (SYSTEM_TYPE): Put into #if 0.
4395         (BSTRING): Define only if HAVE_BCOPY.
4397 1993-10-08  Brian J. Fox  (bfox@albert.gnu.ai.mit.edu)
4399         * search.c (skip_chars): Re-instate the check against the end of
4400         the buffer, ignoring cryptic comment.
4402 1993-10-07  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4404         * keyboard.c (read_key_sequence): Allow function-key-map to have a
4405         function as the binding; call the function and use its value.
4407 1993-10-04  Brian J. Fox  (bfox@ai.mit.edu)
4409         * minibuf.c (Fminibuffer_complete_word): GCPRO1 `completion'
4410         during calls to Ftry_completion.
4412         * keyboard.c (read_key_sequence): Don't declare first_event; it is
4413         no longer used.  Change "#if 0" for first_event reading to
4414         "#if defined (GOBBLE_FIRST_EVENT)".
4416 1993-10-03  Brian J. Fox  (bfox@ai.mit.edu)
4418         * lisp.h: Doc fix.
4420         * minibuf.c (read_minibuf): Rewrite change of Sep 14.  Save the
4421         return value on the history list provided in the form that the
4422         value is returned, iff the value is not equal to the front of the
4423         history list.
4425 1993-10-03  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
4427         * Makefile.in: File removed.  It is now generated by ../configure.
4429         * Makefile.in.in (LIBES): Add $(GNULIB_VAR) again at end.
4430         This change to ymakefile was mysteriously lost.
4431         Were any others lost too?
4433 1993-10-02  Brian J. Fox  (bfox@ai.mit.edu)
4435         * minibuf.c (Fread_no_blanks_input): Change DEFUN to allow 2nd arg
4436         to be optional.  The code was already written correctly.
4438 1993-09-30  Brian J. Fox  (bfox@ai.mit.edu)
4440         * systty.h: If POSIX and HAVE_UNISTD_H are defined, and unistd.h
4441         hasn't already been included, include it.
4443         * s/linux.h (POSIX_SIGNALS): Comment fix.
4445 1993-09-30  Brian J. Fox  (bfox@albert.gnu.ai.mit.edu)
4447         * Makefile.in.in (ALL_CFLAGS): Make sure that `.' is searched
4448         before `${srcdir}' when looking for include files.
4450 1993-09-28  Jim Blandy  (jimb@geech.gnu.ai.mit.edu)
4452         * termhooks.h (enum event_kind): Doc fix.
4454 1993-09-27  Brian J. Fox  (bfox@ai.mit.edu)
4456         * ymakefile: Merged into Makefile.in.in.
4458         * Makefile.in.in: New file.  Now ../configure creates Makefile.in
4459         from Makefile.in.in, and creates Makefile from Makefile.in.
4460         ymakefile no longer exists, and xmakefile is never created.
4462 1993-09-24  Brian J. Fox  (bfox@ai.mit.edu)
4464         * textprop.c (validate_plist): Add declaration for `list' argument.
4466         * frame.c (Fhandle_switch_frame): Doc fix.
4468 1993-09-25  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
4470         * puresize.h: [MULTI_FRAME]: Increase PURESIZE to 220000.
4472 1993-09-16  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4474         * s/sunos4-1.h (LIBS_SYSTEM): Use -lresolv if it seems appropriate.
4476         * config.h.in: Add #undef HAVE_RES_INIT.
4478 1993-09-14  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4480         * m/mips4.h (LIB_STANDARD): Add a second -lc after crtn.o.
4482 1993-09-13  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4484         * pwd.h: File deleted.
4486         * intervals.c (graft_intervals_into_buffer): New arg INHERIT.
4488         * editfns.c (Finsert_buffer_substring): Pass extra arg to
4489         graft_intervals_into_buffer.
4490         * insdel.c (insert_from_string): Likewise.  New arg INHERIT.
4491         (insert_from_string_before_markers): New arg INHERIT.
4493         * search.c (Freplace_match): Call Finsert_and_inherit.
4495         * editfns.c (Finsert_and_inherit): New function.
4496         (Finsert_and_inherit_before_markers): New function.
4497         (Finsert, Finsert_before_markers): Pass new arg to insert_from_string*.
4498         * minibuf.c (Fminibuffer_complete_word):
4499         Pass new arg to insert_from_string*.
4500         * doc.c (Fsubstitute_command_keys): Pass new arg.
4501         * abbrev.c (Funexpand_abbrev, Fexpand_abbrev): Pass new arg.
4503         * s/aix3-2.h (AIX3_2): Define.
4504         * m/ibmrs6000.h (LIBS_MACHINE): Include -lrts, -liconv only if AIX3_2.
4506         * xterm.h (HAVE_X11R4): If AIX, do not define HAVE_X11R4.
4508 1993-09-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4510         * sysdep.c (bzero, bcopy, bcmp): Don't define as functions
4511         if they are defined as macros.
4513 1993-09-11  Roland McGrath  (roland@baalperazim.gnu.ai.mit.edu)
4515         * lread.c, callproc.c, filelock.c: Include <paths.h>, not "paths.h".
4517 1993-09-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4519         * s/linux.h (LIBS_MACHINE): Make definition empty.
4521 1993-09-10  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
4523         Support configuring in a different directory when ${srcdir} has
4524         already been configured.
4525         * frame.c, xfns.c, xdisp.c, casetab.c, cm.c, casefiddle.c, xterm.c,
4526         xrdb.c, eval.c, doc.c, lread.c, callint.c, cmds.c, term.c, fns.c,
4527         data.c, alloc.c, unexconvex.c, fileio.c, indent.c, bytecode.c,
4528         sunfns.c, xmenu.c, buffer.c, textprop.c, marker.c, print.c,
4529         emacs.c, dispnew.c, syntax.c, undo.c, mocklisp.c, scroll.c,
4530         search.c, ralloc.c, unexaix.c, unexec.c, unexenix.c, unexmips.c,
4531         unexsunos4.c, vmsfns.c, vmsmap.c, dired.c, xselect.c, floatfns.c,
4532         filelock.c, sysdep.c, abbrev.c, minibuf.c, xfaces.c, callproc.c,
4533         insdel.c, intervals.c, process.c, vm-limit.c, window.c,
4534         vmsgmalloc.c, keymap.c, editfns.c, keyboard.c, macros.c, vmstime.c:
4535         Include <config.h> instead of "config.h".
4536         * ymakefile (ALL_CFLAGS): Put -I. before -I${srcdir}.
4537         * Makefile.in (xmakefile): Use -I. in cpp run.
4539         * Makefile.in (clean): Use rm -f.
4541         * s/netbsd.h: New file.
4542         * ymakefile (LIBES): Add $(GNULIB_VAR) again at end.
4544 1993-09-08  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4546         * sysdep.c (stuff_char): Use input_fd.
4547         (narrow_foreground_group, widen_foreground_group, init_sys_modes)
4548         (init_baud_rate, init_sigio, request_sigio, unrequest_sigio): Likewise.
4549         (change_input_fd): New function.
4551         * process.c (keyboard_descriptor): New variable.
4552         (wait_reading_process_input, init_keyboard): Use it.
4553         Also call change_input_fd.
4554         (change_keyboard_wait_descriptor): New function.
4555         * xterm.c (x_term_init): Call change_keyboard_wait_descriptor,
4556         instead of dup2.  Use the existing X desc number in fcntl calls.
4557         * xterm.c (XTread_socket): Don't forget to clear out `mask'.
4559 1993-09-08  Francesco Potortì  (pot@cnuce.cnr.it)
4561         * filelock.c (fill_in_lock_short_file_name): Fix the crc
4562         generation algorithm.
4564 1993-08-19  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
4566         * textprop.c (F{next,previous}_single_property_change): Doc fix.
4568 1993-09-15  Brian J. Fox  (bfox@ai.mit.edu)
4570         * data.c: Add declaration for atof if not predefined.
4572         * xfns.c (XScreenNumberOfScreen): Move assignments out of
4573         declarations for (dpy, dpyscr).
4575         * sysdep.c (sys_write): Keep trying to write out the data until
4576         all of the data is written, or until we receive an error which is
4577         not an interrupted write.
4579 1993-09-14  Brian J. Fox  (bfox@ai.mit.edu)
4581         * keyboard.c (Qextended_command_history): New variable prevents
4582         sharing of M-x command history with other commands that read
4583         values in the minibuffer.
4585         * doprnt.c (doprnt): Use a fixed buffer to store the format
4586         specification, but only if we are sure it will fit.  Otherwise,
4587         use alloca to get enough space.  Don't allow negative size
4588         specifications to core dump; instead, treat them as positive
4589         ("%-20d" == "%20d").
4591         * minibuf.c (read_minibuf): Don't add history item if it is
4592         string-equal to the most recent history item.
4594 1993-07-09  Karl Berry  (karl@cs.umb.edu)
4596         * dired.c (file_name_completion): Install case-preserving
4597         changes from Emacs 18 for completion_ignore_case.
4598         (completion_ignore_case): Declare.
4600 1993-09-01  Brian J. Fox  (bfox@ai.mit.edu)
4602         * window.c (Fdelete_windows_on): Fix DEFUN to allow optional
4603         second argument to appear.
4605 1993-08-30  Brian J. Fox  (bfox@ai.mit.edu)
4607         * ymakefile (alloc.o): Remove explicit compilation rule, since it
4608         is identical to the default rule, and `$<' doesn't work in
4609         explicit rules in all "make"s.
4611 1993-08-27  Brian J. Fox  (bfox@ai.mit.edu)
4613         * gmalloc.c (safe_bcopy): Compile if MEMMOVE_MISSING is defined,
4614         but only if we aren't compiling for emacs.
4616         * sysdep.c (read_input_waiting): If the user specifies
4617         `meta-flag', then notice characters with high-bit set.
4619         Added fixes from Karl Berry for ISC-2.2.
4620         * s/isc2-2.h (MEMMOVE_MISSING): Define.
4621         (SIGNALS_VIA_CHARACTERS): Define.
4622         (LIB_STANDARD): Do not include -lcposix.
4623         (C_SWITCH_SYSTEM) [__GNUC__]: Do not use -traditional.
4625 1993-08-17  Brian J. Fox  (bfox@ai.mit.edu)
4627         * alloca.c: Invert sense of conditional for entire file (GNUC >=
4628         2).  Added `#else'.
4630         * xterm.c (x_wn_set_size_hint): Make recent window gravity
4631         addition depend on "PWinGravity" being `#defined'.
4633 1993-08-14  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4635         * Version 19.19 released.
4637         * Makefile.in (mostlyclean): Don't delete emacs here.
4638         (clean): Delete emacs and emacs-* here.
4639         (distclean): Don't delete emacs-* here.
4641         * xselect.c (struct property_change): New field `arrived'.
4642         (expect_property_change): Return struct property_change *.
4643         Clear `arrived'.
4644         (unexpect_property_change): Take one as argument.
4645         (wait_for_property_change): Take one as argument.
4646         If `arrived' is set, don't wait.
4647         (wait_for_property_change_unwind): Corresponding changes.
4648         (receive_incremental_selection): Corresponding changes.
4649         (x_reply_selection_request): Corresponding changes.
4650         (property_deleted_p): Function deleted.
4652         * xselect.c (x_handle_selection_clear): Redisplay.
4654         * search.c (compile_pattern): Cast result of re_compile_pattern.
4656         * emacs.c (init_cmdargs): Check openp result for 1, not != 0.
4658         * xterm.c (x_wm_set_size_hint): New args spec_x and spec_y.
4659         Set the window gravity.  All callers changed.
4660         * xfns.c (Fx_create_frame): Pass the new args to x_wm_set_size_hint.
4662         * xmenu.c (Fx_popup_menu): Adjust coords so they are relative
4663         to the inner window.
4665         * syswait.h: New file.
4666         * sysdep.c, process.c: Include it.
4667         * ymakefile (sysdep.o, process.o): Depend on syswait.h.
4669         * process.c (wait_reading_process_input): Exit without waiting
4670         if wait_for_cell is already non-nil.
4672         * sysdep.c (mkdir, rmdir): Use wait_for_termination to wait.
4673         Redirect descriptors 0...2 to /dev/null.
4675         * emacs.c (__CTOR_LIST__): Don't declare it on Linux.
4677         * filelock.c (getpwuid): Declare it as in xrdb.c.
4678         (init_filelock): Don't use return value of strcpy.
4680         * fns.c (internal_equal): Typo in previous change.
4682         * xfns.c (x_set_frame_parameters): Don't die if just one of
4683         height and width was set.  Likewise left and top.
4685         * textprop.c (property_change_between_p): Test NULL_INTERVAL_P
4686         in loop, before looking at next->position.
4688         * intervals.c (adjust_intervals_for_insertion): If inserting in middle
4689         of interval that is sticky in neither direction, don't copy props.
4690         (merge_properties_sticky): Handle non-list as front-sticky or
4691         rear-nonsticky property.
4693 1993-08-13  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4695         * fns.c (internal_equal): All markers in no buffer are equal.
4697 1993-08-13  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
4699         * config.h.in: Added #undef HAVE_XSCREENNUMBEROFSCREEN.
4701 1993-08-13  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4703         * xfns.c (XScreenNumberOfScreen): New function.
4705         * m/tek4300.h (C_DEBUG_SWITCH, SYSTEM_MALLOC): Define.
4707         * m/iris4d.h (START_FILES, LIB_STANDARD): Don't define if USG5_4.
4708         (DEFAULT_ENTRY_ADDRESS): Likewise.
4709         (UNEXEC): Use unexelfsgi.o if USG5_4.
4711         * s/irix5-0.h (C_SWITCH_MACHINE): Delete.
4713 1993-08-13  Frederic Pierresteguy  (F.Pierresteguy@frcl.bull.fr)
4715         * m/dpx2.h: Delete conditionals for HAVE_X_WINDOWS and HAVE_SOCKETS.
4717 1993-08-13  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4719         * m/iris4d.h (C_ALLOCA): Don't define it.
4721         * keyboard.c (kbd_buffer_store_event): Use bcopy to copy
4722         a selection request event.
4724         * unexnext.c (get_data_region): Add cast to avoid warning.
4726 1993-08-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4728         * ymakefile (prefix-args, filemode.o, lastfile.o): Dep on $(config_h).
4730         * floatfns.c (Flogb): Error at run time if not supported.
4732         * ymakefile (emacs.o): Depend on process.h and syssignal.h.
4733         * emacs.c: Include process.h.
4734         (init_cmdargs): Use EXEC_SUFFIXES.
4736         * s/irix5-0.h: Include alloca.h if appropriate.
4737         Fix the #include file name.
4738         (ULIMIT_BREAK_VALUE, GETPGRP_NO_ARG, NO_MATHERR): New macros.
4739         (LIB_STANDARD): #undef it.
4741         * frame.c (Fdelete_frame): Add parens for clarity.
4743         * keyboard.c (read_char): Never start echoing if -batch.
4745         * minibuf.c (Qread_file_name_internal): New var.
4746         (syms_of_minibuf): Set it up and protect it.
4747         (Fminibuffer_complete_word): When completing a file name,
4748         expand envvar references.
4750         * xterm.c (XTread_socket): Make copy_buffer unsigned.
4752         * s/usg5-4-2.h (HAVE_GETHOSTNAME): #if 0'd.
4754 1993-08-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4756         * s/hpux8.h (LD_SWITCH_SYSTEM): Delete the -L options.
4758         * termhooks.h (enum event_kind): Delete final comma.
4759         (meta_modifier): Delete final comma.
4760         * window.c (enum window_loop): Delete final comma.
4761         * xfns.c (enum resource_types): Delete final comma.
4763         * m/ibmrs6000.h (BIG_ENDIAN): Don't actually define it.
4765         * window.c (Frecenter): Preserve point in the buffer we change it in.
4767         * cmds.c (Fnewline): If we don't do the first SET_PT,
4768         clear flag, so we don't do the second SET_PT.
4770         * keyboard.c (make_lispy_event): Clear all but 0377 in event->code.
4772         * xselect.c (receive_incremental_selection): Use bcopy, not memcpy.
4774         * m/tek4300.h (BIG_ENDIAN): Provide a value that matches the system.
4776         * config.h.in: Add #undef HAVE_FTIME.
4778         * ymakefile (ALL_CFLAGS): Use C_SWITCH_X_SITE before
4779         C_SWITCH_X_SYSTEM and C_SWITCH_X_MACHINE.
4781         * s/hpux8.h (C_SWITCH_X_SYSTEM): Define instead of C_SWITCH_SYSTEM.
4783 1993-08-11  Shane Hartman  (shane@nugget.spr.com)
4785         * buffer.c (verify_overlay_modification): Initialize endpos.
4787         * keymap.c (describe_buffer_bindings): Declare shadow just once.
4789 1993-08-10  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4791         * xterm.c (x_calc_absolute_position): For negative coords, take
4792         account of added width from window manager's outer window.
4794         * term.c (term_get_fkeys_define_1, term_get_fkeys_define):
4795         New functions.
4796         (term_get_fkeys): Use them.
4798         * m/tekxd88.h: Renamed from tekXD88.h.
4799         (LIB_X11_LIB, LIBX11_SYSTEM): Make #undefs unconditional.
4801         * systty.h: Handle NO_TERMIO in principal HAVE_TERMIOS case.
4803         * xrdb.c (x_get_customization_string): Don't use value of strcpy.
4805         * floatfns.c (Fexpt): Use IN_FLOAT2.
4807 1993-08-10  Frederic Pierresteguy  (F.Pierresteguy@frcl.bull.fr)
4809         * m/dpx2.h (HAVE_TCATTR): Macro #defined.
4810         (HAVE_CLOSEDIR): #undef to allow use of closedir in sysdep.c.
4811         (SIGTSTP): Comment #undef to allow use of ^Z in shell-mode.
4812         (SIGNALS_VIA_CHARACTERS): #defined.
4814 1993-08-09  Paul Eggert  (eggert@twinsun.com)
4816         * data.c (Fmod): New function; result is always same sign as divisor.
4817         (syms_of_data): Add Smod.
4818         * emacs.c (main): Invoke syms_of_floatfns even if LISP_FLOAT_TYPE
4819         isn't defined, since `(floor A B)' is now needed for integers.
4820         * floatfns.c (syms_of_floatfns): Likewise.
4821         (Ffloor): Optional second operand specifies divisor, as in Common Lisp.
4823 1993-08-09  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4825         * unexelf.c (unexec): Add casts for some comparisons.
4826         (PATCH_INDEX): Likewise.
4828 1993-08-08  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4830         * Version 19.18 released.
4832         * term.c (term_init): Improve error messages (give sh commands).
4834         * xterm.c (struct font_info): New structure.
4835         (x_font_table): Use struct font_info as elements.
4836         (x_new_font): Corresponding changes.
4837         Use XListFonts, not XListFontsWithInfo.
4838         Use XFreeFontNames, not XFreeFontInfo.
4839         Compare fonts by name, not by fid.
4840         If already_loaded is 0, that counts as "yes".
4842         * minibuf.c (Qminibuffer_setup_hook, Vminibuffer_setup_hook): New vars.
4843         (syms_of_minibuf): Set them up.
4844         (read_minibuffer): Run the hook, if not empty.
4846         * dispnew.c (direct_output_forward_char): Fix previous change:
4847         verify position is in range before calling Fget_text_property,
4848         and calculate position properly.
4850         * s/bsd4-2.h, s/bsd4-3.h, s/umax.h, s/rtu.h, s/dgux.h (HAVE_VFORK):
4851         Define.
4853         * ymakefile (alloc.o): Don't use DEBUG_MOLE.
4854         (DEBUG_MOLE): Delete.
4855         * gnu-hp300: File deleted.
4857         * .gdbinit: Don't put -q in args.
4858         Don't unset TERM and TERMCAP--show them instead.
4860         * alloc.c (mark_object): Declare ptr volatile, or don't use it
4861         after a recursive call.  Delete the aborts if ptr is clobbered.
4863         * fileio.c (expand_and_dir_to_file): Use Fdirectory_file_name.
4865 1993-08-08  Jim Blandy  (jimb@geech.gnu.ai.mit.edu)
4867         * config.h.in (HAVE_LOGB, HAVE_FREXP): Add #undefs for the
4868         configuration script to edit.
4869         * floatfns.c (Flogb): Use HAVE_LOGB and HAVE_FREXP, instead of
4870         assuming that all USG systems have FREXP.
4872 1993-08-07  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4874         * emacs.c (Vinvocation_directory): New var.
4875         (init_cmdargs): Set up its value.
4876         (Finvocation_directory): New function.
4877         (main): Call init_buffer, init_callproc and init_cmdargs
4878         before init_lread.
4879         (syms_of_emacs): Install the function, and protect the variable.
4880         * lisp.h (Vinvocation_directory): Declare.
4881         * lread.c (init_lread): Normally put Vinvocation_directory
4882         at end of Vload_path, if not present already.
4884 1993-08-06  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4886         * keyboard.c (set_poll_suppress_count): New function.
4887         * eval.c (unwind_to_catch): Call set_poll_suppress_count.
4889         * xterm.c (x_term_init): Set the hooks before we call Fset_input_mode.
4890         * keyboard.c (Fset_input_mode): Start polling, if appropriate.
4891         At the beginning, stop polling.
4892         Remove period from error message.
4893         (stop_polling, start_polling): Check for interrupt_input.
4894         (POLL_FOR_INPUT): Define whether or not target supports SIGIO.
4896         * m/ibm370aix.h (HAVE_VFORK, INTEL386, aix386): Add #undef.
4898 1993-08-05  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4900         * eval.c (do_autoload): Don't report autoload failure
4901         if the autoload definition now is a different one.
4903         * m/ibm370aix.h: Total rewrite; includes ibmps2-aix.h.
4905         * m/ibmps2-aix.h (SYSTEM_TYPE): Don't redefine it here.
4907         * syntax.c: Doc fix.
4909 1993-08-04  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4911         * fns.c (Fyes_or_no_p): Use Qyes_or_no_p_history.
4912         (syms_of_fns): Set up Qyes_or_no_p_history.
4914         * fileio.c (expand_and_dir_to_file): Remove final / by copying abspath.
4916         * data.c (Frem): Don't accept floats, just ints and markers.
4918         * m/vax.h [BSD4_2] (HAVE_FTIME): Defined.
4920 1993-08-03  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4922         * m/7300.h (CRT0_COMPILE): Add -O and -Demacs.
4923         * ymakefile (CRT0_COMPILE): Add missing #endif.
4925 1993-08-03  Jim Blandy  (jimb@geech.gnu.ai.mit.edu)
4927         Changes for 3b1 suggested by Andy Fyfe <andy@scp.caltech.edu>
4928         * 7300.h [__GNUC__]: #define HAVE_ALLOCA.
4929         [not __GNUC__]: #define SWITCH_ENUM_BUG, C_ALLOCA, and STACK_DIRECTION.
4930         (HAVE_SYSVIPC, USE_UTIME): #define these.
4931         (memmove): We don't have this; call safe_bcopy.
4932         (CRT0_COMPILE): #define this, so we always use the system's cc.
4933         * config.h.in: Add #undefs for HAVE_MKDIR and HAVE_RMDIR, for
4934         configure to edit.
4935         * sysdep.c [not HAVE_MKDIR] (mkdir): New function, taken from tar,
4936         for use on systems lacking the mkdir function.
4937         [not HAVE_RMDIR] (rmdir): New function, taken from tar, for use on
4938         systems lacking the rmdir function.
4939         * ymakefile (crt0.o): Replace the compiler and switches with the
4940         symbol CRT0_COMPILE.
4941         (CRT0_COMPILE): If the system and machine description files have
4942         left this undefined, then define it to do the same as the old
4943         crt0.o rule used to.
4945 1993-08-02  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4947         * sysdep.c (vfork): Move this outside the USG conditional.
4949 1993-08-02  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
4951         * frame.c (Fprevious_frame): New function, for parity with
4952         Fnext_frame.
4953         (syms_of_frame): Add defsubr for Sprevious_frame.
4955 1993-08-02  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
4957         * xdisp.c (display_menu_bar): Redisplay all lines occupied by the
4958         menu bar, not just the first.
4960 1993-08-02  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4962         * keyboard.c (read_key_sequence): Use XFASTINT to convert value
4963         of Flength to an int.
4965         * buffer.c (Fmove_overlay): Avoid initializer for Lisp_Object vars.
4966         (verify_overlay_modification): Declare ostart, oend as Lisp_Object.
4968         * frame.c (Fset_frame_position): Doc fix.
4970 1993-08-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
4972         From daveg@synaptics.com:
4973         * keyboard.c (last_mouse_button): Renamed from button_up_button.
4974         (last_mouse_x, last_mouse_y): Likewise.
4975         (button_down_time): Replaces button_up_time.
4976         (make_lispy_event): Set button_down_time.
4977         Detect and report double-down and double-drag events.
4978         (apply_modifiers_uncached): Put `double' or `triple' first.
4979         (read_key_sequence): Convert unbound double-drag/down to drag/down.
4981         * fileio.c (Finsert_file_contents): Don't call prepare_to_modify_buffer
4982         if inserting zero characters.
4984         * syntax.c: Doc fix.
4986 1993-07-31  Gregor Schmid  (schmid@fb3-s7.math.tu-berlin.de)
4988         Handle `sticky' text properties.
4989         * intervals.c (adjust_intervals_for_insertion): Handle insertion
4990         between two unlike intervals via merge_properties_sticky.
4991         (merge_properties_sticky): New function.
4992         (graft_intervals_into_buffer): Leave handling of `sticky'-ness to
4993         adjust_intervals_for_insertion, then merge properties of the
4994         inserted text onto the old ones.
4995         (textget_direct): New function.
4996         (set_point): Fix calculating of fromprev.
4997         (verify_interval_modification): Check for `read-only' property
4998         and take its `sticky'-ness into account.
4999         * intervals.h (MERGE_INSERTIONS): Define as 1.
5000         (FRONT_STICKY): Add real definition.
5001         (END_NONSTICKY): New macro.
5002         (END_STICKY): Deleted.
5003         (textget_direct, Qfront_sticky, Qrear_nonsticky): Declared.
5004         * textprop.c (Qfront_sticky, Qrear_nonsticky): New variables.
5005         (syms_of_textprop): Set them up.
5007         Change display code to handle the `invisible' text property.
5008         * dispnew.c (direct_output_for_insert): Fail if character
5009         just inserted has text properties.
5010         (direct_output_forward_char): Fail if moving near invisible chars.
5011         * indent.c (compute_motion): Compute correctly for invisible text.
5012         (vmotion): Take care of invisible newlines.
5013         * intervals.c (set_point): Ignore `invisible' property
5014         unless property value is `hidden'.
5015         * intervals.h (Qhidden): Declared.
5016         * textprop.c (Qhidden): New variable.
5017         (syms_of_textprop): Set up Qhidden.
5018         * xdisp.c (try_window): Handle invisible newline at end of buffer.
5019         (display_text_line): Don't display invisible text.
5021 1993-07-31  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5023         * indent.c (Fmove_to_column): After we split a tab, make sure
5024         to set last_known... consistently.
5026         * editfns.c (save_excursion_restore): Never make the buffer visible.
5028         * s/isc3-0.h: Don't mention dir `s/' in #include.
5030 1993-07-30  Jim Blandy  (jimb@geech.gnu.ai.mit.edu)
5032         * config.h.in (HAVE_AIX_SMT_EXP): New #undef for configure to edit.
5033         * m/ibmrs6000.h (LD_SWITCH_MACHINE): Don't mention
5034         /usr/lpp/X11/bin/smt.exp unless HAVE_AIX_SMT_EXP is #defined.
5036         * config.h.in (HAVE_BCOPY): Add an #undef for this.
5037         (BSTRING): #define this iff HAVE_BCOPY is #defined here.  Ignore what
5038         the system-description files say.  They don't always make fine
5039         enough distinctions between systems, and sometimes the bcopy
5040         routines are available only with X windows.
5042         * config.h.in (HAVE_XSCREENRESOURCESTRING): New #undef for
5043         configure to edit.
5044         * xrdb.c (get_user_db): Test it to decide whether or not to try to
5045         retrieve the screen-dependent resources.
5047         * xfns.c (Fx_open_connection): Test the CPP symbol
5048         HAVE_XRMSETDATABASE to decide whether or not to call
5049         XrmSetDatabase.
5051         * xfns.c (x_set_background_color): Change the foreground color of
5052         the cursor, too.
5054 1993-07-30  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5056         * editfns.c (syms_of_editfns): Just staticpro Vuser...name
5057         and Vsystem_name; don't make them Lisp variables.
5059         * xselect.c (prop_location_identifier): Was named prop_location_tick.
5060         (property_change_reply_identifier): Renamed from ...-tick.
5061         (struct prop_location): Field `identifier' renamed from `tick'.
5062         Various functions changed accordingly.
5063         (x_handle_selection_request): Delete local struct var `reply'.
5065         * xselect.c (wait_for_property_change_unwind): New function.
5066         (wait_for_property_change): Add unwind protect.
5068 1993-07-29  Jim Blandy  (jimb@geech.gnu.ai.mit.edu)
5070         * xfns.c (syms_of_xfns): Don't staticpro Vx_resource_name;
5071         DEFVAR_LISP takes care of that, and it's deadly to staticpro a
5072         variable containing a string twice.
5074         * window.c (check_frame_size): Include the menu bar height in the
5075         minimum frame height.
5077         * ymakefile (DEBUG_MOLE): Don't put parens around the command we
5078         run to detect the GNU hp300 machines.  If the make is still
5079         somehow using csh, it complains about the parens.
5081 1993-07-29  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5083         * frame.c (Fdelete_frame): New arg FORCE allows deletion
5084         of last non-invisible frame.
5086         * s/usg5-4.h (bzero, bcmp, bcopy): New macros.
5087         (LIB_STANDARD): Don't include libucb.a.
5089 1993-07-28  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
5091         * xfns.c (syms_of_xfns): Use DEFVAR_LISP, not DEFVAR_INT, for
5092         Vx_pointer_shape.
5094 1993-07-28  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5096         * cmds.c (Fnewline): Disable the "insert one position before"
5097         optimization if it would screw up text property behavior.
5098         * textprop.c (property_change_between_p): New function.
5100 1993-07-27  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5102         * keyboard.c (command_loop_1):
5103         Call Qrecompute_lucid_menubar only if defined.
5105         * emacs.c (decode_env_path): Strip trailing slashes if there are any.
5107         * unexec.c (make_hdr): Use & in call to bzero.
5109         * xfns.c (Fx_rebind_key, Fx_rebind_keys): Functions deleted.
5111         * syntax.c (scan_sexps_forward): Delete extra Fcdr when analyzing
5112         OLDSTATE.
5114         * xterm.c (x_iconify_frame): Handle case where frame was invisible.
5116         * s/hpux8.h (OLDXMENU_OPTIONS): Definition deleted.
5118         * ymakefile (really-oldXMenu): Pass down C_SWITCH_X_SYSTEM.
5120         * m/delta88k.h [USG5_4] (LIBX11_SYSTEM): Don't redefine in this case.
5122         * search.c (search_buffer): If n is 0, just return POS.
5124 1993-07-26  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5126         * s/usg5-4.h (BROKEN_TIOCGETC, BROKEN_TIOCGWINSZ): Add #undefs.
5128         * window.c (Fset_window_buffer): Clear window_end_{pos,valid}.
5130         * dispnew.c (Fsleep_for): If arg is 0, return right away.
5132 1993-07-26  Francesco Potortì  (pot@spiff.gnu.ai.mit.edu)
5134         * m/delta.h (SWITCH_ENUM_BUG): Defined only for AT&T's pcc.
5135         (BSTRING): Deleted because they are stubs to the memory funcs.
5136         (memmove): Defined as safe_bcopy since memcpy is not safe.
5137         (HAVE_X_WINDOWS): Does not conditionally define anything any more.
5138         Added support fo the GNU C compiler bundled with R3V7.
5140 1993-07-26  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5142         * puresize.h [MULTI_FRAME] (PURESIZE): Increased to 210000.
5144 1993-07-25  Sam Dooley  (dooley@watson.ibm.com)
5146         * keyboard.c (kbd_buffer_store_event): Apply all the modifiers bits
5147         before testing for quit_char and stop_character.  Don't alter
5148         event->code, though.
5150 1993-07-25  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5152         * xselect.c (wait_for_property_change): Eventually time out with error.
5153         (x_reply_selection_request): XFlushQueue and UNBLOCK_INPUT
5154         before calling wait_for_property_change.
5155         (x_get_window_property): Simplify input blocking/unblocking.
5156         Don't delete the property here.
5157         (receive_incremental_selection): Delete property here.
5158         Call XSelectInput to enable and disable PropertyChangeMask.
5159         (x_get_window_property_as_lisp_data): And here.
5161         * process.c (wait_reading_process_input): Undo last two changes:
5162         when wait_for_cell, do not check the keyboard.
5164         * filelock.c: Fix typo in previous change.
5166         * xselect.c (lisp_data_to_selection_data): New arg NOFREE_RET.
5167         For a string, just return its data's address.
5168         (x_handle_selection_request): Pass new arg.
5169         If value comes back 1, don't call xfree.
5171         * xfns.c (MAXREQUEST): Defined.
5172         (Fx_server_max_request_size): New function.
5173         (syms_of_xfns): Set it up.
5175         * window.c (Fwindow_end): Don't assume WINDOW shows the current buffer.
5177         * s/386bsd.h (LOCALTIME_CACHE): Defined.
5178         (HAVE_SETSID): Defined.
5179         (LIB_STANDARD): Override, adding $(GNULIB_VAR).
5181         * emacs.c (main): Test LOCALTIME_CACHE.
5183         * filelock.c (getpwuid): Declare at top level, and not if __386bsd__.
5185         * keyboard.c (interrupt_signal): Tell Fdo_auto_save not to print msg.
5186         Print "Auto-save done" here.
5188         * fileio.c (Fdo_auto_save): Temporarily clear Vquit_flag.
5190         * xfns.c (Fx_create_frame): Typo in previous change.
5192 1993-07-24  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5194         * .gdbinit (xscrollbar): Fix typo specifying doc string.
5196         * process.c (Fprocess_status): Use Fget_process, to avoid error
5197         if unknown process name.
5199         * xfaces.c (face_name_id_number): Use assq_no_quit, not Fassq.
5201 1993-07-23  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5203         * keyboard.c (command_loop_1): Run post-command-hook first thing.
5205         * xterm.c (redraw_previous_char): New function.
5207         * xfns.c (Fx_create_frame): Don't look for default font
5208         if the caller has specified a valid font.  Try several
5209         alternative font patterns.
5211 1993-07-23  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
5213         * mem-limits.h: [_LIBC]: Define BSD4_2.
5215 1993-07-23  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5217         * s/sco4.h (HAVE_SOCKETS): Define, if HAVE_INET_SOCKETS.
5219         * sunfns.c: Fix comment syntax.  Put back the comment
5220         saying that we don't maintain this file.
5222         * xterm.c (XTread_socket) [! HAVE_X11R5]:
5223         Check for XK_Mode_switch and XK_Num_Lock, if defined.
5225         * m/hp9000s300.h (TEXT_START) [__GNUC__]: Define as 0.
5227         * intervals.h (Vinhibit_point_motion_hooks): Declared.
5228         * textprop.c (syms_of_textprop): Set up Lisp var.
5229         * intervals.c (set_point): Test it.
5231 1993-07-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5233         * s/irix5-0.h (PTY_OPEN): Use sigaction, not sigsetmask.
5235         * s/386bsd.h (DECLARE_GETPWUID_WITH_UID_T): Declared.
5236         * xrdb.c (getpwuid): Test DECLARE_GETPWUID_WITH_UID_T.
5238         * process.c (Fget_buffer_process): Delete doc string from
5239         second alternative definition.
5241 1993-07-22  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
5243         * ralloc.c (ALIGNED, ROUNDUP):
5244         Use `unsigned long int' instead of `unsigned int' for
5245         casting addresses and sizes.  It matters on the 64-bit Alpha.
5247         * mem-limits.h [_LIBC]: Just include <sys/resource.h>, and skip
5248         hairy #ifdef mess.
5250 1993-07-22  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5252         * keyboard.c (Fread_key_sequence): Doc fix.
5253         (read_key_sequence): Handle Vkey_translation_map.
5254         (kbd_buffer_get_event): Discard an event whose kind is no_event.
5256         * buffer.c (syms_of_buffer): Lisp var doc fixes.
5258         * m/att3b.h (NO_MODE_T): Defined.
5260         * intervals.c (graft_intervals_into_buffer): When TREE is null,
5261         pass buffer as 2nd arg to reproduce_tree.
5263 1993-07-21  Paul Eggert  (eggert@twinsun.com)
5265         * print.c (float_to_string): Don't use uninitialized pointer `cp'.
5266         Set width to -1 at lose: and other places.
5267         Default to .17g, not .20g.
5269 1993-07-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5271         * buffer.c (Qmodification_hooks, Qinsert_in_front_hooks)
5272         (Qinsert_behind_hooks): Moved here.
5273         (syms_of_buffer): Lisp vars set up here.
5274         * textprop.c: No longer here.
5276         * alloc.c (compact_strings): Add USE_TEXT_PROPERTIES conditional.
5278         * intervals.h (Ftext_property_not_all): Fix typo in decl.
5280         * s/sunos4-1.h (SUNOS_LOCALTIME_BUG): Defined.
5282         * frame.c (Fdelete_frame): Allow deletion if there is some other
5283         visible (perhaps iconified) frame.  Also allow deleting terminal frame
5284         if there are X frames.
5286         * s/sunos4shr.h (memmove): Defined.
5288         * m/att3b.h (memmove): Defined as macro.
5290 1993-07-20  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5292         * Makefile.in (xmakefile): Use CFLAGS after C_SWITCH_SYSTEM.
5294         * xfns.c (validate_x_resource_name): Call make_string properly.
5296         * m/next.h (X_NOT_POSIX): Defined.
5298         * s/sol2.h (BROKEN_TIOCGETC, BROKEN_TIOCGWINSZ): Add #undefs.
5300         * s/isc3-0.h (memmove): Delete extra parens in the safe_bcopy call.
5302         * m/ibmrs6000.h (LD_SWITCH_MACHINE): Add -bI:/usr/lpp/X11/bin/smt.exp.
5304 1993-07-19  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5306         * eval.c (Fwhile): If mocklisp, test for nonzeroness.
5308         * s/sunos4shr.h (SYSTEM_MALLOC): Add #undef.
5309         (GNU_MALLOC, REL_ALLOC): Defined.
5311 1993-07-19  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)
5313         * ymakefile: config.h is in current directory, not ${srcdir}.
5315 1993-07-18  Jim Blandy  (jimb@totoro.cs.oberlin.edu)
5317         * Version 19.17 released.
5319         * xfns.c (Fx_create_frame): Block input around call to
5320         x_new_font.  Test if the return value is a string, not if it's
5321         nil; x_new_font can return things besides nil and strings, to
5322         indicate error conditions.
5324         * window.c [not MULTI_FRAME] (Fdelete_windows_on): Set FRAME
5325         argument to Qt, instead of trying to typecheck it.
5327         * ymakefile (config_h): Set this to ${srcdir}/config.h; all the
5328         source dependencies mention $(config_h), but until now it never
5329         had a value.
5331         * xfns.c (Fx_open_connection): Don't trust HAVE_XRMSETDATABASE;
5332         use XrmSetDatabase only when HAVE_X11R5 is defined.
5334         * dispnew.c (direct_output_for_insert): By the time this function
5335         is called, we have already inserted the character into the buffer;
5336         the proper buffer position to pass to compute_char_face is point
5337         - 1, not point.
5339 1993-07-17  Jim Blandy  (jimb@totoro.cs.oberlin.edu)
5341         * Makefile.in (C_SWITCH_SYSTEM): New variable, set by top-level
5342         Makefile.
5343         (xmakefile): Pass it to the C preprocessor.
5345         * window.c (Fdelete_windows_on): New optional argument FRAME; if
5346         nil, delete windows on all frames.  If t, delete windows on the
5347         selected frame only.  If a frame, delete windows on that frame
5348         only.
5350         * intervals.c (split_interval_left, split_interval_right): Change
5351         OFFSET argument of these functions to be origin 0, not origin 1.
5352         This is what all the callers currently want.
5353         * intervals.c, textprop.c: All callers changed.
5355         * textprop.c (Ftext_property_not_all): Renamed from
5356         Ftext_property_all, and changed sense of return value, so that it
5357         returns useful information if not all characters have properties
5358         EQ to value.  Now all the existential and universal questions can
5359         be asked.
5361         * textprop.c (syms_of_textprop): Don't forget defsubr for
5362         Stext_property_all.
5364         * textprop.c (Ftext_property_any, Ftext_property_all): Use EQ to
5365         compare property values, not Fequal.
5367         * xterm.c (x_term_init): Adjust message printed when we can't
5368         connect to the X server.
5370         * xfns.c (Vx_resource_name): Renamed from Vxrdb_name, and made a
5371         lisp-visible variable, so lisp/term/x-win.el can set it.  Doc it
5372         for "internal use only"; no need for NEWS entry.
5373         (validate_x_resource_name): New function.
5374         (Fx_get_resource): Doc fix.  References to Vxrdb_name renamed.  Call
5375         validate_x_resource_name.
5376         (x_window): References to Vxrdb_name renamed.  Call
5377         validate_x_resource_name.
5378         (Fx_open_connection): References to Vxrdb_name renamed.  Instead
5379         of setting and validating its value here, just call
5380         validate_x_resource_name.
5381         (syms_of_xfns): Add DEFVAR_LISP for Vx_resource_name.
5383 1993-07-16  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5385         * keyboard.c (Vhelp_menu_bar_map): Deleted.
5386         (menu_bar_items): Move elts for events in Vmenu_bar_final_items to end.
5387         (syms_of_keyboard): Corresponding changes.
5389 1993-07-15  Jim Blandy  (jimb@totoro.cs.oberlin.edu)
5391         Consistently use the mark bit of the root interval's parent field
5392         to say whether or not the interval tree has been visited (and skip
5393         it when revisited), and the mark bit of the plist field to say
5394         whether or not that interval has been visited (and abort if
5395         revisited); don't try to use the plist mark bit for both
5396         meanings.
5397         * alloc.c (mark_interval_tree): Don't test if the interval tree
5398         has already been visited here; let the MARK_INTERVAL_TREE macro do
5399         that; avoid function call overhead.  Mark the interval tree as
5400         having been visited by setting TREE->parent's mark bit.
5401         (MARK_INTERVAL_TREE): If the tree has been visited (according to
5402         I->parent's mark bit), don't call mark_interval_tree.
5403         (gc_sweep): Rebalance the interval trees of those large strings
5404         which are still alive.  This also clears the mark bits of those
5405         trees' root intervals' parent fields.
5406         (compact_strings): Rebalance the interval tree of each small
5407         strings which is still alive.  This also clears the mark bits of
5408         that tree's root interval's parent field.  Since the string has
5409         moved, update the root interval's parent pointer to contain the
5410         new address.
5411         * lisp.h (struct interval): Doc fix; explain the roles of the mark
5412         bits of the parent and plist members.
5414         * termhooks.h: In order to avoid declaring struct input_event
5415         (which contains Lisp_Objects) in those .c files which need access
5416         to the terminal hooks but don't #include lisp.h (like cm.c), test
5417         to see if the macro CONSP is #defined.  We used to test XINT, but
5418         config.h will #define that everywhere on systems that use tailored
5419         tagging schemes.
5421         * window.c (Fnext_window, Fprevious_window): Put these docstrings
5422         in comments; the strings are too long for some C compilers.
5424         * s/hpux9.h: Doc fix.
5426 1993-07-15  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
5428         * ymakefile (DEBUG_MOLE): New variable; a shell expression which
5429         expands to -DDEBUG_MOLE on HP 9000/300's in the domain
5430         gnu.ai.mit.edu, and the empty string on all other machines.
5431         (alloc.o): Cite ${DEBUG_MOLE}, so DEBUG_MOLE is #defined when
5432         compiling on mole.
5434 1993-07-15  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5436         * keyboard.c (read_char_menu_prompt): If the user rejects a menu,
5437         return t.  This makes read_char also return t.
5438         (read_key_sequence): If read_char returned t, return -1.
5439         (Fread_key_sequence): If read_key_sequence returned -1, quit.
5440         (command_loop_1): If read_key_sequence returned -1, loop around.
5442 1993-07-15  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
5444         * keyboard.c (menu_bar_one_keymap): If the key's binding is the
5445         symbol `undefined', don't try to take that symbol's cdr before
5446         passing it to menu_bar_item; pass the `undefined' binding itself,
5447         so menu_bar_item can remove bindings for the same key from result.
5449 1993-07-14  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5451         * buffer.c (Fbuffer_local_variables): For local var that is unbound,
5452         put just the symbol in the result, not a cons of (symbol . value).
5454         * keyboard.c (Qdisabled_command_hook): New variable.
5455         (Vdisabled_command_hook): Deleted.
5456         (syms_of_keyboard): Corresponding changes.
5457         (Fcommand_execute): Use Qdisabled_command_hook.
5459         * alloc.c (mark_object) [DEBUG_MOLE]: Add abort at beginning.
5461         * keyboard.c (Vhelp_menu_bar_map): New var.
5462         (syms_of_keyboard): Set up Lisp var for it.
5463         (menu_bar_items): Use Vhelp_menu_bar_map.
5465 1993-07-14  Jim Blandy  (jimb@totoro.cs.oberlin.edu)
5467         * textprop.c (Ftext_property_any, Ftext_property_all): New
5468         functions, from David Gillespie.
5469         * intervals.h (Ftext_property_any, Ftext_property_all): Declare them.
5471         * keyboard.c (read_key_sequence): Accept both strings and vectors
5472         as bindings in function-key-map.
5473         * keymap.c (Vfunction_key_map in syms_of_keymap): Doc fix.
5475         * keyboard.c (Fsuspend_emacs): Pass selected_frame as the first
5476         argument to change_frame_size, not 0.  This function may be called
5477         in an Emacs compiled with multi-frame support.
5479 1993-07-13  Jim Blandy  (jimb@totoro.cs.oberlin.edu)
5481         * xterm.c (XTread_socket, UnmapNotify case): Add missing comment
5482         terminator.
5484         * intervals.c (graft_intervals_into_buffer): Properly compute
5485         length of buffer.
5487 1993-07-13  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5489         * minibuf.c (Fdisplay_completion_list): Run completion-setup-hook.
5491 1993-07-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5493         * textprop.c (Qinsert_in_front_hooks, Qinsert_behind_hooks): New vars.
5494         (syms_of_textprop): Set them up.
5495         * lisp.h (Qinsert_in_front_hooks, Qinsert_behind_hooks): Declared.
5496         (Qmodification_hooks): Declared.
5498         * intervals.c (verify_interval_modification):
5499         For insertion, run the insert-in-front-hooks and insert-behind-hooks,
5500         not the modification-hooks.
5501         * buffer.c (verify_overlay_modification): New function.
5502         (call_overlay_mod_hooks): New function.
5503         * insdel.c (prepare_to_modify_buffer): Call that.
5505         * keyboard.c (Qundefined): New variable.
5506         (syms_of_keyboard): Set up Qundefined.
5507         (menu_bar_items): Don't reverse the items.
5508         Process the maps in reverse order.
5509         (menu_bar_item): If definition is `undefined',
5510         delete any menu bar item already made, and don't make one.
5512 1993-07-12  Jim Blandy  (jimb@totoro.cs.oberlin.edu)
5514         * print.c (float_to_string): Distinguish between a precision of
5515         zero and an omitted precision.  Do allow %.0f to produce strings
5516         containing no decimal point or exponent.
5517         (syms_of_print): Doc fix for float-output-format.
5519         * xfns.c (x_set_frame_parameters): Don't set the frame's size and
5520         position unless those parameters are actually specified in ALIST.
5522         * syntax.c (Fmodify_syntax_entry): Doc fix.
5524 1993-07-12  Frederic Pierresteguy  (F.Pierresteguy@frcl.bull.fr)
5526         * xterm.c, sysdep.c (F_SETOWN_BUG): Defined.
5527         * m/dpx2.h: New file.
5529 1993-07-10  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5531         * textprop.c (set_properties): Call modify_region.
5532         (remove_properties): Call modify_region before record_property_change.
5533         (add_properties): Likewise.
5535 1993-07-10  Jim Blandy  (jimb@totoro.cs.oberlin.edu)
5537         * xrdb.c: Implement search for app-defaults directory and
5538         localized default databases, along with some other functionality
5539         provided by Xt.
5540         #include <stdio.h>, since we call sprintf.
5541         [emacs] (malloc, realloc, free): #define these to xmalloc,
5542         xrealloc, and xfree.
5543         (x_get_string_resource, file_p): Add forward declarations for
5544         these.
5545         (x_customization_string): New variable.
5546         (x_get_customization_string): New function.
5547         (gethomedir): Return malloc'ed space of the right size, instead of
5548         writing into a fixed-size buffer; this means that our callers do
5549         not impose an arbitrary limit on file name length.
5550         (magic_file_p): Rewrite of decode_magic; actually do the
5551         substitutions, instead of expanding all %-escapes to "".  Support
5552         the customization string.  Return 0 or the expanded file name,
5553         instead of just zero or one.  Allocate the space for the expanded
5554         file name ourselves, instead of writing into a fixed-size buffer
5555         passed to us; this removes an arbitrary limit.
5556         (search_magic_path): Rewrite of magic_searchpath_decoder.  Return
5557         0 or the expanded file name, instead of just zero or one.
5558         Allocate the space for the expanded file name ourselves, instead
5559         of writing into a fixed-size buffer passed to us; this means that
5560         our callers do not impose an arbitrary limit on file name length.
5561         (get_system_app): Changed to work with search_magic_path.
5562         (get_user_app): Rewritten to work with search_magic_path, and not
5563         to assume that the values of XAPPLRESDIR is a single directory.
5564         (get_user_db): Properly use the new version of gethomedir.
5565         (get_environ_db): Remove arbitrary limit on length of host name.
5566         (x_load_resources): Take a new argument, myname.  Call get_user_db
5567         early to obtain the customization string.
5568         Changes to stand-alone testing code.
5569         * xfns.c (Fx_open_connection): Set Vxrdb_name early, and pass it
5570         to x_load_resources.
5572         * keymap.c (syms_of_keymap): Doc fix.
5574 1993-07-09  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5576         * process.c (wait_reading_process_input): If wait_for_cell, do call
5577         swallow_events and do_pending_window_change when appropriate.
5579 1993-07-08  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
5581         * editfns.c (region_limit): Declare Vmark_even_if_inactive.
5583         * callint.c (syms_of_callint):
5584         Fix DEFVAR_LISP for Vmark_even_if_inactive to use right
5585         Lisp symbol name (without V prepended).
5587 1993-07-08  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
5589         * callint.c (check_mark): Don't check mark-active unless in
5590         transient-mark-mode.
5591         For inactive mark, signal mark-inactive instead of error with a
5592         message.
5593         * editfns.c (region_limit): Don't error if Vmark_even_if_inactive
5594         is set.
5595         When the mark is inactive and that is a no-no, signal
5596         mark-inactive instead of using error with a message.
5597         * data.c (syms_of_data): Staticpro Qmark_inactive.
5598         * data.c: Define Qmark_inactive.
5599         (syms_of_data): Initialize it.
5600         * lisp.h: Declare Qmark_inactive.
5602 1993-07-07  Jim Blandy  (jimb@geech.gnu.ai.mit.edu)
5604         * editfns.c (Fformat): Since floats occupy two elements in the
5605         argument list passed to doprnt, we must use separate indices for
5606         the array of arguments passed to Fformat, and the array of
5607         arguments to be passed to doprnt.
5609         * .gdbinit: Add size to geometry spec.
5610         Specify sevenbit-strings in set print.
5611         (xfloat): New command.
5613 1993-07-06  Jim Blandy  (jimb@geech.gnu.ai.mit.edu)
5615         * Version 19.16 released.
5617         * ymakefile [not ORDINARY_LINK && __GNUC__ && __GNUC__ > 1 && not
5618         LIB_GCC] (LIB_GCC): Use "$(CC)" instead of "gcc".
5620 1993-07-06  Jim Blandy  (jimb@geech.gnu.ai.mit.edu)
5622         * textprop.c (copy_text_properties): Pass a copy of POS to
5623         validate_interval_range; that function increments its arguments,
5624         which isn't what we want.
5626         * fns.c (Fsubstring, concat): Pass all six arguments to
5627         copy_text_properties.
5629         * intervals.c (find_interval): Doc fixes, computation of
5630         tree->position rearranged for clarity.
5632         * intervals.c (find_interval): Consistently treat POSITION as an
5633         actual buffer position, i.e. origin 1.  The old code seemed
5634         undecided on this point.  Treat the end of the buffer as being
5635         part of the rightmost interval.
5636         (adjust_intervals_for_insertion): Consistently treat POSITION as
5637         origin 1.
5638         (interval_deletion_adjustment): The exception: FROM should be
5639         origin zero here.  Consistently treat it as such.  Simplify code
5640         which shrinks and possibly deletes intervals.
5641         (adjust_intervals_for_deletion): Treat start as origin 1; our
5642         caller does.
5643         (set_point): Use buffer positions throughout, not a mix of buffer
5644         posns and origin zero posns.
5645         (get_local_map): Remove special case for POSITION at end of buffer;
5646         find_interval handles that case correctly.
5647         (verify_interval_modification): Remove special case for START at
5648         end of buffer.
5649         * textprop.c (validate_interval_range): End-of-buffer/string
5650         positions no longer need special handling.
5652         * intervals.c (make_new_interval): #if 0 this out.  Nobody calls it.
5654         * textprop.c (copy_text_properties): New function, from David
5655         Gillespie.
5656         * intervals.h: Declare copy_text_properties.
5657         * fns.c: #include "intervals.h".
5658         (Fsubstring): Copy text properties to result string.
5659         (concat): Copy text properties to result string.
5660         * ymakefile (fns.o): Note that this depends on INTERVAL_SRC.
5662         * print.c: Get rid of extra space at the end of print syntax for
5663         strings with intervals.
5664         [USE_TEXT_PROPERTIES] (print): Don't print a space before the
5665         interval property lists.
5666         [USE_TEXT_PROPERTIES] (print_interval): Print a space before this
5667         internal's properties, not after.
5669         * m/pmax.h (C_SWITCH_X_MACHINE): Set this to
5670         "-DNeedFunctionPrototypes=0", to avoid lossage in DEC X11 header
5671         files.
5672         * ymakefile (really-oldXMenu): Pass C_SWITCH_X_MACHINE to the
5673         oldXMenu make.
5675         * doc.c (Fsubstitute_command_keys): Pass all five arguments to
5676         describe_map_tree.
5678 1993-07-05  Jim Blandy  (jimb@geech.gnu.ai.mit.edu)
5680         Compare the values of text properties using EQ, not Fequal.
5681         * intervals.c (intervals_equal): Call EQ, not Fequal.
5682         * textprop.c (interval_has_all_properties, add_properties): Same.
5684         * textprop.c (validate_interval_range): Don't increment both
5685         *begin and *end if they point to the same thing.
5686         (validate_plist): Call QUIT while scanning LIST.
5688         * intervals.c (intervals_equal): Test the return value of Fequal
5689         against Qnil, not 0.
5691         * keyboard.c (Vdouble_click_time): Renamed from double_click_time,
5692         and made a Lisp_Object instead of an int.
5693         (make_lispy_event): If Vdouble_click_time is t, impose no time
5694         limit on double-clicks.
5695         (syms_of_keyboard): DEFVAR_LISP (not DEFVAR_INT)
5696         Vdouble_click_time (not double_click_time), and adjust doc string
5697         to say that `nil' means no double clicks, and `t' means no time
5698         limit.
5700 1993-07-04  Jim Blandy  (jimb@churchy.gnu.ai.mit.edu)
5702         * keyboard.h (EVENT_CLICK_COUNT, POSN_SCROLLBAR_PART): New
5703         accessors.
5705         * s/sunos4-1.h (LIBS_SYSTEM): Don't link against -lresolv; that's
5706         only needed for misconfigured systems.
5708 1993-07-04  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5710         * keymap.c (describe_map_tree): When inserting TITLE, mention PREFIX.
5711         Insert newline at end, if inserted anything else.
5712         (describe_buffer_bindings): Corresponding changes.
5713         For minor mode maps, build up a title string,
5714         then let describe_map_tree insert it.
5716         * eval.c (Fsignal): Clarify error message.
5718 1993-07-03  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5720         * keyboard.c (read_char): After Fgarbage_collect, call redisplay.
5722 1993-07-03  Jim Blandy  (jimb@churchy.gnu.ai.mit.edu)
5724         * frame.c (Fredirect_frame_focus): Allow redirection of focus of
5725         dead frames.
5727         * s/sunos4-1.h (LIBS_SYSTEM): Make this be -lresolv, so we get the
5728         versions of gethostbyname and such that use the DNS.
5730 1993-07-03  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
5732         * fileio.c (Frename_file):
5733         After prompting for ok-if-already-exists, pass only nil or
5734         t to copy-file, never an integer.
5736 1993-07-02  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5738         * keymap.c (Faccessible_keymaps): Doc fix.
5740 1993-07-02  Jim Blandy  (jimb@churchy.gnu.ai.mit.edu)
5742         * textprop.c (set_properties): Don't try to make undo records if
5743         OBJECT is a string.
5745 1993-07-02  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5747         * keyboard.c (read_key_sequence): When inserting `menu-bar' prefix,
5748         modify the position field to prevent doing so twice.
5749         Do all these forms of event expansion after replayed events also.
5750         Set last_real_key_start before each key.
5751         Use last_real_key_start in criterion for being the first event.
5753         * process.c (wait_reading_process_input): Do include the keyboard
5754         in the select, if read_kbd was a cons cell.
5756 1993-07-01  Jim Blandy  (jimb@churchy.gnu.ai.mit.edu)
5758         * xterm.c (XTread_socket): When handing non-synthetic
5759         ConfigureNotify events, don't refer to the parent window
5760         descriptor.
5762         * textprop.c (set_properties): Add undo records to remove entirely
5763         new properties.  Only record old property values for those
5764         properties whose values have changed.
5766 1993-07-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5768         * callint.c (Vmark_even_if_inactive): New var, with Lisp variable.
5769         (check_mark): Use it.
5771 1993-07-01  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
5773         * xfaces.c [XOS_NEEDS_TIME_H]: #undef USG while #including
5774         <X11/Xos.h>, so that file doesn't try to define struct timeval and
5775         struct timezone.
5777         * xterm.c (frame_highlight, frame_unhighlight): Don't test
5778         Vx_no_window_manager.  BLOCK_INPUT around the border manipulation
5779         calls.
5781 1993-06-30  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
5783         * xterm.c (XTread_socket): Initialize event_found to zero, and
5784         pass a zeroed timeout to select, not a null pointer; the latter
5785         means "wait forever".
5787         * s/hpux8.h (random, srandom): No need to define these to be
5788         foo_random and foo_srandom; autoconf should autodetect when the
5789         real random functions are available.
5791         * xdisp.c (redisplay): If we're not already showing the region,
5792         then don't disable the single-line optimizations just because the
5793         mark isn't where we last displayed it.
5795 1993-06-30  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5797         * keyboard.c (syms_of_keyboard): Doc fix.
5798         (Vhelp_char): Renamed from help_char.
5799         (Vprefix_help_command): New Lisp variable.
5800         (read_key_sequence): Use that, for help char after prefix key.
5802         * keyboard.c (kbd_buffer_get_event):
5803         Clear f before calling mouse_position_hook.
5805         * emacs.c, callproc.c (PRIO_PROCESS): Definition deleted.
5807         * vm-limit.c (check_memory_limits): Make data_size and five_percent
5808         unsigned long.
5810 1993-06-30  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
5812         * keyboard.c (kbd_buffer_get_event): Correctly generate
5813         switch-frame events when reading mouse motion events.
5815 1993-06-29  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
5817         * xterm.c: Add CPP tangle from process.c to get definitions for
5818         FD_SET, etcetera.
5819         (XTread_socket): Use those macros when testing for dropped connection.
5821 1993-06-29  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5823         * alloc.c (mark_object): Add aborts in Lisp_Symbol case.
5825         * keymap.c (describe_map_tree): Insert key_heading here.
5826         New arg TITLE.
5827         (describe_buffer_bindings): Corresponding changes.
5829         * process.c (wait_reading_process_input): Use SIGIO only if defined.
5831         * keymap.c (shadow_lookup): New function.
5832         (describe_map_2): Call it.  SHADOW is now a list of maps.
5833         (describe_vector): Likewise.
5834         (describe_map): SHADOW is now a list of maps.
5835         (describe_map_tree): Likewise.
5836         (describe_buffer_bindings): Build suitable list to pass as SHADOW.
5837         (Faccessible_keymaps): New arg PREFIX.  Callers changed.
5838         (describe_map_tree): New arg PREFIX.
5839         (Fdescribe_bindings): New arg PREFIX.
5840         Pass to describe_buffer_bindings along with buffer.
5841         (describe_buffer_bindings): Extract PREFIX and pass along.
5843 1993-06-28  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5845         * keymap.c (describe_map_2): Cleanups.
5846         Check there's no previous definition in same keymap.
5848 1993-06-24  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
5850         * keyboard.c (read_char): Don't do idle autosaves if we're not
5851         interactive.
5853 1993-06-23  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
5855         * xfns.c (Fx_create_frame): Check for internalBorder resource, as
5856         well as internalBorderWidth.
5858         * xterm.c (XTread_socket): Remove #if 0''s around code which tests
5859         for dropped connection (i.e. sigio but no events).
5861 1993-06-22  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
5863         * keyboard.c (menu_bar_items, read_key_sequence): Use
5864         current_global_map, not global_map; the latter is only meant to be
5865         used for initial_define_key.
5866         * commands.h: Doc fix.
5868         * commands.h (Vglobal_mouse_map): Removed; unused.
5869         * xfns.c (Vglobal_mouse_map): Same.
5871         * buffer.c (list_buffers_1): Make desired_point a lisp object; set
5872         it to nil, unless we find the current buffer.
5873         (Flist_buffers): Don't try to set point in the buffer list unless
5874         list_buffers_1 actually returns an integer.  Don't use a full
5875         save_excursion; just save and restore the buffer.
5877         Separate parameter faces (those created and modified by the user)
5878         from the computed faces (the combinations created by
5879         compute_char_face), so that we don't waste global face id's.
5880         * xterm.h (struct x_display): Replace the fields faces and n_faces
5881         with fields param_faces, n_param_faces, computed_faces,
5882         n_computed_faces, and size_computed_faces.
5883         (FRAME_FACES, FRAME_N_FACES): Replaced by...
5884         (FRAME_COMPUTED_FACES, FRAME_N_COMPUTED_FACES, FRAME_PARAM_FACES,
5885         FRAME_N_PARAM_FACES): New macros.
5886         * xfaces.c: Doc fixes.
5887         (init_frame_faces): Call new_computed_face to create entries for
5888         the default and mode line faces.  Use the FRAME...PARAM_FACES
5889         macros.
5890         (free_frame_faces): Use the FRAME...PARAM_FACES and
5891         FRAME...COMPUTED_FACES macros.  Don't use the copy flag; all
5892         parameter faces have real X resources, and all computed faces just
5893         have copies.  Free both the parameter and computed face arrays.
5894         (new_computed_face): New function.
5895         (intern_computed_face): Renamed from intern_frame_face; callers
5896         changed.  Call new_computed_face.
5897         (ensure_face_ready, compute_char_face, compute_glyph_face): Use the
5898         FRAME...PARAM_FACES macros.
5899         (recompute_basic_faces): Use the FRAME...PARAM_FACES and
5900         FRAME...COMPUTED_FACES macros.  Produce the computed faces by
5901         starting with the base faces and merging in the parameter faces.
5902         (Fset_face_attribute_internal): Use the FRAME...PARAM_FACES
5903         macros.  Just call recompute_basic_faces if the default or mode
5904         line faces have changed.
5905         * xfns.c (Fx_list_fonts): Use the FRAME...PARAM_FACES macros.
5906         * xterm.c (dumpglyphs): Use the FRAME...COMPUTED_FACES macros.
5907         * dispextern.h (struct face): Remove the copy member.  This is no
5908         longer necessary; all computed faces are copies, and no parameter
5909         faces are.
5911         * xfaces.c (face_vector, nfaces, nfaces_allocated): Make these
5912         static.
5914         * xdisp.c (redisplay_window): Remember to compute end relative to
5915         the start of the visible region, too.
5917 1993-06-21  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
5919         * xrdb.c (get_user_db): Remember to free the screen-local resource
5920         string after we've merged its data into db.
5922         * keyboard.c (make_lispy_event): Added detection of double-click
5923         and triple-click events.
5924         (parse_modifiers_uncached, apply_modifiers_uncached): Same.
5925         (read_key_sequence): Coerce double-clicks to clicks, and triple-clicks
5926         to double-clicks or clicks, by analogy with drag events.
5927         (double_click_time): Added variable.
5928         * termhooks.h: Added multi-click event modifier bits.
5930 1993-06-21  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
5932         * textprop.c (Fremove_text_properties, Fadd_text_properties):
5933         Really do next_interval when skipping the first interval.
5935 1993-06-20  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
5937         * xfns.c (Fx_open_connection): Remember to block input while
5938         calling x_load_resources.
5939         * xrdb.c: Undo change of June 19th; it was a BLOCK_INPUT problem,
5940         not a server-specific bug.
5942         * alloc.c (Fgarbage_collect): If the minibuffer is active, don't
5943         display the "...done" message; allow the minibuffer to show again.
5945         * config.h.in (HAVE_LONG_FILE_NAMES): Add an #undef, for autoconf
5946         to chew on.  Re-arrange macros to reflect the ordering of the
5947         corresponding macros in configure.in, to facilitate this kind of
5948         checking.
5950 1993-06-19  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
5952         * version 19.15 released.
5954 1993-06-19  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
5956         * puresize.h (PURESIZE): Up this to 205000 for MULTI_FRAME Emaces,
5957         and 190000 for non-MULTI_FRAME Emaces.
5959         * xfaces.c (recompute_basic_faces): This shouldn't be declared static.
5961         * xrdb.c (get_user_db): Some NCD xterms seem to hang in
5962         XScreenResourceString.  Consult the ServerVendor and VendorRelease
5963         variables to see if we're talking to such a server.
5965         * xterm.c (XTread_socket): Never treat a modifier key as a
5966         non_ascii_keystroke.
5968         * emacs.c (Fkill_emacs): Pass third argument to shut_down_emacs.
5969         * lisp.h (shut_down_emacs): Doc fix.
5971 1993-06-18  Jim Blandy  (jimb@geech.gnu.ai.mit.edu)
5973         * frame.c (Fmake_frame_visible): Make this interactively callable;
5974         frames can accept input while iconified, so it makes sense to put
5975         this on a key.
5977         * xfaces.c: Add forward declaration for recompute_basic_faces.
5979         * fileio.c (Fset_visited_file_modtime): We're only passing two
5980         arguments to the file name handler; use call2, not call3.
5982         Changes for Irix 4.0, tested this time:
5983         * s/irix4-0.h: Get rid of our fake definitions for setpgrp and
5984         getpgrp.
5985         * callproc.c (Fcall_process): Go ahead and use the USG calling
5986         convention for setpgrp.
5987         * ymakefile (pre-crt0.o): Add rule for this.  Perhaps it will help
5988         separate-source-directory compilation.
5989         * emacs.c (shut_down_emacs): Some USG systems #define
5990         EMACS_HAVE_TTY_PGRP; call getpgrp as appropriate for such systems.
5991         * sysdep.c (sys_suspend): Call getpgrp as appropriate for USG and
5992         non-USG.
5994         * sysdep.c (rename): Make arguments const.  autoconf #defines
5995         const away on systems which don't have it; any system with
5996         prototypes will declare the arguments const (the ones to which I
5997         have access do); and systems without prototypes won't notice.
5999         * process.c [IRIX] (create_process): Don't put child in process
6000         group zero before opening the tty; Irix is like USG in this
6001         regard.
6003         * s/isc2-2.h, s/linux.h, s/usg5-4.h, m/alliant-2800.h, m/convex.h,
6004         m/pfa50.h: Remove #definition of HAVE_CLOSEDIR; autoconf figures
6005         this out.
6007         * xfns.c: Always #include "bitmaps/gray.xbm"; the bitmaps seem to
6008         be missing on some systems, and there's no point in having
6009         configure check; it should work fine to always use our copy.
6011         * minibuf.c (Fread_minibuffer): Add missing semicolon after
6012         CHECK_STRING macro.
6014 1993-06-17  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6016         * Version 19.14 released.
6018 1993-06-17  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6020         * m/iris4d.h (LIB_STANDARD): Do *not* include -lbsd.  We are
6021         now calling the BSD[sg]etpgrp functions directly, so this library
6022         is not needed; it just provides the BSD[sg]etpgrp functions under
6023         the [sg]etpgrp names.
6025         * callproc.c [IRIX] (child_setup): Don't call setpgrp this time.
6026         It's already been called up in Fcall_process, and create_process.
6028         * callproc.c (Fcall_process, child_setup): If IRIX is #defined,
6029         call setpgrp with arguments, even if USG is #defined.
6030         * process.c [IRIX] (create_process): Don't call setpgrp before
6031         opening the pty.  Call it after doing the TIOCNOTTY ioctl.
6033         * xfaces.c (compute_base_face): Initialize the face's stipple.
6034         Although we don't use this feature now, face_eql notices it.
6036         * xfaces.c (compute_base_face): Set cached_index to an invalid
6037         index, to avoid an unnecessary comparison.
6039         * keyboard.c (read_key_sequence): Don't confuse mock input with
6040         function-key-map expansion, and continue reading mock events when
6041         the current sequence is unbound.
6043         * keyboard.c (read_key_sequence): After providing a prefix symbol
6044         for a mouse event, modify the mouse event to indicate that that
6045         won't need to be done again, by putting the event's position
6046         symbol in a list.
6048         * keyboard.c (read_key_sequence): When returning mock input which
6049         has run off the end of the current maps, make sure the events get
6050         echoed, and make it into this-command-keys.
6052         * keyboard.c (read_key_sequence): When re-reading a previously
6053         read mouse click which requires a prefix symbol, make sure to set
6054         last_real_key_start appropriately, so we can properly drop
6055         button-down events.
6057 1993-06-17  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6059         * ymakefile (really-oldXMenu): Pass C_SWITCH_MACHINE down.
6061         * intervals.c (verify_interval_modification): Don't just test
6062         Qread_only prop; use INTERVAL_WRITABLE_P.
6064         * syntax.c (scan_lists, Fforward_comment): #if 0 the code
6065         to treat two-character comment enders with a special shortcut.
6067 1993-06-16  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6069         * config.h.in (HAVE_CLOSEDIR): Add an #undef for autoconf to
6070         change.
6071         * sysdep.c (closedir): Only define this if autoconf can't find
6072         HAVE_CLOSEDIR.  If we're running under solaris (defined (sun) &&
6073         defined (USG5_4)), then don't free the buffer separately.
6075         * keyboard.c (read_key_sequence): If we add events to a key
6076         sequence that didn't come from the input stream (e.g. `mode-line'
6077         prefixing a mouse click, or an expansion from function-key-map),
6078         and end up with a sequence that runs off the end of the current
6079         maps, return the entire key sequence, not just the initial portion
6080         which was bound or unbound.
6082         * xdisp.c (redisplay_window): Do not subtract one from start
6083         before passing it to the set_vertical_scroll_bar_hook.
6085         * lisp.h (CHECK_LIST, CHECK_STRING, CHECK_CONS, CHECK_SYMBOL,
6086         CHECK_VECTOR, CHECK_BUFFER, CHECK_WINDOW, CHECK_LIVE_WINDOW,
6087         CHECK_PROCESS, CHECK_NUMBER, CHECK_NATNUM, CHECK_MARKER,
6088         CHECK_NUMBER_COERCE_MARKER, CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT,
6089         CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY): Wrap a do
6090         ... while (0) around these compound statements to make them
6091         syntactically equivalent to a single statement.
6093 1993-06-16  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
6095         * editfns.c (Finsert_buffer_substring): Doc fix.
6097 1993-06-16  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6099         Don't let the 'B' interactive spec default to buffers viewed in
6100         any visible frame.
6101         * buffer.c (Fother_buffer): Pass Qt as the second argument
6102         to Fget_buffer_window.
6103         * window.c (window_loop): In GET_BUFFER_WINDOW case, ignore
6104         non-visible frames.
6105         (Fget_buffer_window): Change doc string to mention that passing Qt
6106         for the FRAME argument returns windows on visible frames only.
6108         Changes for correct pgrp behavior; approach suggested by Bob
6109         Glickstein <bobg@zindigo.z-code.com>:
6110         * m/iris4d.h (LIB_STANDARD): Do list -lbsd here.
6111         * s/irix4-0.h (getpgrp, setpgrp): #define these to call BSDgetpgrp
6112         and BSDsetpgrp.
6113         (GETPGRP_NO_ARG): Don't #define this.
6114         * emacs.c (main): Don't test GETPGRP_NO_ARG.
6115         * sysdep.c (sys_suspend): Don't test GETPGRP_NO_ARG.
6117         * Makefile.in (CPP): New variable, set by the top-level Makefile.
6119         * m/delta88k.h (HAVE_GETTIMEOFDAY): Don't #define this; autoconf
6120         takes care of that.
6121         (LIBS_SYSTEM): Don't attempt to #define this if we already have a
6122         definition of LIB_SYSTEM from s/usg5-4.h.
6124         * unexec.c [HPUX] (sbrk): This returns a void *.
6126         * window.c (check_frame_size): Allow minibuffer-only frames to be
6127         one line high.
6129         * frame.c (store_frame_param): Fix error message punctuation.
6131         * callproc.c [IRIX] (child_setup): Don't set the pgroup.
6133         * s/isc3-0.h (memmove): #define this to call safe_bcopy.
6135         * buffer.c (list_buffers_1): Return the desired point.
6136         (Flist_buffers): Put point there in the buffer summary.
6138         Bring mumbleclean targets into conformance with GNU coding standards.
6139         * Makefile.in (mostlyclean): New target.
6140         (clean): Just call mostlyclean.  Get rid of ../etc/DOC too.
6141         (distclean): Use clean to do most of the work.
6142         Get rid of ../etc/DOC-* too.
6143         (realclean): New target.
6145         * xdisp.c (redisplay_window): Do not subtract BEGV to compute
6146         the scroll bar handle's end.
6148 1993-06-15  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6150         * xmenu.c (xmenu_show): Store 0 in *ERROR at the beginning.
6152         * fileio.c (Finsert_file_contents): Two new args, BEG and END.
6154         * intervals.c (adjust_intervals_for_insertion): By default, copy
6155         properties from before the insertion.
6157 1993-06-14  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6159         * syntax.c (scan_sexps_forward): Set state.comstart to before the
6160         comment starter, not after.
6162         * xmenu.c (Fx_popup_menu): Call keymap_panes right in one-keymap case.
6164 1993-06-14  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6166         * s/linux.h (LIBS_MACHINE, HAVE_SYSVIPC): Set the former to -lipc,
6167         and #define the latter.
6169         * xdisp.c (display_text_line): Use temporary variable.
6171 1993-06-14  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6173         * window.c (Fdelete_window): Handle deleting a parent of the
6174         selected window.
6176 1993-06-13  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6178         * fileio.c (Fset_visited_file_modtime): Don't give the handler
6179         the filename as an argument.
6181         * syntax.c (scan_lists, Fforward_comment): Pass 0 as commentstop arg
6182         to scan_sexps_forward.
6183         (scan_sexps_forward, char_quoted): Now static.
6184         (describe_syntax, describe_syntax_1): Now static.
6186         * undo.c (Fprimitive_undo): Rename arg to N to avoid conflict.
6188         * window.c (Fdelete_window): Mostly undo last change.
6189         Don't initialize `frame' in the declaration.
6191         * keymap.c: Make prefix keys work with keymap inheritance
6192         by creating an inheritance structure for each subkeymap
6193         that we create in the inheriting keymap.
6194         (access_keymap): New arg NOINHERIT.  All calls changed.
6195         (define_as_prefix): New function.
6196         (Fdefine_key): Use them.
6198 1993-06-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6200         * emacs.c (shut_down_emacs): New arg STUFF.  Stuff input here.
6201         (Fkill_emacs, fatal_error_signal): Pass new arg.
6202         * xterm.c (x_connection_closed): Pass new arg.
6204         * dired.c (Ffile_attributes): Give -1 as size if size won't fit.
6206         * intervals.c (set_point): When moving over invis chars,
6207         don't screw up at end of buffer.
6209         * eval.c (call5, call6): New functions.
6210         (call1, call2, call3, call4): Renumber the args.
6211         * lread.c (Fload): Use call5.
6212         * fileio.c (Fcopy_file): Pass all the args to the handler.
6213         (Fwrite_region): Use call6.
6214         (Frename_file): Look for handler for newname.
6215         (Fadd_name_to_file): Pass arg ok_if_already_exists to handler.
6216         (Fmake_symbolic_link): Likewise.
6217         (Ffile_newer_than_file_p): Check both file names for handler.
6219 1993-06-12  John Hughes  (john@moonlite.CalvaCom.fr)
6221         * term.c (term_get_fkeys): Use `prior', not `previous', for %8/kP.
6223 1993-06-12  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6225         * sysdep.c (child_setup_tty): Remove duplicate settings for VQUIT
6226         and VINTR.
6228         * sysdep.c [ultrix] (init_sys_modes): Don't set LLITOUT; it
6229         disables the meta key.
6231         * frame.c (Fmouse_position, Fset_mouse_position): Doc fix.
6233         * xfns.c [! HAVE_X11R5] (Fx_rebind_key): Recognize that
6234         XK_Mode_switch and XK_Num_Lock are modifier keysyms too.
6236         * xterm.c (XTset_vertical_scroll_bar): Use double type for
6237         intermediate results in scaling.
6239 1993-06-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6241         * undo.c (syms_of_undo): Set up Qinhibit_read_only.
6242         (Fprimitive_undo): Sometimes bind inhibit-read-only to t.
6244         * minibuf.c (read_minibuf): Set and use mini_frame only if MULTI_FRAME.
6246         * xdisp.c (echo_area_display): Use XFASTINT on ->height.
6247         (copy_rope, copy_part_of_rope): Access *f as Lisp_Object.
6249         * window.c (Fdelete_window): Make `frame' a FRAME_PTR and use as such.
6251         * undo.c (record_delete): Always use XFASTINT on sbeg.
6252         (Fprimitive_undo): Add missing `else'.  Add USE_TEXT_PROPERTIES
6253         conditional for calling Fput_text_property.  Use XINT on high, low.
6255         * process.c (start_process_unwind): Use XINT.
6257         * syntax.c (Fset_syntax_table): Add XFASTINT.
6259 1993-06-12  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6261         * xterm.c (x_error_quitter, x_io_error_quitter): Remove calls to
6262         abort.  We can always run Emacs with _Xdebug set to 1.
6264         * ymakefile (really-oldXMenu): Remember backslash to extend command.
6266         * keyboard.c (read_key_sequence): When we generate a prefix symbol
6267         for a mouse event, store the actual mouse event in
6268         unread_command_events, so we don't lose it if the symbol isn't
6269         bound to a prefix.
6271         * config.h.in (HAVE_XRMSETDATABASE, HAVE_RANDOM, HAVE_LIBXBSD):
6272         Add #undefs for these.
6273         Dyke out code requesting -lXbsd and HAVE_RANDOM for XFREE386.
6274         * xfns.c (Fx_open_connection): Test HAVE_XRMSETDATABASE instead of
6275         NO_XRM_SET_DATABASE; the latter isn't used any more.
6276         * m/delta88k.h, m/tekXD88.h, s/linux.h, s/usg5-4-2.h (HAVE_RANDOM):
6277         Dyke out these #definitions; to avoid conflict with autoconf.
6279         * ymakefile (really-oldXMenu): Explicitly pass CC, CFLAGS, and
6280         MAKE to the oldXMenu make.
6282         * window.c (Fprevious_window): Use FRAME_HAS_MINIBUF_P to decide
6283         if the frame has a minibuffer; FRAME_MINIBUF_WINDOW points to the
6284         surrogate on minibufferless frames, not nil.
6286 1993-06-12  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6288         * keyboard.c (read_char): Set c properly as a Lisp int.
6289         (command_loop_1): Delete spurious use of XINT on c, a char.
6291         * frame.c: Doc fixes.
6293         * data.c (cons_to_long): Declare top, bot as Lisp_Object.
6295         * floatfns.c (Fexpt): New local `val' for making integer to return.
6297         * keymap.c (Fcopy_keymap): Check Fkeymapp value with NILP.
6298         (get_keymap_1): Add missing semicolon.
6299         (describe_vector_princ): Align to column 16.
6301         * emacs.c (main) [GETPGRP_NO_ARG]: Really pass no arg to getpgrp.
6303 1993-06-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6305         * xterm.c (XTmouse_position): Don't set *f at all unless we win.
6307         * process.c (read_process_output): Don't deactivate the mark.
6308         Do restore Vdeactivate_mark, so that no one else deactivates it.
6310         * buffer.c (Fgenerate_new_buffer_name): GENTEMP is the value to
6311         compare against IGNORE.
6313 1993-06-11  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6315         Interact properly with shells lacking job control (sh, rc, es...)
6316         * sysdep.c [BSD] (inherited_pgroup): New variable.
6317         (narrow_foreground_group, widen_foreground_group): New functions.
6318         (init_sys_modes): Call narrow_foreground_group.
6319         (reset_sys_modes): Call widen_foreground_group.
6320         * emacs.c [BSD] (inherited_pgroup): Add extern declaration.
6321         [BSD] (main): Set inherited_pgroup, and put ourselves in our own
6322         pgroup.
6324 1993-06-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6326         * xfns.c (syms_of_xfns): Don't set up Qicon.
6327         (Qicon): Declaration deleted.
6328         * frame.h (Qicon): Declared.
6330         * frame.c (Fmouse_position): Set up defaults before calling the hook.
6332 1993-06-11  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6334         * xdisp.c (redisplay_window): Don't call try_window_id if the
6335         window isn't starting at the beginning of the line.
6337         * window.c (Fprevious_window): Typo.
6339 1993-06-11  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6341         * ymakefile (alloca.o): Delete allocatem.c, not allocax.c.
6343         * textprop.c (Fset_text_properties): No special case for props = nil.
6345         * xfns.c (Fx_list_fonts): If names is 0, just return nil.
6347 1993-06-11  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6349         * xterm.c (x_new_font): If font_names is zero, that's all the
6350         indication we get that no matches were found.
6352         * s/isc3-0.h (LIB_X11_LIB): #undef this, to remove the value
6353         inherited from usg5-3.h; ISC doesn't have libX11_s.
6354         (LIBX11_SYSTEM): Link against the static -lc, not -lc_s.
6356 1993-06-10  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6358         * lread.c (Fload): Forward all 4 args to magic-name handler.
6360 1993-06-10  Shane Hartman  (shane@nugget.spr.com)
6362         * window.c (Fscroll_left): Make argument optional.
6363         (Fscroll_right): Ditto.
6365 1993-06-10  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6367         * search.c (Flooking_at, Fstring_match, fast_string_match,
6368         search_buffer): Don't block input while calling searching and
6369         matching functions.  These functions may not call malloc under
6370         Emacs anyway, and we need to be able to check for C-g.
6372         * xrdb.c (get_user_db): Get the screen-specific database too.
6374         * syntax.c (scan_lists, Fforward_comment): Call scan_sexps_forward
6375         with the proper number of arguments.
6377         * sysdep.c: Remove clause for DGUX support of FASYNC; add clause
6378         to #undef FASYNC if BROKEN_FASYNC is #defined.
6380         * filelock.c: Test HAVE_LONG_FILE_NAMES, not SHORT_FILE_NAMES, to
6381         interface nicely with autoconf.
6382         * m/delta.h: Don't #define SHORT_FILE_NAMES; autoconf does this
6383         for us.
6385         * s/dgux.h: Changes from Paul M Reilly <pmr@rock.concert.net>:
6386         (BSD4_4, SVR4, HAVE_SETSID, HAVE_UNIX_DOMAIN): #define these.
6387         (FIRST_PTY_LETTER): This is 'r', not 'p'.
6388         (HAVE_TERMIO, SIGNALS_VIA_CHARACTERS): Don't #define these.
6389         (HAVE_TERMIOS): #define these instead.
6390         (XREBINDKEYSYM): Don't #define.
6391         Test THIS_IS_YMAKEFILE instead of MAKING_MAKEFILE.
6392         (sigmask, sigpause): #undef these after #including <signal.h>.
6393         (LD_SWITCH_SYSTEM, START_FILES, LIBS_SYSTEM, LIB_GCC): #define
6394         these to avoid problems with /lib/crt0.o.
6395         (C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH): #define these.
6397         * s/dgux.h (BROKEN_FASYNC): #define this.
6399         * fileio.c (Frename_file): Pass all arguments to the file name handler.
6400         * eval.c (call4): New function.
6402 1993-06-09  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6404         * s/linux.h (SIGNALS_VIA_CHARACTERS): Don't #define this.
6406         * process.c (sigchld_handler): Add cast, to avoid warnings on Linux.
6407         (Fopen_network_stream): Cast the second argument to connect, to
6408         avoid warnings on any system that provides prototypes for connect.
6410         * xdisp.c (display_text_line): Handle case where line ends in a
6411         continuation character but we never actually displayed any buffer
6412         text (due to minibuffer prompt).
6414         * xterm.c (x_is_vendor_fkey): New function.
6415         (XTread_socket): Call it to recognize vendor-specific function keys.
6417         * s/dgux.h: Move #definition of SYSTEM_MALLOC outside of
6418         MAKING_MAKEFILE conditional.  No harm.
6420         * xfaces.c (init_frame_faces): Remove assumption that the selected
6421         frame must be an X frame whenever there is already an X frame.
6423 1993-06-08  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6425         * alloc.c (emacs_blocked_malloc, emacs_blocked_realloc): Cast the
6426         return values of malloc and realloc, to placate compilers.
6428 1993-06-08  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6430         * window.c (Fprevious_window): When changing frames,
6431         use the new frame's minibuffer if any.
6433         * intervals.h (INTERVAL_WRITABLE_P): Fix backwards tests.
6435         * m/tekXD88.h: Rewrite by author.
6437 1993-06-08  Jim Blandy  (jimb@totoro.cs.oberlin.edu)
6439         * Version 19.13 released.
6441         * ymakefile (C_DEBUG_SWITCH, C_OPTIMIZE_SWITCH): Remove these;
6442         people shouldn't edit this file to choose optimization and
6443         debugging switches anyway.  ../configure will set CFLAGS to an
6444         appropriate default, which they will be able to override.
6445         * Makefile.in (xmakefile): Don't try to turn -g and -O in
6446         CFLAGS into C_DEBUG_SWITCH and C_OPTIMIZE_SWITCH.  CFLAGS should
6447         be the sole source of such switches, so that setting CFLAGS
6448         controls them completely.
6450 1993-06-07  Jim Blandy  (jimb@totoro.cs.oberlin.edu)
6452         * config.h.in (HAVE_LIBDNET): New macro, to be defined by
6453         ../configure.
6454         * m/pmax.h (LIBS_MACHINE): Only put "-ldnet" here if HAVE_LIBDNET
6455         is #defined.
6457 1993-06-07  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6459         * fileio.c (syms_of_fileio): Set up Qset_visited_file_modtime.
6460         (Fset_visited_file_modtime): Use the proper operation.
6462         * sysdep.c (init_baud_rate) [HAVE_TERMIOS]: Use cfgetospeed.
6464         * systty.h: Add NO_TERMIO conditional.
6466         * textprop.c (Fadd_text_properties): Don't treat the initial
6467         interval specially, aside from splitting off the part starting
6468         where we want to start changing things.
6469         (Fremove_text_properties): Likewise.
6470         For ending interval, split it left as in Fadd_text_properties.
6471         (Fset_text_properties): Don't set starting interval if it goes
6472         past END.  Instead, split it left and set the left part.
6474         * keymap.c (Fdescribe_vector): Use current buf, not standard-output.
6475         (describe_vector_princ): Add newline at end.
6477         * keymap.c (store_in_keymap, access_keymap): Use CHAR_META
6478         when clearing excess high bits.
6480         * s/dgux.h (INTERRUPTIBLE_*): Fix spelling of macros.
6482         * s/hpux9.h (SYSTEM_MALLOC, GNU_MALLOC, REL_ALLOC): Definition and
6483         #undefs deleted.
6485         * keymap.c: Doc fix.
6487         * buffer.c (Fdelete_overlay): Do nothing if overlay already deleted.
6488         Bind inhibit-quit to t.
6489         (Fmove_overlay): Properly handle changing buffers, or no prev buffer.
6490         Bind inhibit-quit to t.
6492         * lread.c (syms_of_lread): Set up Qload.
6493         (Fload): Handle magic file names.
6495 1993-06-07  Shane Hartman  (shane@nugget.spr.com)
6497         * xterm.c (x_caught_error_message): Change type to char* from char*[].
6498         (X_CAUGHT_ERROR_MESSAGE_SIZE): New macro.
6499         (x_error_catcher): Corresponding changes.
6500         (x_catch_errors): Corresponding changes.
6501         (x_check_errors): Do not free x_caught_error_message.
6502         (x_uncatch_errors): Set x_caught_error_message to 0 after freeing it.
6504 1993-06-06  Paul Eggert  (eggert@twinsun.com)
6506         * uaf.h (uaf$v_thursday): Fix misspelling of "thursday".
6508         * floatfns.c (Fceiling): Fix spelling of "ceiling".
6510 1993-06-06  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6512         * ymakefile [__GNUC__ >= 2] (LIB_GCC): Delete spurious -L.
6514         * m/tekXD88.h (HAVE_RENAME): Deleted.
6516         * data.c (Ffset): Delete special check for t and nil.
6518         * xfaces.c (same_size_fonts): Compare only the width.
6520         * dispnew.c: Include lisp.h earlier (before termhooks.h).
6522         * editfns.c (Fcurrent_time_zone): Add alternative for !HAVE_TM_ZONE.
6523         * systime.h [HAVE_TZNAME]: Declare tzname if not macro.
6524         * config.h.in (HAVE_TZNAME): Add #undef.
6526 1993-06-06  Nobuyuki Hikichi  (hikichi@sra.co.jp)
6528         * m/news-risc.h (NO_MODE_T): Defined.
6529         (LINKER): Add #undef.
6531 1993-06-06  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6533         * keymap.c (access_keymap, store_in_keymap): Discard meaningless
6534         high bits of a character event.
6536 1993-06-05  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6538         * lisp.h: Don't declare malloc or realloc.
6540         * xfns.c [EMACS_BIT_MAPS]: Include gray.xbm from ./bitmaps.
6542         * xterm.c (x_new_font): Don't give up right away if XListFontsWithInfo
6543         finds no fonts--try XLoadQueryFont anyway.
6545         * xfns.c (Fx_open_connection): Make `data' unsigned char.
6547         * window.c (Fset_window_configuration): If a window is supposed
6548         to have a buffer, always give it one.
6550         * xmenu.c (Fx_popup_menu): Error if we don't get a window
6551         or a frame somehow.
6553         * puresize.h: Test MULTI_FRAME, not HAVE_X_WINDOWS.
6555         * frame.c (Frubber_band_rectangle): Deleted.
6556         (syms_of_frame): Don't defsubr it.
6558         * xselect.c (x_get_foreign_selection): Handle x_selection_timeout
6559         as milliseconds, not as seconds.
6560         (syms_of_xselect): Doc fix to match.
6562         * m/mips4.h (MIPS2): Comment out define.
6563         (LIB_STANDARD): Delete -lisode.
6565 1993-06-04  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6567         * syssignal.h [POSIX] [!__GNUC__] (sys_sigmask): Add declaration.
6569         * alloc.c (make_event_array): Ignore bits above CHAR_META.
6571         * frame.c [!MULTI_FRAME] (Fframep): New dummy definition.
6572         (syms_of_frame): Defsubr that.
6574         * buffer.c (syms_of_buffer): Set up Lisp var inhibit-read-only.
6575         * lisp.h (Vinhibit_read_only): Declared.
6576         * buffer.c (Fbarf_if_buffer_read_only): Check Vinhibit_read_only.
6577         * cmds.c (Fnewline): Use Fbarf_if_buffer_read_only.
6579         * intervals.h (INTERVAL_VISIBLE_P): Use textget.
6580         (INTERVAL_WRITABLE_P): Use textget.
6581         Check Vinhibit_read_only.
6583         * window.c (syms_of_window): Always defvar pop-up-frames
6584         and pop-up-frame-function.
6586         * process.c (read_process_output): Deactivate the mark.
6587         Save and restore Vdeactivate_mark.
6589         * xfns.c (x_set_menu_bar_lines_1): Adjust just the uppermost child
6590         in a vertical split.  Adjust the height counter to the top.
6591         (x_set_menu_bar_lines): Don't change overall frame height.
6593 1993-06-04  Francesco Potortì  (pot@cnuce.cnr.it)
6595         * filelock.c (MAKE_LOCK_PATH): If SHORT_FILE_NAMES allocates
6596         different space and calls fill_in_lock_short_file_name.
6597         (fill_in_lock_short_file_name): New function for 14-chars hashed
6598         file names. Replaces fill_in_lock_file_name if SHORT_FILE_NAMES.
6600 1993-06-03  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6602         * sysdep.c (wait_for_termination): Fix sigpause in POSIX_SIGNALS case.
6604         * xterm.c (x_catch_errors): Fill in missing array size in cast.
6606         * Makefile.in (xmakefile): Depend on ../config.status.
6608         * buffer.c (init_buffer): Init default-directory of minibuffer.
6610         * m/iris4d.h (LIB_STANDARD): Delete -lbsd.
6612         * keyboard.c (read_key_sequence): Reset fkey_map when we find
6613         something at the end of Vfunction_key_map.
6615         * m/ibmrt-aix.h (HAVE_FTIME): Defined.
6617         * emacs.c (syms_of_emacs): Doc fix.
6619         * keyboard.c (read_char_menu_prompt): Now static.  Add declaration.
6621         * dispnew.c (Fredraw_display): Redraw all visible frames.
6622         (redraw_garbaged_frames): New function.
6623         * xdisp.c (redisplay, echo_area_display): Use redraw_garbaged_frames.
6625         * dispnew.c (do_pending_window_change): No need to clear
6626         FRAME_NEW_HEIGHT/WIDTH.  Do test width != 0.
6628         * xterm.c (x_wm_set_size_hint): Handle XGetNormalHints returning 0.
6630         * xfns.c (x_set_frame_parameters): Process all parms in reverse order.
6632         * frame.h (FRAME_MINIBUF_WINDOW): Use minibuffer_window.
6634 1993-06-02  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6636         * sysdep.c (init_sys_modes): Disable VLNEXT char.
6637         Also VWERASE, VREPRINT, VDISCARD.
6639         * xfaces.c: Test XOS_NEEDS_TIME_H, not HPUX, for including time.h.
6640         * s/sol2.h, s/hpux.h (XOS_NEEDS_TIME_H): Defined.
6642 1993-06-02  Francesco Potortì  (pot@cnuce.cnr.it)
6644         * ymakefile (alloca.o): Use temp names allocax.o, allocax.s
6646         * m/delta.h (MOTOROLA_DELTA): Defined.
6647         (HAVE_SYSVIPC, BAT68K, BAT_ALLOCA): Deleted--obsolete.
6648         (STACK_DIRECTION, HAVE_X_WINDOWS): Deleted--configure knows.
6649         (C_SWITCH_MACHINE): Set to -ga if using the Green Hills compiler.
6650         (LIB_STANDARD, LIB_MATH): Defined to the 68881 versions.
6651         (LIBS_SYSTEM): -lbsd brings sigblock and sigsetmask.
6652         (sigsetmask): Undefined--it is in -lbsd.
6653         (LDAV_SYMBOL): Undefined--we have no such thing.
6654         (KERNEL_FILE): Defined to "/sysV68".
6655         (BSTRING, HAVE_SELECT, HAVE_UNISTD_H, HAVE_TIMEVAL): Defined.
6656         (SIGNALS_VIA_CHARACTERS): Defined.
6657         (memmove): Defined as memcpy--we have no memmove.
6658         (SIGIO, INTERRUPT_INPUT): Undefined--not yet tested.
6659         (SHORT_FILE_NAMES, CLASH_DETECTION): Defined.
6661 1993-06-02  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6663         * Version 19.12 released.
6665         * term.c (term_get_fkeys): Use correct names for F10 and up.
6666         Use the key sequence, not the termcap cap name, in Fdefine_key.
6668         * intervals.c (copy_intervals): Don't adjust total_length at the end.
6669         Set lengths of subintervals properly.
6670         (balance_intervals): Balance left as well as right.
6672 1993-06-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6674         * keymap.c (syms_of_keymap): Add missing 2nd arg to Fcons.
6676 1993-06-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6678         * x/esix5-4.h: Redone by Joe Kelsey.
6680         * xterm.c (x_new_font): Take out last change.
6682         * s/386bsd.h (BSD4_2): Defined.
6684         * fileio.c (Fwrite_region): Don't fsync if autosaving.
6686         * s/irix4-0.h (GETPGRP_NO_ARG): Defined.
6687         * emacs.c (shut_down_emacs): Handle GETPGRP_NO_ARG.
6688         * sysdep.c (sys_suspend): Handle GETPGRP_NO_ARG.
6690         * fileio.c [HPUX9]: Don't include errnet.h.
6692         * hftctl.c (hft_alrm): Don't return a value.
6693         Always declare to return void.
6695         * floatfns.c [!FLOAT_CHECK_ERRNO] (IN_FLOAT): New definition.
6696         (Flog): Fix argument of `log'.
6698         * m/pmax.h (KERNEL_FILE): New override definition.
6700         * keyboard.c (read_key_sequence) [!USE_TEXT_PROPERTIES]: Fix typo.
6701         (menu_bar_items) [!USE_TEXT_PROPERTIES]: Likewise.
6703         * s/isc3-0.h: #undef C_SWITCH_SYSTEM.
6705         * xselect.c (Fx_store_cut_buffer_internal): Handle empty string right.
6707         * xfaces.c (init_frame_faces): Don't look at selected_frame
6708         unless it is an X frame.
6710         * xfns.c (x_window): Use Vxrdb_name for res_name field.
6711         Delete the shortname stuff.
6713         * m/pmax.h (LIBS_MACHINE): Defined.
6715         * Version 19.11 released.
6717 1993-06-01  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6719         * xfns.c (x_set_menu_bar_lines): Use FRAME_NEW_HEIGHT and ..._WIDTH.
6721         * m/sparc.h [__GNUC__ >= 2]: Don't include alloca.h.
6723         * xterm.c (x_new_font): If XListFontsWithInfo finds nothing,
6724         try to load the font anyway.
6726         * ymakefile (emacs): Don't run inc-vers if ../lisp is read-only.
6727         (C_SWITCH_SITE_1): New make variable.
6728         (really-oldXMenu): Pass C_SWITCH_X_SITE_1 as C_SWITCH_X_SITE.
6729         Use C_SWITCH_SITE_1 to pass C_SWITCH_SITE.
6731         * s/386bsd.h: New file.
6733 1993-05-31  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6735         * fns.c (internal_equal): Don't let ints be equal to floats.
6737         * print.c (float_to_string): Skip `-' like digits when ensuring
6738         result looks like a float.
6740         * data.c (Frem): Fix result sign properly.
6742         * xrdb.c [__bsdi__]: ALternate decls of getpwuid and getpwnam.
6744         * emacs.c (main) [BSD]: Delete the setpgrp (both times).
6746         * m/ibmrs6000.h (NLIST_STRUCT): Defined.
6748         * ymakefile (GETLOADAVG_OBJ): New macro.
6749         (obj): Use that.
6751         * s/bsd386.h: New file.
6753         * term.c (term_get_fkeys): If not initialized, init Vfunction_key_map.
6755         * m/ibmrs6000.h: Delete ! __GNUC__ conditional.
6756         (LD_SWITCH_MACHINE): Defined.
6757         (ORDINARY_LINK): Defined unconditionally.
6759         * dispnew.c (update_frame): Make preempt_count positive.
6760         Defend against negative baud_rate.
6761         * scroll.c (calculate_scrolling): Defend against negative baud_rate.
6763         * mem-limits.h [__bsdi__]: Define BSD4_2.
6765         * xfns.c (x_window): In XSetClassHint, use a shortened version
6766         of the frame name.
6768         * s/hpux8.h (C_SWITCH_SYSTEM): Fix typo in X11R5 dirname.
6770         * xterm.c (XTread_socket, case KeyPress) [HPUX]: Test IsModifiedKey.
6772         * keyboard.c (kbd_buffer_get_event):
6773         Shorten the first MULTI_FRAME conditional.
6775         * s/usg5-4-2.h (HAVE_VFORK): Deleted.
6777 1993-05-31  James Clark  (jjc@jclark.com)
6779         * xselect.c (x_reply_selection_request): Call XFlushQueue.
6781         * window.c (Fset_window_buffer): Set window's force_start to Qnil.
6783 1993-05-31  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6785         * syntax.c (Fforward_comment): Set point to where scan stops,
6786         thus moving across whitespace.  When moving fwd, treat Sendcomment
6787         as whitespace; likewise for Scomment when moving back.
6788         (scan_sexps_forward): New arg COMMENTSTOP.
6789         (Fparse_partial_sexp): Likewise.
6791         * xfns.c (Fx_create_frame): Use bitmapIcon, not iconType.
6793 1993-05-30  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6795         * data.c (float_arith_driver): Detect division by zero in advance.
6796         (arith_driver, Frem): Likewise.
6798         * xfns.c (Fx_list_fonts): Handle 0 for FRAME_FACES (f) [face_id]->font.
6800         * print.c (Fwith_output_to_temp_buffer): Doc fix.
6802         * sysdep.c (wait_for_termination): Delete LINUX conditionals.
6804         * s/linux.h (HAVE_TCATTR): Deleted.
6805         (BSD): Don't define.
6806         (read, write, open, close): Defined.
6807         (INTERRUPTIBLE_OPEN, INTERRUPTIBLE_CLOSE, INTERRUPTIBLE_IO): Defined.
6808         (C_SWITCH_SYSTEM): Defined.
6810         * xterm.c: Include systty.h; don't mess with FIONREAD.
6811         Don't include termio.h directly.
6813         * intervals.c (interval_deletion_adjustment): Delete unreachable abort.
6815         * fns.c (Fyes_or_no_p): Delete unreachable UNGCPRO.
6817         * keyboard.c (lispy_function_keys): Add `remove' key.
6819 1993-05-30  Roland McGrath  (roland@churchy.gnu.ai.mit.edu)
6821         * buffer.c (Fgenerate_new_buffer_name): Doc fix.
6823 1993-05-30  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6825         * Makefile.in (clean): Delete libXMenu11.a.
6827 1993-05-30  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6829         * m/mips.h (KERNEL_FILE): Set this to "/unix".
6830         * m/mips4.h (MIPS2): Go ahead and define this.
6831         (C_DEBUG_SWITCH): Add -DMips and -g3, and up Olimit to 2000.
6833 1993-05-30  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6835         * emacs.c (main) [AIX _I386]: Don't handle SIGIOINT.
6837         * lisp.h (UCHAR): Don't define if _UCHAR_T.
6839         * m/ibmps2-aix.h (HAVE_GETTIMEOFDAY): Deleted.
6840         (HAVE_SETSID, HAVE_TERMIOS): Defined.
6841         (HAVE_TERMIO): Add #undef.
6842         (SIGNALS_VIA_CHARACTERS): Defined.
6843         (C_DEBUG_SWITCH): Make definition empty.
6844         (LIBS_DEBUG): Defined.
6845         (BROKEN_TIOCGWINSZ, LIB_X11_LIB): Add #undef.
6847         * sysdep.c (child_setup_tty) [AIX SIGNALS_VIA_CHARACTERS]: Install
6848         something useful in the VQUIT and VINTR.
6849         (emacs_set_tty): Try only 10 times to call tcsetattr.
6850         Don't use memcmp to test what it did.
6852         * systty.h [HAVE_TERMIOS _AIX _I386]: Include termios before termio.
6854         * dispnew.c (buffer_posn_from_coords): Since COL is already
6855         window-relative, don't subtract window_left.
6857 1993-05-30  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6859         * xfaces.c (unload_color): Don't #include <X11/Intrinsic.h>,
6860         <X11/StringDefs.h>, or <X11/Xmu/Drawing.h>.  Just write out
6861         "unsigned long" instead of using the "Pixel" typedef; it's in the
6862         protocol, so it's not likely to change.
6864         * hftctl.c (hft_alrm): Declare and define this to return void, not
6865         int; the AIX #include files have prototypes for it.
6867         * s/aix3-2.h (LIBS_SYSTEM): Remove -lIM and -liconv from here...
6868         * m/ibmrs6000.h (LIBS_MACHINE): They're already here.  Doc fix.
6870         * Makefile.in (SUBMAKEFLAGS): Remember to propagate MAKE.
6872 1993-05-30  Richard Stallman  (rms@mole.gnu.ai.mit.edu)
6874         * s/sunos4-1-3.h: Delete the #undef of SYSTEM_MALLOC.
6876         * systty.h [IRIX4]: Include unistd.h.
6878         * s/irix4-0.h (IRIX4): Defined.
6879         (IRIS_UTIME): #undef this.
6881         * xfns.c (Fx_open_connection) [NO_XRM_SET_DATABASE]:
6882         Don't call XrmsSetDatabase.
6884         * xfaces.c: Fix HPUX conditional syntax.
6886         * s/hpux8.h (random, srandom): Defined.
6888         * s/usg5-4-2.h: Don't specify s/ dir in #include.
6889         * s/usg5-4-2.h (PTY_TTY_NAME_SPRINTF): Defined.
6890         (HAVE_SYSV_SIGPAUSE): #undef this.
6892         * sysdep.c (wait_for_termination): Add POSIX_SIGNALS alternative.
6894 1993-05-30  Jim Blandy  (jimb@wookumz.gnu.ai.mit.edu)
6896         * xfaces.c (init_frame_faces): We have to make sure that face ID's
6897         are valid on all frames or no frames; make sure F has allocated
6898         faces for any face valid on the selected frame.
6900         * s/hpux9.h: New file; don't use the GNU allocator.  Hope we fix
6901         this soon.
6903 See ChangeLog.3 for earlier changes.
6905 ;; Local Variables:
6906 ;; coding: utf-8
6907 ;; End:
6909   Copyright (C) 1993-1994, 2001-2014 Free Software Foundation, Inc.
6911   This file is part of GNU Emacs.
6913   GNU Emacs is free software: you can redistribute it and/or modify
6914   it under the terms of the GNU General Public License as published by
6915   the Free Software Foundation, either version 3 of the License, or
6916   (at your option) any later version.
6918   GNU Emacs is distributed in the hope that it will be useful,
6919   but WITHOUT ANY WARRANTY; without even the implied warranty of
6920   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
6921   GNU General Public License for more details.
6923   You should have received a copy of the GNU General Public License
6924   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.