comparison etc/NEWS @ 67312:30f08a0ab43b

Correct some spelling.
author Alan Mackenzie <acm@muc.de>
date Sun, 04 Dec 2005 21:00:59 +0000
parents d501300a9986
children a0ed2cb60ba3
comparison
equal deleted inserted replaced
67311:335032baf5de 67312:30f08a0ab43b
2003 `eval-print-last-sexp' (C-j) and some edebug evaluation functions. 2003 `eval-print-last-sexp' (C-j) and some edebug evaluation functions.
2004 2004
2005 +++ 2005 +++
2006 ** CC mode changes. 2006 ** CC mode changes.
2007 2007
2008 *** The CC Mode manual has been extensively revised.
2009 The information about using CC Mode has been separated from the larger
2010 and more difficult chapters about configuration.
2011
2012 *** Changes in Key Sequences
2013 **** c-toggle-auto-hungry-state is no longer bound to C-c C-t.
2014
2015 **** c-toggle-hungry-state is no longer bound to C-c C-d.
2016 This binding has been taken over by c-hungry-delete-forwards.
2017
2018 **** c-toggle-auto-state (C-c C-t) has been renamed to c-toggle-auto-newline.
2019 c-toggle-auto-state remains as an alias.
2020
2021 **** The new commands c-hungry-backspace and c-hungry-delete-forwards
2022 have key bindings C-c C-DEL (or C-c DEL, for the benefit of TTYs) and
2023 C-c C-d (or C-c C-<delete> or C-c <delete>) respectively. These
2024 commands delete entire blocks of whitespace with a single
2025 key-sequence. [N.B. "DEL" is the <backspace> key.]
2026
2027 **** The new command c-toggle-electric-mode is bound to C-c C-l.
2028
2029 **** The new command c-subword-mode is bound to C-c C-w.
2030
2031 *** C-c C-s (`c-show-syntactic-information') now highlights the anchor
2032 position(s).
2033
2034 *** New Minor Modes
2035 **** Electric Minor Mode toggles the electric action of non-alphabetic keys.
2036 The new command c-toggle-electric-mode is bound to C-c C-l. Turning the
2037 mode off can be helpful for editing chaotically indented code and for
2038 users new to CC Mode, who sometimes find electric indentation
2039 disconcerting. Its current state is displayed in the mode line with an
2040 'l', e.g. "C/al".
2041
2042 **** Subword Minor Mode makes Emacs recognize word boundaries at upper case
2043 letters in StudlyCapsIdentifiers. You enable this feature by C-c C-w. It can
2044 also be used in non-CC Mode buffers. :-) Contributed by Masatake YAMATO.
2045
2046 *** New clean-ups
2047
2048 **** `comment-close-slash'.
2049 With this clean-up, a block (i.e. c-style) comment can be terminated by
2050 typing a slash at the start of a line.
2051
2052 **** `c-one-liner-defun'
2053 This clean-up compresses a short enough defun (for example, an AWK
2054 pattern/action pair) onto a single line. "Short enough" is configurable.
2055
2008 *** Font lock support. 2056 *** Font lock support.
2009 CC Mode now provides font lock support for all its languages. This 2057 CC Mode now provides font lock support for all its languages. This
2010 supersedes the font lock patterns that have been in the core font lock 2058 supersedes the font lock patterns that have been in the core font lock
2011 package for C, C++, Java and Objective-C. Like indentation, font 2059 package for C, C++, Java and Objective-C. Like indentation, font
2012 locking is done in a uniform way across all languages (except the new 2060 locking is done in a uniform way across all languages (except the new
2022 demanding analysis which can be slow on older hardware, and it can 2070 demanding analysis which can be slow on older hardware, and it can
2023 therefore be disabled by choosing a lower decoration level with the 2071 therefore be disabled by choosing a lower decoration level with the
2024 variable font-lock-maximum-decoration. 2072 variable font-lock-maximum-decoration.
2025 2073
2026 Note that the most demanding font lock level has been tuned with lazy 2074 Note that the most demanding font lock level has been tuned with lazy
2027 fontification in mind, i.e. there should be a support mode that waits 2075 fontification in mind; Just-In-Time-Lock mode should be enabled for
2028 with the fontification until the text is actually shown 2076 the highest font lock level (by default, it is). Fontifying a file
2029 (e.g. Just-in-time Lock mode, which is the default, or Lazy Lock 2077 with several thousand lines in one go can take the better part of a
2030 mode). Fontifying a file with several thousand lines in one go can 2078 minute.
2031 take the better part of a minute.
2032 2079
2033 **** The (c|c++|objc|java|idl|pike)-font-lock-extra-types variables 2080 **** The (c|c++|objc|java|idl|pike)-font-lock-extra-types variables
2034 are now used by CC Mode to recognize identifiers that are certain to 2081 are now used by CC Mode to recognize identifiers that are certain to
2035 be types. (They are also used in cases that aren't related to font 2082 be types. (They are also used in cases that aren't related to font
2036 locking.) At the maximum decoration level, types are often recognized 2083 locking.) At the maximum decoration level, types are often recognized
2041 There is a "plugin" system to fontify documentation comments like 2088 There is a "plugin" system to fontify documentation comments like
2042 Javadoc and the markup within them. It's independent of the host 2089 Javadoc and the markup within them. It's independent of the host
2043 language, so it's possible to e.g. turn on Javadoc font locking in C 2090 language, so it's possible to e.g. turn on Javadoc font locking in C
2044 buffers. See the variable c-doc-comment-style for details. 2091 buffers. See the variable c-doc-comment-style for details.
2045 2092
2046 Currently two kinds of doc comment styles are recognized: Suns Javadoc 2093 Currently three kinds of doc comment styles are recognized: Sun's
2047 and Autodoc which is used in Pike. This is by no means a complete 2094 Javadoc, Autodoc (which is used in Pike) and GtkDoc (used in C). (The
2048 list of the most common tools; if your doc comment extractor of choice 2095 last was contributed by Masatake YAMATO). This is by no means a
2049 is missing then please drop a note to bug-cc-mode@gnu.org. 2096 complete list of the most common tools; if your doc comment extractor
2097 of choice is missing then please drop a note to bug-cc-mode@gnu.org.
2050 2098
2051 **** Better handling of C++ templates. 2099 **** Better handling of C++ templates.
2052 As a side effect of the more accurate font locking, C++ templates are 2100 As a side effect of the more accurate font locking, C++ templates are
2053 now handled much better. The angle brackets that delimit them are 2101 now handled much better. The angle brackets that delimit them are
2054 given parenthesis syntax so that they can be navigated like other 2102 given parenthesis syntax so that they can be navigated like other
2079 which start actions, user-defined functions, or compound statements are 2127 which start actions, user-defined functions, or compound statements are
2080 placed on the same line as the associated construct; the matching `}'s 2128 placed on the same line as the associated construct; the matching `}'s
2081 are normally placed under the start of the respective pattern, function 2129 are normally placed under the start of the respective pattern, function
2082 definition, or structured statement. 2130 definition, or structured statement.
2083 2131
2084 The predefined indentation functions haven't yet been adapted for AWK 2132 The predefined line-up functions haven't yet been adapted for AWK
2085 mode, though some of them may work serendipitously. There shouldn't be 2133 mode, though some of them may work serendipitously. There shouldn't
2086 any problems writing custom indentation functions for AWK mode. 2134 be any problems writing custom indentation functions for AWK mode.
2087
2088 The command C-c C-q (c-indent-defun) hasn't yet been adapted for AWK,
2089 though in practice it works properly nearly all the time. Should it
2090 fail, explicitly set the region around the function (using C-u C-SPC:
2091 C-M-h probably won't work either) then do C-M-\ (indent-region).
2092 2135
2093 **** Font Locking 2136 **** Font Locking
2094 There is a single level of font locking in AWK mode, rather than the 2137 There is a single level of font locking in AWK mode, rather than the
2095 three distinct levels the other modes have. There are several 2138 three distinct levels the other modes have. There are several
2096 idiosyncrasies in AWK mode's font-locking due to the peculiarities of 2139 idiosyncrasies in AWK mode's font-locking due to the peculiarities of
2097 the AWK language itself. 2140 the AWK language itself.
2098 2141
2099 **** Comment Commands 2142 **** Comment and Movement Commands
2100 M-; (indent-for-comment) works fine. None of the other CC Mode 2143 These commands all work for AWK buffers. The notion of "defun" has
2101 comment formatting commands have yet been adapted for AWK mode. 2144 been augmented to include AWK pattern-action pairs - the standard
2102 2145 "defun" commands on key sequences C-M-a, C-M-e, and C-M-h use this
2103 **** Movement Commands 2146 extended definition.
2104 Most of the movement commands work in AWK mode. The most important 2147
2105 exceptions are M-a (c-beginning-of-statement) and M-e 2148 **** "awk" style, Auto-newline Insertion and Clean-ups
2106 (c-end-of-statement) which haven't yet been adapted. 2149 A new style, "awk" has been introduced, and this is now the default
2107 2150 style for AWK code. With auto-newline enabled, the clean-up
2108 The notion of "defun" has been augmented to include AWK pattern-action 2151 c-one-liner-defun (see above) is useful.
2109 pairs. C-M-a (c-awk-beginning-of-defun) and C-M-e (c-awk-end-of-defun)
2110 recognize these pattern-action pairs, as well as user defined
2111 functions.
2112
2113 **** Auto-newline Insertion and Clean-ups
2114 Auto-newline insertion hasn't yet been adapted for AWK. Some of
2115 the clean-ups can actually convert good AWK code into syntactically
2116 invalid code. These features are best disabled in AWK buffers.
2117 2152
2118 *** New syntactic symbols in IDL mode. 2153 *** New syntactic symbols in IDL mode.
2119 The top level constructs "module" and "composition" (from CIDL) are 2154 The top level constructs "module" and "composition" (from CIDL) are
2120 now handled like "namespace" in C++: They are given syntactic symbols 2155 now handled like "namespace" in C++: They are given syntactic symbols
2121 module-open, module-close, inmodule, composition-open, 2156 module-open, module-close, inmodule, composition-open,
2122 composition-close, and incomposition. 2157 composition-close, and incomposition.
2123 2158
2124 *** New functions to do hungry delete without enabling hungry delete mode. 2159 *** New functions to do hungry delete without enabling hungry delete mode.
2125 The functions `c-hungry-backspace' and `c-hungry-delete-forward' can be 2160 The new functions `c-hungry-backspace' and `c-hungry-delete-forward'
2126 bound to keys to get this feature without toggling a mode. 2161 provide hungry deletion without having to toggle a mode. They are
2162 bound to C-c C-DEL and C-c C-d (and several variants, for the benefit
2163 of different keyboard setups. See "Changes in key sequences" above).
2127 2164
2128 *** Better control over `require-final-newline'. 2165 *** Better control over `require-final-newline'.
2129 2166
2130 The variable `c-require-final-newline' specifies which of the modes 2167 The variable `c-require-final-newline' specifies which of the modes
2131 implemented by CC mode should insert final newlines. Its value is a 2168 implemented by CC mode should insert final newlines. Its value is a
2149 ((inclass 11) (topmost-intro 13)) 2186 ((inclass 11) (topmost-intro 13))
2150 2187
2151 In some cases there are more than one position given for a syntactic 2188 In some cases there are more than one position given for a syntactic
2152 symbol. 2189 symbol.
2153 2190
2154 This change might affect code that call `c-guess-basic-syntax' directly, 2191 This change might affect code that calls `c-guess-basic-syntax'
2155 and custom lineup functions if they use `c-syntactic-context'. However, 2192 directly, and custom lineup functions if they use
2156 the argument given to lineup functions is still a single cons cell 2193 `c-syntactic-context'. However, the argument given to lineup
2157 with nil or an integer in the cdr. 2194 functions is still a single cons cell with nil or an integer in the
2195 cdr.
2158 2196
2159 *** API changes for derived modes. 2197 *** API changes for derived modes.
2160 2198
2161 There have been extensive changes "under the hood" which can affect 2199 There have been extensive changes "under the hood" which can affect
2162 derived mode writers. Some of these changes are likely to cause 2200 derived mode writers. Some of these changes are likely to cause
2163 incompatibilities with existing derived modes, but on the other hand 2201 incompatibilities with existing derived modes, but on the other hand
2164 care has now been taken to make it possible to extend and modify CC 2202 care has now been taken to make it possible to extend and modify CC
2165 Mode with less risk of such problems in the future. 2203 Mode with less risk of such problems in the future.
2166 2204
2167 **** New language variable system. 2205 **** New language variable system.
2168 See the comment blurb near the top of cc-langs.el. 2206 These are variables whose values vary between CC Mode's different
2207 languages. See the comment blurb near the top of cc-langs.el.
2169 2208
2170 **** New initialization functions. 2209 **** New initialization functions.
2171 The initialization procedure has been split up into more functions to 2210 The initialization procedure has been split up into more functions to
2172 give better control: `c-basic-common-init', `c-font-lock-init', and 2211 give better control: `c-basic-common-init', `c-font-lock-init', and
2173 `c-init-language-vars'. 2212 `c-init-language-vars'.
2213 This applies to the newlines inserted by the auto-newline mode, and to 2252 This applies to the newlines inserted by the auto-newline mode, and to
2214 `c-context-line-break' and `c-context-open-line'. 2253 `c-context-line-break' and `c-context-open-line'.
2215 2254
2216 **** Better alignment of line continuation backslashes. 2255 **** Better alignment of line continuation backslashes.
2217 `c-backslash-region' tries to adapt to surrounding backslashes. New 2256 `c-backslash-region' tries to adapt to surrounding backslashes. New
2218 variable `c-backslash-max-column' which put a limit on how far out 2257 variable `c-backslash-max-column' puts a limit on how far out
2219 backslashes can be moved. 2258 backslashes can be moved.
2220 2259
2221 **** Automatic alignment of line continuation backslashes. 2260 **** Automatic alignment of line continuation backslashes.
2222 This is controlled by the new variable `c-auto-align-backslashes'. It 2261 This is controlled by the new variable `c-auto-align-backslashes'. It
2223 affects `c-context-line-break', `c-context-open-line' and newlines 2262 affects `c-context-line-break', `c-context-open-line' and newlines
2224 inserted in Auto-Newline mode. 2263 inserted in Auto-Newline mode.
2264
2225 **** Line indentation works better inside macros. 2265 **** Line indentation works better inside macros.
2226
2227 Regardless whether syntactic indentation and syntactic indentation 2266 Regardless whether syntactic indentation and syntactic indentation
2228 inside macros are enabled or not, line indentation now ignores the 2267 inside macros are enabled or not, line indentation now ignores the
2229 line continuation backslashes. This is most noticeable when syntactic 2268 line continuation backslashes. This is most noticeable when syntactic
2230 indentation is turned off and there are empty lines (save for the 2269 indentation is turned off and there are empty lines (save for the
2231 backslash) in the macro. 2270 backslash) in the macro.
2232 2271
2233 *** indent-for-comment is more customizable. 2272 *** indent-for-comment is more customizable.
2234 The behavior of M-; (indent-for-comment) is now configurable through 2273 The behavior of M-; (indent-for-comment) is now configurable through
2235 the variable `c-indent-comment-alist'. The indentation behavior based 2274 the variable `c-indent-comment-alist'. The indentation behavior is
2236 on the preceding code on the line, e.g. to get two spaces after #else 2275 based on the preceding code on the line, e.g. to get two spaces after
2237 and #endif but indentation to `comment-column' in most other cases 2276 #else and #endif but indentation to `comment-column' in most other
2238 (something which was hardcoded earlier). 2277 cases (something which was hardcoded earlier).
2239 2278
2240 *** New function `c-context-open-line'. 2279 *** New function `c-context-open-line'.
2241 It's the open-line equivalent of `c-context-line-break'. 2280 It's the open-line equivalent of `c-context-line-break'.
2242 2281
2243 *** New lineup functions 2282 *** New lineup functions