summaryrefslogtreecommitdiff
path: root/lisp/progmodes/cc-vars.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/progmodes/cc-vars.el')
-rw-r--r--lisp/progmodes/cc-vars.el79
1 files changed, 56 insertions, 23 deletions
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index b33fea0b48c..40a43c32ed9 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -179,7 +179,7 @@ STYLE stands for the choice where the value is taken from some
style setting. PREAMBLE is optionally prepended to FOO; that is,
if FOO contains :tag or :value, the respective two-element list
component is ignored."
- (declare (debug (symbolp form stringp &rest)))
+ (declare (debug (symbolp form stringp &rest)) (indent defun))
(let* ((expanded-doc (concat doc "
This is a style variable. Apart from the valid values described
@@ -1227,7 +1227,7 @@ can always override the use of `c-default-style' by making calls to
;; Anchor pos: None.
))
(defcustom c-offsets-alist nil
- "Association list of syntactic element symbols and indentation offsets.
+ "Alist of syntactic element symbols and indentation offsets.
As described below, each cons cell in this list has the form:
(SYNTACTIC-SYMBOL . OFFSET)
@@ -1427,23 +1427,23 @@ localized, they cannot be made global again.
This variable must be set appropriately before CC Mode is loaded.
The list of variables to buffer localize are:
- c-basic-offset
- c-comment-only-line-offset
- c-indent-comment-alist
- c-indent-comments-syntactically-p
- c-block-comment-prefix
- c-comment-prefix-regexp
- c-doc-comment-style
- c-cleanup-list
- c-hanging-braces-alist
- c-hanging-colons-alist
- c-hanging-semi&comma-criteria
- c-backslash-column
- c-backslash-max-column
- c-label-minimum-indentation
- c-offsets-alist
- c-special-indent-hook
- c-indentation-style"
+ `c-basic-offset'
+ `c-comment-only-line-offset'
+ `c-indent-comment-alist'
+ `c-indent-comments-syntactically-p'
+ `c-block-comment-prefix'
+ `c-comment-prefix-regexp'
+ `c-doc-comment-style'
+ `c-cleanup-list'
+ `c-hanging-braces-alist'
+ `c-hanging-colons-alist'
+ `c-hanging-semi&comma-criteria'
+ `c-backslash-column'
+ `c-backslash-max-column'
+ `c-label-minimum-indentation'
+ `c-offsets-alist'
+ `c-special-indent-hook'
+ `c-indentation-style'"
:type 'boolean
:safe 'booleanp
:group 'c)
@@ -1524,6 +1524,39 @@ working due to this change."
:type 'boolean
:group 'c)
+(defcustom c-type-finder-time-slot 0.05
+ "The length in seconds of a background type search time slot.
+
+In CC Mode modes, \"found types\" wouldn't always get cleanly
+fontified without the background searching for them which happens
+in the seconds after starting Emacs or initializing the major
+mode.
+
+This background searching can be disabled by setting this option
+to nil."
+ :type '(choice (const :tag "disabled" nil)
+ number)
+ :group 'c)
+
+(defcustom c-type-finder-repeat-time 0.1
+ "The interval, in seconds, at which background type searches occur.
+
+This interval must be greater than `c-type-finder-time-slot'."
+ :type 'number
+ :group 'c)
+
+(defcustom c-type-finder-chunk-size 1000
+ "The size, in characters, of a chunk for background type search.
+
+Chunks of this size are searched atomically for \"found types\"
+just after starting Emacs or initializing the major mode.
+
+This chunk size is a balance between efficiency (with larger
+values) and responsiveness of the keyboard (with smaller values).
+See also `c-type-finder-time-slot'."
+ :type 'integer
+ :group 'c)
+
(define-widget 'c-extra-types-widget 'radio
"Internal CC Mode widget for the `*-font-lock-extra-types' variables."
:args '((const :tag "none" nil)
@@ -1770,7 +1803,7 @@ variables.")
; all XEmacsen.
((null c-macro-names-with-semicolon)
nil)
- (t (error "c-make-macro-with-semi-re: invalid \
+ (t (error "c-make-macro-with-semi-re: Invalid \
c-macro-names-with-semicolon: %s"
c-macro-names-with-semicolon))))))
@@ -1864,13 +1897,13 @@ Set from `c-comment-prefix-regexp' at mode initialization.")
(defvar c-string-par-start
;; (concat "\\(" (default-value 'paragraph-start) "\\)\\|[ \t]*\\\\$")
"\f\\|[ \t]*\\\\?$"
- "Value of paragraph-start used when scanning strings.
+ "Value of `paragraph-start' used when scanning strings.
It treats escaped EOLs as whitespace.")
(defvar c-string-par-separate
;; (concat "\\(" (default-value 'paragraph-separate) "\\)\\|[ \t]*\\\\$")
"[ \t\f]*\\\\?$"
- "Value of paragraph-separate used when scanning strings.
+ "Value of `paragraph-separate' used when scanning strings.
It treats escaped EOLs as whitespace.")
(defvar c-sentence-end-with-esc-eol
@@ -1878,7 +1911,7 @@ It treats escaped EOLs as whitespace.")
;; N.B.: "$" would be illegal when not enclosed like "\\($\\)".
"\\|" "[.?!][]\"')}]* ?\\\\\\($\\)[ \t\n]*"
"\\)")
- "Value used like sentence-end used when scanning strings.
+ "Value used like `sentence-end' used when scanning strings.
It treats escaped EOLs as whitespace.")