?
Current Path : /usr/share/emacs/24.3/lisp/progmodes/ |
Linux gator3171.hostgator.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 |
Current File : //usr/share/emacs/24.3/lisp/progmodes/cc-defs.elc |
;ELC ;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:17 2024 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/progmodes/cc-defs.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\302\303!\304U\203 \305\306!\204% \307\310!\203 \311\312!\204% \313\312\314\315\314$\210\314\207" [require regexp-opt regexp-opt-depth "\\(\\(\\)\\)" 2 fboundp push featurep cc-bytecomp cc-bytecomp-load "cc-fix" load nil t] 5) #@25 CC Mode version number. (defconst c-version "5.32.4" (#$ . 814)) (defconst c-version-sym (intern c-version)) #@400 Non-nil for all buffers with a major mode derived from CC Mode. Otherwise, this variable is nil. I.e. this variable is non-nil for `c-mode', `c++-mode', `objc-mode', `java-mode', `idl-mode', `pike-mode', `awk-mode', and any other non-CC Mode mode that calls `c-initialize-cc-mode'. The value is the mode symbol itself (i.e. `c-mode' etc) of the original CC Mode mode, or just t if it's not known. (defvar c-buffer-is-cc-mode nil (#$ . 930)) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local c-buffer-is-cc-mode put permanent-local t] 4) (defvar c-inside-eval-when-compile nil) #@238 Like `progn', but evaluates the body at compile time. The result of the body appears to the compiler as a quoted constant. This variant works around bugs in `eval-when-compile' in various (X)Emacs versions. See cc-defs.el for details. (defalias 'cc-eval-when-compile '(macro . #[(&rest body) "\203 \302 B\207\303\304\305\306\307 BBDDD\207" [c-inside-eval-when-compile body progn eval-when-compile eval quote let ((c-inside-eval-when-compile t))] 6 (#$ . 1542)])) (put 'cc-eval-when-compile 'lisp-indent-hook 0) #@757 Return the value of certain commonly referenced POSITIONs relative to POINT. The current point is used if POINT isn't specified. POSITION can be one of the following symbols: `bol' -- beginning of line `eol' -- end of line `bod' -- beginning of defun `eod' -- end of defun `boi' -- beginning of indentation `ionl' -- indentation of next line `iopl' -- indentation of previous line `bonl' -- beginning of next line `eonl' -- end of next line `bopl' -- beginning of previous line `eopl' -- end of previous line `bosws' -- beginning of syntactic whitespace `eosws' -- end of syntactic whitespace If the referenced position doesn't exist, the closest accessible point to it is returned. This function does not modify the point or the mark. (defalias 'c-point '(macro . #[(position &optional point) "\242\302=\203\203\303!\211\304=\203/ \305\306!\203 \204 \307\202\201\310\311 \205) \312 DC\313\"B\202\201\314=\203S \305\315!\203C \204C \316\202\201\310\311 \205M \312 DC\317\"B\202\201\320=\203i \310\311 \205c \312 DC\321\"B\202\201\322=\203 \310\311 \205y \312 DC\323\"B\202\201\324=\203\225 \310\311 \205\217 \312 DC\325\"B\202\201\326=\203\271 \305\306!\203\251 \204\251 \327\202\201\310\311 \205\263 \312 DC\330\"B\202\201\331=\203\335 \305\306!\203\315 \204\315 \332\202\201\310\311 \205\327 \312 DC\333\"B\202\201\334=\203\305\315!\203\361 \204\361 \335\202\201\310\311 \205\373 \312 DC\336\"B\202\201\337=\203%\305\315!\203 \204\340\202\201\310\311 \205\312 DC\341\"B\202\201\342=\203;\310\311 \2055\312 DC\343\"B\202\201\344=\203Q\310\311 \205K\312 DC\345\"B\202\201\346=\203g\310\311 \205a\312 DC\347\"B\202\201\350=\203}\310\311 \205w\312 DC\351\"B\202\201\352\353\")\207\354\355!\210\310\311 \205\221\312 DC\356\300DC\357BB\360B\"B\207" [position point quote eval bol fboundp line-beginning-position (line-beginning-position) save-excursion append goto-char ((beginning-of-line) (point)) eol line-end-position (line-end-position) ((end-of-line) (point)) boi ((back-to-indentation) (point)) bod ((c-beginning-of-defun-1) (point)) eod ((c-end-of-defun-1) (point)) bopl (line-beginning-position 0) ((forward-line -1) (point)) bonl (line-beginning-position 2) ((forward-line 1) (point)) eopl (line-end-position 0) ((beginning-of-line) (or (bobp) (backward-char)) (point)) eonl (line-end-position 2) ((forward-line 1) (end-of-line) (point)) iopl ((forward-line -1) (back-to-indentation) (point)) ionl ((forward-line 1) (back-to-indentation) (point)) bosws ((c-backward-syntactic-ws) (point)) eosws ((c-forward-syntactic-ws) (point)) error "Unknown buffer position requested: %s" message "Warning: c-point long expansion" let ((cond ((eq position 'bol) (beginning-of-line)) ((eq position 'eol) (end-of-line)) ((eq position 'boi) (back-to-indentation)) ((eq position 'bod) (c-beginning-of-defun-1)) ((eq position 'eod) (c-end-of-defun-1)) ((eq position 'bopl) (forward-line -1)) ((eq position 'bonl) (forward-line 1)) ((eq position 'eopl) (progn (beginning-of-line) (or (bobp) (backward-char)))) ((eq position 'eonl) (progn (forward-line 1) (end-of-line))) ((eq position 'iopl) (progn (forward-line -1) (back-to-indentation))) ((eq position 'ionl) (progn (forward-line 1) (back-to-indentation))) ((eq position 'bosws) (c-backward-syntactic-ws)) ((eq position 'eosws) (c-forward-syntactic-ws)) (t (error "Unknown buffer position requested: %s" position)))) ((point))] 7 (#$ . 2064)])) (defalias 'c-region-is-active-p '(macro . #[nil "\300\301!\203 \301\207\302\207" [boundp mark-active (region-active-p)] 2])) (defalias 'c-set-region-active '(macro . #[(activate) "\301\302!\203\f \303\304BB\207\305\306E\207" [activate fboundp zmacs-activate-region if ((zmacs-activate-region) (zmacs-deactivate-region)) setq mark-active] 3])) #@54 Delete the text between START and END and return it. (defalias 'c-delete-and-extract-region '(macro . #[(start end) "\302\303!\203 \303 E\207\304\305 E\306 EE\207" [start end fboundp delete-and-extract-region prog1 buffer-substring delete-region] 5 (#$ . 5884)])) (defalias 'c-safe '(macro . #[(&rest body) "\301\302\303B\304BBB\207" [body condition-case nil progn ((error nil))] 4])) (put 'c-safe 'lisp-indent-function 0) (defalias 'c-int-to-char '(macro . #[(integer) "\301\302!\203\n \302D\207\207" [integer fboundp int-to-char] 2])) (defalias 'c-sentence-end '(macro . #[nil "\300\301!\203 \302\207\301\207" [fboundp sentence-end (sentence-end)] 2])) (defalias 'c-default-value-sentence-end '(macro . #[nil "\300\301!\203 \302\207\303\207" [fboundp sentence-end (let (sentence-end) (sentence-end)) (default-value 'sentence-end)] 2])) #@1186 Bind variables according to VARLIST (in `let*' style) and eval BODY, then restore the buffer state under the assumption that no significant modification has been made in BODY. A change is considered significant if it affects the buffer text in any way that isn't completely restored again. Changes in text properties like `face' or `syntax-table' are considered insignificant. This macro allows text properties to be changed, even in a read-only buffer. This macro should be placed around all calculations which set "insignificant" text properties in a buffer, even when the buffer is known to be writable. That way, these text properties remain set even if the user undoes the command which set them. This macro should ALWAYS be placed around "temporary" internal buffer changes (like adding a newline to calculate a text-property then deleting it again), so that the user never sees them on his `buffer-undo-list'. See also `c-tentative-buffer-changes'. However, any user-visible changes to the buffer (like auto-newlines) must not be within a `c-save-buffer-state', since the user then wouldn't be able to undo them. The return value is the value of the last form in BODY. (defalias 'c-save-buffer-state '(macro . #[(varlist &rest body) "\302\303\304\305\306\307\310\311\312\313BBBBBBBBB\314\315 B\316BBE\207" [varlist body let* (modified (buffer-modified-p)) (buffer-undo-list t) (inhibit-read-only t) (inhibit-point-motion-hooks t) before-change-functions after-change-functions deactivate-mark buffer-file-name buffer-file-truename unwind-protect progn ((and (not modified) (buffer-modified-p) (set-buffer-modified-p nil)))] 11 (#$ . 6739)])) (put 'c-save-buffer-state 'lisp-indent-function 1) #@689 Eval BODY and optionally restore the buffer contents to the state it was in before BODY. Any changes are kept if the last form in BODY returns non-nil. Otherwise it's undone using the undo facility, and various other buffer state that might be affected by the changes is restored. That includes the current buffer, point, mark, mark activation (similar to `save-excursion'), and the modified state. The state is also restored if BODY exits nonlocally. If BODY makes a change that unconditionally is undone then wrap this macro inside `c-save-buffer-state'. That way the change can be done even when the buffer is read-only, and without interference from various buffer change hooks. (defalias 'c-tentative-buffer-changes '(macro . #[(&rest body) "\301\302\303\304\305\306\307\310\311\312B\257\313BBE\207" [body let (-tnt-chng-keep -tnt-chng-state) unwind-protect setq buffer-undo-list (cons nil buffer-undo-list) -tnt-chng-state (c-tnt-chng-record-state) -tnt-chng-keep progn ((c-tnt-chng-cleanup -tnt-chng-keep -tnt-chng-state))] 11 (#$ . 8456)])) (put 'c-tentative-buffer-changes 'lisp-indent-function 0) (defalias 'c-tnt-chng-record-state #[nil "\302p`\303\304! \305 &\207" [buffer-undo-list mark-active vector mark t buffer-modified-p] 7]) (defalias 'c-tnt-chng-cleanup #[(keep saved-state) "\306\234\n =\203 A\211\202j \203- \n\211A =\204% \fA\211\202 \f A\241)\202j A\307\310\311\n\"\211 =\2032 )\312\311\234!\205j \311\234q\210\313\234b\210\314\315\234!\210\316\234\317\234?\205j \320 \205j \321\322!)\207" [saved-state saved-undo-list buffer-undo-list keep p undo-in-progress 0 t primitive-undo 1 buffer-live-p 2 set-mark 3 4 5 buffer-modified-p set-buffer-modified-p nil mark-active] 4]) #@559 Forward skip over syntactic whitespace. Syntactic whitespace is defined as whitespace characters, comments, and preprocessor directives. However if point starts inside a comment or preprocessor directive, the content of it is not treated as whitespace. LIMIT sets an upper limit of the forward movement, if specified. If LIMIT or the end of the buffer is reached inside a comment or preprocessor directive, the point will be left there. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-forward-syntactic-ws '(macro . #[(&optional limit) "\203 \301\302\303\304\305BBE\306BB\207\307\207" [limit save-restriction narrow-to-region (point-min) or ((point-max)) ((c-forward-sws)) (c-forward-sws)] 6 (#$ . 10190)])) #@573 Backward skip over syntactic whitespace. Syntactic whitespace is defined as whitespace characters, comments, and preprocessor directives. However if point starts inside a comment or preprocessor directive, the content of it is not treated as whitespace. LIMIT sets a lower limit of the backward movement, if specified. If LIMIT is reached inside a line comment or preprocessor directive then the point is moved into it past the whitespace at the end. Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info. (defalias 'c-backward-syntactic-ws '(macro . #[(&optional limit) "\203 \301\302\303\304BB\305BB\306BB\207\307\207" [limit save-restriction narrow-to-region or ((point-min)) ((point-max)) ((c-backward-sws)) (c-backward-sws)] 5 (#$ . 10994)])) #@364 Move forward across COUNT balanced expressions. A negative COUNT means move backward. Signal an error if the move fails for any reason. This is like `forward-sexp' except that it isn't interactive and does not do any user friendly adjustments of the point and that it isn't susceptible to user configurations such as disabling of signals in certain situations. (defalias 'c-forward-sexp '(macro . #[(&optional count) "\204 \301\302\303\304ED\207" [count 1 goto-char scan-sexps (point)] 4 (#$ . 11818)])) #@46 See `c-forward-sexp' and reverse directions. (defalias 'c-backward-sexp '(macro . #[(&optional count) "\204 \301\302\247\203 [\202 \303DD\207" [count 1 c-forward-sexp -] 3 (#$ . 12334)])) #@172 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 right side of it. (defalias 'c-safe-scan-lists '(macro . #[(from count depth &optional limit) "\305\306 \nFD\f\203<