Support compilers that give a message each time the file being
compiled changes but don't include a file name each error message.
Speed up by searching for regexps one by one instead of combining.
(compile-internal): Takes more optional arguments. All five regexp
alists can be given as argument.
Change name of variable regexp-alist to error-regexp-alist. Change
some local variables directly by setq instead of rebinding by let.
(compilation-shell-minor-mode): New minor mode.
Similar to compilation-minor-mode, but key bindings don't
collide with shell mode.
(compilation-shell-minor-mode-map, compilation-shell-minor-mode):
New variables.
(compile-auto-highlight): Doc fix.
(compilation-error-regexp-alist): Removed unnecessary line break
in first regexp. Replaced \\(\\|.* on \\) by \\(.* on \\)? in
regexp for Absoft FORTRAN 77 Compiler 3.1.3. Added regexp for
SPARCcompiler Pascal. Divided long line in regexp for Cray C
compiler error messages. Made comment fit in line at regexp for
Sun Ada (VADS, Solaris). FILE-IDX may be nil, meaning an
error message with no file name, so the file name must be taken
from an earlier message. LINE-IDX may be a function which is
called with two arguments the file name and column strings and
returns an error position descriptor.
(compilation-enter-directory-regexp-alist)
(compilation-leave-directory-regexp-alist): New variables.
(compilation-file-regexp-alist)
(compilation-nomessage-regexp-alist): New variables.
(grep-regexp-alist): Removed unnecessary ^ at beginning of regexp.
(compilation-enter-directory-regexp)
(compilation-leave-directory-regexp): Variables deleted.
Replaced by compilation-enter-directory-regexp-alist and
compilation-leave-directory-regexp-alist.
(compilation-buffer-p): Return true also for buffer in
compilation-shell-minor-mode.
(compilation-next-error-locus): Split a long line.
(count-regexp-groupings): Comment about this function not being
needed any more.
(compilation-current-file, compilation-regexps); New variables.
(compilation-parse-errors): Large parts rewritten. Don't put the
regexps together in one large regexp, instead match them one by one.
Support the generalized subexpression indices.
(compile-collect-regexps, compile-buffer-substring): New functions
supporting compilation-parse-errors.
(rmail-msgref-vector): New variable.
Holds, for each message, a cons cell which contains the message number
and which relocates if the message number changes.
(rmail-forget-messages): Clear rmail-msgref-vector.
(rmail-variables): Make rmail-msgref-vector buffer-local.
(rmail-count-new-messages): Extend rmail-msgref-vector.
(rmail-set-message-counters): Initialize rmail-msgref-vector.
(rmail-only-expunge): Update rmail-msgref-vector.
Don't look for mail-mode buffers specially.
(rmail-reply): Use rmail-msgref-vector element as arg.
(rmail-forward, rmail-retry-failure): Likewise.
(rmail-mark-message): Accept an element of rmail-mark-message as arg.
(XTmouse_position, x_term_init):
Save value of x_catch_errors and pass to x_uncatch_errors.
(x_catch_errors): Use specpdl so can be nested.
Use a Lisp string to as the buffer for the X message.
(x_uncatch_errors, x_had_errors_p, x_check_errors): Related changes.
(x_catch_errors_unwind): New function.
(x_error_quitter): Call x_error_catcher if appropriate.
(x_error_message_string): New variable.
(syms_of_xterm): Defvar it.
(x_caught_error_message): Variable deleted.
(X_ERROR_MESSAGE_SIZE): Renamed from X_CAUGHT_ERROR_MESSAGE_SIZE.
(x_error_handler): New function, calls x_error_quitter or ..._checker.
(x_initialize): Use x_error_handler as error handler for X.
(read_process_output): Update opoint, old_begv and old_zv
based on actual buffer change rather than size of string.
old_begv and old_zv are now ints.
(status_notify): Likewise for opoint.
* etags.c [TeX_named_tokens]: Set to FALSE if undefined.
(struct linebuffer): New member `len' is the length of the string.
(find_entries, Pascal_functions, TeX_functions, TEX_getit):
Use it instead of strlen.
(TEX_getit): Declare and define unconditionally as static.
(TeX_functions): Use if instead of #if TeX_named_tokens.
(add_regex): Set RE_INTERVALS flag for regex compilation.
(substitute): Code cleanup.
(readline_internal): Code cleanup, set new member `len'.
(readline): Bug corrected.
(quoted-insert-character-offset): New variable.
(quoted-insert): Convert characters 0200 - 0377 to 04200 - 04377,
so that users get the same results they are used to.
(dsssl-sgml-declaration): Doc fix.
(dsssl-mode): Use stringp to check dsssl-sgml-declaration.
(style, root): Put scheme-indent-function 1.
(dsssl-font-lock-keywords): Use make-regexp version.
(rmail-reply): Pass Rmail buffer and msgnum
as arguments within the mail-send action.
(rmail-forward, rmail-retry-failure): Likewise.
(rmail-mark-message): New function.
(rmail-only-expunge): Update the new kind of action.
(rmail-send-actions-rmail-msg-number)
(rmail-send-actions-rmail-buffer): Variables no longer used.
Delete setting of byte-compile-dynamic,
byte-compile-dynamic-docstrings and byte-optimize.
(with-current-buffer): Duplicate definition deleted.
(save-buffer-state, do-while): Move defmacros to top level.
Delete setting of byte-compile-dynamic,
byte-compile-dynamic-docstrings and byte-optimize.
(fast-lock-save-facep, save-buffer-state): Move defmacros to top level.
(sgml-value): Use 'identity as default value.
(sgml-mode): Doc fix.
(sgml-name-8bit-mode): Tell the user if set or reset.
(sgml-tag): Doc fix.
(sgml-tag): Protect "<" from skeleton-transformation.
(sgml-attributes): Doc fix.
(sgml-attributes): Square brackets removed from prompt.
(sgml-attributes): Arg ALIST renamed to TAG.
(sgml-attributes): Apply skeleton-transformation when necessary.
(sgml-value): Doc added.
(sgml-value): Square brackets removed from prompt.
(html-tag-alist): New variable 1-7, variable `list' changed.
(html-tag-alist)<dir>, <menu>: Use new value of `list'.
(html-tag-alist)<font>: Fixed (doc of sgml-tag-alist needs fixing).
(html-tag-alist)<ol>, <ul>: Fixed.
(html-tag-alist)<fn>: Commented out.