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.
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.
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.
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.
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.
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.
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.
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.
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.
(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.