Roland McGrath [Mon, 5 Apr 1993 22:35:50 +0000 (22:35 +0000)]
(compilation-error-regexp-alist): Merged HP-UX 7.0 fc regexp with the
GNU format regexp: just allowing blanks to terminate the line number
makes that one handle the HP case. Merged MIPS RISC CC regexp with
Apollo cc regexp: make "s optional, and don't anchor to bol.
Jim Blandy [Thu, 1 Apr 1993 01:07:38 +0000 (01:07 +0000)]
* timer.el (timer-program): New defconst.
(run-at-time): Use timer-program as the name of the program the
subprocess should run, and search for it in exec-directory, rather
than checking the entire exec path.
Roland McGrath [Wed, 31 Mar 1993 22:20:33 +0000 (22:20 +0000)]
(map-y-or-n-p): Make bindings of user-defined keys be each a vector
containing the user's binding, rather than 'user. Check (vectorp DEF)
and call the vector's elt, rather than checking (eq 'user DEF) and
calling something completely random.
Jim Blandy [Wed, 31 Mar 1993 10:55:33 +0000 (10:55 +0000)]
Put interrupt input blocking in a separate file from xterm.h.
This isn't specific to X, and it allows us to avoid #including
xterm.h in files that don't really have anything to do with X.
* blockinput.h: New file.
* xterm.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT,
UNBLOCK_INPUT_RESIGNAL): These are now in blockinput.h.
(x_input_blocked, x_pending_input): Deleted; there are analogs
in blockinput.h called interrupt_input_blocked and
interrupt_input_pending.
* keyboard.c (interrupt_input_blocked, interrupt_input_pending):
New variables, used by the macros in blockinput.h.
* xterm.c: #include blockinput.h.
(x_input_blocked, x_pending_input): Deleted.
(XTread_socket): Test and set interrupt_input_blocked and
interrupt_input_pending instead of the old variables.
* alloc.c, xfaces.c, xfns.c, xmenu.c, xselect.c, keymap.c:
#include blockinput.h.
* eval.c: #include blockinput.h instead of xterm.h.
* keyboard.c: #include blockinput.h.
(input_poll_signal): Just test
interrupt_input_blocked, instead of testing HAVE_X_WINDOWS and
x_input_blocked.
Block the processing of interrupt input while we're manipulating the
malloc heap.
* alloc.c: (xfree): New function, to make it easy to free things
safely.
(xmalloc, xrealloc): Block X input while doing the deed.
(VALIDATE_LISP_STORAGE, gc_sweep, compact_strings): Use xfree
instead of free.
(uninterrupt_malloc): New function, to install input-blocking
hooks into the GNU malloc routines.
* emacs.c [not SYSTEM_MALLOC] (main): Call uninterrupt_malloc
on startup.
* alloc.c: (make_interval, make_float, Fcons, Fmake_vector,
Fmake_symbol, Fmake_marker, make_uninit_string, Fgarbage_collect):
Use xmalloc instead of malloc; don't bother to check if out of
memory here.
(Fgarbage_collect): Call xrealloc instead of realloc.
* buffer.c: Use xmalloc and xfree instead of malloc and free;
don't bother to check if out of memory here.
(Fget_buffer_create): Put BLOCK_INPUT/UNBLOCK_INPUT pair around
calls to ralloc routines.
* insdel.c: Same.
* lisp.h (xfree): New extern declaration.
* xfaces.c (xfree): Don't #define this to be free; use the
definition in alloc.c.
* dispnew.c, doc.c, doprnt.c, fileio.c, lread.c, term.c, xfns.c,
xmenu.c, xterm.c: Use xfree instead of free.
* hftctl.c: Use xfree and xmalloc instead of free and malloc.
* keymap.c (current_minor_maps): BLOCK_INPUT while calling realloc
and malloc.
* search.c: Since the regexp routines can malloc, BLOCK_INPUT
while runing them. #include blockinput.h.
* sysdep.c: #include blockinput.h. Call xfree and xmalloc instead
of free and malloc. BLOCK_INPUT around routines which we know
will call malloc.
ymakefile (keyboard.o, keymap.o, search.o, sysdep.o, xfaces.o,
xfns.o, xmenu.o, xterm.o, xselect.o, alloc.o, eval.o): Note that
these depend on blockinput.h.
Jim Blandy [Wed, 31 Mar 1993 10:47:13 +0000 (10:47 +0000)]
* xfaces.c: Doc fixes.
Put interrupt input blocking in a separate file from xterm.h.
This isn't specific to X, and it allows us to avoid #including
xterm.h in files that don't really have anything to do with X.
* blockinput.h: New file.
* xterm.h (BLOCK_INPUT, UNBLOCK_INPUT, TOTALLY_UNBLOCK_INPUT,
UNBLOCK_INPUT_RESIGNAL): These are now in blockinput.h.
(x_input_blocked, x_pending_input): Deleted; there are analogs
in blockinput.h called interrupt_input_blocked and
interrupt_input_pending.
* keyboard.c (interrupt_input_blocked, interrupt_input_pending):
New variables, used by the macros in blockinput.h.
* xterm.c: #include blockinput.h.
(x_input_blocked, x_pending_input): Deleted.
(XTread_socket): Test and set interrupt_input_blocked and
interrupt_input_pending instead of the old variables.
* alloc.c, xfaces.c, xfns.c, xmenu.c, xselect.c, keymap.c:
#include blockinput.h.
* eval.c: #include blockinput.h instead of xterm.h.
* keyboard.c: #include blockinput.h.
(input_poll_signal): Just test
interrupt_input_blocked, instead of testing HAVE_X_WINDOWS and
x_input_blocked.
Block the processing of interrupt input while we're manipulating the
malloc heap.
* alloc.c: (xfree): New function, to make it easy to free things
safely.
(xmalloc, xrealloc): Block X input while doing the deed.
(VALIDATE_LISP_STORAGE, gc_sweep, compact_strings): Use xfree
instead of free.
(uninterrupt_malloc): New function, to install input-blocking
hooks into the GNU malloc routines.
* emacs.c [not SYSTEM_MALLOC] (main): Call uninterrupt_malloc
on startup.
* alloc.c: (make_interval, make_float, Fcons, Fmake_vector,
Fmake_symbol, Fmake_marker, make_uninit_string, Fgarbage_collect):
Use xmalloc instead of malloc; don't bother to check if out of
memory here.
(Fgarbage_collect): Call xrealloc instead of realloc.
* buffer.c: Use xmalloc and xfree instead of malloc and free;
don't bother to check if out of memory here.
(Fget_buffer_create): Put BLOCK_INPUT/UNBLOCK_INPUT pair around
calls to ralloc routines.
* insdel.c: Same.
* lisp.h (xfree): New extern declaration.
* xfaces.c (xfree): Don't #define this to be free; use the
definition in alloc.c.
* dispnew.c, doc.c, doprnt.c, fileio.c, lread.c, term.c, xfns.c,
xmenu.c, xterm.c: Use xfree instead of free.
* hftctl.c: Use xfree and xmalloc instead of free and malloc.
* keymap.c (current_minor_maps): BLOCK_INPUT while calling realloc
and malloc.
* search.c: Since the regexp routines can malloc, BLOCK_INPUT
while runing them. #include blockinput.h.
* sysdep.c: #include blockinput.h. Call xfree and xmalloc instead
of free and malloc. BLOCK_INPUT around routines which we know
will call malloc.
ymakefile (keyboard.o, keymap.o, search.o, sysdep.o, xfaces.o,
xfns.o, xmenu.o, xterm.o, xselect.o, alloc.o, eval.o): Note that
these depend on blockinput.h.
Jim Blandy [Wed, 31 Mar 1993 07:19:25 +0000 (07:19 +0000)]
* keyboard.c (parse_modifiers, apply_modifiers): Make sure we're
not trying to create modifier masks using integers which are
unrepresentable as lisp values.
Jim Blandy [Tue, 30 Mar 1993 23:07:47 +0000 (23:07 +0000)]
New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
equivalent of /dev/null, and the suffixes used by executable
files. This is simple, and helps people porting Emacs to other
operating systems.
* process.h (NULL_DEVICE): Give this a default value.
* process.c (Fstart_process): Pass EXEC_SUFFIXES to openp.
(Fprocess_send_eof): Use NULL_DEVICE instead of "/dev/null".
* callproc.c (Fcall_process): Pass EXEC_SUFFIXES to openp.
Use NULL_DEVICE instead of "/dev/null".
* s/vms.h (NULL_DEVICE): #define this.
Jim Blandy [Tue, 30 Mar 1993 23:05:56 +0000 (23:05 +0000)]
New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
equivalent of /dev/null, and the suffixes used by executable
files. This is simple, and helps people porting Emacs to other
operating systems.
* process.h (NULL_DEVICE): Give this a default value.
* process.c (Fstart_process): Pass EXEC_SUFFIXES to openp.
(Fprocess_send_eof): Use NULL_DEVICE instead of "/dev/null".
* callproc.c (Fcall_process): Pass EXEC_SUFFIXES to openp.
Use NULL_DEVICE instead of "/dev/null".
Jim Blandy [Tue, 30 Mar 1993 21:21:49 +0000 (21:21 +0000)]
Rename int-to-string to number-to-string, since it can handle
floating-point as well as integer arguments. subr.el defines the
former as an alias for the latter.
* data.c (Fnumber_to_string): Renamed from Fint_to_string.
(wrong_type_argument): Adjust caller.
(syms_of_data): Adjust defsubr.
* fns.c (concat): Adjust caller.
* lisp.h (Fnumber_to_string): Adjust extern declaration.
* mocklisp.c (Finsert_string): Adjust caller.
* process.c (status_message): Adjust caller.
Richard M. Stallman [Sun, 28 Mar 1993 20:17:39 +0000 (20:17 +0000)]
(regexp-history): New history list.
(occur, flush-lines, keep-lines, how-many): Use it.
(occur): Don't insert previous string in minibuffer gratuitously.
Just use it if input is empty.
Use save-match-data around count-lines.
Eric S. Raymond [Sun, 28 Mar 1993 06:40:46 +0000 (06:40 +0000)]
(vc-comment-to-changelog): A useful vc-checkin hook, added.
(vc-checkout): Now rejects attempts to check out files via FTP.
The `derived buffers' in the mode (the VC log buffer, status buffers,
and most buffer output commands) now know which file buffer was their
parent, and most commands will try to find such a parent buffer when
executed from within a special buffer.
Richard M. Stallman [Sat, 27 Mar 1993 18:04:02 +0000 (18:04 +0000)]
(struct buffer): Field `fieldlist' deleted.
(OVERLAY_START, OVERLAY_END, OVERLAY_VALID): New macros.
(OVERLAY_POSITION): Likewise.
(searchbuf): Decl deleted--doesn't belong here.
Delete include of regex.h for VMS.
Richard M. Stallman [Sat, 27 Mar 1993 06:29:16 +0000 (06:29 +0000)]
(set-case-syntax-delims, set-case-syntax-pair, set-case-syntax):
Do not set the standard case table.
Reintroduce arg (now named TABLE) which gives a downcase string to set.
Richard M. Stallman [Sat, 27 Mar 1993 06:19:51 +0000 (06:19 +0000)]
Add autoloads.
(set-case-syntax-delims, set-case-syntax-pair, set-case-syntax):
Delete arg STRING--always set the standard case table.
Be more thorough about doing that, and arrange to recompute the
equivalence and canonicalize parts of the table.
Eric S. Raymond [Sat, 27 Mar 1993 01:58:44 +0000 (01:58 +0000)]
(add-hook) Added optional arg to cause hook to be appended rather than
prepended to the hook list. This obviates the 23 different hook-bashing
packages in LCD.
(get-word) Added. Lots of help and default-generator functions in LCD use
it, and it's remarkably difficult to get right, especially given the new
syntax primitives.
Eric S. Raymond [Sat, 27 Mar 1993 01:58:20 +0000 (01:58 +0000)]
(undo-with-space) Added. C-x C-u now bound to this rather than undo.
This change was inspired by the LCD package undo-with-space by Thomas
Narten, but my code is simpler and uses the 19 event features.
Eric S. Raymond [Sat, 27 Mar 1993 01:58:16 +0000 (01:58 +0000)]
(fill-paragraph, justify-current-line) Now uses the skip-syntax-
forward and backward characters and char-syntax to be smart about
filling syntaxes other than text.
This change was inspired by Richard Caley's fill-para package from LCD,
but the implementation is original.
Richard M. Stallman [Fri, 26 Mar 1993 07:28:20 +0000 (07:28 +0000)]
(local-write-file-hooks): New variable.
(set-visited-file-name): Kill local-write-file-hooks as local var.
(basic-save-buffer): Use local-write-file-hooks.
Jim Blandy [Thu, 25 Mar 1993 04:37:38 +0000 (04:37 +0000)]
* x-win.el: Update copyright to 1993.
* x-win.el: Bind [M-next] to advertised-scroll-other-window instead of
scroll-other-window, and then make advertised-scroll-other-window
an alias for scroll-other-window.
* term/x-win.el: Require select.el.
(x-select-text): Update call to x-set-cut-buffer.
Put `PRIMARY' and `CLIPBOARD' in upper case.
(x-cut-buffer-or-selection-value): Put `PRIMARY' in upper case.