;;; cc-defs.el --- compile time definitions for CC Mode
-;; Copyright (C) 1985, 1987, 1992-2011 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1987, 1992-2013 Free Software Foundation, Inc.
;; Authors: 2003- Alan Mackenzie
;; 1998- Martin Stjernholm
\f
;;; Variables also used at compile time.
-(defconst c-version "5.32.2"
+(defconst c-version "5.32.5"
"CC Mode version number.")
(defconst c-version-sym (intern c-version))
`(int-to-char ,integer)
integer))
+(defmacro c-last-command-char ()
+ ;; The last character just typed. Note that `last-command-event' exists in
+ ;; both Emacs and XEmacs, but with confusingly different meanings.
+ (if (featurep 'xemacs)
+ 'last-command-char
+ 'last-command-event))
+
(defmacro c-sentence-end ()
;; Get the regular expression `sentence-end'.
(if (cc-bytecomp-fboundp 'sentence-end)
(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
`(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
;; 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,
;; 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.
;;
;; `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.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 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
(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
(eval form))
;; Only used at compile time - suppress "might not be defined at runtime".
-(declare-function cl-macroexpand-all "cl-extra" (form &optional env))
+(declare-function cl-macroexpand-all "cl" (form &optional env))
(defmacro c-lang-defconst (name &rest args)
"Set the language specific values of the language constant NAME.