Update copyright year to 2014 by running admin/update-copyright.
[emacs.git] / src / ChangeLog.2
blob4a4d737623648901b1254344ec6a9b52c8ead4fe
1 1988-08-31  Richard Stallman  (rms@corn-chex.ai.mit.edu)
3         * Version 18.52 released.
5         * x11term.c (XT_GetDefaults): Replaced entire function.
7         * unexhp9k800.c: #endif was missing.
9         * crt0.c [hp9000s300]: New variable flag_68010.
11 1988-08-30  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
13         * m-isi-ov.h (LOAD_AVE_{CVT,TYPE}): On 4.3, different definitions.
15         * m-iris4d.h: Define XSETMARKBIT.
17 1988-08-29  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
19         * m-ibmrt.h (CANNOT_DUMP): Was defined by mistake in last change.
21         * m-amdahl.h (NSIG): If it's 19, make it 20.
22         Overrides Amdahl's mistake.
24 1988-08-27  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
26         * x11fns.c, x11term.c (XXscreen): New variable, default screen number.
27         All calls to BlackPixel, WhitePixel, DisplayCells, DefaultColormap
28         pass this.
30 1988-08-26  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
32         * data.c (init_data) [uts]: Handle SIGEMT.
34         * m-apollo.h (APOLLO_SR10): Define this if BSD4_3.
35         (BSTRING): If APOLLO_SR10, don't alter this.
37         * emacs.c [APOLLO]: If APOLLO_SR10, omit the acl code.
39         * filemode.c (ftypelet): If S_IFIFO==S_IFSOCK, avoid duplicate cases.
41         * m-alliant4.h: Add missing `*/'.
43 1988-08-25  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
45         * x11term.c (writechars): Don't call updateline;
46         output just the chars that are specified; don't clear to end.
48         * m-ibmrt-aix.h: Define getwd.  Define bcopy, etc. as macros.
49         Define LIBX10_MACHINE and change LIBS_MACHINE.
51 1988-08-24  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
53         * xterm.c (XTread_socket): If HAVE_SELECT, call xfixscreen
54         before waiting.
56         * dispnew.c (update_line): Comments added.
58         * xterm.c (writechars): Output only the chars specified
59         even if in update; don't clear to end.
60         (XTread_socket): Check O_NDELAY only if it and F_GETFL are defined.
61         (x_term_init) [IBMRTAIX]: Do call gethostname.
62         () [IBMRTAIX]: Include sys/time, not time.
64 1988-08-23  Chris Hanson  (cph@kleph)
66         * xterm.c (XTread_socket): Do not call `xfixscreen' if O_NDELAY is
67         set.  On hpux, this causes an I/O error.
69 1988-08-23  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
71         * m-news800.h: define HAVE_ALLOCA.
73 1988-08-22  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
75         * keyboard.c (read_avail_input) [no FIONREAD]: Always set O_NDELAY.
77 1988-08-21  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
79         * xterm.c, x11term.c (XTclear_end_of_line):
80         Arg was misinterpreted as place to *start* clearing.
81         (x_clear_end_of_line): New fn does what XTclear_end_of_line did.
82         All callers in this file changed.
84         * sysdep.c [USG] (getwd): Free the entire string retd by getcwd.
86 1988-08-20  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
88         * m-ibmrt.h: Delete the USG conditionals.
90         * m-ibmrt-aix.h: New file.
92         * process.c (wait_reading_process_input) [IBMRTAIX]: Do `select'
93         as on HPUX.
94         * process.c [IBMRTAIX]: Use sys/time.h.
96         * dispnew.c (update_line): Handle case of !char_ins_del_ok.
98         * xterm.c (x_term_init): Use X keymap spec'd in user's xdefaults.
99         Also use macro X_DEFAULT_FONT to determine ultimate default font.
101         * sysdep.c (child_setup_tty) [IBMRTAIX]: Turn off extra tty features.
102         (init_sys_modes) [IBMRTAIX]: Turn off enhanced line editor.
103         Also, call hft_init.
104         (init_sys_modes) [TCXONC]: Make sure output isn't stopped.
105         (reset_sys_modes) [IBMRTAIX]: Call hft_reset.
106         (hft_init, hft_reset): New function.
107         (sys_siglist) [IBMRTAIX]: Alternate signal defs.
109         * unexec.c: Treat IBMRTAIX like IRIS.
111         * fileio.c (Fcopy_file): If USE_UTIME, use `utime' instead of `utimes'.
113         * emacs.c (main) [IBMRTAIX]: Handle additional fatal signals.
115 1988-08-19  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
117         * search.c (Fstore_match_data): Failed to skip the 2nd nil in a pair.
119         * search.c (search_buffer) [C_ALLOCA]: Use auto space for BM_tab.
121 1988-08-18  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
123         * keyboard.c: Declare errno.
125 1988-08-15  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
127         * m-news800.h: Define COMPILER_REGISTER_BUG and LIBS_TERMCAP.
129 1988-08-12  Mike Haertel  (mike@spiff.ai.mit.edu)
131         * m-7300.h: Made it understand how do undump a demand-paged
132         executable.
134 1988-08-11  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
136         * unexec.c (adjust_lnnoptrs): auxent is a union, not a struct.
138 1988-08-10  Chris Hanson  (cph@kleph)
140         * keyboard.c (read_avail_input): Do not set O_NDELAY if
141         `read_socket_hook' is in use.  This causes Xlib to get an IO error
142         under X10, and could potentially do the same for X11.
144         * s-hpux.h (ADJUST_EXEC_HEADER): Undefine this.  Demand loaded
145         exec format doesn't work correctly in hpux.
146         (HAVE_SOCKETS): hpux has BSD-style sockets.
148         * xfns.c, xterm.c, x11term.c, x11fns.c: Conditionalize "time.h"
149         inclusion on USG instead of HPUX.
151         * xterm.c, x11term.c (XTread_socket): Conditionalize call to
152         `XPeekEvent' on `HAVE_SELECT'.
154         * xterm.c: Supply missing definition of `handler'.
156 1988-08-09  Chris Hanson  (cph@kleph)
158         * indent.c (current-column): fix typo.
160         * keyboard.c, undo.c: add explicit storage class to several
161         variable declarations so that GCC does not generate warning
162         message.
164 1988-08-08  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
166         * eval.c: doc fix.
168 1988-08-04  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
170         * fileio.c: Doc fix.
172         * keymap.c (Fwhere_is_internal): Call get_keyelt.
174 1988-08-03  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
176         * unexec.c [sun386]: control header files, like STRIDE, etc.
178         * s-sunos4.h: Define LD_SWITCH_SYSTEM, not LD_SWITCH_MACHINE.
179         * m-sun386.h: Vice versa.
180         (O_NDELAY): Delete definition; duplicates s-sunos4.h.
181         (LD_SWITCH_SYSTEM): Undefine this, since the s-sunos4.h defn
182         is wrong for the 386.
184 1988-07-31  Richard Stallman  (rms@juicy-juice.lcs.mit.edu)
186         * sysdep.c (select_alarm): If read_alarm_should_throw, throw back
187         to read_input_waiting.
188         (read_input_waiting): Call setjmp, so that can be done.
189         * xterm.c (XTread_socket) [no SIGIO]:
190         If O_NDELAY not set, wait for an event.
191         Set read_alarm_should_throw while waiting.
192         * x11term.c (internal_socket_read): Similar change.
194         * x11fns.c (Fx_set_mouse_color): Don't free save_color; can be literal.
195         * x11term.c (x_term_init): Clear reversevideo if fg or bg color specd.
197 1988-07-28  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
199         * print.c (Fwith_output_to_temp_buffer): Detect error for non-strings.
201 1988-07-22  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
203         * s-usg5-3.h: Define LIBX{10,11}_SYSTEM.
205         * ymakefile: New variables LIBX{10,11}_SYSTEM to be set in s- file.
207         * xterm.c (XExitGracefully): Declare the args, for debugging.
208         (x_io_error): New function now used as handler for X I/O errors.
210         * xfns.c [not HAVE_TIMEVAL]: Don't include any time.h.
212         * sysdep.c (sys_suspend) [VMS]: Ignore SIGINT while suspended.
214         * undo.c (Fundo_more): Better err msg.
216 1988-07-18  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
218         * indent.c (current_column, Fmove_to_column): ignore invisible lines.
220         * keyboard.c (command_loop_1): No direct output if selective display.
222 1988-07-17  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
224         * ymakefile (LD_TEXT_START_FLAGS): -e should be __start, not address.
226         * m-orion105.h: New file.
228 1988-07-15  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
230         * alloca.s (pyramid): Define _setjmp, _longjmp only if PYRAMID_OLD.
232 1988-07-12  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
234         * s-rtu.h (fsync): Define this as no-op.
236         * process.c, sysdep.c: Rename MASSCOMP flag to RTU.
238 1988-07-10  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
240         * term.c (write_chars): Compensate for wasted_chars when comparing curX
242 1988-07-05  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
244         * lread.c (openp): Don't call strncat if lsuffix is 0.
246 1988-06-28  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
248         * callint.c (Fcall_interactively): On VMS, treat 'f' like 'F'.
250 1988-06-27  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
252         * emacs.c (Fkill_emacs): Run kill-emacs-hook.
254 1988-06-23  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
256         * ymakefile: Add missing dependencies.
258         * cmds.c (Fself_insert_command): Pass correct 2nd arg to SelfInsert.
260         * ymakefile: Avoid newline after cpp in commands for alloca.s.
262 1988-06-22  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
264         * ymakefile: #undef register, in case m- or s- defines it.
266 1988-06-21  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
268         * unexhp9k800.c: Complete replacement.
270         * x11fns.c (x_set_cursor_colors): Send current colors to X server.
271         (Fx_set_mouse_color): Use that function.
272         * x11term.c (XFlipColor, XInitWindow): Use that function.
273         Variable `mous' deleted; handle reverse video for `mous_color'
274         by checking it with `strcmp'.
276         * x11term.c (x_term_init): `sizeof' was used for strings, in mallocing.
277         Delete unused vars `cursor_fore' and `cursor_back'.
279         * x11term.c (CursorToggle): Make solid cursor proper color
280         when no text char is there.
282         * x11term.c (XT_Set_Size_Hints): New arg PR.
283         At startup, it's the value from XGeometry, else 0.
284         Use it when setting the flags (which dims are user-specified).
286         * x11term.c (XT_Set_Size_Hints): Conditional for XICCC.
288         * x11term.c (internal_socket_read): Don't call change_window_size
289         with arguments too small for it to handle.
291         * dispnew.c (window_change_signal, {un,}hold_window_change):
292         If a signal happens during update_screen, just set flag;
293         resignal when update_screen finishes.
294         * xdisp.c (DoDsp, message, message1): Call {un,}hold_window_change.
296         * dispnew.c (Vwindow_system_version): New variable.
297         (syms_of_dispnew, init_display): Set this variable.
299         * callint.c (Fcall_interactively): For `N', convert prefix to number.
301 1988-06-18  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
303         * termcap.c (tgetst1): Tolerate missing colon at end of entry.
305 1988-06-15  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
307         * data.c (Fkill_local_variable): Used to clobber other buffer's value.
309 1988-06-14  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
311         * x11fns.c, x11term.c: "Mouse queue" was a stack; make it a queue.
312         New vars XXm_queue_in, XXm_queue_out.
313         (Fx_{proc,get}_mouse_event): Use XXm_queue_out as fetch index.
314         (internal_socket_read): Use XXm_queue_in as store index.
315         (x_term_init): Init the new vars.
317 1988-06-10  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
319         * window.c (Fset_window_configuration): Handle change in screen size.
321         * s-hpux.h: Delete -lBSD from LIBS_SYSTEM.
322         * m-hp9000s300.h: Define string fns as macros even in version 6.
324 1988-06-08  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
326         * buffer.c (SetBfp): Initialize `swb'.  This matters when SetBfp
327         is called during initialization, on Masscomp.
329 1988-06-03  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
331         * sysdep.c (kbd_input_ast, end_kbd_input): Eliminate `ast_active'.
332         (end_kbd_input): Use LIB$AST_IN_PROG.
334         * lread.c (init_read): Don't be confused by Qnil in normal_path.
336         * data.c (Fsymbol_value): Check nullness of per-buffer sym's buffer.
338         * callint.c (Fcall_interactively): Don't put non-strings into visargs.
340 1988-06-02  Richard Stallman  (rms@rice-krispies.ai.mit.edu)
342         * keyboard.c (read_avail_input, input_available_signal):
343         Make `buf' as long as kbd_buffer.
345 1988-06-01  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
347         * xdisp.c (decode_mode_spec): Output `%%' as a `%'.
349         * sysdep.c (kbd_input_ast): Save and restore errno.
350         * keyboard.c (input_available_signal, interrupt_signal): Likewise.
351         * dispnew.c (window_change_signal): Likewise.
352         * process.c (child_sig): Likewise.
354 1988-05-31  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
356         * x11fns.c (Fx_proc_mouse_event): When looking up a meta-click,
357         look for the meta-prefix-char first.
359         * xmenu.c (Fx_popup_menu): Typo calling BLOCK_INPUT_DECLARE.
361 1988-05-28  Richard Stallman  (rms@sugar-bombs.ai.mit.edu)
363         * s-iris3-5.h, s-iris3-6.h: Undo Jan 11 change.
365 1988-05-23  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
367         * minibuf.c (read_minibuf): If PROMPT's not a string, make it one.
369 1988-05-22  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
371         * m-alliant.h: Typo made m-alliant1.h lose.
372         * m-alliant4.h: New file.
374         * fns.c (Freverse): Rename `vector' to `vec'.
375         On alliant, `vector' is a typedef in param.h.
377 1988-05-20  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
379         * process.c (kill_buffer_processes): Send SIGHUP, not SIGKILL.
381 1988-05-19  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
383         * m-mips.h, m-iris4d.h (XUNMARK): Cast unsigned before shifting.
385         * m-sequent.h: No need for DKSTAT_HEADER_FILE.
387 1988-05-16  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
389         * x11term.c: First include system headers, then config.h, then maybe
390         undef FIONREAD and SIGIO, then read x11term.h which depends on them.
392 1988-05-15  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
394         * keyboard.c (get_input_pending): Hold SIGIO around read_avail_input.
396 1988-05-14  Richard Stallman  (rms@lucky-charms.ai.mit.edu)
398         * keyboard.c (init_keyboard): Call keyboard_init_hook if nonzero.
399         * x11term.c (x_init_1): Move all keyboard-related inits here.
400         (x_term_init): Don't call x_init_1; put it in keyboard_init_hook.
402         * m-sun3.h, s-sunos4.h, s-bsd4-3.h: Delete DK_HEADER_FILE.
403         * m-sequent.h: Change it to DKSTAT_HEADER_FILE.
405 1988-05-13  Richard Stallman  (rms@lucky-charms.ai.mit.edu)
407         * xdisp.c (DoDsp): if pause, and window is partial-width,
408         next redisplay must do all windows since preserve_other_columns
409         may lack the data to work right if we just did scrolling.
411 1988-05-13  Chris Hanson  (cph@kleph)
413         * m-hp9000s300.h: Conditionalize a couple of things on `__GNUC__'.
415 1988-05-12  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
417         * xdisp.c (mark_window_display_accurate): Don't use XBUFFER on nil.
419         * keyboard.c (keys_of_keyboard): Change ndefkey to defkey.
420         * keymap.c (keys_of_keymap): Change ndefkey to defkey.
422 1988-05-10  Richard Stallman  (rms@corn-chex.ai.mit.edu)
424         * sysdep.c: Define sigmask.
426 1988-05-06  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
428         * Version 18.51 released.
430         * process.c (Fdelete_process): Change status of proc to `signaled'.
431         Then call change_msgs to run the sentinel.
433         * m-sequent.h, m-sun3.h, s-sunos4.h, s-bsd4-3.h: Define DK_HEADER_FILE.
435         * m-7300.h: Take out the Feb 11 change; umix!sendai!rich@rutgers.edu
436         says it doesn't work.
438 1988-04-29  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
440         * xdisp.c (DoDsp): Set clip_changed if Voverlay_... has changed.
442 1988-04-28  Chris Hanson  (cph@kleph)
444         * s-hpux.h: Define HAVE_PTYS.  HP-UX has them and they work fine
445         almost all of the time.  The one case where they would fail
446         regularly (inferior Scheme) has been bypassed by using pipes.
448 1988-04-28  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
450         * keyboard.c (Fsuspend_emacs): Do init_sys_modes via unwind protect.
452         * fileio.c [VMS] (Fdefine_logical_name): Empty string value
453         means delete the name.
455 1988-04-27  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
457         * sysdep.c [VMS]: RAB's never a macro; let RAB$C_BID control rab.h.
459         * sysdep.c [VMS] (sys_getenv): Only if value of lib$sys_trnlog
460         is exactly 1 does it mean it found something.
462         * sysdep.c (creat_copy_attrs): Downcase remaining SYS$OPEN, SYS$CLOSE.
464 1988-04-25  Richard Stallman  (rms@lucky-charms.ai.mit.edu)
466         * fileio.c (Fdo_auto_save): Ignore shrinkage if not visiting file.
467         Wait only 1 second after shrinkage message.
468         (Fset_buffer_auto_saved): Update the buffer's save_length.
469         (auto_save_error): Mention buffer name in message.
471         * buffer.c (Fswitch_buffer): Error if in minibuffer window.
473 1988-04-24  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
475         * sysdep.c (sys_close): Define this only if INTERRUPTABLE_CLOSE.
476         * s-usg5-3.h: Define INTERRUPTABLE_CLOSE.
478 1988-04-22  Richard Stallman  (rms@rice-krispies.ai.mit.edu)
480         * sysdep.c (init_sys_modes) [VMS]: Undef _IOFBF so don't use setvbuf.
482 1988-04-20  Richard Stallman  (rms@rice-krispies.ai.mit.edu)
484         * m-sun386.h: New file, for Roadrunner.
486 1988-04-19  Chris Hanson  (cph@kleph)
488         * x11term.h, x11term.c, x11fns.c: Again (for the third time)
489         abstract input blocking so these files compile on systems without
490         SIGIO.
492         * x11term.c (x_term_init): Comment out fatal error which prevents
493         X11 interface from being used if interrupt_input is false.  This
494         is unnecessary and untrue -- the interface works, but
495         suboptimally.
497 1988-04-19  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
499         * sysdep.c (sys_access) [VMS]: If arg is dirname, cvt to name as file.
500         (sys_getenv): If arg is TERM, also look for TERM as logical name.
502         * unexconvex.c: New file.
504 1988-04-18  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
506         * emacs.c (main) [APOLLO]: Eliminate call to set_sbrk_size.
508         * search.c (match_limit): Return nil for a paren-pair with no match.
510 1988-04-17  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
512         * vmsfns.c (Fvms_system_info, Fshrink_to_icon): New functions.
513         Former comes with many subroutines.
515 1988-04-16  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
517         * x11term.c (updateline, write_chars): Restore sigmask at every return.
518         (stufflines): Restore signal mask only once, at the end.
520         * sysdep.c ({un,}request_sigio): SIGWINCH mask actions were backwards.
521         Never change any other mask bit.
523         * x11term.c (internal_socket_read): Initialize COUNT.
525         * ymakefile (LIBX): /usr/X11/lib/oldX/liboldX.a becomes -loldX.
527 1988-04-14  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
529         * fileio.c (auto_save_error): Print msg that there was an error.
530         (Fdo_auto_save): If don't save a bfr because it has shrunk, print msg.
532 1988-04-13  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
534         * s-umax.h: Define MAIL_USE_FLOCK (LaLiberte says so).
536 1988-04-10  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
538         * fileio.c (Fdefine_dcl_symbol): Deleted.
539         (Fdefine_logical_name): New function created.
540         * sysdep.c (define_dcl_symbol): Deleted.
541         (define_logical_name, delete_logical_name): New fns to make
542         job-wide logical names.  "This is more useful for communicating with
543         other processes, since when Emacs is run in a subprocess (as it
544         usually is), the others see job-wide logical names, not DCL symbols)."
546 1988-04-09  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
548         * ymakefile: If UNEXEC is defined, it specifies object file for unexec.
549         * unexmips.c: New file contains MIPS unexec code, moved from unexec.c.
550         * m-mips.h, m-iris4d.h: Define UNEXEC as unexmips.o.
551         No longer need to define COFF.
552         * unexenix.c, s-xenix.h: Likewise.
553         * unexhp9ks800.h: New file; m-hp9000s800.h says to use.
554         * unexec.c: Delete MIPS and Xenix code.
556         * dired.c (file_name_completion) [VMS]: specbind completion-ignore-case
557         to non-nil.
559         * m-sequent.h: Define PTY_ITERATION, etc., for Dynix 3.0 pty names.
561 1988-04-08  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
563         * unexec.c (EXEC_HDR_TYPE): New macro overrides `struct exec' if def.
565         * unexec.c (DEFAULT_ENTRY_ADDRESS): Allow config to define this.
566         * m-iris4d.h: Define it here, instead of IRIS4D conditional in unexec.
568         * m-tek4300.h: New file.
570         * fileio.c: doc fix.
572 1988-03-29  Richard M. Stallman  (rms@wilson)
574         * ymakefile: Default LIBX10_MACHINE and LIBX11_MACHINE to null.
575         Use them when defining LIBX.
577         * xterm.c: On all USG, include sys/time.h.
578         * xterm.c (XtFlash, flashback): Bodies conditional on ITIMER_REAL.
579         * xterm.c (x_term_init): Call gethostname only if BSD or HPUX.
580         * xterm.c (x_init_1): Don't mess with SIGIO if USG.
582         * sysdep.c: Fix typo, USG_SYSTEM_DIR => SYSV_SYSTEM_DIR.
583         Externally define sys_errlist, except on VMS.
584         Don't include rab.h if RAB is already defined.
586         * sysdep.c ({request,unrequest}_sigio) BSD4.2 version:
587         Also block and unblock SIGWINCH if that's defined.
589         * m-mips.h (XSETMARKBIT): New, test 2nd arg for only zero or nonzero.
591         * s-usg5-3.h: #define close sys_close (like open, read, write).
592         * sysdep.c: Undef `close', like `open'.
593         * sysdep.c (sys_close): New function.
594         All refs to close in sysdep.c renamed to sys_close.
596         * sysdep.c (read_input_waiting): Call `read_socket_hook'.
597         Define BUFFER_SIZE_FACTOR as in keyboard.c.
599         * sysdep.c (dup2): Alternate defn #ifdef F_DUPFD.
601 1988-03-27  Richard M. Stallman  (rms@wilson)
603         * process.c [CYDRIX]: Include sys/tiuser.h; don't include pty.h.
605         * process.c (pty): Don't do ioctl FIONBIO if not defined.
606         New macros PTY_ITERATION, PTY_NAME_SPRINTF and
607         PTY_TTY_NAME_SPRINTF customize how to test all pty names.
609         * unexec.c (make_hdr): DATA_SECTION_ALIGNMENT, new, acts like
610         SECTION_ALIGMENT, but for data section only.
612         * callproc.c (init_callproc): Cvt dirname to filename for `access'.
613         * lread.c (init_read): Likewise.  These used to lose on VMS.
615         * dired.c (file_name_completion) [VMS]: READFUNC is a ptr, not a fcn.
617 1988-03-24  Richard M. Stallman  (rms@wilson)
619         * sink.h, sinkmask.h: Don't declare the array static.
620         * xfns.c: Make sink_bits and sink_mask_bits extern;
621         don't include sink.h and sinkmask.h here.
622         Define macros sign_width, etc.
624         * xterm.c (writechars, dumprectangle): Flush `if (PhysScreen)', etc.,
625         since an array is always nonzero as a pointer.
627         * filelock.c: Include config.h after sys/stat.h so can undef S_IFLNK.
629         * sysdep.c (sys_suspend): Use BSD, not SIGTSTP, as cond. for killpg.
631         * dispnew.c (init_display): Set Vwindow_system to `x' for X11.
632         * xterm.c, x11term.c (x_term_init): Set `window-system-version'
633         to 10 or 11.
635         * dispnew.c (update_screen): If cursor_in_echo_area is negative,
636         put cursor at left margin in echo area.
638         * fns.c (Fy_or_n_p): Make cursor_in_echo_area -1 when echoing response.
639         Don't alter cursX.
641 1988-03-23  Richard M. Stallman  (rms@wilson)
643         * x11term.h: Use X11/ not X/ for dir of include files.
644         * xmenu.c: Likewise, in the X11 case.
646         * m-7300.h: Fix unterminated comment near end.
648         * s-xenix.h: Define n_zeroes so usage of struct nlist in fns.c works.
650         * term.c (fatal): Do fflush(stderr).
652         * sink11.h, sink11msk.h: New files.
654         * x11term.h: Define CLASS here.
655         Don't define X11 since this is included only if X11.
657         * x11term.c: Use sink11.h and sink11msk.h, not sink.h and sinkmask.h.
658         Don't define CLASS.  Delete everything about BIGDEBUG.
659         Delete everything pertaining to read_events_block.
660         (XXidentity): now global.
661         (CursorOutline): New var; nonzero means cursor is hollow.
662         (XXicon_usebitmap): New var; nonzero means use bitmap icon.
663         (XTset_terminal_modes, ClearCursor): Set CursorOutline.
664         (XTflash, flashback): Combine into one function; use `select' to wait.
665         (CursorToggle): Handle CursorOutline.
666         (internal_socket_read): Delete 3rd arg, and code that handles it.
667         Handle MappingNotify events.
668         Handle EnterNotify and LeaveNotify (change solid to outline cursor).
669         (XT_GetDefaults): If asked for .BodyFont, look for .Font also.
670         (x_term_init): Init XXicon_usebitmap; strip dirs from `progname'.
671         Handle -i switch.  Handle -geometry like -w.
672         (XT_Set_WM_Hints): Obey XXicon_usebitmap.
673         (XInitWindow): Use `fatal' for fatal error messages.
674         Init CursorOutline.  Ask for EnterNotify and LeaveNotify events.
676         * x11fns.c (Fx_get_default): Use XXidentity.  Clean up docstring.
678         * sysdep.c [VMS] (input_wait_timeout, wait_for_kbd_input):
679         Use detect_input_pending, not get_input_pending.
681         * process.c (wait_reading_process_input):
682         Use only detect_input_pending to check for pending kbd input.
683         (That `select' saw something on channel 0 doesn't mean it is
684         kbd input; it could be an expose event.)
686         * keyboard.c (read_avail_input) [FIONREAD]: Now static.
687         New arg specifies value of NREAD;
688         if it is nonzero, don't call get_input_pending to get it.
689         Use kbd_buffer_store_char to put chars into kbd_buffer.
690         Always abort if kbd_count is nonzero at start.
691         Don't call {set,clear}_waiting_for_input.
693         (get_input_pending): Now static.
694         Return immediately if kbd_count > 0 or if Vquit_flag is non-nil.
695         If FIONREAD and not interrupt_input and read_socket_hook,
696         call read_avail_input to see how much pending input is really
697         kbd characters; don't say we have some if an expose event is pending.
699         * dispnew.c (init_display): Check result of egetenv for emptiness
700         as well as nullness.
702 1988-03-21  Richard M. Stallman  (rms@wilson)
704         * alloca.s [WICAT]: Don't clobber a2.  Return value in a0 and in d0.
706 1988-03-20  Richard M. Stallman  (rms@wilson)
708         * crt0.c (errno): Don't initialize it -- put it in bss space.
709         [M68K]: Define splevel% with `comm' -- put it in bss space.
711         * sysdep.c [MISSING_UTIMES]: Define `utimes' as a no-op.
712         * s-hpux.h: Define MISSING_UTIMES.
714         * buffer.c (Fbuffer_local_variables): The buffer's alist can be out
715         of date for a non-current buffer, so call Fsymbol_value to make
716         the alist up to date.
718         * sysdep.c [VMS] (end_kbd_input): If ast_active, don't clobber
719         any global variables.
721         * ymakefile (alloca.o): Copy sed output to a .s file and use cc
722         to run the assembler.  I hear Xenix can't run it directly.
724         * sysdep.c [XENIX]: Undefine TIOCGETC.
726         * s-xenix.h: Undefine NLIST_STRUCT.  Put `_' in defn of LDAV_SYMBOL.
727         Define HAVE_SYSVIPC.
729         * m-intel386.h [XENIX] (LIB_STANDARD): Add /lib/386/Slibcfp.a.
730         [XENIX] (FSCALE): Define it.
731         [XENIX] (C_ALLOCA): Undefine it.
733         * alloca.s: Define alloca for Xenix.
735 1988-03-19  Richard M. Stallman  (rms@wilson)
737         * keyboard.c (read_avail_input): If `read' gives EAGAIN,
738         kbd_count should be 0.  Can happen on V.3.
740         * x11fns.c (Vxterm1): Delete this variable, and lisp var `xterm'.
741         (syms_of_xfns): If CANNOT_DUMP and not `noninteractive',
742         init_display has already set up Vxterm, so don't init it here.
743         * display.c (syms_of_display): Likewise for Vwindow_system.
744         (init_display): Always set Vwindow_system.
746 1988-03-18  Chris Hanson  (cph@kleph)
748         * m-hp9000s300.h: Add a definition for C_SWITCH_MACHINE which is
749         needed to compile the X11 interface files.
751         * s-hpux.h, m-hp9000s300.h, m-hp9000s800.h: Version 6.01 of HP-UX
752         (on 300 machines only) implements symbolic links and supplies BSD
753         procedures like `bcopy' and `index' as part of the BSD library.
754         Move definitions which depend on these features from the s- file
755         to the m- files, and conditionalize the features based on a flag.
757 1988-03-18  Richard M. Stallman  (rms@wilson)
759         * scroll.c (calculate_scrolling): Abort if ->insertcount
760         is out of range.
762         * sysdep.c (getwd for USG): Don't define it if HAVE_GETWD.
763         * m-stride.h: Define HAVE_GETWD.
765         * buffer.c (init_buffer): If `getwd' fails, it's a fatal error.
767         * ymakefile (MAKE_PARALLEL): New name for PARALLEL, and now
768         a cpp macro, not a Make variable.  Defaults to empty.
769         * m-sequent.h: Define MAKE_PARALLEL.
771         * xdisp.c (display_text_line): Handle the overlay arrow last of all,
772         and update line->length for the space it uses.
774         * xmenu.c: Conditionals for X11, using new macro X11ONLY.
775         Currently named x11menu.c until someone tests it.
776         * ymakefile: Handle HAVE_X_MENU and use xmenu.o, even if X11.
777         * x11term.h: Define BLOCK_INPUT, UNBLOCK_INPUT, BLOCK_INPUT_DECLARE.
779         * Makefile: Set $(MAKE), since some Make versions don't have it.
780         (xmakefile): Delete lines that are just one OR MORE whitespace
781         chars.  Use \t to represent the tab in the `sed' command.
783         * fileio.c (Finsert_file_contents) [APOLLO]: Do another `stat'
784         after closing the file.  Gets around kernel bug (in `fstat'?).
786         * fileio.c (Fwrite_region) [ALLIANT]: Don't do `fsync'; kernel bug.
788         * sysdep.c (sys_suspend): If forking shell, call close_process_descs.
790 1988-02-13  Richard Stallman  (rms@sugar-smacks.ai.mit.edu)
792         * Version 18.50 released.
794         * sysdep.c [VMS]: Remove VMS4_6 conditional on execvp & rename
795         since s-vms.h is set to make us use our own definitions of these.
796         Make execvp call `error' instead of `croak'.
798         * s-vms.h: PURESIZE 132000.
799         * m-sun2.h: Likewise (for HAVE_SUN_WINDOWS).
801 1988-02-11  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
803         * callproc.c (child_setup): Call close_process_descs
804         if can have subprocesses.  Close the argument-descriptors
805         after copying them to 0, 1 and 2.
807         * callproc.c (Fcall_process): After fork, in subprocess,
808         explicitly close Emacs's end of the pipe.  Don't bother calling
809         set_exclusive_use.
811         * process.c (close_process_descs): Close all descriptors
812         that are talking to subprocesses.  Called from a new subprocess.
814         * process.c (create_process): Don't bother calling set_exclusive_use
815         since close_process_descs now closes Emacs's side of a pipe or pty.
817         * x11term.c, x11fns.c, x11term.h: New files from rfrench@athena.mit.edu
818         In x11term.c, the function `read_events_block' has been `if 0'd
819         and so have all calls to it.  A call in wait_reading_process_output
820         was not added, and a call to internal_read_socket in
821         get_input_pending was not added.
823         * emacs.c (main) [HAVE_X_WINDOWS]: Set xargv, xargc for xterm.c.
825         * dispnew.c (init_display) [X11]: Set Vwindow_system to `x11'.
827         * s-hupx.h: Define HAVE_SYSVIPC.
828         Should s-usg*.h define this too?
830         * dir.h: Some union types were missing levels of struct inside them.
832         * alloc.c (Fpurecopy): If not purifying, do nothing.
834         * editfns.c (init_editfns): Record system name even if dumping.
836         * eval.c (Fcondition_case): Inverted endtest in handler validate loop.
838         * m-7300.h: Define SEGMENT_MASK, SECTION_ALIGNMENT
839         and pass the -z switch to ld.  kenobi!ford@bass.nosc.mil says so.
841 1988-02-09  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
843         * unexec.c: Merge gb's code for Xenix.
845         * m-intel386.h: Add conditionals for Xenix.
846         * s-xenix.h: New file.
848         * cm.h: Make the bit-fields unsigned.
850 1988-02-08  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
852         * sysdep.c (init_sys_modes) [USG]: Set C-g for VQUIT as well as VINTR.
853         This was formerly done only on HPUX, and worked there.
854         It appears that all sysV is like HPUX in that CDEL does not
855         really turn off the signal--it makes Meta-DEL cause the signal!
857         * process.c (wait_reading_process_output): Change the test on
858         read_kbd to avoid losing on 80386 Xenix.
860 1988-02-06  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
862         * xdisp.c (Voverlay_arrow_string, Voverlay_arrow_position):
863         New variables specifying a string to overlay on the buffer text
864         and a place to put it.
865         * xdisp.c (display_text_line, redisplay_window, DoDsp):
866         Handle these variables.
868 1988-02-04  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
870         * insdel.c (prepare_to_modify_buffer):
871         If CLASH_DETECTION is disabled, verify the modtime here
872         since it won't be done via lock_file.
874 1988-01-31  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
876         * fileio.c (Fcopy_file): Report error in `write'.
878 1988-01-29  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
880         * eval.c (unbind_to): Recompute loop end-test from `count' each time
881         since an unwind-protect function can use realloc to grow the specpdl.
883 1988-01-26  Richard Stallman  (rms@frosted-flakes.ai.mit.edu)
885         * sysdep.c (vms_truncate) [VMS]: New fn to truncate a file.
887         * fileio.c (Fwrite_region) [VMS]: If writing auto-save file,
888         truncate any existing file.
890         * s-vms.h: Rename `rename', `execvp' and `system' so we don't
891         use the VMS-library versions of it.
893 1988-01-22  Richard Stallman  (rms@frosted-flakes)
895         * m-ibmrt.h: Add some AIX conditionals; output on BSD should
896         be unchanged.  Perhaps will now run on AIX.
898 1988-01-21  Richard Stallman  (rms@frosted-flakes)
900         * keyboard.c (command_loop): Exit here for noninteractive eof.
901         * keyboard.c (kbd_buffer_get_char): Don't exit here.
903 1988-01-20  Richard Stallman  (rms@frosted-flakes)
905         * lread.c (openp): Reject directories even if !exec_only.
907         * window.c (Fset_window_configuration): When keeping window's
908         old buffer, make sure its start and pointm are valid.
910 1988-01-19  Richard Stallman  (rms@frosted-flakes)
912         * sysdep.c (sys_suspend) [SIGTSTP]: Use killpg and getpgrp to stop
913         all processes in same pgrp with Emacs.
915         * syntax.c (Fparse_partial_sexp): Add 7th elt to STATE arg and value,
916         describing minimum depth encountered during the scan.
918 1988-01-18  Richard Stallman  (rms@frosted-flakes)
920         * alloca.s: Change some as-style comments to C-style comments
921         so cccp won't be confused by stray singlequotes.
923         * s-iris3-5.h, s-iris3-6.h: Move the #defines of long-named functions
924         into m-irist.h.
926         * lread.c (init_read): Warn if dirs in PATH_LOADSEARCH don't exist.
927         * callproc.c (init_callproc): Warn if Vexec_directory doesn't exist.
928         * emacs.c (main): Call init_callproc before changing terminal modes.
930         * xdisp.c (try_window_id): When computing ep, watch out for
931         invisible lines that follow the newline after the last change.
933         * window.c (Fset_window_point): Now works ok on selected window.
935 1988-01-17  Richard Stallman  (rms@frosted-flakes)
937         * eval.c (Fdefconst, Fdefvar) doc fix.
939         * keymap.c (Fcopy_keymap): Several stupid errors.
941         * dired.c (file_name_completion): Wasn't calling readdir
942         for Unix; was doing so (instead of readfunc) on VMS.
943         * dired.c (Fdirectory_files): Don't call NAMLEN if dp is 0.
945 1988-01-16  Richard Stallman  (rms@frosted-flakes)
947         * alloc.c (syms_of_alloc): Eliminate vars data-bytes-{free,used}.
948         They lose because values are over 24 bits.
950         * lread.c (read_list): delete `register' for val and tail.
951         * buffer.c (Fkill_buffer): delete `register' for buf and bufname.
952         * fns.c (Fy_or_n_p): delete `register' for xprompt.
953         * keymap.c (Fcopy_keymap): missing paren.
955 1988-01-15  Richard Stallman  (rms@frosted-flakes)
957         * m-iris4d.h: Changes to support dumping.
958         * m-*.h: Doc fix for VIRT_ADDR_VARIES.
960         * unexec.c: Minor changes to mips code for IRIS_4D.
962 1988-01-11  Richard Stallman  (rms@frosted-flakes)
964         * s-iris3-5.h, s-iris3-6.h: Don't #undef SIGIO.  BROKEN_FIONREAD makes it unnec.
965         * process.c [IRIS]: Find sysmacros.h in sys/.
967 1988-01-09  Richard Stallman  (rms@frosted-flakes)
969         * doprnt.c: New arg NARGS says how many args there are in ARGS.
970         Give an error if the string tries to use more than that many.
972         * callint.c (Fcall_interactively): Pass new arg to `doprnt'
973         * editfns.c (Fformat, format1):
974         * xdisp.c (message):
976 1988-01-07  Richard Stallman  (rms@frosted-flakes)
978         * lread.c (init_obarray): Split the stmt `hash =' to avoid
979         a VACX bug.
981         * alloca.s [pyramid]: Keep sp a multiple of 32.
982         This preserves cache-block alignment.
984 1988-01-06  Richard Stallman  (rms@frosted-flakes)
986         * s-hpux.h: Don't define nomultiplejobs, LDAV_SYMBOL, LIBS_DEBUG
987         or BROKEN_FIONREAD.
988         * m-hp9000s300.h: Define those four.
989         * s-hpux.h: Define BSTRING, and define bcopy, etc., as macros.
991         * sysdep.c [NEED_BSDTTY]: Include bsdtty.h.
992         (Flag is defined in m-hp9000s800.h)
994         * m-hp9000s800.h: New file.
995         * m-hp9000s300.h: New name for m-hp9000.h.
997         * sysdep.c: Split TIOCGLTC conditional into two, one on TIOCGETC.
999         * search.c (search_buffer): Avoid & of array static_BM_tab.
1001         * alloca.s, crt0.c: Change hp9000 conditionals to hp9000s300.
1003 1987-12-22  Richard Stallman  (rms@frosted-flakes)
1005         * alloca.s [WICAT]: Keep sp pointing at lowest word in use.
1007 1987-12-17  Richard Stallman  (rms@lucky-charms)
1009         * unexec.c (make_hdr): Don't add A_TEXT_OFFSET to a_text
1010         in the NO_REMAP case (when a_text comes from the old header).
1012         * filelock.c: If no symlinks, use `stat' instead of `lstat'.
1014 1987-12-14  Richard Stallman  (rms@frosted-flakes)
1016         * fileio.c (Fsubstitute_in_file_name): Allow underscore
1017         in an env var name.
1019 1987-12-09  Richard Stallman  (rms@frosted-flakes)
1021         * indent.c (Findent-to): Interactive code `N' instead of `n'.
1023         * sysdep.c (execvp, rename): Omit these fns if VMS4_6.
1025         * lread.c (oblookup): Split a statement to avoid VMS compiler bug.
1027 1987-12-04  Richard Stallman  (rms@frosted-flakes)
1029         * data.c (sign_extend_temp): Moved from sysdep.c.
1030         * data.c (sign_extend_lisp_int): Function to do sign-extend;
1031         needed on some machines.
1033         * keymap.c (Fcopy_keymap): Copy subkeymaps recursively.
1035         * fileio.c (Fread_file_name): Don't crash if no env var HOME.
1037 1987-12-03  Richard Stallman  (rms@frosted-flakes)
1039         * m-convex.h: New file.
1041 1987-12-02  Richard Stallman  (rms@frosted-flakes)
1043         * process.c (wait_reading_process_input):
1044         Don't set time_limit to -2; leave it as -1.
1046         * s-usg5-3.h, m-intel386.h: New files.
1048 1987-12-01  Richard Stallman  (rms@frosted-flakes)
1050         * process.c: Support for SYSV_PTYS.
1052         * dired.c: New macros DIRENTRY and NAMLEN; support for sysV.3.
1053         * sysdep.c: `closedir' function for sysV.3.
1055         * crt0.c: Add code for Sun 4.
1056         * m-sparc.h: New file.
1058         * lread.c (read_list): Fix error message for ] in a list.
1060         * fileio.c (Ffile_symlink_p): Call Fexpand_file_name.
1062 1987-11-21  Richard Stallman  (rms@frosted-flakes)
1064         * print.c: Clean up doc string syntax and fix doc error for `print'.
1066 1987-10-31  Richard Stallman  (rms@sugar-smacks)
1068         * editfns.c (Fformat): Realize doprint %-specs can contain - and space.
1070 1987-10-30  Richard Stallman  (rms@sugar-smacks)
1072         * fns.c (Fy_or_n_p): Don't try to DOWNCASE -1.
1074 1987-10-29  Richard Stallman  (rms@frosted-flakes)
1076         * fns.c (Fy_or_n_p): Protect `prompt' and `xprompt' from gc.
1077         * fns.c (Fyes_or_no_p): Protect `prompt' from gc.
1078         * lread.c (read_list): Protect `val' and `tail' from gc.
1079         * buffer.c (Fkill_buffer): Protect `buf' and `bufname' from gc.
1080         * fileio.c (barf_or_query_if_file_exists): Protect `absname'.
1082 1987-09-17  Richard M. Stallman  (rms@prep)
1084         * Version 18.49 released.
1086         * window.c (set_window_width):
1087         Set windows_or_buffers_changed.
1089         * scroll.c (calculate_scrolling): Initialize insertcount
1090         of top edge cells to zero.
1092         * dired.c (file_name_completion): Rearrange VMS conditionals
1093         so that `readfunc' exists only on VMS.  Apollo compiler
1094         couldn't deal with it.
1096 1987-09-16  Richard M. Stallman  (rms@prep)
1098         * m-sun2.h, m-sun3.h: Doc fix.
1100         * sysdep.c (reset_sys_modes): Don't output anything
1101         if have a read_socket_hook (i.e. under X).
1103 1987-09-10  Richard M. Stallman  (rms@prep)
1105         * buffer.c (Fget_buffer_create): Test of mode-class property
1106         of buffer's major mode was backwards.
1108 1987-09-07  Richard Mlynarik  (mly@prep)
1110         * dired.c (file_name_completion):
1111         Only filter `leaves' of filesystem structure with
1112         completion_ignored_extensions -- don't eliminate directories.
1113         If Vcompletion_ignored_extensions isn't a proper list, don't
1114         eliminate all filenames.
1116         * xterm.h (UNBLOCK_INPUT_RESIGNAL):
1117         RESIGNAL_INPUT, not INPUT_RESIGNAL
1119 1987-08-30  Richard M. Stallman  (rms@prep)
1121         * Version 18.48 released.
1123         * xmenu.c (XEmacsMenu): Rename `sel' to `selidx'.
1125         * unexec.c: Remove the CANNOT_UNEXEC code.
1126         * m-apollo.h: Switch back to CANNOT_DUMP.
1128         * emacs.c (Fdump_emacs): Don't call malloc_init if SYSTEM_MALLOC.
1129         * emacs.c (main): ditto.
1131 1987-08-20  Richard M. Stallman  (rms@prep)
1133         * fileio.c (Fwrite_region) [VMS]: Move gap to the closest place
1134         (first newline after old gap).
1136 1987-08-15  Richard M. Stallman  (rms@prep)
1138         * editfns.c (init_editfns): Handle getpwuid returning 0.
1140 1987-08-14  Richard M. Stallman  (rms@prep)
1142         * casefiddle.c (casify_region): Use prepare_to_modify_buffer.
1143         Don't call modify_region until the end.
1145         * sysdep.c (reset_sys_modes): Output a bare CR
1146         so kernel can track the cursor hpos.
1148 1987-07-30  Richard M. Stallman  (rms@prep)
1150         * vmsfns.c (Fsetprv): Correct spelling SS$NORMAL => SS$_NORMAL.
1151         Include <ssdef.h>.
1153 1987-07-29  Richard Mlynarik  (mly@prep)
1155         * lread.c (init_read): Initialize load_in_progress.
1157 1987-07-28  Richard M. Stallman  (rms@prep)
1159         * vmsfns.c (Fsetprv): Detect error from sys$setprv properly.
1160         Add some privileges missing from the table.
1162 1987-07-27  Richard M. Stallman  (rms@prep)
1164         * sysdep.c (creat_copy_attrs): Flush duplicate `else'.
1166 1987-07-25  Richard M. Stallman  (rms@prep)
1168         * dispnew.c (update_screen): Use PENDING_OUTPUT_COUNT
1169         in all appropriate places.
1170         Fix a comment delimiter typo.
1172 1987-07-24  Richard M. Stallman  (rms@prep)
1174         * keyboard.c (command_loop_1): Don't do direct output
1175         if DoDsp is needed to erase a minibuffer message.
1177         * keymap.c (describe_alist, describe_vector):
1178         1. Output only one blank line in a row if multiple empty keymaps.
1179         2. Chase through indirect keymap elements.
1181         * keymap.c (describe_map_tree): Handle Flookup_key returning int
1182         so C-x 4 bindings appear in the output.
1184         * sysdep.c (sys_creat for VMS): Get all args via varargs,
1185         no named args, to avoid incompatible change in VMS C.
1187 1987-07-18  Richard M. Stallman  (rms@prep)
1189         * unexec.c (make-hdr): Split the stmts that use ADDR_CORRECT
1190         into two stmts.  Some compilers mysteriously barf on them.
1192         * m-7300.h: Remove ADD_CORRECT (s-usg5-2.h does it).
1193         Add LD_SWITCH_MACHINE and SWITCH_ENUM_BUG.
1195         * m-amdahl.h: define STACK_DIRECTION.
1197         * sysdep.c (random for VMS): subtract 1<<30, not 1<<14.
1199         * fns.c (Fvconcat): Doc fix.
1201         * window.c (Fcurrent_window_configuration): Doc fix.
1203         * sysdep.c [VMS]: include file.h.
1204         * sysdep.c (creat_copy_attrs) [VMS]: Minor fixes to prevent
1205         invalid acL if there was no old version.
1207         * dispnew.c (PENDING_OUTPUT_COUNT): New macro to get # chars
1208         buffered in a stdio output stream.
1209         * dispnew.c (update_screen): Use that macro.
1210         Remove #ifndef VMS around the sleep when buffer is full.
1211         * s-vms.h: Define nonstandard PENDING_OUTPUT_COUNT for VMS use.
1213         * fileio.c (file_name_as_directory) [VMS]: Fix 3rd arg to strncmp.
1215 1987-07-17  Paul Rubin  (phr@prep)
1217         * m-sun2.h: Add comment explaining that filename refers to
1218         the OS version, not the CPU model number.  People running
1219         SunOS 3.2 on Sun 2 computers have been erroneously trying to
1220         use this file, and losing.
1222 1987-07-10  Chris Hanson  (cph@prep)
1224         * xterm.h: Define macros to abstract control of input signals.
1225         Alternate set of macros for hp-ux does no signaling.
1227         * xterm.c:
1228         * xfns.c:
1229         * xmenu.c:
1230         Rewrite to use new input signal macros.  Add conditionalizations
1231         for hp-ux, mostly to eliminate references to `ButtonReleased' (I
1232         don't know why, this is from wizards at HP Labs).  Change
1233         "xmenu.c" to eliminate unused include files, and reorder the
1234         include files so that it compiles under hp-ux.
1236 1987-06-29  Richard M. Stallman  (rms@prep)
1238         * fileio.c (Fwrite_region) [VMS]: Use creat_copy_attrs.
1240         * sysdep.c (creat_copy_attrs) [VMS]: New function: open a file
1241         for writing, copying attributes from another file.
1243         * fileio.c (Ffile_writable_p): Exchange with Ffile_symlink_p.
1244         Avoids mysterious cpp lossage on RT/PC.
1246         * syntax.c: Disguise doc string of non-existent Lisp variable
1247         `standard-syntax-table'.
1249 1987-06-25  Richard M. Stallman  (rms@prep)
1251         * callproc.c (Fcall_process): On VMS, use NLA0: instead of /dev/null.
1253         * term.c (term-init):
1254         Don't use "nl" cap on VMS if it's a linefeed.
1256 1987-06-23  Richard M. Stallman  (rms@prep)
1258         * sysdep.c (sys_creat) [VMS]: Use va_start, not va_start_1.
1260         * sysdep.c (rename) [VMS]: Use SYS$RENAME not LIB$RENAME_FILE.
1262 1987-06-18  Richard M. Stallman  (rms@prep)
1264         * sysdep.c (readdirver) [VMS]: Don't return bogus version number.
1265         Don't lose stepping off end of directory entry.
1266         Eliminate superfluous loop.
1268         * fileio.c (file-name-as-directory) [VMS]:
1269         Never append a slash.  Fix erroneous return-with-no-value.
1271         * dired.c (file_name_completion): For VMS, upcase the input.
1273         * fns.c (Frandom): Doc fix.
1275         * sysdep.c (random) [USG]: Subtract 1<<14 from value of rand()
1276         so value range is centered on zero.
1277         * sysdep.c (random) [VMS]: Likewise, and remove the code to
1278         initialize the seed.  Higher levels call srandom if seed should be set.
1280 1987-06-15  Richard M. Stallman  (rms@prep)
1283         * fileio.c (Fwrite_region) [VMS]: Use `creat' to create
1284         an auto-save file.
1285         * Version 18.47 released.
1287         * fileio.c (Fwrite_region): Check result from fsync.
1289 1987-06-12  Chris Hanson  (cph@prep)
1291         * terminfo.c (tparam): Handle the outstring == 0 case by
1292         allocating a result of the correct size.
1294 1987-06-12  Richard M. Stallman  (rms@prep)
1296         * terminfo.c (tparam): Kludge the outstring == 0 case.
1297         Accept (and ignore) the buffer-length argument.
1299         * s-iris3-5.h: Remove defines of IRIS35 and PURESIZE.
1301         * fileio.c (Fwrite_region) [VMS]:
1302         Write under temp name and rename, to avoid auto-deletion
1303         if writing fails.  When moving gap to avoid extra newline,
1304         move it only to the next newline.
1306 1987-06-10  Richard M. Stallman  (rms@prep)
1308         * minibuf.c (Ftry_completion, Fall_completions):
1309         GCPRO some strings when calling predicate.
1311         * fileio.c (file_name_as_directory) [VMS]:
1312         Recognize .dir in uc or lc and followed by either .1 or ;1.
1313         * fileio.c (directory_file_name) [VMS]:
1314         Append .DIR.1 in upper case.
1315         * fileio.c: Delete calls to lower_case.
1316         * fileio.c: #ifndef VMS around decls or errno, sys_errlist, etc.
1318         * sysdep.c (getwd for VMS): Upcase the filename.
1319         * sysdep.c (lower_case): Delete this function and all calls.
1321         * dired.c (file_name_completion): Obey completion-ignore-case
1322         by using scmp instead of bcmp.
1324 1987-06-09  Richard M. Stallman  (rms@prep)
1326         * syntax.c (scan_lists): Clear mathexit on 2nd math-char in a pair.
1328 1987-06-08  Richard M. Stallman  (rms@prep)
1330         * Version 18.46 released.
1332         * m-apollo.h: Define CANNOT_UNEXEC instead of CANNOT_DUMP.
1334         * keyboard.c (get_char): Delete DEBUG-conditional code.
1335         * process.c: Delete the IRIS ignore-SIGIOT kludge.
1337         * sysdep.c: Declare sign_extend_temp regardless of machine type.
1339         * sysdep.c (sys_access) [VMS pre 4.4]: Don't zero uic.
1340         * sysdep.c (sys_access_reinit): New fn, called from
1341         init_sys_modes, to clear uic.
1343         * eval.c (grow_specpdl): Don't subtract old specpdl address
1344         from new one; they are in different arrays.
1345         Use correct args to Fsignal when reporting overflow.
1347         * process.c (Fopen_network_stream): Don't create process object
1348         until opens, etc. have succeeded.
1350 1987-06-08  Chris Hanson  (cph@prep)
1352         * keyboard.c (read_avail_input): use `read_socket_hook' if it has
1353         a value.  This is required in hp-ux if `HAVE_X_WINDOWS' is
1354         defined.
1356         * process.c (wait_reading_process_input): conditionalize `select'
1357         call for hp-ux.
1359 1987-06-08  Richard M. Stallman  (rms@prep)
1361         * m-isi-ov.h: Cut SEGMENT_MAST in half.  crl@purdue says so.
1363 1987-06-06  Richard M. Stallman  (rms@prep)
1365         * tparam.c: Ifdef emacs, include config.h.
1367 1987-06-05  Richard M. Stallman  (rms@prep)
1369         * m-apollo.h: Add #undef BSTRING.
1371         * dispnew.c, keyboard.c: On VMS, don't include sys/ioctl.h.
1373         * process.c (create_process): On IRIS, set forkin, forkout to -1
1374         instead of opening them.  Then don't use them later if they are -1.
1376         * process.c (Fopen_network_stream): Allow integer as 4th arg
1377         to specify foreign port number.
1379 1987-06-03  Richard M. Stallman  (rms@prep)
1381         * m-amdahl.h: Add definitions of LD_SWITCH_MACHINE, EXEC_MAGIC,
1382         SEGSIZ and SEGMENT_MASK.  Turn on C_ALLOCA.  From Jishnu Mukeji.
1384         * eval.c (Fapply): Add missing parens in args to alloca;
1385         args were too small.  From Jishnu Mukeji.
1387 1987-06-01  Richard M. Stallman  (rms@prep)
1389         * version 18.45.
1391         * fileio.c (Finsert_file_contents): Always initialize fd.
1393 1987-05-31  Richard M. Stallman  (rms@prep)
1395         * fileio.c: Move declarations of errno and friends to top of file.
1396         * filelock.c: Likewise.
1398 1987-05-29  Richard M. Stallman  (rms@prep)
1400         * process.c: #end => #endif.
1402 1987-05-27  Richard M. Stallman  (rms@prep)
1404         * fileio.c (Fexpand_file_name) [VMS]:
1405         Upcase all file names, not just absolute ones.  Use Fupcase.
1407 1987-05-26  Richard M. Stallman  (rms@prep)
1409         * fileio.c (Fdirectory_file_name) [VMS]:
1410         Fix to expansion of VMS logical names.
1412         * crt0.c [ISI68K]: Define asm sym isi68020.
1414         * xdisp.c (display_string): Use current buffer's tab_width.
1415         (display_text_line): Simplify XBUFFER (w->buffer) to bf_cur.
1417 1987-05-23  Richard M. Stallman  (rms@prep)
1419         * alloc.c (init_alloc-once): Don't set Vpurify_flag.
1420         * lread.c (init_obarray): Do it here, now that Qt is valid.
1422 1987-05-22  Richard M. Stallman  (rms@prep)
1424         * m-targon31.h: Undefine VIRT_ADDR_VARIES.
1426         * vmspaths.h: Convert to VMS syntax and upper case.
1428         * lread.c (absolute_filename_p) [VMS]: '[' and '<' don't
1429         make a pathname absolute.
1431 1987-05-21  Richard M. Stallman  (rms@prep)
1433         * xterm.c (x_term_init): Don't set Vxterm and Vxterm1.
1434         * xfns.c (syms_of_xfns): Don't set Vxterm and Vxterm1.
1435         Delete Lisp variable `xterm'.
1436         * dispnew.c (init_display): Initialize Vxterm to t or nil.
1438         * keyboard.c (interrupt_signal): Check Vwindow_system
1439         instead of Vxterm.
1441         * sysdep.c (sys_access for VMS pre 4.4):
1442         Turn on call to vmserrstr.
1443         * sysdep.c (vmserrstr) [VMS]: Define this function.
1445         * process.c (create_process) [IRIS]: Don't open the pty's tty
1446         in the parent process.  Open only once, in the child.
1448         * xdisp.c (redisplay_window): If window-start points nowhere,
1449         recenter the window to avoid a crash.
1451         * fileio.c (Fwrite_region): Check for error from the close.
1452         NFS reportedly can report out-of-space there.
1454 1987-05-18  Richard M. Stallman  (rms@prep)
1456         * fileio.c (Fwrite_region): Always stat after the close.
1458         * term.c (term_init): Spurious ' in error msg.
1459         * cmds.c (SelfInsert): For newline, must auto-fill
1460         before inserting it.
1462         * keyboard.c (BROKEN_FIONREAD): config.h can #define this
1463         to cause FIONREAD to be #undef'd.
1464         * s-iris3-5.h, s-hpux.h: Define BROKEN_FIONREAD.
1466         * indent.c (compute_motion): Typo in defn of HPOS.
1468 1987-05-17  Richard M. Stallman  (rms@prep)
1470         * term.c: Pass 0 for buffer and length to tparam,
1471         record the value returned as buffer to use, and free it later.
1472         Each caller was changed.
1474         * tparam.c (tparam): Take buffer length additional arg.
1475         Malloc a buffer if that buffer is too small.
1476         Return address of buffer actually used.
1477         Add * and / as arithmetic operators.
1479         * xdisp.c (message): Handle NO_ARG_ARRAY for call to doprnt.
1481 1987-05-16  Richard M. Stallman  (rms@prep)
1483         * m-isi-ov.h: Define LIB_STANDARD to avoid bad interaction with
1484         crt0 in ISI system 3.07.
1486         * fileio.c (Ffile_name_as_directory) [VMS]: Special handling
1487         for foo:[000000] where foo is a logical name.
1489 1987-05-13  Richard M. Stallman  (rms@prep)
1491         * fileio.c (Fread_file_name) [VMS]: Bind completion-ignore-case to t.
1492         * fileio.c (Fexpand_file_name) [VMS]: Upcase letters in filenames.
1494         * sysdep.c (sys_access for VMS < 4.4):
1495         Always get `uic' from the system.
1497         * sysdep.c: New macro SETOSPEED to set the ospeed value
1498         in a terminal-info structure.  Definitions for USG and BSD.
1499         Used in init_baud_rate.
1501 1987-05-12  Richard M. Stallman  (rms@prep)
1503         * search.c (skip_chars, Fstring_match, scan_buffer):
1504         Set immediate_quit over the scanning loops.
1506         * vmspaths.h: Remove the comma from the load path.
1507         Search only the standard directory.
1509         * sysdep.c (sys_suspend): Delete spurious `*' from
1510         declaration of `sigio'.
1512 1987-05-12  Chris Hanson  (cph@prep)
1514         * regex.c (re_compile_fastmap):
1515         Fix typo where `notsyntaxspec' neglected to look at its argument
1516         byte, comparing with randomness.
1518 1987-05-12  Richard M. Stallman  (rms@prep)
1520         * sysdep.c (sys_access for VMS pre 4.4):
1521         Fix typo of `file' where `filename' was meant.
1522         Avoid using `vmserrstr' since it's not defined.
1524         * fileio.c (Finsert_file_contents):
1525         On VMS, st.st_size > num_chars_read.
1526         Use num_chars_read for the return value.
1528         * cmds.c (SelfInsert): New 2nd arg, nonzero says don't
1529         do auto fill.
1530         * cmds.c (Fself_insert_command, Fnewline):
1531         Pass nonzero to SelfInsert if have prefix arg.
1533         * minibuf.c (Fself_insert_and_exit): 0 as 2nd arg to SelfInsert.
1534         * keyboard.c (command_loop_1): likewise.
1536 1987-05-11  Richard M. Stallman  (rms@prep)
1538         * keyboard.c, s-hpux.h, s-iris3-5.h:
1539         Eliminate the hpux/iris conditional from keyboard.c.
1540         Now the s- files do #undef FIONREAD.
1542         * buffer.c (Fkill_buffer): Do nothing rather than kill
1543         the sole remaining buffer.  Prevent quits during actual killing.
1545 1987-05-05  Richard Mlynarik  (mly@prep)
1547         * m-irist.h: New version from raible@orville.arpa
1548         * s-iris3-5.h: New file.  (s-usg5-2 with additions)
1550         * keyboard.c:
1551         IRIS, like HPUX, #defines but does not implement FIONREAD.
1553         * window.c, keyboard.c, sysdep.c:
1554         Remove some unused local variables.
1556 1987-05-04  Richard M. Stallman  (rms@prep)
1558         * dired.c (Ffile_attributes): Doc fix.
1560         * term.c (term_init): Mention `unsetenv TERMCAP' in
1561         error message for invalid TERM variable.
1563 1987-04-27  Richard Mlynarik  (mly@prep)
1565         * fileio.c (APOLLO from lnz):
1566         (Fcopy_file, Fset_file_modes): Don't use un*x modes if
1567         env var USE_DOMAIN_ACLS is set.
1568         (Fset_file_modes): utimes fix.
1569         (Finsert_file_contents): Must do fstat after open for Apollo.
1571         * emacs.c (main): (APOLLO from lnz):
1572         Don't use un*x modes if env var USE_DOMAIN_ACLS set.
1574 1987-04-25  Richard Mlynarik  (mly@prep)
1576         * unexec.c:
1577         CANNOT_UNEXEC Code from lnz (from rps@apollo).
1578         Similar to vmsmap.c.
1580         * sysdep.c: (APOLLO from lnz)
1581         init_baud_rate: Make sure ospeed is initialized even if ioctl fails.
1582         wait_for_termination: can sigpause.
1583         init_sys_modes: moved static structures out.
1585 1987-04-23  Richard Mlynarik  (mly@prep)
1587         * malloc.c, vmsmap.c: (VMS)
1588         Define and use our own `sbrk' since malloc and the RTL sbrk don't
1589         interact very well.
1590         (sasaki@harvard.harvard.edu <8704220244.AA02324@prep>)
1592 1987-04-15  Richard Mlynarik  (mly@prep)
1594         * dispnew.c: (VMS) Flush TIOCOUTQ stuff (meaningless on VMS)
1596         * fileio.c, sysdep.c: (VMS)
1597         Rename "define-logical-name" => "define-dcl-symbol"
1599         * m-irist.h:
1600         New file from raible@orville.arpa for iris machine
1601         (`3.5 turbo'). (<8704150216.AA21012@orville.arpa>)
1603         * unexec.c: iris code (is USG, but has struct exec)
1604         * sysdep.c: iris utimes emulation. (HAVE_TIMEVAL)
1606         * process.c: (IRIS)
1607         #include <sysmacros.h>
1608         pty: Unusual iris pty-finding code.
1609         IRIS_ignore_SIGIOT_kludge, init_process:
1610         Iris pty's have some unknown bug which seems to cause spurious
1611         SIGIOTs.  Can somebody please delve into the reasons behind
1612         this lossage?
1614 1987-04-15  Paul Rubin  (phr@prep)
1616         * version 18.44 released.
1618 1987-04-14  Paul Rubin  (phr@prep)
1620         * config.h:
1621         Increase PURESIZE to 115800 from 115600.
1623 1987-04-14  Richard Mlynarik  (mly@prep)
1625         * termcap.c (tgetent) (VMS):
1626         File is in emacs_library:[etc]termcap.dat
1627         (TUNG@WAIF.MIT.EDU <8704130324.AA10879@prep.ai.mit.edu>)
1629 1987-04-10  Richard Mlynarik  (mly@prep)
1631         * window.c (Fset_window_configuration):
1632         Don't unchain markers -- this window configuration may be used
1633         again.  Let normal GC unchain them.
1635 1987-04-08  Richard Mlynarik  (mly@prep)
1637         * m-vax.h: (USG 5.2)
1638         define NO_REMAP to kludgily bypass unexec bug.
1639         (We don't have such a machine here, so -we- can't find the bug!)
1640         (Karl.Kleinpaste <205@cbstr1.att.com>)
1642 1987-04-07  Richard Mlynarik  (mly@prep)
1644         * indent.c (compute_motion):
1645         Use special code for HPOS if SHORT_CAST_BUG.
1647         * m-celerity.h, m-att3b.h, m-ibmrt.h, m-sequent.h:
1648         Define SHORT_CAST_BUG.
1650 1987-04-06  Richard Mlynarik  (mly@prep)
1652         * malloc.c (morecore):
1653         Don't assume sbrk clears memory to 0's.
1655         * indent.c (compute_motion): Special-case HPOS for sequent.
1656         (iglesias@ICS.UCI.EDU <8704061703.AA26816@prep.ai.mit.edu>)
1658         * regex.c:
1659         Fix bug in which "t\(.*\) .*\1" didn't match
1660         "tom hates tomatoes" from Tom May @ Washington.
1661         (<8703241000.AA21146@beaver.cs.washington.edu>)
1663         * sysdep.c (getwd): (USG)
1664         Change first arg (0) to getcwd to (char *) 0
1665         Also, call `free' on value returned (after we save it)
1667 1987-03-22  Richard M. Stallman  (rms@prep)
1669         * Version 18.41 released.
1671         * emacs.c (main): Call syms_of_xmenu only if HAVE_X_MENU.
1672         * ymakefile: Use new switch HAVE_X_MENU to decide whether
1673         to include xmenu.c
1674         * config.h-dist: Tell people about this flag.
1676 1987-03-20  Richard Mlynarik  (mly@prep)
1678         * filemode.c: Hacks for set-uid/gid but not executable.
1680 1987-03-20  Richard M. Stallman  (rms@prep)
1682         * sysdep.c [VMS]: include window.h.
1683         * sysdep.c (wait_for_kbd_input) [VMS]:
1684         Also detect and handle input from subprocesses.
1686         * fileio.c (Fread_file_name_internal) [VMS]: At end, check
1687         length of NAME, not STRING.
1689         * emacs.c (main) [VMS]: If SHAREABLE_LIB_BUG, declare `environ'
1690         noshare and initialize it from `envp'.
1692 1987-03-20  Chris Hanson  (cph@prep)
1694         * process.c (pty): On hp-ux, do not enable TIOCREMOTE.  See the
1695         code for a comment explaining why.
1697 1987-03-19  Richard M. Stallman  (rms@prep)
1699         * sysdep.c: Omit start_of_{data,text} if CANNOT_DUMP and SYSTEM_MALLOC.
1701         * m-apollo.h: Define START_FILES.
1703         * sunfns.c (syms_of_sunfns): Syntax error in comment.
1705         * sysdep.c (getwd) [USG]:
1706         Copy the value of getcwd into pathname.
1707         Supposedly needed on Altos 3068.
1709 1987-03-18  Richard M. Stallman  (rms@prep)
1711         * Version 18.40 released.
1713         * fileio.c (Finsert_file_contents): On VMS, # bytes read
1714         may be less than st.st_size.  Use actual # read for recording undo.
1716         * fileio.c, termcap.c: Change funny VMS-format #includes
1717         to standard Unix format.
1719 1987-03-17  Richard M. Stallman  (rms@prep)
1721         * unexec.c (copy_text_and_data): A_TEXT_SEEK if defined controls
1722         where in the file to start writing the text segment.
1723         * m-isi-ov.h: Define A_TEXT_SEEK and A_TEXT_OFFSET.
1725         * s-umax.h: Define C_SWITCH_ASM so as to make `asm' work.
1726         * ymakefile: Provide C_SWITCH_ASM when compiling crt0.c.
1728         * unexec.c [UMAX]: Don't include filehdr.h, etc.
1730         * bytecode.c (Fbytecode):
1731         Another SWITCH_ENUM_BUG problem.
1733         * sysdep.c: If not HAVE_TERMIO, override any definition of TCSETAW.
1734         Ultrix 2.0 has a TCSETAW but it requires a struct termio.
1735         Since HAVE_TERMIO is not set, sysdep uses struct sgttyb,
1736         and the real TCSETAW does not work with this.
1738         * sysdep.c (getwd): Discard everything before first slash.
1740         * termcap.c (tgetent): Delete VMS code to delete / from filename.
1741         * termcap.c (legal_filename_p): Use symbolic constant.
1743         * sysdep.c (sys_abort) [VMS]: New function; calls debugger.
1744         * sysdep.c (sys_access) [VMS]: Completely rewritten.
1745         Now two versions, one for VMS 4.4 and one for older VMS.
1746         * sysdep.c (sys_errlist) [VMS]: Insert missing elt for error code 0.
1747         * sysdep.c (get_system_name) [VMS]: Remove :: from end of node name.
1748         * sysdep.c (end_kbd_input) [VMS]: Don't wait if within ast rtn.
1749         * sysdep.c (kbd_input_ast) [VMS]: Set ast_active to 1 while in
1750         this fn.
1752         * sysdep.c: Add missing ; after use of BAUD_CONVERT.
1754         * term.c (term_init): Don't use Down on VMS if it's a ^J.
1755         Fix C syntax errors in fatal error message.
1756         Distinguish failure to open termcap file from undefined term type.
1758         * s-vms.h: Increase DATA_START by 512.  #define abort sys_abort.
1759         Flush LIBS_DEBUG defn since ymakefile not used.
1760         Delete mention of GET_RIGHTS.
1762         * m-vax.h [VMS]: Define LOAD_AVE_TYPE and C_ALLOCA.
1764         * keyboard.c: Undefine SIGIO only if it's defined.
1765         * keyboard.c (interrupt_signal) [VMS]:
1766         Try suspending in case it works.
1768         * fns.c (Fload_average): Make eunice code work on native VMS also.
1769         Put the no-load-average case first for simplicity.
1771         * fileio.c (directory_file_name [VMS]: Use SYS$PARSE
1772         for [--] and other such constructs.
1774         * fileio.c (Fexpand_file_name) [VMS]: Handle negative version #s.
1776         * doc.c: Don't include paths.h
1778         * callproc.c (init_callproc): Make Vexec_directory
1779         using Ffile_name_as_directory.
1781         * alloc.c: Remove defns of `sdata' and `edata'.
1783 1987-03-16  Richard M. Stallman  (rms@prep)
1785         * fns.c (Fy_or_n_p): Restore cursor_in_echo_area to previous value.
1787         * m-ibmrt.h: Define SKTPAIR only if BSD.
1789         * Makefile: Default is now `all', which tells
1790         xmakefile to make `all'.
1792         * ymakefile: Make emacstool by way of etc/Makefile.
1794         * emacs.c (main): Don't mention SIGEMT if it's not defined.
1796 1987-03-14  Richard M. Stallman  (rms@prep)
1798         * Version 18.39 released.
1800         * s-umax.h: Add definition of SEGMENT_MASK.
1801         Delete definition of LIBS_SYSTEM.
1802         * align.umax: File deleted.
1804         * emacs.c (main): Don't mention syms_of_vmsfns explicitly.
1805         * s-vms.h: Use SYMS_SYSTEM to call syms_of_vmsfns.
1807         * config.h-dist: Remove VMS conditional for PURESIZE.
1808         * s-vms.h: Define PURESIZE.
1809         * m-sun2.h: Define PURESIZE, if HAVE_SUN_WINDOWS.
1811 1987-03-13  Richard M. Stallman  (rms@prep)
1813         * sysdep.c: Don't redefine TCSETAW if already defined.
1814         (Canceled by change on March 17).
1816         * sunfns.c: New file containing interface to Sun windows.
1817         This is enabled by the switch HAVE_SUN_WINDOWS.
1819         * m-sun2.h: If HAVE_SUN_WINDOWS, include sunfns.c
1820         via OBJECTS_MACHINE and SYMS_MACHINE.
1822         * emacs.c (main): Allow SYMS_SYSTEM and SYMS_MACHINE
1823         to control calling of extra syms_of_... functions.
1825         * ymakefile (OBJECTS_MACHINE, OBJECTS_SYSTEM):
1826         Provide for m- and s- files to specify additional object
1827         files to link into temacs.
1829 1987-03-12  Richard M. Stallman  (rms@prep)
1831         * fileio.c (Fsysnetunam): Make this function conditional on
1832         HPUX_NET, not on HPUX.
1833         * s-hpux.h: Make use of -ln switch depend on HPUX_NET.
1834         Define HPUX_NET in config.h if you have that version of HPUX.
1836         * unexec.c (adjust_lnnoptrs) [amdahl_uts]:
1837         Alternative names for struct symentry and struct auxentry.
1839         * sysdep.c [amdahl_uts]: Define sign_extend_temp as on ATT3B.
1841         * m-amdahl.h: New file.
1843 1987-03-12  Richard Mlynarik  (mly@prep)
1845         * sysdep.c (child_setup_tty):
1846         HPUX: Set baud-rate to 9600 (not 38400)
1847         For some reason the former is reported to work faster(!?)
1849 1987-03-10  Richard M. Stallman  (rms@prep)
1851         * dispnew.c (init_display): Declare alternate_display only if X.
1853 1987-03-09  Richard M. Stallman  (rms@prep)
1855         * m-alliant.h, crt0.c (for alliant):
1856         Must save _curbrk when dumping (from ADJUST_EXEC_HEADER)
1857         and restore it in crt0, because _curbrk itself isn't dumped.
1859         * unexec.c: Add a separate unexec routine for mips machines.
1860         No code is shared with normal unexec.
1862 1987-03-08  Richard M. Stallman  (rms@prep)
1864         * sysdep.c (baud_convert): Use new macro BAUD_CONVERT
1865         to override the standard conversion table.
1866         Use standard table if macro's not defined.
1867         * s-vms.h, s-hpux.h: Definitions of BAUD_CONVERT.
1869         * editfns.c (Fsubst_char_in_region):
1870         Call modify_buffer before changing it, and pass entire region.
1871         If NOUNDO is set, un-increment bf_modified after that.
1873 1987-03-07  Richard M. Stallman  (rms@prep)
1875         * lisp.h: #ifndef the definitions of XUINT, XSET, XMARKBIT, etc.
1876         Make them all use XUINT when they want to extract the unsigned value.
1878 1987-03-05  Richard M. Stallman  (rms@prep)
1880         * term.c (write_standout_marker): If "xs" present and sg#0,
1881         don't write standout-off markers.
1883         * xmenu.c: Include signal.h before xterm.h.
1885         * sysdep.c (reset_sys_modes): Do fsync (on bsd4.2 or 4.3)
1886         before changing the terminal modes.
1888         * ymakefile (emacstool): Remove spurious `/' after `${etcdir}'.
1889         * m-sun2.h: Likewise.
1891         * process.c: Replace BSD conditionals with HAVE_SOCKETS for tcp stuff.
1892         Give NETCONN_P a default definition if not HAVE_SOCKETS.
1893         Don't defsubr open_network_stream if not HAVE_SOCKETS.
1895         * s-*.h: Define HAVE_SOCKETS, or add place holder.
1896         * m-stride.h: Define HAVE_SOCKETS.
1898 1987-03-04  Richard M. Stallman  (rms@prep)
1900         * ymakefile (LIBX): add -lXMenu.
1902 1987-03-03  Richard M. Stallman  (rms@prep)
1904         * fileio.c (Fwrite_region): Really put the `fstat' after
1905         the `fsync', trying to solve spurious "file has changed" warnings.
1906         This reverses a change made on Jan 28 which was described then
1907         as putting the `fstat' after the `fsync' but which in fact
1908         was exactly the opposite.  The truth is that anciently the
1909         `fstat' was after, and on Jan 28 it was moved before.
1910         The change on Jan 28 was to fix some sort of RFS problem.
1911         I don't know whether the change itself or just its description
1912         was incorrect.
1914         * Version 18.38 released.
1916 1987-02-28  Chris Hanson  (cph@prep)
1918         * fileio.c: Added `sysnetunam' function for controlling remote
1919         file access connections under hp-ux.
1921         * s-hpux.h (LIBS_SYSTEM): Added `-ln' which is used by `sysnetunam'.
1923 1987-02-28  Richard M. Stallman  (rms@prep)
1925         * xdisp.c (display_text_line): Typo in line that fixes tab_width.
1927 1987-02-27  Richard M. Stallman  (rms@prep)
1929         * dispnew.c (Fopen_termscript): `report_file_error'
1930         requires list as 2nd arg.
1932 1987-02-26  Richard M. Stallman  (rms@prep)
1934         * xmenu.c: New file defining Fx_popup_menu.
1935         * emacs.c (main): Call syms_of_xmenu.
1937         * buffer.c (Fother_buffer): Condition for assigning to
1938         `notsogood' was backwards (should be if null).
1940 1987-02-23  Richard M. Stallman  (rms@prep)
1942         * keymap.c (access_keymap): No longer check lower case
1943         equivalent of an upper case letter that is undefined.
1945         * keyboard.c (read_key_sequence): If an upper case letter
1946         is undefined, and corresponding lower case letter is defined,
1947         use the lower case letter instead.
1949         * emacs.c: Delete all ALLIANT conditionals that used to
1950         save and restore _curbrk.  Special code in crt0.c now
1951         handles this.
1953         * crt0.c [ISI68K]: Assembler code to put a .word 0 after _start.
1954         Include the dummy arg `ignore' in start1.
1956         * crt0.c [orion/pyramid/celerity]: ALLIANT now uses this case,
1957         but with some special code to hack _curbrk on first startup.
1959         * m-alliant2.h: File deleted.  Use m-alliant.h for version 2.
1960         * m-alliant1.h: Don't look for ALLIANT2 to be defined.
1961         Now ALLIANT1 is defined for version 1 and not for version 2.
1962         Define NO_ARG_ARRAY only for version 1.
1963         Define START_FILES so GNU crt0.c gets used.
1964         Remove definition of TEXT_START (safe since GNU crt0.c is used).
1965         Add to ADJUST_EXEC_HEADER something to set unexec_text_start.
1967 1987-02-22  Richard M. Stallman  (rms@prep)
1969         * dispnew.c (Fopen_termscript): Close existing termscript
1970         file before trying to open a new one.  Report open failure
1971         with report_file_error.
1973 1987-02-21  Paul Rubin  (phr@prep)
1975         * window.c (set-window-buffer): typo "set-widow-buffer".
1977 1987-02-19  Richard Mlynarik  (mly@prep)
1979         * lisp.h:
1980         Add type Lisp_Window_Configuration, delete Lisp_Temp_Vector.
1981         A window configuration is a Lisp_Vector-like object.
1982         Add decls for F{set,current}_window_configuration.
1984         * window.c (F{set,current}_window_configuration):
1985         New lisp-callable functions which do the guts of
1986         Fsave_window_excursion.
1988         Also fixed a bug in which point was not being restored in
1989         buffer current at end of save-window-excursion and that buffer
1990         was not current when the config was recorded (It is supposed
1991         to not be restored if it was current at the start)
1993         * alloc.c (mark_object):
1994         Add case for Lisp_Window_Configuration; remove code for
1995         Lisp_Temp_vector.
1997         * window.c, window.h:
1998         Rename Fshow_buffer Fset_window_buffer (which was previously the
1999         synonym in subr.el)
2001         * keyboard.c, minibuf.c: Window configuration caller changes.
2003         * print.c (print):
2004         Understand Lisp_Window_Configuration's.
2005         Print a disturbing message if encounter an illegal dtp --
2006         perhaps this should core-dump?
2008 1987-02-17  Richard Mlynarik  (mly@prep)
2010         * dired.c (Ffile_attributes):
2011         Use make_number.  (XINT doesn't work on LHS of assignment)
2013 1987-02-17  Richard M. Stallman  (rms@prep)
2015         * doc.c (get_doc_string, Fsnarf_documentation):
2016         In vms4.4, avoid system bug by using sys_translate_unix
2017         to translate filename to VMS format before opening.
2019 1987-02-16  Richard M. Stallman  (rms@prep)
2021         * crt0.c: Don't define `environ' if DONT_NEED_ENVIRON is defined.
2023         * m-elxsi.h: Define DONT_NEED_ENVIRON
2024         Define C_DEBUG_SWITCH as -O since there is no debugger.
2025         Don't define VIRT_ADDR_VARIES.
2027         * xdisp.c (display_mode_element): Handle SWITCH_ENUM_BUG.
2029         * sysdep.c (reset_sys_modes): Loop on TCSETAW
2030         until it does not get EINTR.
2032 1987-02-15  Richard M. Stallman  (rms@prep)
2034         * s-bsd4-2.h: Make defns of BSD and BSD4_2 conditional.
2036 1987-02-13  Richard M. Stallman  (rms@prep)
2038         * process.c: TCP connection feature from markl@jhereg.lcs.mit.edu.
2039         Uses a process-object to represent a connection.
2040         childp field is now Qt for a real subprocess,
2041         or a hostname string for a tcp connection.
2042         NETCONN_P checks this.
2043         Status strings "open" and "closed" replace "run" and "exit"
2044         for tcp connections only.  New function Fopen_network_stream.
2046         * dired.c (Ffile_attributes): Use XINT to store the inode #.
2047         It can be out of range for integers.
2049 1987-02-12  Richard M. Stallman  (rms@prep)
2051         * xdisp.c (try_window): Fix paren error in checking hpos
2052         against hscroll.  This caused window_end_pos to be wrong
2053         when there was hscroll.
2055         * xdisp.c (display_text_line): Move code that inserts `$'
2056         at bol for hscroll, so that its alteration of p1 does not
2057         interfere with setting point_hpos.
2058         Use lastpos instead of pos in that code.
2059         Make lastpos be accurate in all cases including when there
2060         is truncation.
2062         * xdisp.c (display_string): mincol==-1 means no minimum.
2063         * xdisp.c (display_text_line): Use -1 for mincol of minibuf prompt.
2065 1987-02-11  Richard M. Stallman  (rms@prep)
2067         * Version 18.37 released.
2069         * data.c (Fmake_local_variable, Fmake_variable_buffer_local):
2070         Get error if arg is t or nil.  Doc improvements.
2072 1987-02-10  Richard Mlynarik  (mly@prep)
2074         * xfns.c (Fx_get_default): Add (unsigned char *) cast.
2076         * window.c: Typo.
2078 1987-02-09  Richard M. Stallman  (rms@prep)
2080         * process.c (change_msgs): Save/restore selected buffer
2081         only over simple insertions, and over one such at a time.
2082         Don't save it across sentinel invocations.
2084 1987-02-08  Richard M. Stallman  (rms@prep)
2086         * tparam.c (tparam): Supply code for NO_ARG_ARRAY case.
2088         * window.c, minibuf.c, window.h: Rename minibuf_scroll_window to
2089         Vminibuf_scroll_window.  Make it a Lisp variable.
2090         * window.c (Fscroll_other_window): Validate
2091         Vminibuf_scroll_window since user could store a non-window there.
2093         * window.c (temp_output_buffer_show):
2094         Call Vtemp_output_buffer_show_hook to do the work, if not nil.
2096         * window.c (Fminibuffer_window): New function.
2098         * print.c (print, syms_of_print): If print_escape_newlines
2099         is nonzero, print newlines in strings as \n.
2101         * minibuf.c (read_minibuf): Reduce arg to get_minibuf by 1.
2102         Thus, use *Minibuf-0* for outer-level minibuffers.
2104         * keyboard.c (command_loop_1): Pass 2nd arg to Fsit_for.
2105         * minibuf.c (temp_minibuf_message): Likewise.
2107         * dispnew.c (Fsit_for): 2nd arg non-nil means don't redisplay.
2109         * s-vms.h: Don't define VMS4_0, VMS4_2 or VMS4_4.
2110         * s-vms4-0.h, s-vms4-2.h, s-vms4-4.h: New files that include s-vms.h
2111         and also define VMS4_0 or VMS4_2 or VMS4_4.
2113         * vmspaths.h: Remove `/emacs' from all paths, to go with a change
2114         in emacs.com that includes that path segment in emacs_library.
2116         * term.c (term_init): Different message on VMS for invalid termtype.
2118         * alloc.c (Fgarbage_collect): After GC, clear marks
2119         in the dummy buffers buffer_defaults and buffer_local_symbols.
2121 1987-02-07  Richard M. Stallman  (rms@prep)
2123         * window.c (Fnext_window): Restore old meaning of t as 2nd arg:
2124         count minibuffer window even if not active.
2125         Non-t-non-nil as 2nd arg means never count minibuffer window.
2127         * window.c (window_loop): Rewrite to work the old way.
2128         The new way did not work when deleting windows.
2130 1987-02-05  Richard M. Stallman  (rms@prep)
2132         * m-sequent.h: Undef old definition of KERNEL_FILE so no warning.
2134         * process.c (read_process_output): Don't restore selected buffer
2135         after filter; sometimes setting buffer is useful in filter functions.
2138 1987-02-02  Richard M. Stallman  (rms@prep)
2140         * keyboard.c (kbd-buffer_store_char): Fix paren error.
2142 1987-01-31  Richard M. Stallman  (rms@prep)
2144         * window.c (window_loop): Rewrite not to pass t as 2nd arg
2145         to Fnext_window by starting loop from the window after
2146         the minibuffer.  This was sole use of the feature.
2148         * window.c (Fnext_window): Change meaning of t as 2nd arg.
2149         It now means to ignore the minibuffer even if it's active.
2151 1987-01-29  Richard M. Stallman  (rms@prep)
2153         * cmds.c (Fforward_line): Correct the returned value.
2155 1987-01-28  Richard M. Stallman  (rms@prep)
2157         * keyboard.c (kbd_buffer_store_char):
2158         Ignore meta bit while checking for C-g, if meta-flag is clear.
2160         * unexec.c (make_hdr): typo `bas_start'.
2162         * sysdep.c: Declare errno explicitly since errno.h may fail to.
2164         * fileio.c (Fwrite_region): Move the fstat after the fsync.
2165         [Note: the above sentence was incorrect; actually the fstat
2166         had been after and was moved *before* the fsync. -- RMS, Mar 3.]
2167         Avoids RFS lossage with fsync (maybe).
2169         * s-rtu.h: Define NLIST_STRUCT and LDAV_SYMBOL.
2170         * m-masscomp.h: Check machine type to choose between C_ALLOCA
2171         and HAVE_ALLOCA.
2173 1987-01-27  Richard Mlynarik  (mly@prep)
2175         * window.c (change_window_height):
2176         Validate window_min_height.
2178 1987-01-26  Richard M. Stallman  (rms@prep)
2180         * m-ibmrt.h: LOAD_AVE_TYPE now double.
2181         Now both operating systems for RT now supported.
2183         * fileio.c (Fsubstitute_in_file_name):
2184         Delete everything thru last /~ or // in file name.
2186         * sysdep.c (select): If no subprocesses, make `child_changed'
2187         local and initialized to 0.
2189         * xdisp.c (display_string): If TRUNCATE is 0, display all the
2190         way to window edge; don't stop one column short.
2192 1987-01-24  Richard M. Stallman  (rms@prep)
2194         * unexec.c (make_hdr): New var `bss_end' holds end-of-bss address.
2195         This simplifies computation of bss size while keeping it from
2196         being negative.
2198 1987-01-23  Richard Mlynarik  (mly@prep)
2200         * fileio.c (Fexpand_file_name):
2201         Have to do checks for "//" "/~" etc even if filename is
2202         non-absolute, otherwise things like "~user1/~user2" aren't
2203         expanded correctly (was getting "/u/user1/~user2" instead of
2204         "/u/user2")
2206         * doc.c (Fsubstitute_command_keys): Doc fix.
2208         * m-stride.h: Fixes from bruce@stride.com
2210 1987-01-22  Richard M. Stallman  (rms@prep)
2212         * eval.c (Feval, apply_lambda): When protecting a vector
2213         of evaluated arguments, across the loop that evals them,
2214         always set gcproN.nvars to the number of args
2215         evalled so far, since the rest of the vector elements
2216         are still garbage.
2218 1987-01-21  Richard M. Stallman  (rms@prep)
2220         * Version 18.36 released.
2222 1987-01-21  Richard M. Stallman  (rms@prep)
2224         * term.c (write_chars): If we find N identical chars
2225         and that is too few for a Repeat operation,
2226         don't consider the last N-1, last N-2, ... of those chars.
2228         * dispnew.c (update_line): Fill old line with spaces to
2229         screen_width - 1 if it is highlighted (just like new line).
2231         * bytecode.c (Fbytecode):
2232         Include bytecode pc value in stack over/underflow errors
2234 1987-01-20  Richard M. Stallman  (rms@prep)
2236         * lread.c (defvar_lisp_nopro): New fn like defvar_lisp
2237         but doesn't call staticpro.
2238         * lisp.h (DEFVAR_LISP_NOPRO): New macro to call that function.
2239         * buffer.c (syms_of_buffer): Use DEFVAR_LISP_NOPRO
2240         to define variables that live in buffer_defaults.
2241         * buffer.c (init_buffer_once): tab_width was being assigned
2242         two different flag bits.
2244         * keyboard.c: #undef SIGIO if there's no FIONREAD.
2246 1987-01-19  Richard M. Stallman  (rms@prep)
2248         * indent.c (compute_motion): IBMRT needs HPOS defined
2249         like celerity.
2251 1987-01-16  Richard Mlynarik  (mly@prep)
2253         * xfns.c (Fx_set_{background,cursor,mouse}_color):
2254         Initialize save_color.
2256         * fileio.c, search.c, sysdep.c, filelock.c, editfns.c, process.c:
2257         Delete/replace unused/conditionalized variables
2259 1987-01-15  Richard M. Stallman  (rms@prep)
2261         * fns.c (Fcopy_alist): Pass missing arg to concat.
2263         * termcap.c (tgetent): Remove extra arg given to find_capability.
2265         * alloc.c (make_uninit_string, init_alloc_once):
2266         * indent.c (compute_motion): Delete unused vars.
2268         * fileio.c (Frename_file): Add missing arg to Fcopy_file.
2270         * alloc.c (mark_object): Add cast for cleanliness.
2271         Remove unnecessary break stmt.
2273         * keyboard.c (kbd_buffer_get_char): Flush unused local var.
2275 1987-01-15  Richard Mlynarik  (mly@prep)
2277         * dispnew.c (init_display):
2278         Hack X if "-d display-name" specified, even if env var DISPLAY
2279         not set.
2281 1987-01-15  Richard M. Stallman  (rms@prep)
2283         * fns.c (Fconcat): doc fix.
2285 1987-01-15  Richard Mlynarik  (mly@prep)
2287         * keyboard.c (last_command): doc fix
2289 1987-01-13  Richard M. Stallman  (rms@prep)
2291         * process.c (create_process): Cast value of `signal' to insulate from
2292         * sysdep.c (sys_suspend, select): changed value type in sysV.3.
2294 1987-01-12  Richard M. Stallman  (rms@prep)
2296         * sysdep.c (reset_sys_modes): Use TCSETAW to restore tty state.
2297         On BSD, define TCSETAW to be TIOCSETN (so no change here on BSD).
2299         * callproc.c (init_callproc): Don't get environment as
2300         strings when dumping Emacs.
2302 1987-01-12  Richard Mlynarik  (mly@prep)
2304         * lread.c (Fload, load_unwind):
2305         load_in_progress must be a counter, not a flag since `load' may be
2306         called recursively.
2308         * lread.c (openp):
2309         If PATH contains non-absolute element (such as ".") expand against
2310         bf_cur->directory.
2312         * filemode.c (ftypelet):
2313         Understand (and return) more different file-types (stat->st_mode's)
2314         This makes Ffile_attributes more winning.
2316         * filelock.c (current_lock_file_owner_1):
2317         Always close the fd even if get an error reading!!!
2319 1987-01-11  Richard Mlynarik  (mly@prep)
2321         * fileio.c (Fsubstitute_in_file_name, Fread_file_name_internal):
2322         `Quote' "$" as "$$"  This doesn't break any existing code,
2323         since "$$" used to get an error, and wins by providing the user a
2324         way to specify filenames containing the character "$"
2326         * fileio.c (Fsubstitute_in_file_name):
2327         Allow substituting zero-length env vars.
2329 1987-01-10  Richard M. Stallman  (rms@prep)
2331         * termcap.c (tgetent): Fix syntax errors in VMS-only code.
2333 1987-01-09  Richard Mlynarik  (mly@prep)
2335         * xterm.c (x_term_init):
2336         Give correct error message when DISPLAY not set.
2338 1987-01-08  Richard Mlynarik  (mly@prep)
2340         * xfns.c (Fx_get_default):
2341         Return nil, not "" on non-existent option, as documented.
2342         Don't randomly and unnecessarily malloc (and then not free)
2344         * process.c (init_process):
2345         Look at extern var initialized rather than having arg passed.
2347         * emacs.c (main):
2348         Dike out the code which hacked the "-nx" option as synonymous with
2349         "-nw" if HAVE_X_WINDOWS -- this code was never distributed
2350         earlier, so there was no need to retain a compatibility kludge.
2352 1987-01-08  Richard M. Stallman  (rms@prep)
2354         * search.c (Freplace_match): Change declaration `char' to `int'.
2355         Declaring a scalar variable `char' is nearly always wrong
2356         and breaks most compilers.
2358 1987-01-07  Richard M. Stallman  (rms@prep)
2360         * xterm.c (flashback): Change || to | in signal mask calculation.
2362 1987-01-06  Richard M. Stallman  (rms@prep)
2364         * print.c (print): RTPC_REGISTER_BUG conditional.
2365         * data.c (Fset): likewise.
2366         * m-ibmrt.h (SIGN_EXTEND_CHAR): Flush the definition that used
2367         a subroutine and really install the one that uses arithmetic.
2369 1987-01-06  Richard Mlynarik  (mly@prep)
2371         * keyboard.c (kbd_buffer_{read,store}_char):
2372         Look at MetaFlag when reading char out of buffer rather than
2373         storing into it so that buffer-local meta-flag works correctly.
2375 1987-01-06  Richard M. Stallman  (rms@prep)
2377         * syntax.c (Fchar_syntax, Fmodify_syntax_entry):
2378         Mask specified char to 8 bits before indexing syntax table.
2380 1987-01-05  Richard Mlynarik  (mly@prep)
2382         * callproc.c (init_callproc):
2383         Make maintain_environment stuff work yet again.
2385 1987-01-05  Richard M. Stallman  (rms@prep)
2387         * fileio.c (report_file_error): Check for errno < 0.
2389         * Version 18.35 released.
2391 1987-01-03  Richard M. Stallman  (rms@prep)
2393         * callproc.c: Rename Vprocess_extra_environment => Vprocess_environment.
2394         * callproc.c (init_callproc): Copy Unix environment into
2395         Vprocess_environment as list of strings.
2396         * callproc.c (child_setup): Set `env' from Vprocess_environment
2397         alone; don't keep `env' passed by caller.
2399         * ymakefile: New cpp-macro OTHER_FILES specifies
2400         how to make the file `other'.
2402         * m-sun2.h: Define OTHER_FILES to compile etc/emacstool.
2404         * xfns.c (Fx_mouse_events, Fx_proc_mouse_event):
2405         Set 4 bit in button character for a button-up event.
2407         * xfns.c (most calls to XSelectInput):
2408         * xterm.c (XPopUpWindow):
2409         Calls that specify ButtonPressed now also say ButtonReleased.
2411         * xterm.c (XTread_socket): Handle ButtonReleased like
2412         ButtonPressed.
2414         * indent.c (Fmove_to_column): Declare `c' int;
2415         type char caused lossage for chars >= 0200.
2417         * search.c (search_buffer): Don't accept a match
2418         starting right at the end of the buffer.
2420         * xfns.c: Move extern declarations to top level.
2421         Some functions were depending on the fact that all
2422         extern declarations are effectively at top level in pcc.
2424         * buffer.c (Fbuffer_start_undo): Get error right if non-ex buf spec'd.
2426         * indent.c (several): Fix range checks on tab_width:
2427         replace && with ||.
2429 1987-01-01  Richard Mlynarik  (mly@prep)
2431         * indent.c (Fcurrent_column, Fmove_to_column):
2432         Doc.
2434         * window.c (Fwindow_edges):
2435         Doc.
2437         * process.c, callproc.c:
2438         Make MAINTAIN_ENVIRONMENT stuff work yet again.
2439         Clean up calling sequence of child_setup.
2441 1986-12-31  Richard M. Stallman  (rms@prep)
2443         * search.c (search_command): abort before setting point
2444         if new point value is out of range.
2446         * buffer.c (Fbuffer_enable_undo): New function.
2448 1986-12-26  Richard M. Stallman  (rms@prep)
2450         * casefiddle.c (casify_region): Don't upcase within word
2451         for CASE_CAPITALIZE_UP.
2453 1986-12-24  Richard M. Stallman  (rms@prep)
2455         * window.c (save_window_save_1):
2456         Don't make windows for start, pointm and mark fields
2457         of windows without buffers; just store nil there.
2458         Also store nil in start_at_line_beg field (was uninitialized
2459         and that caused crash in GC).
2461         * window.c (all functions): Add register declarations.
2463         * window.c (Fsave_window_excursion):
2464         Don't gcpro the saved window status.  The specpdl does it.
2466 1986-12-23  Richard M. Stallman  (rms@prep)
2468         * search.c: static_BM_tab should not be initialized.
2470 1986-12-22  Richard M. Stallman  (rms@prep)
2472         * term.c (term_init): Default Wcm.cm_tab to 0 if no `ta' string.
2474         * fns.c: MASSCOMP_REGISTER_BUG => MASSC_REGISTER_BUG
2476         * fns.c (Fnth): Moved from subr.el.
2477         * keymap.c (Fcopy_keymap): Moved from subr.el.
2479         * xdisp.c: Delete this_line_hpos; last dispnew change ends
2480         need for it, and it was causing incorrect positioning
2481         after direct_output_for_self_insert.
2483         * fns.c: Avoid warning if param.h defines BSD4_3.
2485         * dispnew.c (update_screen): Don't actually alter
2486         cursX and cursY when putting cursor in echo area.
2488 1986-12-21  Richard M. Stallman  (rms@prep)
2490         * window.h: New window field window_end_valid.
2491         window_end_pos is now always positive; validity info
2492         is in window_end_valid, which is t for valid and nil for not.
2494         * xdisp.c: Changed all uses of window_end_pos to use
2495         window_end_valid appropriately as well.
2497         * process.c (wait_reading_process_input):
2498         read_kbd is now a process pointer to wait for input
2499         from one process.  Return immediately if that process
2500         is not running.
2502         * process.c (Faccept_process_output):
2503         Pass process pointer to wait_reading_process_input.
2505 1986-12-20  Richard Mlynarik  (mly@prep)
2507         * keyboard.c (Fsuspend_emacs):
2508         If `suspend-emacs-hook' returns t don't suspend
2509         -- assume the hook did the equivalent of `suspending' for us
2510         (including calling suspend-resume-hook if necessary.)
2511         Otherwise, call sys_suspend and so forth normally.
2513 1986-12-20  Richard M. Stallman  (rms@prep)
2515         * buffer.c (Frename_buffer): If have auto save file but
2516         no visited file, call rename-auto-save-file (a Lisp function).
2518         * buffer.c: add lots of register declarations.
2519         (list_buffers_1): combine local `mode' with `tail'.
2521 1986-12-20  Richard Mlynarik  (mly@prep)
2523         * xdisp.c (DoDsp and this_line_*):
2524         Rename this_line_hpos -> this_line_start_hpos.
2525         New variable this_line_hpos is cached horizontal position
2526         on screen of point.
2528         Make this_line_* static variables.
2530         In DoDsp, rearrange the tests to see whether to use cached
2531         line info to be a little faster.
2532         Fix some bugs in which cursX and cursY might not be updated
2533         correctly when using cached info (needed to add this_line_hpos
2534         variable to do this correctly)
2535         (Added unnecessary gotos and  label `cancel' for added readability)
2537         * fns.c (Fy_or_n_p):
2538         Move cursor to start of line after reading answer so
2539         user knows emacs is proceeding.  (Like after minibuffer exits)
2541         * dispnew.c (Fopen_termscript):
2542         Arg of nil means to close current termscript file (if any)
2544         * keymap.c (Fwhere_is_internal):
2545         Doc fix.
2547         * indent.c, search.c, xdisp.c:
2548         All callers of ScanBf were searching for '\n'
2549         Rename this function find_next_newline and drop first arg.
2551         * indent.c (Fvertical_motion):
2552         Doc string addition.
2554         * keyboard.c (EchoThem):
2555         Test for echo_keystrokes > 0, rather than echo_keystrokes != 0
2557         * keyboard.c (get_char, read_key_sequence):
2558         Echo immediately if cursor_in_echo_area, otherwise
2559         can have the confusing situation of the cursor appearing at the
2560         start of the echo area, but not have any echo appear until one
2561         second later.
2563 1986-12-17  Richard M. Stallman  (rms@prep)
2565         * editfns.c: Add register declarations and a few vars for cses.
2566         * editfns.c (Fchar_equal): Avoid indexing downcase_table
2567         with numbers larger than 0xff.
2569 1986-12-16  Richard M. Stallman  (rms@prep)
2571         * alloc.c: New garbage collection technique for strings.
2573         Strings that have string blocks individually allocated
2574         are called "large strings".  Other strings are called "small".
2576         The string blocks for small strings are now chained both ways and
2577         there is a pointer to the oldest one of them in `first_string_block'.
2578         The string blocks for large strings are chained only from the
2579         latest to the oldest, and the latest is in `large_string_blocks'.
2581         Garbage collection starts by setting MARKBIT in the `size' of
2582         each large string.  This allows mark_object to distinguish them.
2583         MARKBIT in string sizes is cleared by gc_sweep.
2585         Large strings are freed individually by GC, like vectors.
2586         Those in use are marked with ARRAY_MARK_FLAG in the `size' field.
2588         Small strings are relocated, compressing them within their
2589         string blocks.
2590         mark_object puts all slots that point at a string onto a chain
2591         which runs from the string's `size' field, through all the slots
2592         that used to point at the string.  The end of the chain is shown
2593         by a number that is small enough to be a small string's length.
2595         This new technique avoids calling malloc during GC.  Thus, there
2596         is no danger of fatal error on exhausting memory.  Also, space
2597         needed for strings is cut in half.
2599         The new technique introduces a potential for bugs, however.
2600         If any slot is marked twice--for example, if it is GCPRO'd
2601         twice by different functions--and it contains a string,
2602         the ref chain of the string may become garbled.  Sometimes
2603         it will still work!  This is because a slot that's part of a
2604         string's ref chain will look like a Lisp_Int if the next thing
2605         in the chain is malloc'd memory.  But this will not win if the
2606         next thing in the chain is a stack slot, or if malloc'd data
2607         lives high up in memory.
2609         To avoid this problem, MARKBIT is used in stack slots
2610         to prevent double marking.
2612         * bytecode.c (Fbytecode): Adjustment of gcpro1.nvars before
2613         call to Ffuncall was off by one.
2615         * alloc.c (make_uninit_string): make_zero_string renamed as this
2616         and no longer zeros the contents.
2617         * alloc.c (Fmake_string): initialize string contents.
2619         * alloc.c (struct string_block): Now chained both ways thru
2620         `next' and `prev' fields.  `first_string_block' exists.
2621         Strings with individual string blocks are now called "large"
2622         and these string blocks go in a separate chain which starts
2623         from `large_string_blocks' and runs via `prev' fields only.
2625         * alloc.c: Stop using clear_marks.  Make gc_sweep clear
2626         the marks on all live objects.
2628         * alloc.c (malloc_warning, Fgarbage_collect): Eliminate mechanism
2629         that defers malloc warnings during GC, since GC no longer calls
2630         malloc.
2632         * fns.c: Fding requires an arg; pass Qnil.
2634         * m-alliant.h: define TEXT_START as 0x1000.
2635         Don't define LIBS_STANDARD; the default (shareable) library
2636         is said to work now.
2638         * alloc.c (mark_object): Now pass address of slot being marked.
2639         mark_object itself can alter the slot when necessary.
2640         It now returns no value.  All callers changed to pass the address.
2642         mark_object can now ignore the mark bit if it's set in the slot.
2643         Callers need no longer make a copy in which mark bit is clear.
2644         mark_object can clear the mark bit so these callers must still
2645         set the mark bit again after calling mark_object on such slots.
2647 1986-12-15  Richard M. Stallman  (rms@prep)
2649         * process.c (create_process): TIOCNOTTY needs no 3rd arg after all.
2650         * sysdep.c (set_exclusive_use): ditto for FIOCLEX.
2652         * emacs.c (Fdump_emacs): [ALLIANT]
2653         Copy _curbrk into save_curbrk, not vice versa.
2655 1986-12-13  Richard M. Stallman  (rms@prep)
2657         * sysdep.c (flush_pending_output): 3rd arg to TIOCFLUSH
2658         now is address of word containing zero.  It matters.
2660         * editfns.c (Fformat): Fix another error in previous bug.
2662 1986-12-12  Richard M. Stallman  (rms@prep)
2664         * Version 18.33 released.
2666         * data.c: Add many register declarations.
2668         * editfns.c (Fformat): Last change left `n' one too small.
2670 1986-12-11  Richard M. Stallman  (rms@prep)
2672         * keyboard.c (Fsuspend_emacs): Pass no args to the
2673         suspend-resume-hook.  Also call a new hook, `suspend-hook',
2674         before suspending.
2676         * search.c (search_buffer): In inner loop of BM search,
2677         decide dynamically whether signed or unsigned comparison
2678         of p_limit vs cursor will give the right results
2679         and use the kind that will work.
2681 1986-12-11  Richard Mlynarik  (mly@prep)
2683         * emacs.c, dispnew.c:
2684         Rename inhibit_x_windows inhibit_window_system.
2685         Understand "-nw" command-line option.
2686         Reorganize init_display a little to make other window-system
2687         code easier to accommodate.
2689         * editfns.c (Fformat):
2690         Move the increment of the number of args the format string wants.
2691         Share code for various kinds of arguments converted to strings.
2693 1986-12-10  Richard M. Stallman  (rms@prep)
2695         * commands.h: Declare cursor_in_echo_area.
2696         * dispnew.c (init_display): initialize it.
2697         * dispnew.c (syms_of_display): make Lisp variable for it.
2698         * dispnew.c (update_screen): If cursor_in_echo_area not 0,
2699         set cursor position after last char on last screen line.
2700         * fns.c (Fy_or_n_p): Set cursor_in_echo_area while read answer.
2702         * data.c (Fset_default): if RTPC_REGISTER_BUG defined,
2703         don't declare `b' register.
2704         * m-ibmrt.h: Define RTPC_REGISTER_BUG.
2706         * print.c (print, case Lisp_Window):
2707         Add temp var `p' to help RT/PC compiler.
2708         Declare printcharfun register.
2710 1986-12-09  Richard Mlynarik  (mly@prep)
2712         * editfns.c (Fformat):
2713         `%%' doesn't take an `arg'
2715         * doc.c (Fsubstitute_command_keys):
2716         Fix stupid mistakes and errors.  Rename many local variables
2717         and rearrange some code.
2719 1986-12-07  Richard Mlynarik  (mly@prep)
2721         * xfns.c (Fx_flip_color):
2722         Missing paren in DEFUN arglist.
2724 1986-12-06  Richard M. Stallman  (rms@prep)
2726         * Version 18.32 released.
2728         * process.c ({read,handle}_process_output):
2729         Combine handle_process_output into read_process_output.
2730         Check for case where read returns -1.
2732 1986-12-05  Richard M. Stallman  (rms@prep)
2734         * process.c (read_process_output): Read only one buffer worth
2735         and return without trying to read more.  It used to loop
2736         until all output was gobbled.  Now some callers do this loop
2737         but not all of them.
2739         * process.c (change_msgs): Call read_process_output repeatedly
2740         until it returns 0 (no chars were read).
2742         * term.c (write_chars): loop counting repeated chars leaves
2743         p at second nonrepeated char.  Decrement p after the loop.
2745         * process.c (create_process): Use set_exclusive_use;
2746         don't use FIOCLEX directly.
2748         * sysdep.c (flush_pending_output):
2749         Pass a valid address as third arg to TIOCFLUSH, just in case.
2750         * sysdep.c (set_exclusive_use): Likewise, with FIOCLEX.
2751         * process.c (create_process): Likewise, with TIOCNOTTY.
2753         * xfns.c (XCleanUp): Pass Qt to Fdo_auto_save.
2755         * xfns.c (Fx_rubber_band): Set screen_garbaged.
2757         * doc.c (Fsubstitute_command_keys):
2758         Use Fwhere_is_internal instead of where_is_in_buffer.
2759         New construct =<MAPVAR> means use value of MAPVAR
2760         as local map when calling Fwhere_is_internal.
2762         * keymap.c (Fwhere_is_internal, where_is_in_buffer):
2763         Combine the two functions.  This adds two arguments to
2764         Fwhere_is_internal: KEYMAP and FIRSTONLY.
2765         To get the old behavior, KEYMAP must be (current-local-map).
2766         Therefore, KEYMAP is a mandatory operand for Lisp callers.
2768         * keymap.c (Fwhere_is): Pass new args to Fwhere_is_internal.
2769         * keymap.c (apropos1): Call Fwhere_is_internal instead of
2770         where_is_in_buffer.
2772         * search.c (Freplace_match): Check type of first arg.
2774         * abbrev.c (Fexpand_abbrev): For abbrev with hook,
2775         run the hook in addition to (and following) insertion
2776         of the expansion in the usual way.
2778         * editfns.c (Fformat): [MLY]
2779         Compute number of args needed by format string; then
2780         convert args from Lisp_Object to int or char *, defaulting
2781         any not specified.
2783         Don't GCPRO; should not be needed since eval is not called.
2785         * editfns.c (format1): Args are ints or char *'s,
2786         not Lisp_Objects.  Call them ints.
2788 1986-12-04  Richard Mlynarik  (mly@prep)
2790         * xfns.c (Fx_debug):
2791         Return Lisp_Object
2793 1986-12-01  Richard Mlynarik  (mly@prep)
2795         * xfns.c (Fx_set_font):
2796         Don't die if font is ""  (I believe this to be an X bug)
2797         Also, add interactive specs for Fx_set_(internal_)border_width.
2799         * lread.c (oblookup):
2800         Don't core-dump if data in obarray is invalid
2802 1986-12-01  Richard M. Stallman  (rms@prep)
2804         * m-att3b.h: on 3b2, 3b5 and 3b15, #define C_OPTIMIZE_SWITCH null
2805         since -O triggers compiler bug affecting push_key_description.
2807 1986-11-28  Richard Mlynarik  (mly@prep)
2809         * keyboard.c (read_key_sequence):
2810         Delay setting up the local vars pointing to keymaps until a
2811         character has been read.  This is in order that a change of keymap
2812         `behind our back' (eg due to a subprocesses action) will be seen.
2814         * xterm.c:
2815         Typo.
2817 1986-11-26  Richard M. Stallman  (rms@prep)
2819         * sysdep.c (get_system_name):
2820         Eliminate internal static var in USG case.
2822         * lisp.h: New case testing and conversion macros
2823         UPPERCASEP, LOWERCASEP, NOCASEP, UPCASE, DOWNCASE.
2824         They all work from downcase_table.
2826         * casefiddle.c (casify_object, casify_region):
2827         Use those macros.  Create an enum type for the flags
2828         and change the flag names to avoid conflict with the macros.
2830         * abbrev.c (Fexpand_abbrev): Use those macros.
2831         * editfns.c (init_editfns):
2832         * fns.c (y-or-n-p):
2833         * keymap.c (access_keymap):
2834         * fileio.c (report_file_error):
2835         * process.c (change_msgs):
2837         * search.c (Freplace_match): Use upcase_initials_region
2838         instead of duplicating it.
2840         * keyboard.c (Frecursive_edit): If not the top-level edit,
2841         specbind standard-output and standard-input to t.
2842         * keyboard.c (command_loop_1): Don't set those two vars.
2843         This avoids clobbering them permanently when minibuffer is used.
2845 1986-11-25  Richard M. Stallman  (rms@prep)
2847         * callproc.c (child_setup): New arg `envlen' is length
2848         of the list Vprocess_extra_environment.
2849         This list's elements (strings) are put at the front of
2850         the environment for the other program.
2852         * callproc.c (Fcall_process): Some rearrangement of
2853         local variables for more register decls.  Compute
2854         and pass `envlen' arg to child_setup.
2856         * process.c (create_process): Compute and pass `envlen' arg
2857         to child_setup.
2859         * xterm.c (x_term_init): Don't call XPopUpWindow at all.
2860         Leave it for the term-setup-hook (see lisp/term/x-win.el).
2862         * keyboard.c (syms_of_keyboard):
2863         Delete defsubr for usg-suspend-emacs.
2865         * fns.c, m-masscomp.h: Rename MASSCOMP_REGISTER_BUG
2866         to MASSC_REGISTER_BUG to avoid shortnames confusion on V.0.
2868         * dispnew.c (direct_output_for_{self_insert,forward_char}):
2869         These functions now return 0 if did nothing or 1 if did display.
2870         * keyboard.c (command_loop_1): Notice the returned values.
2872         * window.c (change_window_height):
2873         Add new variable delta1 so no need to use delta
2874         for two different things.
2875         Making window bigger to equal its parent's size used to crash.
2876         Fix it by different way of computing delta1 in that case.
2877         Move some variable decls to inner blocks and add "register".
2879 1986-11-24  Richard M. Stallman  (rms@prep)
2881         * buffer.h: `modtime' field = 0 now means no info on visited file.
2882         Nonexistent visited file now represented by -1.
2884         * fileio.c (Fverify_visited_file_modtime):
2885         Adjust for changed meaning of `modtime'.
2887         * fileio.c (Finsert_file_contents):
2888         If visiting and file doesn't exist, finish visiting (updating
2889         various buffer slots) before getting error, and set modtime to -1.
2891         * bytecode.c (Fbytecode): Rearrange all the Bvarref cases to
2892         share most of the code.  Likewise for Bvarset, Bvarbind
2893         and Bunbind cases.  Makes it smaller and makes all
2894         Bvarrefs use the fast inline code.
2896         * keymap.c (Fdefine_key, Flookup_key):
2897         Regard chars 0200 and up as equivalent to 2 char sequences
2898         starting with meta_prefix_char.
2900         * search.c (search_buffer and callers):
2901         Complete rewrite from king@kestrel using simplified Boyer-Moore
2902         algorithm.  Meaning of returned value changed.
2903         * search.c (bcmp_buffer_translated): No longer used; deleted.
2905         * search.c (ScanBf, scan_buffer): complete rewrite of ScanBf
2906         and nearly all is now in scan_buffer, a new function.
2907         * cmds.c (Fforward_line): Complete rewrite; now calls scan_buffer.
2909         * search.c (Fscan_buffer): Delete this.
2910         * bytecode.c (Fbytecode): Just get error if Bscan_buffer is used.
2912         * ymakefile: Rename TEXT_START_ADDR to LD_TEXT_START_ADDR
2913         to avoid shortname trouble (ymakefile is processed thru
2914         the system's cpp).
2916         * sysdep.c (init_sys_modes): Change #ifdef USG to #ifdef _IOFBF
2917         around the call to setvbuf.
2919         * sysdep.c (bcopy): declare it to return int
2920         so that a forward declaration is not needed
2921         so there is no problem defining it as a macro.
2923         * fileio.c (Fwrite_region): Don't try fsync on 4.1bsd.
2925 1986-11-23  Richard M. Stallman  (rms@prep)
2927         * eval.c (record_unwind_protect, specbind, unbind_to, Funbind_protect):
2928         struct specbind now has a new slot `func'.  An internal
2929         unwind-protect stores the C function address there; else it's 0.
2930         Lisp_Internal_Function data type no longer used.
2931         Result is no more dependency on where in the address space
2932         function addresses are found.
2934         * xterm.c (x_term_init): Better message if server does not
2935         respond.
2937         * version 18.31 released.
2939         * xterm.c, xfns.c (Vxterm1): Lisp var `xterm' now points at
2940         Vxterm1, which is initialized like Vxterm but never examined.
2942         * xterm.c (XTread_socket): Use C-x C-@ to indicate mouse click.
2944 1986-11-22  Richard M. Stallman  (rms@prep)
2946         * bytecode.c (Fbytecode): Turn on immediate_quit for Bnth loop.
2948         * keymap.c (Fcurrent_global_map): New function
2949         that returns the current global map.
2951 1986-11-21  Richard M. Stallman  (rms@prep)
2953         * emacs.c (main, Fdump_emacs): [ALLIANT] save _curbrk
2954         before dumping and restore when starting dumped Emacs.
2956         * process.c (wait_reading_process_input):
2957         [ALLIANT] if select returns with EFAULT, just set Available = 0.
2958         [always] copy errno right after the select and check the copy
2959         in case another system call could alter it in between.
2961         * m-alliant.h, m-mg1.h: New machines supported.
2963         * ymakefile: Make START_FILES a preprocessor variable
2964         and don't change it if already defined.
2965         * m-gould.h: Move special gould value of START_FILES here.
2967         * fileio.c (syms_of_fileio): Define variable vms-stmlf-recfm.
2968         * sysdep.c (sys_creat): If vms_stmlf_recfm is nonzero,
2969         create new files with rfm=stmlf.
2971 1986-11-20  Richard M. Stallman  (rms@prep)
2973         * eval.c (unbind_catch): Don't ref thru handlerlist if null.
2975         * keyboard.c (Fusg_suspend_emacs): Delete this.
2976         * sysdep.c (sys_suspend): Put in USG_JOBCTRL
2977         method of suspending with ptrace.
2979 1986-11-19  Richard M. Stallman  (rms@prep)
2981         * xterm.c (x_term_init): Delete attempt to set up
2982         a handler for SIGIO.  This was normally overridden in
2983         init_keyboard so it didn't matter; but this handler
2984         is invalid, so it crashed if it ever did get called.
2986         * indent.c (compute_motion): Fix screwy #if celerity || ATT3B
2987         which is invalid.
2989 1986-11-18  Richard M. Stallman  (rms@prep)
2991         * keyboard.c (command_loop_1):
2992         Must check to reselect buffer and flush minibuf message
2993         before trying fast_read_single_key.  Else have lossage
2994         typing printing chars when minibuf message is displayed.
2996         * keyboard.c (Fsuspend_emacs):
2997         Execute suspend-resume-hook value on resumption.
2999         * lisp.h: Make initialized global.
3000         * data.c (init_data): Undo last change; not needed now.
3002 1986-11-18  Richard Mlynarik  (mly@prep)
3004         * emacs.c (main):
3005         Giving `inhibit_x_windows' an initialization loses;
3006         do it explicitly.
3008         * xfns.c (Fx_rubber_band):
3009         Make interactive.
3011 1986-11-18  Richard M. Stallman  (rms@prep)
3013         * dispnew.c (window_change_signal):
3014         New function to handle SIGWINCH, defined only if SIGWINCH is.
3015         Turned on in init_display if CANNOT_DUMP or if initialized.
3017         * data.c (init_data), editfns.c (init_editfns):
3018         Test initialized, not Vpurify_flag.  Use explicit
3019         conditionals to avoid the test when CANNOT_DUMP.
3021 1986-11-17  Richard M. Stallman  (rms@prep)
3023         * buffer.c (Ferase_buffer): Zero the buffer's save_length.
3024         Future text after erase is unrelated to past text
3025         so should not suspend auto saving if future text is smaller.
3027         * buffer.c (init_buffer_once):
3028         Was passing entire structure to bzero; now pass address.
3030         * fns.c: Prevent warning in 4.3 where param.h does #define BSD
3032 1986-11-16  Richard M. Stallman  (rms@prep)
3034         * dispnew.c (init_display): Set window-system to symbol x, not "X".
3035         * dispnew.c (syms_of_dispnew): Initialize window-system to nil.
3037         * xfns.c (grey_p): Insert missing commas.
3038         * emacs.c (main): Fix typo "ihhibit_x_windows".
3040         * xterm.c (x_term_init): Delay calling XPopUpWindow
3041         till after Vxterm is set.  Also must include lisp.h.
3042         Also always set Vxterm if CANNOT_DUMP.
3044         * xfns.c, xterm.c: Include signal.h before xterm.h
3045         because on 4.3 both of them define sigmask
3046         and only xterm.h considers the case that it is already defined.
3048         * buffer.h: Add BufferSafeCeiling and BufferSafeFloor.
3050         * process.c (Fprocess_send_eof):
3051         Now has conditional on DID_REMOTE, which is defined
3052         if TIOCREMOTE is actually used.
3054 1986-11-15  Richard M. Stallman  (rms@prep)
3056         * Emacs version 18.30 *
3058         * xdisp.c (display_string):
3059         Change minwidth and maxwidth args to mincol and maxcol:
3060         minimum and maximum absolute hpos to end at.
3061         Change all callers (all in xdisp).
3063         * xdisp.c (display_mode_element)
3064         Similar change of minwidth and maxwidth args.
3065         This permits considerable internal simplification
3066         and deletion of the function display_mode_element_1.
3068         * xdisp.c (decode_mode_spec): Flush unused arg minwidth.
3069         Change call (in display_mode_element).
3071 1986-11-14  Richard M. Stallman  (rms@prep)
3073         * process.c (create_process): Don't get a pty
3074         if the new variable Vprocess_connection_type is not t.
3075         This is the Lisp variable process-connection-type.
3077 1986-11-13  Richard M. Stallman  (rms@prep)
3079         * crt0.c: Rename GLOBAL_START_{DOT,NO_DOT}
3080         to {DOT,NODOT}_GLOBAL_START to avoid shortnames trouble.
3081         * m-vax.h, m-tahoe.h, m-sequent.h: same change.
3083         * m-att3b.h: Turn off #define VIRT_ADDR_VARIES
3084         (kk says no need for it).
3086         * keyboard.c (Fcommand_execute):
3087         Zero debug_on_next_call before running the command.
3089 1986-11-12  Richard Mlynarik  (mly@prep)
3091         * data.c (Fsequencep):
3092         (sequencep nil) => t
3094         * xdisp.c (display_string):
3095         Put a "|" at end of mode-lines of partial-width windows.
3097         * xdisp.c (various):
3098         mode-line-format %259 means to pad field to 259, but not to
3099         truncate it.
3100         (259 . <format>) also means to pad.
3101         (-259 . <format>) means to truncate to 259, but not to pad.
3102         [So (-259 . (259 . x)) means to format x -exactly- 259 chars wide.]
3104         * dispnew.c (Fding):
3105         Do not terminate macro-definition if given an argument.
3106         (This is so things like asynchronous process notifications
3107         can beep but not screw.)
3109 1986-11-10  Richard M. Stallman  (rms@prep)
3111         * fileio.c (Fset_file_modes): [APOLLO] must reset
3112         modtime after changing the modes.
3114 1986-11-10  Richard Mlynarik  (mly@prep)
3116         * buffer.c (init_buffer_once):
3117         There is no lisp variable corresponding to buffer-name
3119 1986-11-10  Richard M. Stallman  (rms@prep)
3121         * xdisp.c (display_string): Measure new line length
3122         from start of line body.
3124 1986-11-09  Richard M. Stallman  (rms@prep)
3126         * lread.c (oblookup, map_obarray):
3127         Do not use XFASTINT on `next' fields of symbols.
3128         Fix incorrect sense of test for end of bucket.
3130         * filelock.c (current_file_owner):
3131         Fix incorrect sense of test with `kill'
3132         for death of previous locker.
3134         * keyboard.c (get_char):
3135         Arg of -1 now means don't do redisplay.
3136         Rearrange conditionals so detect_input_pending is not called
3137         in certain cases.
3139         * keyboard.c (read_key_sequence):
3140         New arg nodisplay, nonzero means pass -1 to 1st call to get_char.
3142         * keyboard.c (command_loop_1):
3143         After a command that does direct screen updating,
3144         if buffer_shared is not more than 1,
3145         pass 1 for nodisplay to read_key_sequence.
3147         * minibuf.c (Fminibuffer_depth): New function returns
3148         value of MinibufDepth as a Lisp Int.
3150         * dired.c (Ffile_attributes): Return inode # as element 10.
3152         * dispnew.c (update_line):
3153         Fix bug that noop'd the attempt to let new explicit spaces
3154         match the implicit space past end of old line.
3155         Also do not ignore trailing spaces in a highlighted line;
3156         instead, give it more trailing spaces so it reaches the margin.
3158 1986-11-08  Richard M. Stallman  (rms@prep)
3160         * data.c (init_data): Don't call signal if purifying.
3161         * ymakefile: Stop using gould-sigvec.s.
3162         No longer needed now that signal really isn't called.
3163         * unexec.c: Eliminate gould-specific code to
3164         reinitialize gould-sigvec.s.
3166 1986-11-07  Richard M. Stallman  (rms@prep)
3168         * m-vax.h: Turn off NO_REMAP.
3170         * sysdep.c (end_of_{data,text}): Omit them if CANNOT_DUMP.
3172         * fileio.c (Fwrite_region): APOLLO is now like VMS
3173         in doing the stat after the close.
3175         * emacs.c (main): If APOLLO, don't call malloc_init.
3176         We use the system's malloc on the Apollo.
3178         * editfns.c (init_editfns):
3179         If CANNOT_DUMP, do all the work, regardless of Vpurify_flag.
3181         * alloc.c (mark_object): If not SWITCH_ENUM_BUG
3182         don't cast the switch quantity to int.
3184         * process.c (pty): [HPUX] Do TIOCREMOTE.
3186         * unexec.c (makehdr): Code to adjust, default and validate
3187         data_start and bss_start now common to COFF and non-COFF cases.
3189         * unexec.c (makehdr): Param SEGMENT_MASK controls rounding of
3190         memory-address of text-data boundary (default is pagemask).
3191         [COFF only] SECTION_ALIGNMENT controls rounding of file addresses
3192         of section beginnings; default is no rounding.
3193         [non-COFF] ADJUST_EXEC_HEADER is hook to be executed
3194         before filling in a_text, etc. of the header.
3196         With these parameters, all known machines can be handled
3197         with no special conditionals.
3199         * m-sun1.h, m-sun2.h, m-isi-ov.h: Define SEGMENT_MASK.
3200         * m-stride.h, m-nu.h, s-umax.h: Define SECTION_ALIGNMENT.
3201         * m-masscomp.h, m-gould.h, s-hpux.h: Define ADJUST_EXEC_HEADER.
3202         * m-gould.h: Define A_TEXT_OFFSET = sizeof (hdr)
3204         * unexec.c (makehdr): Remove ibmrt conditionals
3205         that adjusted a_text or equivalent, by just copying from
3206         the old file when NO_REMAP.
3208         * unexec.c (makehdr): Zero supplied as entry_address
3209         means copy it from the old file.
3210         * emacs.c (Fdump_emacs): Pass 0 as entry_address to unexec.
3212         * unexec.c (copy_text_and_data):
3213         Two fixes for A_TEXT_OFFSET case:
3214         Don't decrement `end', and remove (unconditionally)
3215         the lseek before writing the data segment.
3217 1986-11-06  Richard M. Stallman  (rms@prep)
3219         * keymap.c (apropos1): Use Fdocumentation_property, not Fget,
3220         for doc strings of variables.
3222 1986-11-05  Richard Mlynarik  (mly@prep)
3224         * m-att3b.h:
3225         #define TEXT_START 0
3227 1986-11-05  Richard M. Stallman  (rms@prep)
3229         * alloc.c (Fcons, Fmake_symbol, Fmake_marker, gc_sweep):
3230         The free-list pointers in symbols, conses and markers
3231         are now C pointers cast as ints and stored in the XFASTINT.
3232         This may make faster code and in any case avoids problems
3233         with machines where access with XPNTR relocates the pointer.
3235         * lread.c (oblookup, map_obarray):
3236         Use XFASTINT when comparing a Lisp_Object against zero.
3238         * minibuf.c (read_minibuf):
3239         If noninteractive, print the prompt, since
3240         it won't be displayed in the normal way.
3241         In any case, pass Fread the string rather than a buffer
3242         when reading an s-expression.
3244         * auxdoc.c, callint.c, syntax.c, ymakefile:
3245         Copy fake-DEFUNs from auxdoc.c into comments
3246         preceding the real DEFUNs for the same functions.
3247         auxdoc.c is no longer in use.
3249         * fileio.c (Fread_file_name_internal):
3250         [VMS only] Return t if file name is null string.
3252 1986-11-04  Richard M. Stallman  (rms@prep)
3254         * buffer.c (Fget_buffer_create):
3255         For default-major-mode = nil case, use fundamental-mode
3256         if old buffer's mode name has a non-nil mode-class property.
3257         Requires creating Qmode_class to hold the symbol mode-class.
3259         * s-hpux.h: #undef HAVE_PTYS because of problems with
3260         scheme running as an inferior on a pty.
3261         jinx@prep requested this.
3263         * lread.c (check_obarray & its callers): eliminate 2nd arg.
3264         Also, don't confuse types int and Lisp_Object.
3265         If invalid value matches Vobarray, store a valid Vobarray.
3267         * editfns.c (Fformat): Don't use an initialization for tem
3268         since it is a Lisp_Object and that can be a struct.
3270         * minibuf.c (Ftry_completion, Fall_completions):
3271         Use XFASTINT when testing `bucket' for nonzero or
3272         setting it to zero.
3274         * callint.c (Fcall_interactively): If visargs[i] is nil,
3275         don't try to reference it as a string.
3277         * doc.c (FSnarf_dcumentation):
3278         Was assuming exec-path was a string.  Fixed to use
3279         exec-directory instead, and to validate its data type first.
3281 1986-11-04  Richard Mlynarik  (mly@prep)
3283         * m-isi.h => m-isi-ov.h
3285 1986-11-04  Richard M. Stallman  (rms@prep)
3287         * buffer.c (init_buffer_once):
3288         Avoid casts from int to Lisp_Object (which would lose
3289         if NO_UNION_TYPE is not defined); use XFASTINT.
3291 1986-11-03  Richard Mlynarik  (mly@prep)
3293         * xterm.c (stufflines):
3294         Initialize signal mask.
3296         * xterm.h:
3297         Add definition of sigmask
3299 1986-11-01  Richard Mlynarik  (mly@prep)
3301         * m-sun3.h:
3302         #undef sun2 ? #define sun3
3304         * termcap.c:
3305         Include Dave Genzel @ Unilogic's VMS termcap stuff.
3307         * termcap.c:
3308         #ifdef emacs ? #include config.h
3310         * fileio.c, fns.c, m-vax.h:
3311         Fixes for VMS cpp. (#undef foo -> #ifdef foo ? #undef foo)
3313 1986-10-31  Richard Mlynarik  (mly@prep)
3315         * vmsmakefile (new file)
3317         * crt0.c, unexec.c, m-isi.h (new file):
3318         Integrated Solutions 68k port.
3320 1986-10-30  Richard Mlynarik  (mly@prep)
3322         * m-vax.h (USG-only changes):
3323         #define NO_REMAP (I don't understand exactly why one needs to do
3324         this -- is there an unexec bug?)
3325         #define TEXT_START = 0, since C code can't access `start' symbol.
3327         * lisp.h, sysdep.c, indent.c, m-att3b.h:
3328         USG and att3bxxx changes from karl@ohio-state.arpa
3329         Define NO_REMAP, undefine LD_SWITCH_MACHINE
3331         * buffer.c (Fbuffer_local_variables):
3332         Return correct values when buffer is selected-buffer
3334         * keyboard.c (cmd_error):
3335         non-zero exit status on error.
3337         * filelock.c:
3338         Don't get MPV if buffer-file-name isn't a string or nil.
3340 1986-10-29  Richard Mlynarik  (mly@prep)
3342         * keymap.c (Flookup_key, Fdefine_key):
3343         Don't bomb on zero-length strings.
3345         * filelock.c (Ffile_locked_p):
3346         New function.
3348         * window.c (Fset_window_hscroll):
3349         Don't inhibit redisplay optimizations if hscroll is same.
3351         * ymakefile:
3352         rm ../etc/DOC to avoid make-docfile overwriting any files which
3353         were linked to it (unix sucks)
3355 1986-10-28  Richard Mlynarik  (mly@prep)
3357         * vmsmap.c, termcap.c, sysdep.c, config.h-dist:
3358         VMS changes from Sasaki
3360         * termcap.c (tgetent):
3361         Make sure `indirect' initialized.
3363         * xfns.c (grey_p and callers):
3364         New function to compensate for ugly chauvinistic American
3365         spelling.
3367         * keymap.c (describe_*):
3368         Don't mention keys in global map which are shadowed by
3369         local bindings
3371         * dispnew.c, sysdep.c, dired.c:
3372         Eschew ^#if.*defined (for VMS' sake)
3374         * keymap.c (Fkeymapp, Flookup_key):
3375         Add QUIT test.
3377 1986-10-27  Richard Mlynarik  (mly@prep)
3379         * callproc.c, fileio.c:
3380         VMS changes (make environ noshare, don't call fsync)
3382 1986-10-26  Richard Mlynarik  (mly@prep)
3384         * sysdep.c, unexec.c, ymakefile:
3385         Gould changes. (marick%cthulhu@gswd-vms.ARPA)
3387         * gould-sigvec.s:
3388         New file.
3390         * m-gould.h:
3391         New file (for utx/32 2.0 and above)
3392         Old file renamed m-ogould.h.  See etc/MACHINES
3393         for more information.
3395         * unexec.c (make_hdr):
3396         Typo "#ifdef A_TXT_OFFSET" should be "A_TEXT_OFFSET"
3398 1986-10-22  Richard Mlynarik  (mly@prep)
3400         * keyboard.c, keymap.c:
3401         Move Fexecute_extended_command from keymap.c to keyboard.c rather
3402         than make kludgy static vars global.
3404         In Fexecute_extended_command record `(this-command-keys)' and
3405         `last-command' accurately.
3407         * emacs.c (main), dispnew.c (init_display):
3408         Add -nx flag, meaning to inhibit X windows and just run in the
3409         current virtual terminal.  (Perhaps there should be a generic flag
3410         to disable any special window-system code)
3411         Add Vwindow_system variable.
3413         * search.c (Fstring_match):
3414         Do range-checking on `start' argument.
3416 1986-10-21  Richard Mlynarik  (mly@prep)
3418         * xterm.c, xfns.c (x_term_init, x_change_display):
3419         Share command code, and make that code use
3420         {request,unrequest,init}_sigio
3422         * term.c (init_display):
3423         Determine whether we are under X by whether DISPLAY env var is
3424         set, not by whether TERM is "xterm"
3426         * xterm.c (x_term_init):
3427         Remove (if (!initialized) ...) test.
3428         Set Vxterm directly, rather than calling setxterm (flush latter)
3430         * lread.c (various):
3431         Changes for when can't take XSYMBOL of 0 and to make check_obarray
3432         code work correctly.
3434 1986-10-20  Richard Mlynarik  (mly@prep)
3436         * m-stride.h, process.c, sysdep.c, unexec.c:
3437         Stride changes.
3439 1986-10-18  Richard Mlynarik  (mly@prep)
3441         * buffer.c:
3442         Made default-major-mode same as (default-value 'major-mode) to
3443         avoid user confusion.
3445 1986-10-17  Richard Mlynarik  (mly@prep)
3447         * cmd.c, process.c:
3448         Doc fixes from sjk
3450         * buffer.c (init_buffer_once):
3451         Do x = (Lisp_Object) 1 instead of (int) x = 1 for benefit of vms
3452         and pyramid compilers.
3454         * minibuf.c (Ftry_completion):
3455         Test (bucket), not (XSYMBOL (bucket)) since Lisp_Objects may not
3456         be able to be 0 on some implementations.
3458         * editfns.c (Fformat):
3459         Have to duplicate doprnt's work of decoding the
3460         format-string top ensure that don't die on (format "%s" 0)
3461         Also, use prin1-to-string to get PR for random objects
3463         * m-celerity.h:
3464         HAVE_ALLOCA
3466 1986-10-16  Richard Mlynarik  (mly@prep)
3468         * m-att3b.h:
3469         New file -- replaces m-3b20.h
3471         * alloca.c, fileio.c, indent.c, unexec.c, ymakefile:
3472         Bugs and fixes for att3b (and usg)
3473         Use a global static var rather than a local one
3474         to record the last block allocated by alloca.
3476         * fileio.c (Fverify_visited_file_modtime):
3477         If a formerly-nonexistent file has been created since we ``found''
3478         it, say there is a discrepancy.
3480 1986-10-14  Richard Mlynarik  (mly@prep)
3482         * callint.c (Fprefix_numeric_value):
3483         Doc typo.
3485         * malloc.c, regex.c:
3486         Nuke "#if defined..." for VMS
3488 1986-10-12  Richard Mlynarik  (mly@prep)
3490         * xdisp.c (many functions):
3491         Rearrange the way in which the mode-line stuff is hacked:
3492         in particular, display_string doesn't have a special-case
3493         for %-escapes -- this is now all done in display_mode_element.
3494         This was necessary to make %M work correctly.
3495         Also, fix a few bugs (buffer-name truncation could cause
3496         core-dump)
3498         Dike out global-minor-modes.  This wasn't actually being used by
3499         anything (due to a bug) and wasn't even being initialized!
3500         minor-mode-alist does what this thought it was doing.
3502 1986-10-11  Richard Mlynarik  (mly@prep)
3504         * doc.c (FSnarf_documentation):
3505         In CANNOT_DUMP case wasn't treating PATH_EXEC as a path --
3506         now uses exec-path instead.
3508         * lisp.h:
3509         Get rid of #if defined... for benefit of vms
3511 1986-10-09  Richard Mlynarik  (mly@prep)
3513         * abbrev.c (Funexpand_abbrev):
3514         Preserve position of point.
3516 1986-10-07  Richard Mlynarik  (mly@prep)
3518         * s-hpux.h:
3519         #define HAVE_PTYS
3521         * alloca.c:
3522         Make some attempt to work in the USG case where "#define static"
3523         is done.
3525         * keyboard.c:
3526         #undef FIONREAD in HPUX (seems to be unimplemented or broken)
3527         The only reason this ever seemed to work was because of a bug in
3528         v17.
3530         * sysdep.c (child_setup_tty):
3531         HPUX was defaulting terminal speed to 300 baud.
3533         * alloca.s:
3534         New hp9000 C function calling sequence.
3536         * fileio.c (Fexpand_file_name):
3537         Fix bug in (expand-file-name ".." "/foo/")
3539         * callint.c (Fcall_interactively):
3540         Remove extreme weirdness of storing (int) "" where a Lisp_Object
3541         was expected (in visargs)
3542         Slightly more informative error message for bad interactive code
3543         letter.
3545         * abbrev.c (Funexpand_abbrev):
3546         Was deleting length of original text rather than length of
3547         expanded abbrev.
3549         * abbrev.c (Fexpand_abbrev):
3550         Add an Fundo_boundary so that undo works to unexpand
3551         abbrevs.
3553 1986-10-03  Richard M. Stallman  (rms@prep)
3555         * ymakefile: Make LIBS_STANDARD the last libs loaded.
3557         * xterm.c: Load sys/types.h explicitly if xterm.h doesn't do it.
3559         * keyboard.c (interrupt_signal):
3560         Delete spurious `)' in HAVE_X_WINDOWS case.
3562 1986-10-03  Richard Mlynarik  (mly@prep)
3564         * sysdep.c (sys_suspend -- fake suspend case)
3565         Missing comment */ terminator
3567 1986-10-02  Richard Mlynarik  (mly@prep)
3569         * search.c:
3570         There may be `holes' in regexp registers after a match: consider
3571         matching "z" against "\\(\\(xyzzy\\)\\|\\)\\(z\\)" -- then
3572         register 2 is unmatched, whilst registers 0, 1 and 3 have matches.
3573         Fix register-hacking code in Flooking_at, search_buffer,
3574         Fmatch_data, Fstore_match_data.
3576         * crt0.c:
3577         HP200 floating-point (sigh -- needed for load-average)
3579         * sysdep.c (HPUX perror):
3580         Should be "perror" not "_perror" -- communication foulup, sorry.
3582 1986-10-01  Richard M. Stallman  (rms@prep)
3584         * marker.c (Fcopy_marker): Was stupidly failing to put
3585         the new marker on the buffer's chain.  Fix to go thru Fset_marker.
3586         This really does fix the crashes in GC.
3588         * sysdep.c (for HPUX): Define utimes and _perror as no-ops.
3590         * marker.c (Fset_marker): If attempt to set marker
3591         to point to a dead buffer, set it to point nowhere.
3593         * buffer.c (Fkill_buffer): Clear out the buffer's markers chain.
3595         * keyboard.c (interrupt_signal):
3596         Turn off the double-C-g feature when running under X windows.
3598 1986-09-29  Richard M. Stallman  (rms@prep)
3600         * search.c: search_regs elements are now the correct character
3601         numbers or string indices.  1 is not added when they are used;
3602         instead the values are corrected just after regex library returns.
3603         The loops to do this exit at the first -1 (unused register).
3605         * alloca.s: Convert HP9000 code to new assembler syntax.
3606         Rename flag hp9000s200 to hp9000. [mly]
3608         * crt0.c: Convert HP9000 code to new assembler syntax. [mly]
3610         * buffer.c (Fdelete_buffer_internal): Unused; deleted.
3612         * marker.c (unchain_marker):
3613         Dump core if first marker on buffers marker list
3614         does not have that buffer as its buffer.
3615         May help find bug where after GC a buffer's first marker
3616         was on the free list.
3618         * keyboard.c (cmd_error): In -batch, die after error message.
3620         * bytecode.c (Fbytecode):
3621         Open-code Bvarref with one-byte arg.
3623         * callproc.c (init_callproc): Use only first element of
3624         Vexec_path to make Vexec_directory.  [mly]
3626 1986-09-28  Richard M. Stallman  (rms@prep)
3628         * data.c (Fsymbol_value): use assq_no_quit instead of Fassq.
3629         * fns.c (assq_no_quit): Like Fassq but never quits or gets errors.
3631         * keyboard.c (quit_throw_to_get_char):
3632         * eval.c (Fsignal):
3633         Call quit_error_check.
3634         * dispnew.c (quit_error_check):
3635         Dump core if DesiredScreen is not full of zeros.
3636         This is to catch the bug wherein DoDsp called from get_char
3637         died because DesiredScreen was full of lines already.
3639 1986-09-26  Richard Mlynarik  (mly@prep)
3641         * regex.c (re_match_2), search.c (various):
3642         The registers modified by re_{search,match}{,_2}
3643         now have start and end of -1 if that register was
3644         not used in the match found.
3645         Fmatch_data now returns a list of twice the number of registers
3646         -actually- used (including register 0, for the whole match)
3648         * process.c (Fwaiting_for_user_input_p):
3649         New function for use by process-filters and sentinels
3650         so they can determine if it might be an appropriate time
3651         to try to make some sort of asynchronous notification.
3653 1986-09-26  Richard M. Stallman  (rms@prep)
3655         * keymap.c (syms_of_keymap): Add missing defsubr
3656         for Fdefine_prefix_command,
3658         * abbrev.c (Fexpand_abbrev): Save original text of the abbrev
3659         in Vlast_abbrev_text.
3660         * abbrev.c (Funexpand_abbrev): Restore the original text.
3661         Thus expand and unexpand preserves case.
3662         Also, if there is no abbrev to unexpand, do nothing.
3663         * abbrev.c (syms_of_abbrev):
3664         Turn Lisp variables last-abbrev and last-abbrev-text back on.
3665         * abbrev.c (Flast_abbrev_expansion): Delete this function.
3667 1986-09-25  Richard M. Stallman  (rms@prep)
3669         * window.c (Fwindow_width): return a value one smaller
3670         for partial-width windows that contain a | border.
3672         * macros.c: Remove Fname_last_kbd_macro (moved to macros.el).
3674 1986-09-25  Richard Mlynarik  (mly@prep)
3676         * unexec.c:
3677         Include a.out.h before getpagesize.h, since EXEC_PAGESIZE
3678         may be defined in a.out.h
3680         * dispnew.c:
3681         Only define TIOCOUTQ as TCOUTQ if the latter as defined,
3682         so that ifdef conditionals on the former work as expected.
3684         * sysdep.c (sys_suspend):
3685         Needed to include buffer.h for getting cwd when doing a fake suspend.
3686           (for system v and other complete losers)
3687         Rather than doing that include (which tickled some cretin-compiler
3688         bugs) look up bf_cur->default_directory by
3689         Fsymbol_value (Qintern ("..."))
3691 1986-09-24  Richard Mlynarik  (mly@prep)
3693         * editfns.c (Fregion_beginning, Fregion_end):
3694         Share common code (this doesn't have to be so fast that the
3695         extra function-call could hurt)
3697         * editfns.c, window.c, callint.c, buffer.c:
3698         Don't allow bf_cur->mark to be nil.
3699         Instead, to indicate that the mark is not set,
3700         make the marker not point at anything.
3701         This simplifies life quite a lot.
3703         Add sanity checking in case user sets mark to point to different
3704         buffer (he could do this by side-effecting (marker-mark) stupidly)
3706         Change definition of marker-mark so that it returns a marker
3707         object which doesn't point anywhere when there is no mark,
3708         rather than nil.  This is more useful.
3710         * editfns.c, bytecode.c.
3711         Move set-mark, mark to lisp code.
3713         * editfns.c (Fset_mark)
3714         Not interactive.
3716 1986-09-23  Richard M. Stallman  (rms@prep)
3718         * crt0.c, m-hp9000.h: rename hp9000s200 to hp9000.
3719         * m-hp9000.h: New name for m-hp200.h.
3720         * unexec.c (for hpux): define MY_ID from HP9000S200_ID
3721         if that exists; else use model.h.
3724 1986-09-21  Richard M. Stallman  (rms@prep)
3726         * search.c (search_buffer): Fix backwards condition
3727         in whether the translate table can be ignored.
3729         * process.c (Fprocess_send_string): Name of function for Lisp
3730         had a typo.
3732         * eval.c: When looping getting the function definitions of
3733         symbols, check for quit.
3735         * lisp.h: Restore old declaration of `getenv'
3736         since removing it causes warnings in many places.
3738         * minibuf.c (scmp): Return correct value.
3740 1986-09-21  Richard Mlynarik  (mly@prep)
3742         * editfns.c (Finsert_char):
3743         New function.  There are a lot of places in lisp code
3744         which want to insert multiple copies of a constant char.
3745         This is a faster way of doing it, and doesn't cons
3746         (unlike (insert (make-string n c)))
3748 1986-09-21  Richard M. Stallman  (rms@prep)
3750         * process.c (make_process): Code to compute # elts in
3751         vector to make a Lisp_Process had several errors:
3752         Took size of pointer rather than of struct Lisp_Vector
3753         and had wrong sign compensating for first element.
3755         * fileio.c (directory_file_name): If arg is "/", return "/".
3757 1986-09-20  Richard M. Stallman  (rms@prep)
3759         * minibuf.c (Fdisplay_completion_list):
3760         New Lisp-callable function replaces minibuffer_completion_help_1,
3761         with a little new feature: elements of the completion list
3762         may be lists of two strings, and if so the two strings
3763         are printed in immediate succession.
3765 1986-09-19  Richard Mlynarik  (mly@prep)
3767         * minibuf.c (scmp and callers)
3768         Don't be fazed by '\0' in strings.
3770         * lisp.h, search.c, minibuf.c
3771         Use downcase_table
3773 1986-09-18  Richard Mlynarik  (mly@prep)
3775         * ymakefile, emacs.c, callproc.c, process.c, fns.c
3776         Install MAINTAIN_ENVIRONMENT conditional to call environ.c.
3778 1986-09-16  Richard M. Stallman  (rms@prep)
3780         * keymap.c (where_is_in_buffer): Fix bug in checking for shadowed
3781         keys: do Flookup_key only on local map, and ignore value if
3782         it is a number (that means key is locally undefined).
3784 1986-09-15  Richard Mlynarik  (mly@prep)
3786         * buffer.c (Fbury_buffer)
3787         Make this function interactive (bury current buffer)
3788         Do error-checking on arg.
3790 1986-09-15  Richard M. Stallman  (rms@prep)
3792         * emacs.c (main): Eliminate VMS -nl switch.
3793         Instead, `-map FILE' says to map data file FILE;
3794         no switch means don't map any file.
3795         Can call mapin_data directly since exact file name is given.
3797         * emacs.c (undump_emacs): Delete this.
3799         * emacs.c (main): Make it work to use more than one of the
3800         special switches (-batch, -t, -map).
3802 1986-09-14  Richard M. Stallman  (rms@prep)
3804         * Renamings for VMS.
3805         config.h.dist => config.h-dist
3806         paths.h.dist => paths.h-dist
3807         [ms]-*.*.h => [ms]-*-*.h
3808         s-usg5.2.2.h => s-usg5-2-2.h
3810         * Some new files for VMS.
3811         compile.com, link.com, precomp.com, ccom.com,
3812         testemacs.com, build.com are command files.
3813         temacs.opt is a linker control file.
3814         VMSBUILD gives info on how to use them.
3815         README describes what this directory is for.
3817 1986-09-13  Richard M. Stallman  (rms@prep)
3819         * sysdep.c (reset_sys_modes):
3820         Delete never-used VMS & SIGIO conditional.
3821         Call reset_sigio just once.  No need to clear FASYNC here
3822         now that init_sigio makes sure it is clear in old_fcntl_modes.
3824         * eval.c (top_level_value, top_level_set):
3825         These are new names for Fglobal_value and Fglobal_set,
3826         which are no longer callable from Lisp.
3827         They are also commented out.
3829 1986-09-12  Richard Mlynarik  (mly@prep)
3831         * xfns.c (Fx_rebind_key)
3832         Fix typo.
3834         * mocklisp.c:
3835         Delete ml-substr.  Move to mlsupport.el
3837         * buffer.c
3838         The real work of setting up mode_line_default is done in
3839         loaddefs.el.
3841         * lread.c, data.c, marker.c, window.c
3842         Flush the last callers of defalias.  Flush defalias.
3843         (Use fsets in subr.el instead)
3845 1986-09-11  Richard Mlynarik  (mly@prep)
3847         * emacs.c (main)
3848         Under X, accept "-display" switch as synonym for "-d"
3850         * eval.c (specbind)
3851         Don't make Lisp_Buffer_Objfwd's buffer-local when just binding.
3852         (so now (let ((case-fold-search t))) doesn't force buffer-localness)
3853         However, setting a binding will still make it buffer-local.
3854         (ie (let ((case-fold-search t)) (setq case-fold-search t))
3855         will cause case-fold-search be buffer-local even outside the let)
3857         * xfns.c:
3858         Preserve studlycaps: "Gnuemacs" => "GNU Emacs"
3860         * Various
3861         Flush last users of LISTP => CONSP
3863         * buffer.h
3864         Make backed_up a Lisp_Object, since it is one!
3865         Make abbrev_table a magic-local-variable.
3867         * alloc.c (mark_buffer)
3868         Simplify, simplify.
3870         * buffer.h:
3871         Reorder elements of struct buffer so that Lisp_Object
3872         slots are contiguous from buffer.name through to the
3873         end of the buffer.  All slots before buffer.name are
3874         not Lisp_Objects (except buffer.markers, which is gc-magic)
3876         Eliminate useless buffer.number slot.
3878         * buffer.c (Fbuffer_number):
3879         delete.
3881 1986-09-10  Richard M. Stallman  (rms@prep)
3883         * process.c (Fsend_{string,region}): rename as Fprocess_send...
3884         and change names of Lisp function.  Old names now aliases in subr.el.
3886 1986-09-10  Richard Mlynarik  (mly@prep)
3888         * buffer.c
3889         New struct buffer_local_symbols.
3890         staticpro buffer_defaults, buffer_local_symbols.
3892         * lread.c (defvar_per_buffer)
3893         Hack buffer_local_symbols
3895         * buffer.c (Fbuffer_local_variables)
3896         (a) Fcopy_alist so don't return any shared list structure
3897         (b) Include names and values of Lisp_Buffer_Objfwd locals.
3899         * alloc.c (FGarbage_collect):
3900         Don't mark buffer_defaults specially, as it is now in staticvec
3902         * dired.c (Fdirectory_files):
3903         Optional third argument match is a regexp specifying
3904         to only return files whose names contain a match for that regexp.
3905         [eg ``(directory-files "/u2/emacs/" nil "\\`[^#]")'']
3907 1986-09-10  Richard M. Stallman  (rms@prep)
3909         * alloc.c (Fgarbage_collect): Use open code instead of Fnthcdr
3910         to avoid possibility of error.
3912         * lread.c (Fload, load_unwind): The Lisp_Internal_Stream
3913         now points to a word got with xmalloc and that points to the FILE.
3914         On Elxsi, the FILE address is not in the part of the address
3915         space that Lisp_Object pointers can reach.  New way can't lose.
3917 1986-09-09  Richard M. Stallman  (rms@prep)
3919         * crt0.c: Add _start for elxsi.
3921 1986-09-07  Richard Mlynarik  (mly@prep)
3923         * minibuf.c (read_minibuf)
3924         gc-protect the saved data!
3925           I'm don't know why this doesn't just bind help-form
3926           (and current-prefix-arg) esp since there is already an
3927            unbind_to which would help us do this.
3928            Since I don't know why the `bindings' are done this way,
3929            I'm leaving the unwind-protect hair, and adding GCPRO hair.
3931         * minibuf.c (read_minibuf, read_minibuf_unwind)
3932         preserve the value of current-prefix-arg.
3934         * minibuf.c:
3935         Eliminate read_minibuf_string.
3936         Move defalias for read-input to subr.el
3938         * callint.c, fns.c, lisp.h
3939         Call read_minibuf instead of read_minibuf_string.
3941 1986-09-04  Richard Mlynarik  (mly@prep)
3943         * fns.c (Fy_or_n_p, Fyes_or_n_p)
3944         Beep if the user types an invalid response.
3946 1986-09-03  Richard M. Stallman  (rms@prep)
3948         * dispnew.c (update_screen):
3949         Take out previous change.
3951         * xdisp.c (DoDsp): Move call to request_sigio
3952         after update: so it cannot be bypassed.
3954         * sysdep.c (init_sigio): set old_fcntl_flags here
3955         only once; don't change it in request_sigio.
3956         * sysdep.c ({un,}request_sigio):
3957         Set interrupts_deferred while SIGIO is unrequested.
3958         Abort if FASYNC is already set when request_sigio is called.
3959         * keyboard.c (get_input_pending):
3960         Always do FIONREAD if interrupts_deferred.
3962 1986-09-01  Richard M. Stallman  (rms@prep)
3964         * xterm.c/xfns.c: Many changes from rlk,
3965         including using sigblock/sigsetmask to block signals
3966         instead of turning handler off and on.
3968         * dispnew.c (update_screen):
3969         If interrupt input, wait while output gets written
3970         before returning.  If observed loss of output really is
3971         a kernel bug, this may make it stop.
3973 1986-08-31  Richard M. Stallman  (rms@prep)
3975         * keymap.c (where_is_in_buffer):
3976         Use Fequal rather than EQ to test for a match
3977         if the object being searched for is a cons cell.
3979 1986-08-30  Richard M. Stallman  (rms@prep)
3981         * data.c (Fsetq_default): new function.
3983 1986-08-28  Richard M. Stallman  (rms@prep)
3985         * xdisp.c (display_mode_element):
3986         Cons cell whose car is a symbol now means
3987         (SYMBOL IF_TRUE_DISPLAY IF_FALSE_DISPLAY)
3988         and is equivalent to IF_TRUE_DISPLAY if SYMBOL's value is non-nil
3989         or to IF_FALSE_DISPLAY if SYMBOL is unbound or has value nil.
3990         * buffer.c (syms_of_buffer): update documentation for that.
3992 1986-08-25  Richard M. Stallman  (rms@prep)
3994         * fns.c (merge): Swap the arguments to the sort predicate
3995         so as to use it to compute <= rather than <.
3996         Sort had been anti-stable; now it is stable.
3998         * editfns.c (Fuser_uid, Fuser_real_uid):
3999         New functions that return values of geteuid and getuid system calls.
4001         * dired.c (Ffile_attributes): Value has additional element
4002         t iff file gid would change if Emacs deletes it and recreates it.
4004         * xdisp.c (display_mode_element):
4005         If element is a list and its car is a list,
4006         process all list elements recursively and concatenate them.
4007         Makes alists work.
4009         * xdisp.c (display_mode_string): New element type %n
4010         prints ` Narrow' and ` Def' if appropriate.
4011         * buffer.c (syms_of_buffer): Fix documentation of mode-line-format.
4013         * undo.c (Fundo_more):
4014         Fix bugs in checking len and pos for being in bounds.
4016         * eval.c (Fuser_variable_p):
4017         If documentation property is a number,
4018         negative means it's a user variable.
4019         * doc.c (Fdocumentation_property):
4020         Use abs value of property as the file position.
4021         * doc.c (FSnarf_documentation):
4022         For variables, store negative property if string starts with `*'.
4024         * editfns.c (Finsert_buffer_substring):
4025         Implement inserting part of a buffer into itself.
4027 1986-08-24  Richard M. Stallman  (rms@prep)
4029         * xterm.c, xfns.c, sink.h: Installed latest changes from
4030         Athena, and fixed up formatting conventions.
4032 1986-08-23  Richard M. Stallman  (rms@prep)
4034         * eval.c (unbind_catch): Restore gcprolist from the catchtag.
4036 1986-08-21  Richard M. Stallman  (rms@prep)
4038         * fileio.c (barf_or_query_if_file_exists):
4039         New second arg non-0 says query; do not call Finteractive_p.
4041         * fileio.c (Frename_file, Fcopy_to_file, Fadd_name_to_file,
4042         Fmake_symbolic_link):
4043         Interactive spec now says `p' for the third arg.
4044         If third arg is number, do call barf_or_query_if_file_exists
4045         but pass nonzero second arg in that case.
4047         * eval.c (Finteractive_p): Skip the innermost frame
4048         when examining the stack.  This makes the right thing happen
4049         if called from Fbyte_code.
4051 1986-08-21  Richard Mlynarik  (mly@prep)
4053         * process.c (handle_process_output):
4054         do a set-buffer back to original buffer
4055         after calling a process' filter function so that
4056         all filter functions needn't save-excursion.
4058         * keymap.c (where_is_in_buffer):
4059         Don't blow out if buffer has no local map.
4061 1986-08-21  Richard M. Stallman  (rms@prep)
4063         * emacs.c (main): Eliminate references to environ.c.
4065         * callproc.c (Fcall_process): Pass child_setup
4066         the standard Unix environment.
4067         * process.c (create_process): likewise.
4069         * bytecode.c (Fbyte_code): At end, abort if specpdl
4070         is not back to same level it had on entry.
4072         * eval.c (unbind_catch):
4073         New way to unbind for throw.  Pops catches, handlers
4074         and bindings, in one synchronized pass.  Thus, when an
4075         unwind-protect is executed, all catches and handlers
4076         outside of it are still in effect.
4077         Also restore various static variables from the catchtag
4078         being unbound.  struct catchtag has two new fields,
4079         gcpro and pdlcount.
4081         * eval.c (Fthrow, Fsignal): Use unbind_catch before longjmp.
4083         * eval.c (internal_catch): No need to restore anything
4084         from the catchtag after throw, because unbind_catch does it all.
4085         Must set up pdlcount and gcpro fields.
4086         * eval.c (internal_condition_case, Fcondition_case):
4087         Changed like internal_catch.
4088         * eval.c (Fcatch): use internal_catch to do the work.
4090         * eval.c (Fsignal): If no handler applies, try calling
4091         the Lisp debugger; if that fails, throw to top-level.
4092         Don't call `debugger'.
4094         * keyboard.c (debugger): Delete this function.
4096 1986-08-20  Richard M. Stallman  (rms@prep)
4098         * Gap motion can now quit!
4100         * insdel.c (move_gap): new name for GapTo.  Callers changed.
4102         * insdel.c (InsCStr):
4103         * fileio.c (Finsert_file_contents):
4104         Call move_gap before calling record_insert.
4105         * insdel.c (del_range):
4106         Don't adjust point until after all possible errors detected,
4107         which means after gap is moved.
4109         * insdel.c (gap_right, gap_left):
4110         Check every 32000 chars for pending quit.
4111         Also speed up char-copy inner loop.
4113         * lisp.h (QUITP): New macro, nonzero if ought to quit now if poss.
4115 1986-08-20  Richard M. Stallman  (rms@prep)
4117         * undo.c (Fundo_more):
4118         Fix bug that was setting point to `len' field, not `pos' field.
4119         Share the error-checking code between all three types of
4120         undo record that actually make changes.
4122         * xdisp.c (display_mode_element):
4123         Fix a couple of silly bugs.
4125         * lread.c: New variable-defining functions
4126         defvar_int, defvar_lisp, defvar_bool and defvar_per_buffer
4127         are called by the new DEFVAR... macros.  They ignore the
4128         doc-string argument.
4130         * lisp.h: Define macros DEFVAR_LISP, DEFVAR_INT, DEFVAR_BOOL
4131         and DEFVAR_PER_BUFFER.  They expand into calls to
4132         defvar_lisp, etc.
4134         * all .c files:
4135         All Def...Var renamed to DEFVAR... in syms_of_....
4137         * doc.c (FSnarf_documentation): Understand new DOC format
4138         where doc for function foo is named Ffoo and doc for variable foo
4139         is named Vfoo.  When doc for a variable is found, store the
4140         file-position in DOC on the variable-documentation property.
4141         * doc.c (Fdocumentation_property): New Lisp function,
4142         like `get' except that if the value is a positive integer
4143         it is taken as a position in the DOC file and a string is read
4144         from that file.
4146         * filelock.c: correct spelling "supercession" -> "supersession".
4148         * undo.c: Rename RecordInsert as record_insert, and
4149         likewise RecordDelete, RecordChange and RecordChange1.
4150         * casefiddle.c, editfns.c, fileio.c, insdel.c: change callers.
4152 1986-08-19  Richard M. Stallman  (rms@prep)
4154         * xdisp.c (display_mode_element):
4155         Change the interpretation of symbols and lists in elements:
4156         if a symbol's value is a string, output that string literally;
4157         a list is a concatenation of all elements if the car is a string
4158         or a conditional of the cdr if the car is a symbol.
4160         * undo.c (Record...):
4161         Remember buffer->modtime as the "length" of the Uunmod.
4162         If point is at the end of a range deleted or changed,
4163         record that as the "position" of the range and make the length
4164         negative.
4166         * undo.c (Fundo_more):
4167         Undoing Uunmod does not mark as unmodified unless its
4168         remembered modtime matches the buffer's current modtime.
4169         Also handle case where length is negative in Uinsert, Uchange.
4171 1986-08-18  Richard Mlynarik  (mly@prep)
4173         * xdisp.c (display_mode_line):
4174         XSTRING->data, not XSTRING
4175         Fix another typo.
4177 1986-08-17  Richard M. Stallman  (rms@prep)
4179         * buffer.c (syms_of_buffer):
4180         Change doc for mode-line-format.
4182         * xdisp.c (display_mode_line, display_mode_element):
4183         Allow buf->mode_line_format to contain lists and symbols
4184         allowing computation and concatenation to produce the mode line.
4185         (Note that evaluation is not allowed; it would be unsafe.)
4186         display_mode_element is the recursion point for this.
4188 1986-08-17  Richard Mlynarik  (mly@prep)
4190         * emacs.c (main)
4191         Move init_environ up.
4193         * window.c (Fwindow_point)
4194         typo.
4196         * environ.c
4197         New function getenv replaces un*x getenv
4199 1986-08-17  Richard M. Stallman  (rms@prep)
4201         * window.c (Fwindow_point):
4202         When WINDOW is the selected window and its buffer is selected too,
4203         return current value of point.  The pointm field of the window
4204         is not meaningful in such cases.
4206         * unexec.c (write_segment):
4207         If hit nonexistent page, must write zeros, not return.
4209 1986-08-17  Richard Mlynarik  (mly@prep)
4211         * callproc.c, process.c (Fcall_process, create_process)
4212         Use `alloca' versions of environment-hacking functions
4213         (ie current_environ_size and get_current_environ rather than
4214         current_environ and free_environ)
4216         * emacs.c (main):
4217         Call syms_of_environ, init_environ.
4219         * config.h., config.h.dist
4220         Increase PURESIZE again (sigh)
4222         * unexec.c (write_segment):
4223         Kludgy coercions ("(int)") to get this line to compile:
4224          nwrite = (((int) ptr + 128) & ~127) - (int) ptr;
4225         Also changed incorrect ~128 to ~127.
4227         * process.c:
4228         New function Fprocess_list.
4230 1986-08-17  Richard M. Stallman  (rms@prep)
4232         * crt0.c, alloca.s: Remove hack_sky (special for sun2)
4233         and the call to it.  No longer needed since floating point
4234         is no longer used.
4236         * unexec.c: New compiler flag A_TEXT_OFFSET is defined
4237         for machines in which the a.out file header counts as the
4238         first few bytes of the text segment.  The definition of
4239         A_TEXT_OFFSET would normally be sizeof (HDR).  It has
4240         other terms added in on some machines (sequent).
4242 1986-08-16  Richard Mlynarik  (mly@prep)
4244         * eval.c (Fmacroexpand)
4245         Use car of nthcdr, not nth.
4247         * fns.c
4248         Define Fcopy_alist (used to be in subr.el)
4249         Move Fnth to subr.el
4251         * ymakefile
4252         Include environ.c
4254         * callproc.c, process.c (child_setup, Fcall_process, create_process):
4255         Take/pass environment arg.
4257         * environ.c:
4258         New file
4260         * sysdep.c:
4261         Move VMS sys_getenv to environ.c
4263         * editfns.c:
4264         Move getenv to environ.c
4266 1986-08-16  Richard M. Stallman  (rms@prep)
4268         * xdisp.c (display_text_line):
4269         * indent.c (current_column, ToCol, position_indentation):
4270         * indent.c (Fmove_to_column, compute_motion):
4271         Bring tab_width in range if it is very large.
4273 1986-08-15  Richard M. Stallman  (rms@prep)
4275         * fileio.c (Fwrite_region):
4276         Do the fsync before the fstat; that may prevent what appear
4277         to be spurious "file has changed on disk" warnings.
4278         Update bf_cur->modtime before signaling "IO error writing"
4279         to avoid more such warnings.
4281         * Make ctl-arrow, case-fold-search, etc. behave exactly
4282         as if they had been made local with make-variable-buffer-local.
4283         The default values live in struct buffer buffer_defaults.
4284         They also live in buffers that do not have local values.
4285         Each buffer has a local_var_flags slot with a bit for each
4286         variable, saying which variables are local in that buffer.
4288         * buffer.h: New buffer slot local_var_flags.
4289         * buffer.c: New structures buffer_defaults and buffer_local_flags.
4290         (init_buffers_once): store default values for local slots
4291         into buffer_defaults.
4292         (reset_buffer_variables): Copy default values from buffer_defaults
4293         into the buffer being reset.
4294         (syms_of_buffer): Variables default-ctl-arrow, etc., now
4295         forward to slots in buffer_defaults.
4297         * data.c (Fset, Fset_default, Fdefault_value,
4298         Fkill_local_variable):
4299         Know that a Lisp_Buffer_Objfwd has default value
4300         if the buffer_local_flags slot is nonzero,
4301         and a buffer uses that default unless its local_var_flags
4302         contains the bit of the buffer_local_flags for the slot.
4304         * alloc.c (Fgarbage_collect): Call mark_buffer on buffer_defaults.
4306 1986-08-14  Richard M. Stallman  (rms@prep)
4308         * unexec.c (copy_text_and_data):
4309         Write text and data separately if COFF (just as if not COFF).
4310         (make-hdr): if COFF and NO_REMAP, don't alter some f_ohdr fields.
4312 1986-08-14  Richard Mlynarik  (mly@prep)
4314         * editfns.c (getenv)
4315         Make getenv useful interactively.
4316         Move defaliases to fsets in subr.el
4318 1986-08-14  Richard M. Stallman  (rms@prep)
4320         * unexec.c: unexec_data_start records the ultimate
4321         corrected data_start from make_hdr; copy_text_and_data
4322         starts writing data segment from that address.
4324 1986-08-13  Richard M. Stallman  (rms@prep)
4326         * buffer.c (Fkill_buffer): Combine Fdelete_buffer_internal
4327         into this function.  Simplify.  Just return immediately
4328         if attempted to kill the minibuffer.
4330         * lisp.h: Define XSETPNTR and make XSETCONS (etc) use it.
4331         By default XSETPNTR is the same as XSETUINT.
4333         * lread.c (oblookup, map_obarray):
4334         Use XUINT, not XSYMBOL, to check for zero to detect end of bucket.
4335         On machines where all pointers have high bits set,
4336         XSYMBOL would never return zero.
4338         * alloc.c: change vars most_negative_fixnum and dont_copy_flag
4339         to constant macros ARRAY_MARK_FLAG and DONT_COPY_FLAG,
4340         defined normally based on INTBITS but overridable by m-*.h.
4342         * process.c (handle_process_output):
4343         Write in buffer even if buffer is read-only.
4345         * fileio.c (barf_or_query_if_file_exists):
4346         Rearrange: don't use comma around calls to NULL,
4347         so can compile using union type.
4349 1986-08-12  Richard Mlynarik  (mly@prep)
4351         * buffer.c (SetBfp, syms_of_buffer)
4352         Dike out debug-check-symbol code.  I believe that this bug has
4353         evaporated.
4355         * fileio.c (barf_or_query_if_file_exists)
4356         ! => !NULL.  Also use local variable for Lisp_object for bd
4357         compilers.
4359 1986-08-11  Richard Mlynarik  (mly@prep)
4361         * buffer.c (Fbarf_if_buffer_read_only)
4362         Include buffer in call to Fsignal.
4364         * print.c (Fwrite_char)
4365         Really default stream to standard-output.
4367 1986-08-10  Richard Mlynarik  (mly@prep)
4369         * eval.c (and abbrev.c, buffer.c, callint.c, cmds.c, keyboard.c, lread.c, lisp.h)
4370         Allow Fapply to take an &rest arg, the last of which is spread.
4371         (So (apply '+ 1 '(2 3)) => 6)
4372         Make Ffuncall do the work for Fapply, rather than duplicating all
4373         that code.  Define apply1 for c code which needs it.  Define call0
4374         for c code which thought it needed Fapply.
4376 1986-08-08  Richard Mlynarik  (mly@prep)
4378         * ymakefile
4379         Don't assemble alloca.s if HAVE_ALLOCA.
4380         Even though the whole of this file is contained in a
4381         `#ifndef HAVE_ALLOCA ... #endif' a disgusting bug
4382         in cc (at least here, vax 4.2bsd) meant that this
4383         file was being assembled even though cc was passed
4384         the -E flag!  Gag me with a unix-pinhead.
4386         * m-vax.h
4387         Define HAVE_ALLOCA if BSD
4389         * unexec.c (write_segment)
4390         Rename variable `fd' to `new' for macro PERROR.
4392 1986-07-30  Richard M. Stallman  (rms@prep)
4394         * fileio.c (Fwrite_region): add call to fsync before close.
4396         * xdisp.c (redisplay_window): Don't look at ->start
4397         in windows that have subwindows, since it is nil there.
4399         * window.c (save_window_restore):
4400         Avoid doing Fset_buffer on a dead buffer.
4401         Use the selected window's new current buffer in that case.
4403 1986-07-28  Richard M. Stallman  (rms@prep)
4405         * fileio.c (Finsert_file_contents):
4406         Don't mark buffer modified if inserted a null file.
4408         * fileio.c (Fcopy_file, e_write): Use 16k buffer size.
4410 1986-07-17  Richard M. Stallman  (rms@prep)
4412         * unexec.c (copy_sym): Put in missing #endif.
4414         * alloc.c (Fpurecopy, mark_object): Flush VIRT_ADDR_VARIES
4415         conditional; always use range from pure to pure + PURESIZE.
4416         Use type PNTR_COMPARISON_TYPE as the type to compare in.
4417         This is normally unsigned int but m- file may override this.
4419         * lisp.h (CHECK_IMPURE): Use PNTR_COMPARISON_TYPE, and always
4420         use the range from pure to pure + PURESIZE unless
4421         PNTR_COMPARISON_TYPE is defaulted.
4423         * eval.c (unbind_to): New temporary var `tmp'
4424         to avoid a Gould compiler bug.
4426         * term.c (calculate_ins_del_char_costs):
4427         * window.c (change_window_height):
4428         Changed floating point arithmetic to fixed point.
4430         * sysdep.c: Replace ad-hoc conditionals with new flags
4431         HAVE_VFORK, HAVE_DUP2 and HAVE_GETTIMEOFDAY.
4432         Change s-hpux.h and m-stride.h.
4434         * sysdep.c (init_sys_modes for VMS): Set TT2$M_XON.
4436         * process.c (create_process): On USG systems that have TIOCNOTTY,
4437         do the setpgrp here before reopening the pty rather than
4438         waiting for child_setup.
4440         * window.c (make_window): Size given to make_vector
4441         was one too small.
4443 1986-07-10  Richard M. Stallman  (rms@prep)
4445         * keymap.c (Fdescribe_bindings): Change XSETTYPE/XSETBUFFER to
4446         XSET.
4447         (describe_command): Change XSETSTRING to XSET.
4448         * window.c (Fmove_to_window_line): Delete unused start =.
4449         * xdisp.c (DoDsp): Delete unused all_windows initializer.
4450         * dispnew.c (update_line): Delete unused osp =.
4451         * minibuf.c (do_completion): Delete unused completedp initializer.
4452         * search.c (Freplace_match): Delete unused some_multiletter_word init.
4453         * alloc.c (gc_sweep): Delete unused next initializers.
4454         * fns.c (concat): After error on non-int elt for string,
4455         do store the new value from the error handler.
4456         * lread.c (read1): Comment out unused end =.
4457         * lread.c (read_list): Delete unused tail =.
4458         * data.c (Fmake_variable_buffer_local):
4459         If value type is Lisp_Some_Buffer_Local_Value,
4460         change it to Lisp_Buffer_Local_Value permanently.
4461         * undo.c (record_block): Delete unused cp =.
4462         Don't bother reallocing if n = 0 after first batch.
4463         * fileio.c (Fverify_visited_file_modtime):
4464         If CHECK_BUFFER changes buf, use the changed value.
4466 1986-07-07  Richard M. Stallman  (rms@prep)
4468         * alloc.c (mark_buffer): Mark the selective_display_ellipses slot.
4470 1986-06-25  Richard M. Stallman  (rms@prep)
4472         * window.c (Frecenter): Fix bug in last change:
4473         change applied to M-- arg rather than C-u by mistake.
4475 1986-06-19  Richard M. Stallman  (rms@prep)
4477         * ymakefile (CPP): Now defined by default as `cc -E'.
4478         * Makefile: likewise.
4480         More 3b changes:
4481         * ymakefile: Allow config to specify LIBS_TERMCAP even if
4482         TERMINFO.
4483         * sysdep.c: Delete the sign-extension functions; just define
4484         a variable sign_extend_temp.
4485         * m-3b.h renamed to m-3b20.h.  Now defines ATT3B20 as well as
4486         ATT3B.  New definitions for XINT and SIGN_EXTEND_CHAR.
4488         * sysdep.c (readdirver): New VMS-only function:
4489         like readdir but return each version as separate filename.
4491         * dired.c (file_name_completions): New arg ver_flag.
4492         All callers changed.
4493         * dired.c (Ffile_name_all_versions): New function, VMS only.
4495         * unexec.c (copy_sym): Remove spurious #else on
4496         sun3 conditional.  The old #else code is now unconditional.
4498         * window.c (Fdisplay_window): Split largest window only if
4499         full screen width.  The conditional was backwards.
4501 1986-06-17  Richard M. Stallman  (rms@prep)
4503         * process.c (Fsend_region): Previous change forgot to assign
4504         anything to start1.
4506 1986-06-13  Richard M. Stallman  (rms@prep)
4508         * emacs.c (Fdump_emacs): Use start_of_text, not &_start,
4509         as entry address for unexec.
4511         * alloc.c: Use XPNTR, not XUINT, when checking for pureness.
4513         * data.c: When indirecting through Lisp_Buffer_Objfwd,
4514         use XUINT to get the offset, not XOBJFWD.
4516         * lisp.h: New macro XPNTR is used as subroutine by all of
4517         XCONS, XSTRING, etc.  Define it like XUINT normally.
4518         If DATA_SEG_BITS is defined, XPNTR or's that into the result.
4519         Use XPNTR in CHECK_IMPURE.
4521         * sysdep.c (end_of_{text,data}): Do compile these.
4522         rt-pc unexec needs them.
4523         * sysdep.c (start_of_bss): New function.
4525         * unexec.c (copy_text_and_data, write_segment):
4526         Write text and data segments separately.
4527         Use new subroutine write_segment to do each one.
4529         * process.c (Fprocess_exit_status):
4530         New name for Fprocess_reason.
4532 1986-06-11  Richard M. Stallman  (rms@prep)
4534         * abbrev.c (Fexpand_abbrev):
4535         Delete the - inserted by abbrev-prefix-mark, if any.
4537         * filelock.c (lock_file):
4538         Check for modifying a buffer whose file has changed
4539         and call ask-user-about-supercession-threat, which can
4540         ask for confirmation and get an error.
4542 1986-06-10  Richard M. Stallman  (rms@prep)
4544         * crt0.c: Merge changes for Nu.
4546         * unexec.c (make_hdr): Fix handling of blockcopy_start;
4547         for the sake of Nu machine.
4549         * fileio.c (Fcopy_file): optional 4th arg non-nil
4550         means preserve the last-modified time.
4552         Make C-M-v in minibuffer scroll the minibuffer's help window if any.
4553         * window.c (save_window_{save,restore}):
4554         Save and restore minibuf_scroll_window.
4555         * window.c (Fscroll_other_window):
4556         If minibuffer is selected, scroll minibuf_scroll_window.
4557         * minibuf.c (read_minibuf): set minibuf_scroll_window to nil.
4559         * window.c (Frecenter): With just C-u as arg,
4560         recenter point but don't erase the screen.
4562 1986-06-09  Richard M. Stallman  (rms@prep)
4564         * process.c (Fsend_region):
4565         * fileio.c (Fwrite_region):
4566         * editfns.c (Fchar_after, save_restriction_restore):
4567         Avoid using XINT in args to other macros.
4569         * sysdep.c: New function char_sign_xtnd for ATT3B.
4571         * lisp.h: Don't redefine XINT if it's already defined.
4572         So m-3b.h can override it.
4574         * ymakefile: If NO_REMAP, use the standard crt0.o
4575         but precede it with pre_crt0.o whose job is to define data_start.
4577         * buffer.h, buffer.c: New per-buffer variable
4578         selective-display-ellipses.
4580         * xdisp.c (display_text_line), indent.c (compute_motion):
4581         Let bf_cur->selective_display_ellipses control display of ...
4582         before invisible lines.
4584         * lread.c (openp, Fload): openp now takes a sequence
4585         of suffixes with colons between.  It loops over
4586         suffixes faster than over directories.
4587         load takes new fourth arg NOSUFFIXES.
4589 1986-06-08  Richard M. Stallman  (rms@prep)
4591         * paths.h: Remove . from load-path.
4593         * lread.c: Make "load" no longer interactive.
4595         * keyboard.c: Introduce BUFFER_SIZE_FACTOR to make
4596         some keyboard buffers 16 times as big when X windows exist.
4598 1986-06-07  Richard M. Stallman  (rms@prep)
4600         * eval.c (call_debugger): Don't do a debug-on-call
4601         for calling the debugger.
4603         * keyboard.c (gobble_input): Must really use FIONREAD.
4605         * keyboard.c (command_loop{,_1,_2}, top_level_{1,2}):
4606         Now Frecursive_edit calls command_loop, which does the catches
4607         and calls command_loop_2, which does the error handling,
4608         which calls command_loop to do the real work.
4609         Also, top_level_1 does a condition-case around top_level_2,
4610         which does the work.
4612         Previously, the error handling was outside the catch for
4613         top-level.  Then if handling an error ran an unwind protect form,
4614         the catch was not in effect; so ^G, or the debugger Q command,
4615         would not work inside of them.
4617 1986-06-06  Richard M. Stallman  (rms@prep)
4619         * keymap.c (get_keymap{,_1}):
4620         Create get_keymap_1 that takes arg saying whether to get error.
4621         get_keymap calls that, saying do get an error.
4623         * keyboard.c (get_char):
4624         If rereading a char, do put it in the echo buffer
4625         if the echo buffer is empty.  Fixes problem that
4626         C-s C-h would never echo the C-h.
4628         * window.h: New window slot start_at_line_beg,
4629         holds t if window's start was the beginning of a line.
4630         * window.c: update this wherever ->start is updated.
4631         (But not always correctly).
4632         * xdisp.c (redisplay_window): update start_at_line_beg,
4633         and also find a new start if the old start used to be
4634         a line beginning but no longer is (which implies text
4635         changes just before it).
4637         * keyboard.c (get_input_pending):
4638         Don't bother with FIONREAD if interrupt_input;
4639         just use kbd_count.
4641         * fns.c: Assume KERNEL_FILE, LDAV_SYMBOL and NLIST_STRUCT
4642         are fully set up by the s- and m- files.
4644         * emacs.c (main): Don't call `signal' if in batch mode
4645         and not initialized and dumping is possible.
4646         * keyboard.c (init_keyboard): likewise for SIGIO.
4648         * unexec.c (make_hdr): Copy entire header of old file
4649         as base for header of new file.  Eliminates most
4650         machine-specific conditionals.
4652         * terminfo.c: make tparam work by calling tparm.
4654         * term.c, cm.h: Eliminate `Tab' macro.
4656         * s-usg5.2.h, s-usg5.2.2.h: set the TERMINFO flag.
4658         * fileio.c (Ffile_newer_than_file_p): New Lisp primitive.
4660         * fileio.c (Ffile_exists_p): This is now distinct from
4661         Ffile_readable_p; it checks only for existence, not for
4662         readability.
4664         * editfns.c (Fgoto_char): Use new interactive code N.
4666         * callint.c (Fcall_interactively): New code N means use
4667         prefix arg if have one, else read number from minibuffer.
4669         * buffer.c (record_buffer):
4670         Don't use Frassq, Fmemq or Fdelq since their loops
4671         allow quitting.  Write a special loop by hand.
4673 1986-06-05  Richard M. Stallman  (rms@prep)
4675         * process.c: Add MASSCOMP conditionals for pty and tty names.
4676         New way to check pty accessibility with `access'.
4678         * unexec.c (make_hdr): MASSCOMP has its own special field.
4680         * sysdep.c: Use HAVE_TERMIO conditionals instead of USG
4681         conditionals in many places.  Use INTERRUPTABLE_OPEN
4682         and INTERRUPTABLE_IO conditionals to decide whether to
4683         include the functions sys_read, sys_write, sys_open.
4684         child_setup_tty must do FIOASYNC on masscomp.
4686         * fns.c (concat): Add MASSCOMP_REGISTER_BUG conditional.
4688         * editfns.c (init_editfns): Always check LOGNAME if no USER var.
4690         * dispnew.c: Now depends on HAVE_TERMIO.
4692         * crt0.c: BOGUS flag renamed CRT0_DUMMIES.  Also now
4693         this is never assumes; each m- file must set it to use that code.
4695         * crt0.c: Two new flags: GLOBAL_START_DOT and
4696         GLOBAL_START_NO_DOT, control .globl start, etc.
4697         m- files must define these as needed.
4698         To have no effect, must define one or the other whenever
4699         CRT0_DUMMIES is set except for masscomp.
4700         GLOBAL_START_NO_DOT for tower32, GLOBAL_START_DOT for all others.
4702         * term.c, termchar.h: Define new flag var no_redraw_on_reenter;
4703         nonzero means no need to set screen_garbaged on resuming
4704         after a suspension.
4705         * sysdep.c (init_sys_modes): don't set screen_garbaged
4706         after resumption if that flag is set.
4707         * dispnew.c (syms_of_dispnew): make Lisp var no-redraw-on-reenter,
4709         * process.c (Fprocess_reason): New function.
4711         * dispnew.c (change_screen_size): New arg PRETEND.
4712         If it's zero, set ScreenRows or ScreenCols.
4713         Fset_screen_{width,height} take new arg as well
4714         to control value of PRETEND.
4716         * sysdep.c (child_setup_tty for USG):
4717         Turn ICANON on, and set VKILL and VERASE to 0377.
4718         Don't frob VMIN and VTIME (said to be unnecessary here).
4720         * keyboard.c (command_loop, Frecursive_edit):
4721         Call top_level_1 only from command_loop.
4722         Do it before command_loop_1.  Put catch for top-level around it.
4724         * xdisp.c (try_window_1): use scroll_cost to decide
4725         whether scrolling, as determined from ins/del records,
4726         is better than simple reprinting.
4728         * scroll.c (scroll_cost): New function computes what cost
4729         would be to do scroll_screen_lines.
4731         * xdisp.c (display_text_string):
4732         Display minibuf_prompt only if vpos is the top of the minibuffer.
4733         Attempts to fix the bug where the prompt appears on all the
4734         lines of an empty minibuffer.
4736 1986-06-04  Richard M. Stallman  (rms@prep)
4738         * fileio.c (Fdefine_logical_name):
4739         For VMS: create a logical name translation.
4741         * emacs.c (main):
4742         (HAVE_X_WINDOWS) New variable alternate_display,
4743         set with a -d switch.
4745         * keyboard.c, sysdep.c:
4746         Create new system-independent function sys_suspend.
4747         All places that want to suspend now use sys_suspend.
4748         Delete fake_suspend and make its definition one of the
4749         cases for sys_suspend; but require the caller to change
4750         the terminal modes, on all system versions.
4752         * Merged in VMS conditionals in numerous files.
4754 1986-06-01  Richard M. Stallman  (rms@prep)
4756         * emacs.c (main, Fdump_emacs):
4757         Use new arg to malloc_init to say what function to call for
4758         warnings.
4760         * unexec.c, malloc.c, getpagesize.h:
4761         The code to define getpagesize () is now in getpagesize.h.
4763         * process.c (reate_process), callproc.c (child_setup):
4764         Move call to child_setup_tty from child_setup to create_process,
4765         so it's not done for synchronous subprocesses.
4766         * sysdep.c (child_setup_tty): omit it if not subprocesses.
4768         * alloc.c (mark_object), lread.c (DefLispVar):
4769         Protect the C variable with staticpro.
4770         Therefore no more need to mark thru a Lisp_Objfwd.
4772 See ChangeLog.1 for earlier changes.
4774     Copyright (C) 1986-1988, 2001-2014 Free Software Foundation, Inc.
4776   This file is part of GNU Emacs.
4778   GNU Emacs is free software: you can redistribute it and/or modify
4779   it under the terms of the GNU General Public License as published by
4780   the Free Software Foundation, either version 3 of the License, or
4781   (at your option) any later version.
4783   GNU Emacs is distributed in the hope that it will be useful,
4784   but WITHOUT ANY WARRANTY; without even the implied warranty of
4785   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
4786   GNU General Public License for more details.
4788   You should have received a copy of the GNU General Public License
4789   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.