Richard M. Stallman [Thu, 6 May 1993 14:30:09 +0000 (14:30 +0000)]
(comint-previous-matching-input): New command, on M-r.
(comint-next-matching-input): New command, on M-s.
(comint-previous-similar-input): Commented out.
(comint-next-similar-input): Likewise.
(comint-previous-input-matching): Deleted.
(comint-last-input-match): Var commented out.
(comint-mode): Don't make comint-last-input-match local.
Jim Blandy [Tue, 4 May 1993 02:44:42 +0000 (02:44 +0000)]
Implement extra_keyboard_modifiers properly.
* keyboard.c (syms_of_keyboard): Doc fix for
extra-keyboard-modifiers; use the same modifier bits as we do for
characters.
(read_char): Apply all the modifiers in extra_keyboard_modifiers
to the input characters, so you can get hyper, super, and the rest
of the gang.
* xterm.c (x_emacs_to_x_modifiers): New function.
(x_convert_modifiers): Renamed to x_x_to_emacs_modifiers, for
consistency. Callers changed.
(XTread_socket): Apply x_emacs_to_x_modifiers to
extra_keyboard_modifiers before setting the state member of the
event; this will get all the modifiers on ASCII characters.
* xterm.c (x_text_icon): Don't call XSetIconName; it should be
unnecessary, and perhaps it's killing the icon pixmap.
Jim Blandy [Tue, 4 May 1993 02:44:16 +0000 (02:44 +0000)]
Changes for Emacs 19 from Thorsten Ohl <ohl@chico.harvard.edu>:
* s/mach2.h: copied from the Emacs 18.59 distribution.
Don't define NO_REMAP, define START_FILES as
`pre-crt0.o' instead. Define LIB_MATH as `-lm', to override the
default `-lm -lc' (there is no libc on the NeXT).
* ymakefile (STARTFILES): Allow config.h to set this value even if
ORDINARY_LINK is defined.
* unexnext.c: Fix subdirectories for the machine dependent include
files for NeXTStep 3.0; #include <mach/mach.h> and
<mach-o/loader.h> instead of <mach.h> and <sys/loader.h>.
(getsectbyname): Remove prototype for this; the system #include
files take care of that.
(malloc_cookie): New variable.
(unexec_doit): Set malloc_cookie to the result returned by
malloc_freezedry.
* emacs.c (main): Declare malloc_cookie to be extern, so that we can
get the value set when we dumped and pass it to malloc_jumpstart.
* systime.h: The NeXT has a timezone function.
Jim Blandy [Tue, 4 May 1993 02:39:39 +0000 (02:39 +0000)]
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
case we need them.
* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
shift_modifier, ctrl_modifier, meta_modifier): Define these in
terms of the CHAR_mumble macros, to avoid having the same thing
defined in two places.
Make the modifier manipulation functions more robust. The old way
caused a bug once, and probably would again.
* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
shift_modifier, ctrl_modifier, meta_modifier): Shift these all
down one bit in value, to avoid sign extension problems.
* lisp.h (CHAR_META, CHAR_CTL, CHAR_SHIFT): Fix these definitions too.
* keyboard.c (lispy_modifier_list): Ignore modifier bits beyond
what our table of modifier names can handle.
(apply_modifiers): Don't abort if you see extra modifier bits,
just remove them.
Jim Blandy [Tue, 4 May 1993 02:36:45 +0000 (02:36 +0000)]
* systime.h: Doc fix.
(EMACS_SET_USECS): Remember that a `usec' is a microsecond, not a
millisecond. What's three orders of magnitude between friends?
* dispnew.c (Fsit_for, Fsleep_for): Remember to multiply the
`milliseconds' argument by 1000 to get microseconds.
Changes for Emacs 19 from Thorsten Ohl <ohl@chico.harvard.edu>:
* s/mach2.h: copied from the Emacs 18.59 distribution.
Don't define NO_REMAP, define START_FILES as
`pre-crt0.o' instead. Define LIB_MATH as `-lm', to override the
default `-lm -lc' (there is no libc on the NeXT).
* ymakefile (STARTFILES): Allow config.h to set this value even if
ORDINARY_LINK is defined.
* unexnext.c: Fix subdirectories for the machine dependent include
files for NeXTStep 3.0; #include <mach/mach.h> and
<mach-o/loader.h> instead of <mach.h> and <sys/loader.h>.
(getsectbyname): Remove prototype for this; the system #include
files take care of that.
(malloc_cookie): New variable.
(unexec_doit): Set malloc_cookie to the result returned by
malloc_freezedry.
* emacs.c (main): Declare malloc_cookie to be extern, so that we can
get the value set when we dumped and pass it to malloc_jumpstart.
* systime.h: The NeXT has a timezone function.
Jim Blandy [Tue, 4 May 1993 02:35:38 +0000 (02:35 +0000)]
* search.c (Freplace_match): Arrange for markers sitting at the
beginning or end of the original text to float to the
corresponding position in the replacement text.
Jim Blandy [Tue, 4 May 1993 02:35:01 +0000 (02:35 +0000)]
Arrange for Fy_or_n_p to put off switch-frame events.
* lread.c (read_filtered_char): New function, which contains the
code which used to be in Fread_char, Fread_event, and
Fread_char_exclusive; there was a lot of common code.
(Fread_char, Fread_event, Fread_char_exclusive): Rewrite in terms
of read_filtered_char.
* lisp.h (read_filtered_char): Declare this extern here.
* fns.c (Fy_or_n_p): Call read_filtered_char, arranging to delay
switch-frame events.
Jim Blandy [Tue, 4 May 1993 02:34:26 +0000 (02:34 +0000)]
* lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
case we need them.
* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
shift_modifier, ctrl_modifier, meta_modifier): Define these in
terms of the CHAR_mumble macros, to avoid having the same thing
defined in two places.
Arrange for Fy_or_n_p to put off switch-frame events.
* lread.c (read_filtered_char): New function, which contains the
code which used to be in Fread_char, Fread_event, and
Fread_char_exclusive; there was a lot of common code.
(Fread_char, Fread_event, Fread_char_exclusive): Rewrite in terms
of read_filtered_char.
* lisp.h (read_filtered_char): Declare this extern here.
* fns.c (Fy_or_n_p): Call read_filtered_char, arranging to delay
switch-frame events.
Make the modifier manipulation functions more robust. The old way
caused a bug once, and probably would again.
* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
shift_modifier, ctrl_modifier, meta_modifier): Shift these all
down one bit in value, to avoid sign extension problems.
* lisp.h (CHAR_META, CHAR_CTL, CHAR_SHIFT): Fix these definitions too.
* keyboard.c (lispy_modifier_list): Ignore modifier bits beyond
what our table of modifier names can handle.
(apply_modifiers): Don't abort if you see extra modifier bits,
just remove them.
* lisp.h (Qrange_error, Qdomain_error, Qsingularity_error,
Qoverflow_error, Qunderflow_error): Add extern to these declarations.
Jim Blandy [Tue, 4 May 1993 02:32:22 +0000 (02:32 +0000)]
Implement extra_keyboard_modifiers properly.
* keyboard.c (syms_of_keyboard): Doc fix for
extra-keyboard-modifiers; use the same modifier bits as we do for
characters.
(read_char): Apply all the modifiers in extra_keyboard_modifiers
to the input characters, so you can get hyper, super, and the rest
of the gang.
* xterm.c (x_emacs_to_x_modifiers): New function.
(x_convert_modifiers): Renamed to x_x_to_emacs_modifiers, for
consistency. Callers changed.
(XTread_socket): Apply x_emacs_to_x_modifiers to
extra_keyboard_modifiers before setting the state member of the
event; this will get all the modifiers on ASCII characters.
* keyboard.c (kbd_buffer_get_event): Don't generate switch-frame
events if they'd only switch to the frame already selected. This
avoids lots of extra switch-frame events when using a separate
minibuffer.
* keyboard.c (Fcurrent_input_mode): New function.
* keyboard.c (read_key_sequence): Let the `modifiers' variable in
the code which deals with KEY being unbound be an int, not a
Lisp_Object.
Make the modifier manipulation functions more robust. The old way
caused a bug once, and probably would again.
* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
shift_modifier, ctrl_modifier, meta_modifier): Shift these all
down one bit in value, to avoid sign extension problems.
* lisp.h (CHAR_META, CHAR_CTL, CHAR_SHIFT): Fix these definitions too.
* keyboard.c (lispy_modifier_list): Ignore modifier bits beyond
what our table of modifier names can handle.
(apply_modifiers): Don't abort if you see extra modifier bits,
just remove them.
Jim Blandy [Tue, 4 May 1993 02:29:57 +0000 (02:29 +0000)]
* fileio.c (Fmake_symbolic_link): If a file already exists under
the link's filename, delete the file which the link
would replace, not the file the link would point at.
Jim Blandy [Tue, 4 May 1993 02:29:06 +0000 (02:29 +0000)]
* emacs.c (SEPCHAR): Instead of defining this to be ',' on VMS and
':' elsewhere, just have it default to ':' if not #defined, and
#define it to be ',' in s/vms.h; OS/2 will need it to be ';'.
* s/vms.h (SEPCHAR): #define this to be ','.
* s/template.h (SEPCHAR): Mention this.
Changes for Emacs 19 from Thorsten Ohl <ohl@chico.harvard.edu>:
* s/mach2.h: copied from the Emacs 18.59 distribution.
Don't define NO_REMAP, define START_FILES as
`pre-crt0.o' instead. Define LIB_MATH as `-lm', to override the
default `-lm -lc' (there is no libc on the NeXT).
* ymakefile (STARTFILES): Allow config.h to set this value even if
ORDINARY_LINK is defined.
* unexnext.c: Fix subdirectories for the machine dependent include
files for NeXTStep 3.0; #include <mach/mach.h> and
<mach-o/loader.h> instead of <mach.h> and <sys/loader.h>.
(getsectbyname): Remove prototype for this; the system #include
files take care of that.
(malloc_cookie): New variable.
(unexec_doit): Set malloc_cookie to the result returned by
malloc_freezedry.
* emacs.c (main): Declare malloc_cookie to be extern, so that we can
get the value set when we dumped and pass it to malloc_jumpstart.
* systime.h: The NeXT has a timezone function.
Jim Blandy [Tue, 4 May 1993 02:28:10 +0000 (02:28 +0000)]
* systime.h: Doc fix.
(EMACS_SET_USECS): Remember that a `usec' is a microsecond, not a
millisecond. What's three orders of magnitude between friends?
* dispnew.c (Fsit_for, Fsleep_for): Remember to multiply the
`milliseconds' argument by 1000 to get microseconds.
* dispnew.c (Fsleep_for, Fsit_for): Allow SECONDS to be a
floating point value.
* dispnew.c (getenv): Extern declaration deleted; this is done in
config.h.
Jim Blandy [Tue, 4 May 1993 02:24:42 +0000 (02:24 +0000)]
* config.h.in (getenv): Don't test THIS_IS_YMAKEFILE to see if we
should exclude the getenv declaration; instead, test NOT_C_CODE.
Per suggestion from Francesco Potorti`.
* ymakefile (NOT_C_CODE): Define this; it's true, and useful.
* config.h.in (volatile): Don't define this to be the empty string
if some file has #defined HAVE_VOLATILE.
Jim Blandy [Tue, 4 May 1993 02:23:12 +0000 (02:23 +0000)]
* buffer.c (syms_of_buffer): Doc fix for buffer-display-table.
* buffer.c (Fmake_overlay, Fmove_overlay): New optional BUFFER
arguments.
(recenter_overlay_lists): New argument BUF, to use instead of the
current buffer.
(Foverlay_recenter): Pass the appropriate arguments to
recenter_overlay_lists.
* buffer.c (Fdelete_overlay): Don't assume that overlay is in the
current buffer. Don't forget to declare the argument a Lisp_Object.
Jim Blandy [Tue, 4 May 1993 00:28:07 +0000 (00:28 +0000)]
* emacs.c (SEPCHAR): Instead of defining this to be ',' on VMS and
':' elsewhere, just have it default to ':' if not #defined, and
#define it to be ',' in s/vms.h; OS/2 will need it to be ';'.
* s/vms.h (SEPCHAR): #define this to be ','.
* s/template.h (SEPCHAR): Mention this.
* s/vms.h (xfree): #define this to emacs_xfree, to avoid case
conflict with XFree; on VMS, external symbols are case-insensitive.
Jim Blandy [Tue, 4 May 1993 00:26:43 +0000 (00:26 +0000)]
* emacs.c (SEPCHAR): Instead of defining this to be ',' on VMS and
':' elsewhere, just have it default to ':' if not #defined, and
#define it to be ',' in s/vms.h; OS/2 will need it to be ';'.
* s/vms.h (SEPCHAR): #define this to be ','.
* s/template.h (SEPCHAR): Mention this.
Paul Eggert [Mon, 3 May 1993 17:55:22 +0000 (17:55 +0000)]
mawk, SunOS 4.1.3 nawk, and Ultrix/MKS nawk all barf on /[/]/, so change
it to /[\/]/. This should work on all Posix-compliant awks.
It's slightly wrong with traditional (Unix version 7) awk, since it
also allows \, but that's a minor problem compared to awk syntax errors.
Jim Blandy [Mon, 3 May 1993 03:37:22 +0000 (03:37 +0000)]
* files.el (insert-directory): Undo change of March 23;
dereferencing links is inappropriate for dired.
* files.el (abbreviate-file-name): If abbreviated-home-dir ends
with a slash, don't remove the corresponding slash from filename
when we collapse the home directory to ~.
Jim Blandy [Mon, 3 May 1993 03:36:19 +0000 (03:36 +0000)]
* edebug.el (edebug-display): Call the `mark' function with the
FORCE argument non-nil, so that we don't get an error if the mark
isn't set yet.
* edebug.el (global-edebug-prefix, global-edebug-map): Add
autoload cookies for these, so they are present when Emacs starts
up.
* edebug.el (global-edebug-map): Bind `C-x X d' to edebug-defun in
this map; we can't bind it to `C-x x', as the installation
instructions suggest, because that conflicts with
copy-to-register.
Jim Blandy [Mon, 3 May 1993 03:35:53 +0000 (03:35 +0000)]
* disp-table.el (describe-display-table): Don't use the term
"rope"; we're using vectors of characters now.
(standard-display-8bit, standard-display-ascii): Set the element
of the display table to a vector, not an integer; the latter
doesn't mean anything.
Jim Blandy [Mon, 3 May 1993 03:35:01 +0000 (03:35 +0000)]
* comint.el (comint-match-partial-pathname): Move "---" range in
character class in regular expressions to the end of the character
class; this way, it meets the POSIX regexp specs.
Jim Blandy [Mon, 3 May 1993 02:07:41 +0000 (02:07 +0000)]
* configure.in: Use the AC_PROG_CPP macro, and then use the CPP
variable to scan the machine and system description files.
* configure.in: Use the AC_HAVE_HEADERS to check for sys/timeb.h,
so that getdate.y builds correctly.
* configure.in (tempcname): Change this to "conftest.c", so it will
work properly on systems with short filenames; this is the name
autoconf uses.
* configure.in: Also detect the availability of dup2 and
gethostname.
* configure.in: Use the AC_ALLOCA test.
* Makefile.in (ALLOCA): New variable, to be set by ./configure.
(lib-src/Makefile): Edit the value of ALLOCA into lib-src/Makefile.
* Makefile.in: Add autoconf cookies so that the configure
script can comment out sections of path variable definitions to
choose between the installable configuration and the run-in-place
configuration.
* configure.in: Add new option `--run-in-place', to select the
run-in-place path definitions.
* configure.in: Add a clause to the big configuration name case
for the NeXT machine.
Jim Blandy [Mon, 3 May 1993 02:06:16 +0000 (02:06 +0000)]
* configure.in: Use the AC_ALLOCA test.
* Makefile.in (ALLOCA): New variable, to be set by ./configure.
(lib-src/Makefile): Edit the value of ALLOCA into lib-src/Makefile.
* Makefile.in (install): Print out the name of the directory we're
copying, so people can have some idea of whether we're making
progress.
* Makefile.in (install.aix, install.xenix, install.sysv, install):
Don't forget to re-create the COPYDESTS directories after we clear
them out.
* Makefile.in: Add autoconf cookies so that the configure
script can comment out sections of path variable definitions to
choose between the installable configuration and the run-in-place
configuration.
* configure.in: Add new option `--run-in-place', to select the
run-in-place path definitions.
* Makefile.in (install, install.sysv, install.xenix, install.aix):
Make sure that each source directory exists, and is different from
the destination directory; then, delete the destination before
copying over the source.
Roland McGrath [Wed, 28 Apr 1993 22:44:29 +0000 (22:44 +0000)]
Add compilation-minor-mode to minor-mode-alist and minor-mode-map-alist.
(compilation-minor-mode): New defvar.
(compilation-minor-mode-map): New defvar; keymap with the bindings
from compilation-mode-map except SPC and DEL.
(compilation-mode-map): Construct this keymap to inherit from
compilation-minor-mode-map.
(compilation-setup): New function, code broken out of compilation-mode.
(compilation-mode): Call it.
(compilation-minor-mode): New function to toggle
compilation-minor-mode; if setting it, call compilation-setup.
Eric S. Raymond [Tue, 27 Apr 1993 22:01:32 +0000 (22:01 +0000)]
(hscroll-step): New variable.
(hscroll-point-visible): New function.
(left-arrow, right-arrow): These use hscroll-point-visible for better auto-
scrolling behavior.
Eric S. Raymond [Tue, 27 Apr 1993 21:59:59 +0000 (21:59 +0000)]
(un_autoload): Don't try to save old autoload forms when we load something
in. Something about the code now conditioned out by UNLOAD was screwing
up ordinary autoloads, notably of picture.el. When I figure out what, I'll
fix and re-enable this code.
Eric S. Raymond [Tue, 27 Apr 1993 21:59:55 +0000 (21:59 +0000)]
Completed the package entry point's name change from edit-picture to
picture-mode.
(move-to-column-force, picture-end-of-line): When movement is completed,
scroll horizontally if necessary to make point visible.
(picture-beginning-of-line): New function. Exists to force horizontal
scrolling if the buffer is wide.
(picture-mode-map): Instead of rebinding common keystrokes, use
substitute-key-definition to remap all keystrokes attached to the
corresponding commands.
Roland McGrath [Mon, 26 Apr 1993 19:21:01 +0000 (19:21 +0000)]
(find-tag-interactive): New function to read args for find-tag et al.
(find-tag-noselect, find-tag, find-tag-other-window, find-tag-other-frame,
find-tag-regexp): Use it.
(find-tag, find-tag-other-window): Take new arg REGEXP-P, pass to
find-tag-noselect.
(find-tag-regexp): Call either find-tag-other-window or find-tag, rather
than find-tag-noselect and switch-to-buffer[-other-window].
(tags-location-stack): New defvar.
(find-tag-noselect): If NEXT-P is '-, pop location off tags-location-stack.