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
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
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'
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.
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
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
164 1988-08-08 Richard Stallman (rms@sugar-bombs.ai.mit.edu)
168 1988-08-04 Richard Stallman (rms@sugar-bombs.ai.mit.edu)
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
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
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
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.
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'
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.
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
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.
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
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
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
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):
976 1988-01-07 Richard Stallman (rms@frosted-flakes)
978 * lread.c (init_obarray): Split the stmt `hash =' to avoid
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
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
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.
1153 1987-07-29 Richard Mlynarik (mly@prep)
1155 * lread.c (init_read): Initialise 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 signalling.
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
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
1356 * process.c (wait_reading_process_input): conditionalize `select'
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)
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
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
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)
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)
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
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"
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)
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
1614 1987-04-15 Paul Rubin (phr@prep)
1616 * version 18.44 released.
1618 1987-04-14 Paul Rubin (phr@prep)
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>)
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
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
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 (Cancelled 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
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
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)
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
1997 * window.c, window.h:
1998 Rename Fshow_buffer Fset_window_buffer (which was previously the
2001 * keyboard.c, minibuf.c: Window configuration caller changes.
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
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.
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
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
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
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
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
2251 1987-01-16 Richard Mlynarik (mly@prep)
2253 * xfns.c (Fx_set_{background,cursor,mouse}_color):
2254 Initialise save_color.
2256 * fileio.c, search.c, sysdep.c, filelock.c, editfns.c, process.c:
2257 Delete/replace unused/conditionalised 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
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
2309 If PATH contains non-absolute element (such as ".") expand against
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.
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
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:
2429 1987-01-01 Richard Mlynarik (mly@prep)
2431 * indent.c (Fcurrent_column, Fmove_to_column):
2434 * window.c (Fwindow_edges):
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
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
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):
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
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
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
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 (sharable) 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',
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
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
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):
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.
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):
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
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
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
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
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)
3005 Giving `inhibit_x_windows' an initialisation loses;
3008 * xfns.c (Fx_rubber_band):
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
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
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)
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
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 Initialise signal mask.
3297 Add definition of sigmask
3299 1986-11-01 Richard Mlynarik (mly@prep)
3302 #undef sun2 ? #define sun3
3305 Include Dave Genzel @ Unilogic's VMS termcap stuff.
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.
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):
3348 * window.c (Fset_window_hscroll):
3349 Don't inhibit redisplay optimisations if hscroll is same.
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' initialised.
3363 * xfns.c (grey_p and callers):
3364 New function to compensate for ugly chauvinistic American
3367 * keymap.c (describe_*):
3368 Don't mention keys in global map which are shadowed by
3371 * dispnew.c, sysdep.c, dired.c:
3372 Eschew ^#if.*defined (for VMS' sake)
3374 * keymap.c (Fkeymapp, Flookup_key):
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)
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:
3439 1986-10-18 Richard Mlynarik (mly@prep)
3442 Made default-major-mode same as (default-value 'major-mode) to
3443 avoid user confusion.
3445 1986-10-17 Richard Mlynarik (mly@prep)
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
3466 1986-10-16 Richard Mlynarik (mly@prep)
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):
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
3498 Dike out global-minor-modes. This wasn't actually being used by
3499 anything (due to a bug) and wasn't even being initialised!
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.
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)
3522 Make some attempt to work in the USG case where "#define static"
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
3530 * sysdep.c (child_setup_tty):
3531 HPUX was defaulting terminal speed to 300 baud.
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
3545 * abbrev.c (Funexpand_abbrev):
3546 Was deleting length of original text rather than length of
3549 * abbrev.c (Fexpand_abbrev):
3550 Add an Fundo_boundary so that undo works to unexpand
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)
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.
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):
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)
3677 Include a.out.h before getpagesize.h, since EXEC_PAGESIZE
3678 may be defined in a.out.h
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)
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
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
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)
3835 Delete ml-substr. Move to mlsupport.el
3838 The real work of setting up mode_line_default is done in
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)
3848 Under X, accept "-display" switch as synonym for "-d"
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)
3858 Preserve studlycaps: "Gnuemacs" => "GNU Emacs"
3861 Flush last users of LISTP => CONSP
3864 Make backed_up a Lisp_Object, since it is one!
3865 Make abbrev_table a magic-local-variable.
3867 * alloc.c (mark_buffer)
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):
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)
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.
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.
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,
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
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
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
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
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)
4191 Move init_environ up.
4193 * window.c (Fwindow_point)
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)
4217 Call syms_of_environ, init_environ.
4219 * config.h., config.h.dist
4220 Increase PURESIZE again (sigh)
4222 * unexec.c (write_segment):
4223 Kludgey coercions ("(int)") to get this line to compile:
4224 nwrite = (((int) ptr + 128) & ~127) - (int) ptr;
4225 Also changed incorrect ~128 to ~127.
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
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.
4248 Define Fcopy_alist (used to be in subr.el)
4249 Move Fnth to subr.el
4254 * callproc.c, process.c (child_setup, Fcall_process, create_process):
4255 Take/pass environment arg.
4261 Move VMS sys_getenv to environ.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
4355 * fileio.c (barf_or_query_if_file_exists)
4356 ! => !NULL. Also use local variable for Lisp_object for bd
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)
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.
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
4443 1986-07-10 Richard M. Stallman (rms@prep)
4445 * keymap.c (Fdescribe_bindings): Change XSETTYPE/XSETBUFFER to
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.
4481 * ymakefile: Allow config to specify LIBS_TERMCAP even if
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
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;
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
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
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.
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
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, 1987, 1988, 2001, 2002, 2003, 2004, 2005, 2006,
4775 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
4777 This file is part of GNU Emacs.
4779 GNU Emacs is free software: you can redistribute it and/or modify
4780 it under the terms of the GNU General Public License as published by
4781 the Free Software Foundation, either version 3 of the License, or
4782 (at your option) any later version.
4784 GNU Emacs is distributed in the hope that it will be useful,
4785 but WITHOUT ANY WARRANTY; without even the implied warranty of
4786 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4787 GNU General Public License for more details.
4789 You should have received a copy of the GNU General Public License
4790 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
4792 ;;; arch-tag: 3334fc8a-ec24-4601-99fc-4c8adc2b31bb