X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/266a86bd7fedf743225c2497956b73ecb2245196..d2c32364fd1873a6e9cfa52d2531dfbe500ad297:/lisp/progmodes/cc-defs.el diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el index 147a0e2dc2..8bccb44f30 100644 --- a/lisp/progmodes/cc-defs.el +++ b/lisp/progmodes/cc-defs.el @@ -1,8 +1,6 @@ ;;; cc-defs.el --- compile time definitions for CC Mode -;; Copyright (C) 1985, 1987, 1992, 1993, 1994, 1995, 1996, 1997, 1998, -;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 -;; Free Software Foundation, Inc. +;; Copyright (C) 1985, 1987, 1992-2012 Free Software Foundation, Inc. ;; Authors: 2003- Alan Mackenzie ;; 1998- Martin Stjernholm @@ -95,7 +93,7 @@ ;;; Variables also used at compile time. -(defconst c-version "5.31.8" +(defconst c-version "5.32.3" "CC Mode version number.") (defconst c-version-sym (intern c-version)) @@ -371,7 +369,7 @@ to it is returned. This function does not modify the point or the mark." (put 'c-safe 'lisp-indent-function 0) (defmacro c-int-to-char (integer) - ;; In GNU Emacs, a character is an integer. In XEmacs, a character is a + ;; In Emacs, a character is an integer. In XEmacs, a character is a ;; type distinct from an integer. Sometimes we need to convert integers to ;; characters. `c-int-to-char' makes this conversion, if necessary. (if (fboundp 'int-to-char) @@ -475,7 +473,7 @@ various buffer change hooks." (let ((saved-undo-list (elt saved-state 0))) (if (eq buffer-undo-list saved-undo-list) - ;; No change was done afterall. + ;; No change was done after all. (setq buffer-undo-list (cdr saved-undo-list)) (if keep @@ -557,7 +555,7 @@ certain situations." `(c-forward-sexp ,(if (numberp count) (- count) `(- ,count)))) (defmacro c-safe-scan-lists (from count depth &optional limit) - "Like `scan-lists' but returns nil instead of signalling errors + "Like `scan-lists' but returns nil instead of signaling errors for unbalanced parens. A limit for the search may be given. FROM is assumed to be on the @@ -746,22 +744,23 @@ be after it." ;; V i r t u a l S e m i c o l o n s ;; ;; In most CC Mode languages, statements are terminated explicitly by -;; semicolons or closing braces. In some of the CC modes (currently only AWK -;; Mode (April 2004)), statements are (or can be) terminated by EOLs. Such a -;; statement is said to be terminated by a "virtual semicolon" (VS). A -;; statement terminated by an actual semicolon or brace is never considered to -;; have a VS. +;; semicolons or closing braces. In some of the CC modes (currently AWK Mode +;; and certain user-specified #define macros in C, C++, etc. (November 2008)), +;; statements are (or can be) terminated by EOLs. Such a statement is said to +;; be terminated by a "virtual semicolon" (VS). A statement terminated by an +;; actual semicolon or brace is never considered to have a VS. ;; ;; The indentation engine (or whatever) tests for a VS at a specific position ;; by invoking the macro `c-at-vsemi-p', which in its turn calls the mode ;; specific function (if any) which is the value of the language variable -;; `c-at-vsemi-p-fn'. The actual details of what constitutes a VS in a -;; language are thus encapsulated in code specific to that language -;; (e.g. cc-awk.el). `c-at-vsemi-p' returns non-nil if point (or the optional -;; parameter POS) is at a VS, nil otherwise. +;; `c-at-vsemi-p-fn'. This function should only use "low-level" features of +;; CC Mode, i.e. features which won't trigger infinite recursion. ;-) The +;; actual details of what constitutes a VS in a language are thus encapsulated +;; in code specific to that language (e.g. cc-awk.el). `c-at-vsemi-p' returns +;; non-nil if point (or the optional parameter POS) is at a VS, nil otherwise. ;; ;; The language specific function might well do extensive analysis of the -;; source text, and may use a cacheing scheme to speed up repeated calls. +;; source text, and may use a caching scheme to speed up repeated calls. ;; ;; The "virtual semicolon" lies just after the last non-ws token on the line. ;; Like POINT, it is considered to lie between two characters. For example, @@ -775,7 +774,7 @@ be after it." ;; In addition to `c-at-vsemi-p-fn', a mode may need to supply a function for ;; `c-vsemi-status-unknown-p-fn'. The macro `c-vsemi-status-unknown-p' is a ;; rather recondite kludge. It exists because the function -;; `c-beginning-of-statement-1' sometimes tests for VSs as an optimisation, +;; `c-beginning-of-statement-1' sometimes tests for VSs as an optimization, ;; but `c-at-vsemi-p' might well need to call `c-beginning-of-statement-1' in ;; its calculations, thus potentially leading to infinite recursion. ;; @@ -785,7 +784,7 @@ be after it." ;; `c-beginning-of-statement-1'. `c-vsemi-status-unknown-p' may not itself ;; call `c-beginning-of-statement-1'. ;; -;; The macro `c-vsemi-status-unknown-p' will typically check the cacheing +;; The macro `c-vsemi-status-unknown-p' will typically check the caching ;; scheme used by the `c-at-vsemi-p-fn', hence the name - the status is ;; "unknown" if there is no cache entry current for the line. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1250,7 +1249,7 @@ been put there by c-put-char-property. POINT remains unchanged." ;; which introduces a CPP construct and every EOL (or EOB, or character ;; preceding //, etc.) which terminates it. We can instantly "comment ;; out" all CPP constructs by giving `c-cpp-delimiter' a syntax-table -;; propery '(14) (generic comment delimiter). +;; property '(14) (generic comment delimiter). (defmacro c-set-cpp-delimiters (beg end) ;; This macro does a hidden buffer change. `(progn @@ -1819,9 +1818,7 @@ system." (t ;; Being evaluated interactively. (buffer-file-name))))) - (and file - (file-name-sans-extension - (file-name-nondirectory file))))) + (and file (file-name-base file)))) (defmacro c-lang-defconst-eval-immediately (form) "Can be used inside a VAL in `c-lang-defconst' to evaluate FORM @@ -2259,5 +2256,4 @@ quoted." (cc-provide 'cc-defs) -;; arch-tag: 3bb2629d-dd84-4ff0-ad39-584be0fe3cda ;;; cc-defs.el ends here