version that returns a sigset_t.
(sigpause) [POSIX_SIGNALS]: Unconditionally define in terms of
sigsuspend. Don't redefine SIGEMPTYMASK.
(sys_sigpause): Don't declare.
(temp_mask): Don't declare.
(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.
(current_column_1): Don't follow a display table for a heading
byte of a multibyte character. Use the macro
MULTIBYTE_BYTES_WIDTH.
(Fmove_to_column): Likewise.
(compute_motion): Likewise. Handling of wide-column character
fixed.
(ENCODE_SINGLE_SHIFT_2, ENCODE_SINGLE_SHIFT_3,
encode_coding_iso2022, decode_coding_sjis_big5,
encode_coding_sjis_big5, decode_eol, encode_eol, decode_coding,
encode_coding): Likewise.
(shrink_decoding_region, shrink_encoding_region): Do not skip
non-ASCII code in any cases. Bug fix for getting starting address
from BEG.
(code_convert_region): Sync character positions correctly by
paying attention to coding->fake_multibyte.
(code_convert_string): Set number of character and bytes just
processed in members of CODING.
(code_convert_string): Adjusted for the change of
code_convert_region.
(code_convert_region1): Likewise.
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.