Mercurial > emacs
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 |