(rmail): Bind coding-system-for-read to raw-text. Set the buffer
multibyte if necessary.
(rmail-convert-file): Call rmail-decode-babyl-format only when we
don't have to call rmail-convert-to-babyl-format.
(rmail-decode-babyl-format): If rmail-file-coding-system is nil,
detect it.
(rmail-get-new-mail): Bind rmail-enable-multibyte locally.
(rmail-convert-to-babyl-format): Check the value of
rmail-enable-multibyte instead of enable-multibyte-characters.
between make-variable-buffer-local and make-local-variable. Generalize.
(c-offsets-alist): Three new syntactic symbols: innamespace,
namespace-open, namespace-close. These support C++ namespace blocks.
Also, new syntactic symbol cpp-macro-cont, by default bound to
c-lineup-dont-change. This symbol is assigned to subsequent lines of
a multi-line C preprocess macro definition.
(c-style-alist): "jdk" style for conformance with Sun's JDK style.
(c-set-style-2, c-initialize-builtin-style): Don't special case
"cc-mode", it's a derived style. Fix setup of derived style
"cc-mode". Introduce the new default style "user" which contains all
user customizations.
imenu-case-fold-search to nil.
(java-mode): Set c-method-key to nil. I don't think this is necessary
for Java, and besides, the old value was inherited from Objective-C
which was clearly not right.
(c++-mode): Set c-extra-toplevel-key to c-C++-extra-toplevel-key.
(c-initialize-on-load): New variable, *not* customized.
make the variables local to the buffer (via make-local-variable).
(c-java-method-key): Variable deleted.
(c-C-extra-toplevel-key)
(c-C++-extra-toplevel-key, c-extra-toplevel-key): New variables
which parameterize the search for additional top-level enclosing
constructs.
(c-mode-base-map): c-mark-function moved back to M-C-h.
Don't narrow, just make a simple check against the given limit.
(c-collect-line-comments): New function.
(c-literal-limits): New function that finds the start and end pos
of a comment or string surrounding point.
(c-literal-limits-fast): A faster variant of `c-literal-limits'
for newer Emacsen where the state returned from
`parse-partial-sexp' contains the starting pos of the last literal.
(c-parse-state): Use (c-point 'bod) instead of
beginning-of-defun directly.
(c-guess-basic-syntax): Fixed a few byte compiler warnings.
(c-backward-to-start-of-do): Break infloop for
invalid code, e.g. when someone types while (TRUE) { at the top of
a buffer, we shouldn't hang when the { is typed!
(c-backward-to-start-of-if): Ensure never
move forward, not even if point < lim.
(c-search-uplist-for-classkey): When searching up for a class key,
instead of hardcoding the extended search for "extern", use the new
variable c-extra-toplevel-key, which is language dependent. For C++,
this variable includes the keyword "namespace" which will match C++
namespace introducing blocks.
(c-guess-basic-syntax): Support for recognizing C++ namespace
blocks, by elaborating on the mechanism used to find external
language blocks. Searches which hardcoded "extern" now use
c-extra-toplevel-key, a language dependent variable. Case clauses
that were modified: CASE 5A.1, CASE 5A.4, CASE 5F, CASE 5I, CASE
14A.
CASE 3: we can now determine whether we're at the beginning of a
cpp macro definition, or inside the middle of one. Set syntax to
'cpp-macro in the former case, 'cpp-macro-cont in the latter. In
both cases, the relpos is the beginning of the macro.
(c-forward-syntactic-ws): Added code that skips forward over
multi-line cpp macros.
(c-beginning-of-macro): Moved, and made into a defsubst. This
function can now actually find the beginning of a multi-line C
preprocessor macro.
(c-backward-syntactic-ws): Use c-beginning-of-macro to skip backwards
over multi-line macro definitions.
(c-in-literal, c-fast-in-literal): Use c-beginning-of-macro to
find out whether we're in a multi-line macro definition.
(c-fast-in-literal): Function which should be faster than
c-in-literal. In XEmacs, this uses buffer-syntactic-context.
(c-end-of-statement): Do not move by sentence in strings.
(c-beginning-of-statement): Major rewrite.
(c-beginning-of-defun, c-indent-defun):
Use (c-point 'bod) instead of beginning-of-defun directly.
(c-beginning-of-defun, c-end-of-defun): New commands.
(c-beginning-of-statement): When moving forward by sentences, because
we're either inside or at the start of a comment, be sure to limit
movement to only within the extent of the comment.
(c-electric-colon): Don't insert newlines before or after scope
operators, regardless of the value of c-hanging-colons.
(c-electric-brace): namespace-open and namespace-close braces can hang.
(c-comment-line-break-function): When breaking a
line-oriented comment, copy the comment leader from the previous
line instead of hardcoding it to "// ". This ensures that
whitespace between the slashes and the text is preserved.
(c-electric-pound, c-electric-brace)
(c-electric-slash, c-electric-star, c-electric-semi&comma)
(c-electric-colon, c-electric-lt-gt, c-scope-operator)
(c-electric-backspace, c-electric-delete)
(c-indent-command, c-indent-exp, c-indent-defun)
(c-backslash-region, c-fill-paragraph): Add "*" to interactive spec.
(c-fill-paragraph): regexp-quote the
fill-prefix when search forward for the end of line oriented comments.
(c-backslash-region): Do not preserve the zmacs region (XEmacs).
(c-indent-one-line-block): New indentation functions.
(c-semi&comma-no-newlines-before-nonblanks)
(c-semi&comma-no-newlines-for-oneline-inliners): New functions.
(c-lineup-dont-change): New lineup function that leaves the current
line's indentation unchanged. Used for the new cpp-macro-cont
syntactic symbol.
(info-lookup-minor-mode, turn-on-info-lookup):
Added minor mode interface.
(info-lookup-minor-mode-string): New variable.
(info-lookup-minor-mode-map): New variable.
Provide a work-around if the custom library is not available.
(info-lookup-other-window-flag)
(info-lookup-highlight-face): Variables customized.
(info-lookup-alist): No longer customizable.
(info-lookup-add-help, info-lookup-maybe-add-help): Interface
functions for adding new modes.
(info-lookup-add-help*): New function.
(info-lookup-symbol-alist, info-lookup-file-alist): Variables deleted.
This info is specified now by calling info-lookup-maybe-add-help
and info-lookup-add-help.
(bibtex-include-OPTkey): Add non-nil default :value
for function, so that it can be selected.
(bibtex-entry-format): Replace repeat with set.
(bibtex-mode-hook): Change :type to 'hook.
(bibtex-clean-entry-hook): Ditto.
(bibtex-add-entry-hook): Ditto.
(bibtex-autokey-before-presentation-hook): Change name to ->
`bibtex-autokey-before-presentation-function' as it is not hook.
(bibtex-autokey-get-namefield): Remove newlines unconditionally.
(bibtex-autokey): Fixed prefix.
(bibtex-user-optional-fields): Better `:type'.
(bibtex-autokey-names): Better `:type' and doc-fix.
(bibtex-mark-active): New function, taking care of Emacs variants.
(bibtex-run-with-idle-timer): Ditto.
(bibtex-mode-map): Change `[(control tab)]' to `[(meta tab)]'.
(bibtex-autokey-get-yearfield): Changed to accept year when year
field has field-delimiters. This is quick fix, there might
be better solution.
(bibtex-mode): Don't call idle timer with 0 seconds.
(bibtex-mode): Call easy-menu-add.
(bibtex-autokey-get-yearfield): Fixed problem with
parsing the year field.
(bibtex-comment-start): Font locking for comments added.
(autokey-name-case-convert, autokey-titleword-case-convert): Replace
autokey-preserve-case, adding flexibility to case conversion of author
names and titlewords.
(bibtex-autokey-get-titles): Non capitalized title words
are used for key generation as well.
(bibtex-member-of-regexp): Case is honoured for matches now.
(bibtex-autokey-titleword-ignore): Added entries provide compatibility
to former behaviour.
(bibtex-autokey-titleword-ignore): Title words found in
this list are always ignored (previously only at the beginning of the
title). Replaces bibtex-autokey-titleword-first-ignore.
(msb-modes-key): New variable.
(msb--mode-menu-cond, msb--aggregate-alist): New functions.
(msb--split-menus): Check if msb-max-file-menu-items is nil.
(msb--format-title): Remove extra / after ~.
(msb--choose-file-menu): Prevent looping when examining ange-ftp directory
paths.
Redundant (function ...) forms around lambda functions removed.
Update copyright year.
or if initial guess is already ambiguous.
(info-look-completion): New variable.
(info-lookup-symbol-alist):
Added support for latex-mode, perl-mode, awk-mode, emacs-lisp-mode.
(dsssl-imenu-generic-expression): Likewise
(scheme-mode-variables): Set imenu-syntax-alist.
(dsssl-mode): Remove `!' from font-lock-defaults. Set
imenu-syntax-alist.