Jim Blandy [Sun, 18 Jul 1993 06:26:10 +0000 (06:26 +0000)]
Consistently use the mark bit of the root interval's parent field
to say whether or not the interval tree has been visited (and skip
it when revisited), and the mark bit of the plist field to say
whether or not that interval has been visited (and abort if
revisited); don't try to use the plist mark bit for both
meanings.
* alloc.c (mark_interval_tree): Don't test if the interval tree
has already been visited here; let the MARK_INTERVAL_TREE macro do
that; avoid function call overhead. Mark the interval tree as
having been visited by setting TREE->parent's mark bit.
(MARK_INTERVAL_TREE): If the tree has been visited (according to
I->parent's mark bit), don't call mark_interval_tree.
(gc_sweep): Rebalance the interval trees of those large strings
which are still alive. This also clears the mark bits of those
trees' root intervals' parent fields.
(compact_strings): Rebalance the interval tree of each small
strings which is still alive. This also clears the mark bits of
that tree's root interval's parent field. Since the string has
moved, update the root interval's parent pointer to contain the
new address.
* lisp.h (struct interval): Doc fix; explain the roles of the mark
bits of the parent and plist members.
Jim Blandy [Sun, 18 Jul 1993 06:25:40 +0000 (06:25 +0000)]
* keyboard.c (read_key_sequence): Accept both strings and vectors
as bindings in function-key-map.
* keymap.c (Vfunction_key_map in syms_of_keymap): Doc fix.
Jim Blandy [Sun, 18 Jul 1993 06:25:09 +0000 (06:25 +0000)]
* keyboard.c (read_key_sequence): Accept both strings and vectors
as bindings in function-key-map.
* keymap.c (Vfunction_key_map in syms_of_keymap): Doc fix.
* keyboard.c (Fsuspend_emacs): Pass selected_frame as the first
argument to change_frame_size, not 0. This function may be called
in an Emacs compiled with multi-frame support.
Jim Blandy [Sun, 18 Jul 1993 06:24:48 +0000 (06:24 +0000)]
* textprop.c (Ftext_property_any, Ftext_property_all): New
functions, from David Gillespie.
* intervals.h (Ftext_property_any, Ftext_property_all): Declare them.
Jim Blandy [Sun, 18 Jul 1993 06:24:25 +0000 (06:24 +0000)]
* intervals.c (split_interval_left, split_interval_right): Change
OFFSET argument of these functions to be origin 0, not origin 1.
This is what all the callers currently want.
* intervals.c, textprop.c: All callers changed.
* intervals.c (graft_intervals_into_buffer): Properly compute
length of buffer.
Jim Blandy [Sun, 18 Jul 1993 06:23:32 +0000 (06:23 +0000)]
* dispnew.c (direct_output_for_insert): By the time this function
is called, we have already inserted the character into the buffer;
the proper buffer position to pass to compute_char_face is point
- 1, not point.
Jim Blandy [Sun, 18 Jul 1993 06:21:42 +0000 (06:21 +0000)]
* term/x-win.el: Include (invocation-name) in the error messages
which might occur during startup.
* term/x-win.el: Make the `-rn NAME' option specify a resource
name, as documented, and not a resource database string. Make
`-name NAME' act like `-rn NAME' and also set the name of the
initial frame.
(command-switch-alist): Process the `-rn' and `-name' options
using the x-handle-name-rn-switch function.
(x-handle-name-rn-switch): New function, which sets the
x-resource-name variable.
(opening connection): Make sure x-resource-name is valid. If it's
not a string, set it to (invocation-name), with any periods or
asterisks changed to hyphens.
* term/x-win.el: Make the `-xrm STRING' option specify a resource
database string. `-rn' used to behave this way.
(command-switch-alist): Process the `-xrm' switch using
x-handle-xrm-switch.
(x-handle-xrm-switch): Renamed from x-handle-rn-switch; this
function does the right thing for `-xrm', not for `-rn'.
* term/x-win.el: Recognize affirmative values for reverseVideo
properly. Include "on" in the list of recognized values.
Jim Blandy [Sun, 18 Jul 1993 06:20:15 +0000 (06:20 +0000)]
* hippie-exp.el: Renamed from hippie.el.
Changes from Anders Holst, to bring hippie-expand up to version 1.2:
* hippie-exp.el (hippie-expand-max-buffers): New variable.
(try-expand-line-all-buffers, try-expand-list-all-buffers,
try-expand-dabbrev-all-buffers): Use it.
(try-expand-list, try-expand-list-all-buffers): New functions.
(he-string-beg, he-string-end, he-search-loc): These values are
now markers, not integers. Uses changed.
(he-reset-string, he-substitute-string): Use a marker to preserve
the old position of point.
(try-expand-all-abbrevs): handle case the same way as the
usual expand-abbrev (which is not a very good way, but for
consistency...).
(he-dabbrev-beg): Use `skip-syntax' instead of `skip-chars', to
adjust its behavior to different modes.
(hippie-expand): Don't messages which try function it is using,
when the expansion itself is done in the minibuffer (it was very
annoying to have the message obscuring the expansion).
(try-complete-file-name, try-complete-file-name-partially,
try-complete-lisp-symbol, try-complete-lisp-symbol-partially,
try-expand-line, try-expand-line-all-buffers,
try-expand-all-abbrevs, try-expand-dabbrev,
try-expand-dabbrev-all-buffers): No unnecessary "resetting" of the
epansion, when no expansion is done (caused the buffer to be
marked as changed, although nothing was done, among other things).
(he-reset-string): Undoing of last expansion at a later occasion, now
undoes correctly (before, it garbled things up).
(make-hippie-expand-function): now uses "(function ...)"
instead of "'" (matters for compilation).
(try-expand-line, try-expand-line-all-buffers,
he-line-search-regexp): uses `comint-prompt-regexp' instead of
`shell-prompt-pattern', to strip off prompt in process buffers.
Jim Blandy [Sun, 18 Jul 1993 06:18:45 +0000 (06:18 +0000)]
* bytecomp.el (byte-compile-from-buffer): Bind float-output-format
to "%.20e", not "%20e"; the latter is always ignored, since it
doesn't have a decimal point after the percent sign.
Jim Blandy [Sun, 18 Jul 1993 06:12:49 +0000 (06:12 +0000)]
* etags.c (print_help): Break up the very long strings containing
the help message into shorter strings, to placate chintzy C
compilers which can't handle strings that long.
Jim Blandy [Sun, 18 Jul 1993 06:10:46 +0000 (06:10 +0000)]
* Makefile.in (src/Makefile): Propagate C_SWITCH_SYSTEM to the src
directory's makefile. This allows the invocation of CPP which
builds xmakefile to receive these switches. The SunSoft C
preprocessor inserts spaces between tokens if it doesn't get the
-Xs flag requested in src/s/sol2.h.
Richard M. Stallman [Sun, 18 Jul 1993 04:47:10 +0000 (04:47 +0000)]
Enable the hook only if window-system.
Clear blink-paren-function at the same time.
(show-paren-command-hook): If after a closeparen,
highlight that closeparen as well as matching open.
Use a different color for a mismatch, if color screen.
Richard M. Stallman [Sat, 17 Jul 1993 01:43:00 +0000 (01:43 +0000)]
(revert-buffer): Make menu-enable form more accurate
using revert-buffer-function and verify-visited-file-modtime.
(menu-bar-help-menu): Put back under global-map.
(menu-bar-final-items): Set it.
Roland McGrath [Fri, 16 Jul 1993 20:30:18 +0000 (20:30 +0000)]
(comint-{next,prev}-prompt, comint-send-eof): New functions.
(comint-mode-map): Bind C-c C-n, C-c C-p, and C-c C-d to those.
Bind C-c C-y to comint-previous-input, for compatibility with v18 shell.el.
Richard M. Stallman [Fri, 16 Jul 1993 04:19:04 +0000 (04:19 +0000)]
(rmail-mail-new-frame): New variable.
(rmail-start-mail): New function.
(rmail-mail, rmail-continue, rmail-reply, rmail-forward)
(rmail-retry-failure): Use rmail-start-mail.
Richard M. Stallman [Thu, 15 Jul 1993 06:56:17 +0000 (06:56 +0000)]
(read_char_menu_prompt): If the user rejects a menu,
return t. This makes read_char also return t.
(read_key_sequence): If read_char returned t, return -1.
(Fread_key_sequence): If read_key_sequence returned -1, quit.
(command_loop_1): If read_key_sequence returned -1, loop around.
Jim Blandy [Thu, 15 Jul 1993 04:58:59 +0000 (04:58 +0000)]
* keyboard.c (menu_bar_one_keymap): If the key's binding is the
symbol `undefined', don't try to take that symbol's cdr before
passing it to menu_bar_item; pass the `undefined' binding itself,
so menu_bar_item can remove bindings for the same key from result.
Roland McGrath [Thu, 15 Jul 1993 01:55:13 +0000 (01:55 +0000)]
(gud-debugger-startup): Replaced with gud-massage-args.
(gud-{gdb,sdb,xdb}-debugger-startup): Replaced with gud-*-massage-args.
(gdb, sdb, xdb): Argument is command line, not args for it. Remove
debugger name from prompt and put it in the default input instead.
Overload gud-massage-args instead of gud-debugger-startup.
(gud-chop-words): New function; subr for gud-common-init.
(gud-common-init): Argument is command line, not args for it.
Rewritten to use gud-chop-words instead of temp buffer and kludge involving
read. Find the program name as the first word of the command line.
Use make-comint and gud-massage-args in place of gud-debugger-startup.
Expand the file name before passing it to gud-massage-args.
Roland McGrath [Wed, 14 Jul 1993 23:36:04 +0000 (23:36 +0000)]
(cookie-cache): New defvar.
(cookie-snarf): Cache cookies in `cookie-cache', not in obarray (idiot).
Also store the modtime and punt the cache when it changes.
Jim Blandy [Tue, 13 Jul 1993 03:21:39 +0000 (03:21 +0000)]
* autoload.el (generate-file-autoloads): Correctly detect when the
buffer receiving the autoload forms is in a parent of or the same
directory as FILE, even in the presence of symlinks.
Richard M. Stallman [Mon, 12 Jul 1993 23:32:43 +0000 (23:32 +0000)]
(Qundefined): New variable.
(syms_of_keyboard): Set up Qundefined.
(menu_bar_items): Don't reverse the items.
Process the maps in reverse order.
(menu_bar_item): If definition is `undefined',
delete any menu bar item already made, and don't make one.
Richard M. Stallman [Fri, 9 Jul 1993 20:46:42 +0000 (20:46 +0000)]
(rmail-output): If file is an Rmail file,
use rmail-output-to-rmail-file.
(rmail-output-to-rmail-file): If file exists
and is not an Rmail file, use rmail-output.
If we find an element in rmail-output-file-alist, eval it.
(rmail-file-p): New function.
(rmail-output-file-alist): Now contains expressions to eval.
Jim Blandy [Fri, 9 Jul 1993 19:44:58 +0000 (19:44 +0000)]
* etags.c (alloca): removed all references to it.
(main): now calls xnew instead of alloca for portability.
(../src/config.h): included only if HAVE_CONFIG_H.
(const): void definition removed--config.h takes care of it.
Richard M. Stallman [Fri, 9 Jul 1993 18:56:47 +0000 (18:56 +0000)]
(consider_token): was `==', now is `='.
(consider_token): DEFUNs now treated like funcs in ctags mode.
(LEVEL_OK_FOR_FUNCDEF): removed.
(C_entries): optimized the test that used LEVEL_OK_FOR_FUNCDEF.
(C_entries): removed a piece of useless code.
(C_entries): making typedef tags is delayed until a semicolon
is met. This handles "typedef int X, Y, Z;" correctly.
Richard M. Stallman [Fri, 9 Jul 1993 06:33:05 +0000 (06:33 +0000)]
(byte-compile-setq-default):
Generate a progn of calls to set-default, then compile it.
(byte-compile-file-form-defmumble): Put back second arg of
byte-compile-keep-pending, accidentally deleted before.