;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:24:50 2007 ;;; from file /home/cyd/emacs/lisp/progmodes/cc-cmds.el ;;; in Emacs version 22.0.99 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`cc-cmds.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\301\302!\210\301\303!\210\301\304!\210\305B\306\305!\204\307\305\310\"\210\301\207" [current-load-list require cc-defs cc-vars cc-engine c-fix-backslashes default-boundp set-default t] 3) #@561 Indent the current line according to the syntactic context, if `c-syntactic-indentation' is non-nil. Optional SYNTAX is the syntactic information for the current line. Be silent about syntactic errors if the optional argument QUIET is non-nil, even if `c-report-syntactic-errors' is non-nil. Normally the position of point is used to decide where the old indentation is on a lines that is otherwise empty (ignoring any line continuation backslash), but that's not done if IGNORE-POINT-POS is non-nil. Returns the amount of indentation change (in columns). (defalias 'c-indent-line #[(&optional syntax quiet ignore-point-pos) "\212\306\210`Sf)\307=\306\211\f\204C\212\310 \210\311 \203\"\312\202#\313!)\203C`\314\225X\203C \204<\212\315\225b\210iS)`\315\225|\210\316\203\265\306 \206V\317\320!\205V!\321 \"\316\211#$\316%\306\211&'\306\211()\322\216\204~\323 \324!)\325*!\204\230+\203\230\326\327)#\210)\330 Z. \331 !\210\332\333!\210!*\206\260!!\202\326\315)\212\334y\315U\203\312\311\335!\204\271\330 )))\330 Z\331 !\210)\203\370 \203\370\n\203\355\212\nj\210\307c\210)\202\370 \203\370\336``\306\316$\210 ,\207" [c-fix-backslashes shift-amt bs-col line-cont-backslash ignore-point-pos c-auto-align-backslashes nil 92 beginning-of-line looking-at "\\([ ]*\\)\\\\$" "\\([ ]*\\)$" 1 0 t boundp c-syntactic-context buffer-modified-p ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-guess-basic-syntax c-get-syntactic-indentation c-echo-parsing-error message "syntax: %s, indent: %d" current-indentation c-shift-line-indentation run-hooks c-special-indent-hook -1 "\\s *\\\\?$" c-backslash-region c-syntactic-indentation syntax c-parsing-error modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark indent quiet c-echo-syntactic-information-p] 6 (#$ . 777)]) #@260 Insert a newline and indent the new line. This function fixes line continuation backslashes if inside a macro, and takes care to set the indentation before calling `indent-according-to-mode', so that lineup functions like `c-lineup-dont-change' works better. (defalias 'c-newline-and-indent #[(&optional newline-arg) "9\203$\212\306 \307\211\307\310\211\310\311\216\312 \205`. \202%\310\211\211\211\211 !\212\313 \210`\314\315!\203I\316y\317U\204<\320 )\203ol\203g`Sf\321=\203g\307\211 \202o\322 Sf\321= \323\"!\210j\210\203\243\203\221\321c\210\316u\210\324``\310\307$\210\202\243\324 \203\235`\202\237\310\307$\210#\205\340\306 \307\211\307\310\211\310\325\216\326 .$\327c\210\330 \210d`Z\331\216\316u\210\332 \210* \205\340\324``\310\307$.\207" [c-macro-start modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-beginning-of-macro beginning-of-line looking-at "[ ]*\\\\?$" -1 0 current-indentation 92 line-end-position newline c-backslash-region ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-guess-basic-syntax 10 delete-horizontal-space ((byte-code "dZb\210\301\302!\207" [start delete-char -1] 2)) indent-according-to-mode after-change-functions deactivate-mark col start insert-backslash has-backslash c-fix-backslashes newline-arg c-syntactic-indentation c-syntactic-context] 7 (#$ . 2758)]) #@119 Show syntactic information for current line. With universal argument, inserts the analysis as a comment on that line. (defalias 'c-show-syntactic-information #[(arg) "\306\307\301!\203\f \202$\310 \311\211\311\306\211\306\312\216\313 .:\204\255\306\211\211 !\"\314\315\"\210\316\216\203\245\211A@\211\"\211#A:\203[#A\242\202^#A)\211!\203|\317!\211T\"$\320$\321\322#\210$) B \"\211#\243\243\242)\211!\203=\317!\211T\"$\320$\321\323#\210$) B \202=\324\325!\210,\202\270\326 \210\327\330\331\"!\210*\307\332!\205\303\311\211\207" [c-parsing-error c-syntactic-context modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks nil boundp buffer-modified-p t ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-guess-basic-syntax message "Syntactic analysis: %s" ((byte-code "\203\301\211A@!\210\202\301\207" [ols delete-overlay] 3)) make-overlay overlay-put face highlight secondary-selection sit-for 10 indent-for-comment insert-and-inherit format "%s" zmacs-region-stays before-change-functions after-change-functions deactivate-mark syntax arg ols pos elem langelem ol] 5 (#$ . 4390) "P"]) #@75 Insert a comment with the syntactic analysis on every line in the region. (defalias 'c-syntactic-information-on-region #[(from to) "\212\214 }\210eb\210m?\205\302\303!\210\304y\210\202 *\207" [from to c-show-syntactic-information (0) nil] 2 (#$ . 5629) "*r"]) (defalias 'c-update-modeline #[nil "\306\307\203\n\310\202 \311\203 \203\312\202\311\n\203 \313\202!\311\314\315!\2030\315J\2030\316\2021\311%\317\320 \"\203B \321\224\321\225O\202C \211G\321V\203R\f P\202S\f\322 *\207" [c-electric-flag c-auto-newline c-hungry-delete-key mode-name bare-mode-name fmt format "/%s%s%s%s" "l" "" "a" "h" boundp c-subword-mode "w" string-match "\\(^[^/]*\\)/" 1 force-mode-line-update] 8]) #@784 Toggle syntactic indentation. Optional numeric ARG, if supplied, turns on syntactic indentation when positive, turns it off when negative, and just toggles it when zero or left out. When syntactic indentation is turned on (the default), the indentation functions and the electric keys indent according to the syntactic context keys, when applicable. When it's turned off, the electric keys don't reindent, the indentation functions indents every new line to the same level as the previous nonempty line, and \[c-indent-command] adjusts the indentation in steps specified by `c-basic-offset'. The indentation style has no effect in this mode, nor any of the indentation associated variables, e.g. `c-special-indent-hook'. This command sets the variable `c-syntactic-indentation'. (defalias 'c-toggle-syntactic-indentation #[(&optional arg) "\303 \"\304\302!\205\305\211\207" [arg c-syntactic-indentation zmacs-region-stays c-calculate-state boundp t] 3 (#$ . 6342) "P"]) #@447 Toggle auto-newline feature. Optional numeric ARG, if supplied, turns on auto-newline when positive, turns it off when negative, and just toggles it when zero or left out. Turning on auto-newline automatically enables electric indentation. When the auto-newline feature is enabled (indicated by "/la" on the modeline after the mode name) newlines are automatically inserted after special characters such as brace, comma, semi-colon, and colon. (defalias 'c-toggle-auto-newline #[(&optional arg) "\304 \205\n\"\211\203\305\306 \210\307\303!\205\305\211\207" [arg c-auto-newline c-electric-flag zmacs-region-stays c-calculate-state t c-update-modeline boundp] 4 (#$ . 7328) "P"]) (byte-code "\300\301\302\"\210\303\301\302\"\207" [defalias c-toggle-auto-state c-toggle-auto-newline make-obsolete] 3) #@349 Toggle hungry-delete-key feature. Optional numeric ARG, if supplied, turns on hungry-delete when positive, turns it off when negative, and just toggles it when zero or left out. When the hungry-delete-key feature is enabled (indicated by "/h" on the modeline after the mode name) the delete key gobbles all preceding whitespace in one fell swoop. (defalias 'c-toggle-hungry-state #[(&optional arg) "\303 \"\304 \210\305\302!\205\306\211\207" [arg c-hungry-delete-key zmacs-region-stays c-calculate-state c-update-modeline boundp t] 3 (#$ . 8145) "P"]) #@288 Toggle auto-newline and hungry-delete-key features. Optional numeric ARG, if supplied, turns on auto-newline and hungry-delete when positive, turns them off when negative, and just toggles them when zero or left out. See `c-toggle-auto-newline' and `c-toggle-hungry-state' for details. (defalias 'c-toggle-auto-hungry-state #[(&optional arg) "\304 \"\304\n\"\305 \210\306\303!\205\307\211\207" [arg c-auto-newline c-hungry-delete-key zmacs-region-stays c-calculate-state c-update-modeline boundp t] 3 (#$ . 8710) "P"]) #@193 Toggle the electric indentation feature. Optional numeric ARG, if supplied, turns on electric indentation when positive, turns it off when negative, and just toggles it when zero or left out. (defalias 'c-toggle-electric-state #[(&optional arg) "\303 \"\304 \210\305\302!\205\306\211\207" [arg c-electric-flag zmacs-region-stays c-calculate-state c-update-modeline boundp t] 3 (#$ . 9244) "P"]) #@336 Delete the preceding character or whitespace. If `c-hungry-delete-key' is non-nil (indicated by "/h" on the mode line) then all preceding whitespace is consumed. If however a prefix argument is supplied, or `c-hungry-delete-key' is nil, or point is inside a literal then the function in the variable `c-backspace-function' is called. (defalias 'c-electric-backspace #[(arg) "\306 \307\211\307\310\211\310 \311\216?\206\206\312 .\203,\313!!\207\314 \207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-in-literal prefix-numeric-value c-hungry-delete-backwards deactivate-mark c-hungry-delete-key arg c-backspace-function] 4 (#$ . 9651) "*P"]) #@144 Delete the preceding character or all preceding whitespace back to the previous non-whitespace character. See also \[c-hungry-delete-forward]. (defalias 'c-hungry-delete-backwards #[nil "`\302\303x\210l\203`Sf\304=\203\305u\210\202`U\204$`|\202' \306!)\207" [here c-backspace-function " \n \f " nil 92 -1 1] 2 (#$ . 10533) nil]) (defalias 'c-hungry-backspace 'c-hungry-delete-backwards) #@333 Delete the following character or whitespace. If `c-hungry-delete-key' is non-nil (indicated by "/h" on the mode line) then all following whitespace is consumed. If however a prefix argument is supplied, or `c-hungry-delete-key' is nil, or point is inside a literal then the function in the variable `c-delete-function' is called. (defalias 'c-electric-delete-forward #[(arg) "\306 \307\211\307\310\211\310 \311\216?\206\206\312 .\203,\313!!\207\314 \207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-in-literal prefix-numeric-value c-hungry-delete-forward deactivate-mark c-hungry-delete-key arg c-delete-function] 4 (#$ . 10939) "*P"]) #@140 Delete the following character or all following whitespace up to the next non-whitespace character. See also \[c-hungry-delete-backwards]. (defalias 'c-hungry-delete-forward #[nil "`\302\303w\210\303f\304=\203\303u\210l\204\305u\210`U\204#`|\202& \306!)\207" [here c-delete-function " \n \f " nil 92 -1 1] 2 (#$ . 11819) nil]) #@481 Deletes preceding or following character or whitespace. This function either deletes forward as `c-electric-delete-forward' or backward as `c-electric-backspace', depending on the configuration: If the function `delete-forward-p' is defined and returns non-nil, it deletes forward. Otherwise it deletes backward. Note: This is the way in XEmacs to choose the correct action for the [delete] key, whichever key that means. Other flavors don't use this function to control that. (defalias 'c-electric-delete #[(arg) "\301\302!\203\302 \203\303!\207\304!\207" [arg fboundp delete-forward-p c-electric-delete-forward c-electric-backspace] 2 (#$ . 12163) "*P"]) #@485 Delete a non-whitespace char, or all whitespace up to the next non-whitespace char. The direction of deletion depends on the configuration: If the function `delete-forward-p' is defined and returns non-nil, it deletes forward using `c-hungry-delete-forward'. Otherwise it deletes backward using `c-hungry-backspace'. Note: This is the way in XEmacs to choose the correct action for the [delete] key, whichever key that means. Other flavors don't use this function to control that. (defalias 'c-hungry-delete #[nil "\300\301!\203\301 \203\302 \207\303 \207" [fboundp delete-forward-p c-hungry-delete-forward c-hungry-delete-backwards] 2 (#$ . 12836) nil]) #@219 Insert a "#". If `c-electric-flag' is set, handle it specially according to the variable `c-electric-pound-behavior'. If a numeric ARG is supplied, or if point is inside a literal or a macro, nothing special happens. (defalias 'c-electric-pound #[(arg) "\306 \307\211\307\310\211\310\311\216\206F?\206F\312>?\206F\212\313\310x\210n)?\206F\212\314y\315U\205@\310\210`Sf\316=)\206F\317 .\203R\320\321!!\207d`Zn\322 \210\323 \210c\210?\205odZb*\207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) alignleft " " -1 0 92 c-in-literal self-insert-command prefix-numeric-value beginning-of-line delete-horizontal-space deactivate-mark arg c-electric-flag c-electric-pound-behavior bolp pos last-command-char] 4 (#$ . 13505) "*P"]) (defalias 'c-point-syntax #[nil "\306 \307\211\307\310\211\310\211\310\311\216\310\211\312\216\310 B\313 \314\315\316\"\210\203:`S!\204Q`\212\317u\210\320 \205M\321 \210`W*\203\\\317u\210\314\322\316\"\210\310u\210\307\211\323 *\310+.\n\207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) ((c-tnt-chng-cleanup -tnt-chng-keep -tnt-chng-state)) c-tnt-chng-record-state insert-char 10 1 -1 c-beginning-of-macro c-end-of-macro 92 c-guess-basic-syntax deactivate-mark c-echo-syntactic-information-p syntax -tnt-chng-state -tnt-chng-keep c-at-vsemi-p-fn pt c-auto-newline-analysis c-syntactic-indentation-in-macros] 4]) (defalias 'c-brace-newlines #[(syntax) "\306 \307\211\307\310\211\310\311\310\211\312\216\205&\212\310\313\314\217)?\205\210\315\236\203N\316\236\203>\317\202P\320\236\203I\321\202P\202P\211\310\203|@\236\211\204|A\211\204g+@\236+\206\210\322\211A:\204\250\323A!\203\250 A@`\")\202\253A. \207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions buffer-modified-p t nil (class-open class-close defun-open defun-close inline-open inline-close brace-list-open brace-list-close brace-list-intro brace-entry-open block-open block-close substatement-open statement-case-open extern-lang-open extern-lang-close namespace-open namespace-close module-open module-close composition-open composition-close inexpr-class-open inexpr-class-close statement-cont) ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) (byte-code "`Sf\300U\203\301u\210\202\302`\301\"b\210\303 \207" [123 -1 scan-sexps c-looking-at-special-brace-list] 3) ((error)) inexpr-class class-open ((inexpr-class-open)) class-close ((inexpr-class-close)) (ignore before after) functionp deactivate-mark syms c-echo-syntactic-information-p symb-newlines c-special-brace-lists syntax c-hanging-braces-alist alist2 alist1 list alist match c-syntactic-context] 4]) (defalias 'c-try-one-liner #[nil "`d`Z\306\211\211\211\211\211\211\211\212\214\212\307y\210`)`}\210\306\310\311\217\2058\306u\210`S}\210\312\313!*\205\364\306\211 \314\216\306!B!\315 \316\224\316\225\317\224\317\225\320u\210\212\321 \205l`ZZ) \f|\210|\210\212\306\210i)\n\203\274\322\316!\210\nb\210iT\nT\323\306x\210l\203\246`Sf\324=\203\246\320u\210\202\220\325\326\316\"\210 iZ\327!\203\274\325\330\316\"\210\316\"?\206\350\327\"!\206\350 \"X\206\350\205\350 Z\"W\205\350\nb\210\331 \"Z!\210\332\211 +\205\364dZb.\n\207" [cmnt-gap cmnt-col cmnt-pos eol-col mend4 mbeg4 nil -2 (byte-code "\300`\301\"b\207" [scan-sexps -1] 3) ((error)) looking-at "\\([ ]*\\([ \n][ ]*\\)?\\)[^ \n]+\\([ ]+[^ \n]+\\)*\\([ ]*\\([ \n][ ]*\\)?\\)\\'" ((c-tnt-chng-cleanup -tnt-chng-keep -tnt-chng-state)) c-tnt-chng-record-state 1 4 -1 c-backward-single-comment delete-char " \n \f " 92 insert-char 125 zerop 32 backward-delete-char-untabify t mend1 mbeg1 pos here -tnt-chng-state -tnt-chng-keep buffer-undo-list c-max-one-liner-length] 10]) #@590 Insert a brace. If `c-electric-flag' is non-nil, the brace is not inside a literal and a numeric ARG hasn't been supplied, the command performs several electric actions: (a) If the auto-newline feature is turned on (indicated by "/la" on the mode line) newlines are inserted before and after the brace as directed by the settings in `c-hanging-braces-alist'. (b) Any auto-newlines are indented. The original line is also reindented unless `c-syntactic-indentation' is nil. (c) If auto-newline is turned on, various newline cleanups based on the settings of `c-cleanup-list' are done. (defalias 'c-electric-brace #[(arg) "\306\211\306\307 \310\211:\310;\306\211<=\306>\311\216\312`\313 \"\314 !.\315\316?!!\210@\203U\n\204U?\204U\317\320!\204PA\203U\321 \210\202U\306\211\211\211\211BCDEF\307 \310\211:\310;\306\211<=\306>\310\211GH\322\216\323 D.\nA\203\213\324D!\210I\203T\325u\210\326 C\327C!E\330E>\203\271i\331 V\203\271A\203\266\332 \210\202\271\333 \210\306u\210\330E>\203\310C\202\312DB`d`Z\306\211JKLM\307 \310\211:\310;\306\211<=\306>\334\216\335N>\205LO\336=\205L\337BPQ\306RQ\203\"Q@P\236\211R\204\"QA\211Q\204 R+\205L\325u\210\340\306x\210l\203A`Sf\341=\203A\325u\210\202+`Sf\342=\205L\314 ?.\203]`MS|\210dLZMMb\210\343 S\344\216O\336=\203\252\345N>\203\252\346BPQ\306RQ\203\231Q@P\236\211R\204\231QA\211Q\204\204R+\203\252\347 \203\252dLZM*O\342=\203;\350N>\203\316\351\352\306\310#\203\316\353\224\353\225|\210\354\355!\210\202;\356N>\203;MSb\210`J\340\306x\210l\203\363`Sf\341=\203\363\325u\210\202\335`K`Sf\357=\203;\360\307 \310\211:\310;\306\211<=\306>\361\216\362\363\310\".!\203;\306f\364=\203;\351\365\306\310#\203;KJ|\210Kb\210\366c\210dLZb\210A\203I\324 \210,\367E>\203T\333 \210-O\336=\205\216T?\205\216 \205\216\212\307 \310\211:\310;\306\211<=\306>\370\216\214 \206\203ed}\210\371 \210. ),\207" [blink-paren-function old-blink-paren literal safepos modified buffer-undo-list nil buffer-modified-p t ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-safe-position c-parse-state c-in-literal self-insert-command prefix-numeric-value looking-at "[ ]*\\\\?$" indent-according-to-mode ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-guess-basic-syntax c-indent-line -1 c-point-syntax c-brace-newlines before current-indentation newline c-newline-and-indent ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) empty-defun-braces 125 (defun-close class-close inline-close) " \n \f " 92 123 match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) one-liner-defun (defun-close) c-try-one-liner brace-else-brace re-search-backward "}\\([ \n]\\|\\\\\n\\)*else\\([ \n]\\|\\\\\n\\)*{\\=" 0 insert-and-inherit "} else {" brace-elseif-brace 41 zerop ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-backward-token-2 1 40 "}\\([ \n]\\|\\\\\n\\)*else\\([ \n]\\|\\\\\n\\)+if\\([ \n]\\|\\\\\n\\)*\\=" 32 after ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-backward-sws inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark arg c-electric-flag c-syntactic-indentation syntax br-syntax ln-syntax newlines c-echo-syntactic-information-p c-syntactic-indentation-in-macros c-auto-newline-analysis c-auto-newline mend mbeg pos here c-cleanup-list last-command-char alist list match save-match-data-internal executing-kbd-macro] 6 (#$ . 17886) "*P"]) #@616 Insert a slash character. If the slash is inserted immediately after the comment prefix in a c-style comment, the comment might get closed by removing whitespace and possibly inserting a "*". See the variable `c-cleanup-list'. Indent the line as a comment, if: 1. The slash is second of a "//" line oriented comment introducing token and we are on a comment-only-line, or 2. The slash is part of a "*/" token that closes a block oriented comment. If a numeric ARG is supplied, point is inside a literal, or `c-syntactic-indentation' is nil or `c-electric-flag' is nil, indentation is inhibited. (defalias 'c-electric-slash #[(arg) "\306 \307\211\307\310\211\310\311\216\312 .\310\211\204f\313=\203f\314 >\203f!\315=\203f\316\317\320\"!\321Q!\203f\212\214e`}\210\322 \210\316#\323P!*\203f\324y\210`\310\210`|\210\325\326\327\"\210?\205\213$\205\213%\205\213!\315=\205\213`Sf\203\211\326\202\212\315=\330\331!!\210\205\233\332 +\207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-in-literal c comment-close-slash 47 looking-at "[ ]*\\(" regexp-quote "\\)?$" back-to-indentation "[ ]*$" 0 insert-char 42 1 self-insert-command prefix-numeric-value indent-according-to-mode deactivate-mark c-echo-syntactic-information-p indentp literal arg c-cleanup-list last-command-char comment-end c-current-comment-prefix c-syntactic-indentation c-electric-flag] 5 (#$ . 21751) "*P"]) #@341 Insert a star character. If `c-electric-flag' and `c-syntactic-indentation' are both non-nil, and the star is the second character of a C style comment starter on a comment-only-line, indent the line as a comment. If a numeric ARG is supplied, point is inside a literal, or `c-syntactic-indentation' is nil, this indentation is inhibited. (defalias 'c-electric-star #[(arg) "\306\307!!\210\310 \311\211\311\312\211\312\313\216\205P\205P?\205P\314 \315=\205P`Sf\316=\205P\212\317u\210\320\312x\210`Sf\321=\203J\317u\210\322\312x\210n).\205[\312\323 )\207" [arg modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions self-insert-command prefix-numeric-value buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-in-literal c 42 -1 "*" 47 " " indent-according-to-mode after-change-functions deactivate-mark c-syntactic-indentation c-electric-flag c-echo-syntactic-information-p] 4 (#$ . 23411) "*P"]) #@669 Insert a comma or semicolon. If `c-electric-flag' is non-nil, point isn't inside a literal and a numeric ARG hasn't been supplied, the command performs several electric actions: (a) When the auto-newline feature is turned on (indicated by "/la" on the mode line) a newline might be inserted. See the variable `c-hanging-semi&comma-criteria' for how newline insertion is determined. (b) Any auto-newlines are indented. The original line is also reindented unless `c-syntactic-indentation' is nil. (c) If auto-newline is turned on, a comma following a brace list or a semicolon following a defun might be cleaned up, depending on the settings of `c-cleanup-list'. (defalias 'c-electric-semi&comma #[(arg) "\306\211\306`\306\307 \310\211\310 \306\211!\"\306#\311\216\312\313 !\314!.\315\316$!!\210%\205 ?\205$?\205&\203N\317\320!\204X'\205\321 \202d`Z(\307 \310\211\310 \306\211!\"\306#\322\216)\323=\203\202\324*>\204\220)\325=\205\265\326*>\205\265\327u\210\330\306x\210l\203\251`Sf\331=\203\251\327u\210\202\223`Sf\332=\205\265\314!?.\203\276` |\210d(Zb\210)'\203\321\333 \321\n!\210+\306\211,-..\203.@ \211-\204\363.A\211.\202\335\306.-\334=?,\202\333,\205\335 +-\207" [lim literal c-syntactic-context here c-echo-syntactic-information-p modified nil buffer-modified-p t ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-most-enclosing-brace c-parse-state c-in-literal self-insert-command prefix-numeric-value looking-at "[ ]*\\\\?$" c-indent-line ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) 44 list-close-comma 59 defun-close-semi -1 " \n \f " 92 125 c-guess-basic-syntax stop c-newline-and-indent buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark arg c-electric-flag c-auto-newline c-syntactic-indentation pos last-command-char c-cleanup-list c-hanging-semi&comma-criteria add-newline-p answer criteria] 4 (#$ . 24468) "*P"]) #@627 Insert a colon. If `c-electric-flag' is non-nil, the colon is not inside a literal and a numeric ARG hasn't been supplied, the command performs several electric actions: (a) If the auto-newline feature is turned on (indicated by "/la" on the mode line) newlines are inserted before and after the colon based on the settings in `c-hanging-colons-alist'. (b) Any auto-newlines are indented. The original line is also reindented unless `c-syntactic-indentation' is nil. (c) If auto-newline is turned on, whitespace between two colons will be "cleaned up" leaving a scope operator, if this action is set in `c-cleanup-list'. (defalias 'c-electric-colon #[(arg) "\212\306\211\307 \210*\n\203\310\n!\203\311\225b\210`)\312 \313\211&\313'\306\211()\306*\314\216\315 !.+\306\211,-\306.\316\317/!!\2100\205\233+?\205\233/?\205\233\310\320!\204h1\205\233\321 \202\233d`Z`23\312 \313\211&\313'\306\211()\306*\322\2164\205\310\3235>\205\310`Sf\324=\205\310\325u\210\326\306x\210l\203\263`Sf\327=\203\263\325u\210\202\235`Sf\324=\205\310\315 ?\205\310`\330Zf\324=?.\203\326`2S|\210\313-d3Zb\210*1\203\345\321 \210\312 \313\211&\313'\306\211()\306*\313\21167\331 \21189\332\2169\203%9@@\333=\2039@\334\240\2109A\2119\204 4\205_\3358:;<=\336=<\"@;\236+\206_\337\340c\210\341\216\331 ):;<=\336=<\"@;\236+,.\f\342,>\203\213-\204\213\212\343\306x\210n)\204\213d`Z3\325u\210\344 \210d3Zb\210)\345,\243>\205\233-?\205\233\344 -\207" [end-of-defun-function beginning-of-defun-function defun-prompt-regexp bod modified buffer-undo-list nil beginning-of-defun looking-at 0 buffer-modified-p t ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-in-literal self-insert-command prefix-numeric-value "[ ]*\\\\?$" indent-according-to-mode ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) scope-operator 58 -1 " \n \f " 92 2 c-guess-basic-syntax ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) substatement-label label (case-label label access-label) c-intersect-lists (member-init-intro inher-intro) 10 ((delete-char -1)) before ": " c-newline-and-indent after inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark literal newlines is-scope-op c-echo-syntactic-information-p arg c-electric-flag c-syntactic-indentation here pos c-auto-newline c-cleanup-list c-syntactic-indentation-in-macros c-auto-newline-analysis syntax elem c-hanging-colons-alist alist2 alist1 list] 4 (#$ . 26605) "*P"]) #@491 Insert a "<" or ">" character. If the current language uses angle bracket parens (e.g. template arguments in C++), try to find out if the inserted character is a paren and give it paren syntax if appropriate. If `c-electric-flag' and `c-syntactic-indentation' are both non-nil, the line will be reindented if the inserted character is a paren or if it finishes a C++ style stream operator in C++ mode. Exceptions are when a numeric argument is supplied, or the point is inside a literal. (defalias 'c-electric-lt-gt #[(arg) "\306\211\211\307\310 !!\210`\311 \312\211(\312)\306\211*+\306\211,-\306\211./\313\2160\203(1\314=\203d\315u\210`\316 \210`U\203(\317 \210\3202!\203( S\21134\3214\211T\3225$\210*\202(\214e }\210 b\210\323\324\306\312#\210`Sf\314=\203'\315u\210\320\325!\203\232 S\21134\3214\211T\3226$\210*\312\202'`/\326 \210\327\330!\331W\204\3367\332=\203'`3\333\306x\331W\203\325\334\306x\331W\203\325\3208!\203\325\331\2253Y\203\325\312\202\3323b\210\306)\203'\3202!\204\354\3209!\204'\312\306\335\336 !:.-:\203:b\210\306f\337=\203\340`\341\"\342=\204\312./b\210\343\306!+\203'` W\204i\312). b\210;\203]<\203]\315u\210\320\344!\206T7\345=\205T\316 \210\320\346!\205T\331\225 U b\210\203]\347 \210\205o=?\205o>\205o> +\207" [close-paren-inserted final-pos c-echo-syntactic-information-p arg modified buffer-undo-list nil self-insert-command prefix-numeric-value buffer-modified-p t ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) 60 -1 c-beginning-of-current-token c-backward-token-2 looking-at put-text-property syntax-table c-syntactic-skip-backward "^<;}" "\\s(" c-backward-sws skip-syntax-backward "w_" 0 pike-mode "-!%&*+/<=>^|~[]()" "`" c-most-enclosing-brace c-parse-state 40 get-text-property c-type c-decl-arg-start c-forward-<>-arglist "\\s(\\|\\s)" c++-mode "<<\\|>>" indent-according-to-mode inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark c-parse-and-markup-<>-arglists c-restricted-<>-arglists <-pos c-recognize-<>-arglists last-command-char c-opt-<>-sexp-key pos -pos- c-<-as-paren-syntax c->-as-paren-syntax c-buffer-is-cc-mode c-symbol-key c-keywords-regexp containing-sexp c-electric-flag c-syntactic-indentation executing-kbd-macro blink-paren-function] 6 (#$ . 29338) "*P"]) #@465 Insert a parenthesis. If `c-syntactic-indentation' and `c-electric-flag' are both non-nil, the line is reindented unless a numeric ARG is supplied, or the parenthesis is inserted inside a literal. Whitespace between a function name and the parenthesis may get added or removed; see the variable `c-cleanup-list'. Also, if `c-electric-flag' and `c-auto-newline' are both non-nil, some newline cleanups are done if appropriate; see the variable `c-cleanup-list'. (defalias 'c-electric-paren #[(arg) "\306 \307\211\307\310\211\310*\311\216\312 .\310+,\313\314-!!\210-?\205},?\205}./\310.0\203B1\203B\315 \2101\203\3042\203\304\316\317!\203\304\3203>\203\2134\321=\203\213\322\323\310\307#\203\213\306 \307\211\307\310\211\310*\324\216\312 .\204\213\325\224\325\225|\210\326\327!\210\3303>\203\3044\321=\203\304\322\331\310\307#\203\304\306 \307\211\307\310\211\310*\332\216\312 .\204\304\325\224\325\225|\210\326\333!\210\310`S56\3343>\203\"4\321=\203\"\212\335u\210\336\310x\210`6\306 \307\211\307\310\211\310*\337\216\340 .\205\f\341 \205 \342 \205 `6=?)\203\"\21265|\2106b\210\343c\210)\202f\306 \307\211\307\310\211\310*\344\216\3453>\205[4\346=\205[\212\310\347\350\217\210\316\351!\205Z`5\336\310x\210`6\340 ).\203f65|\210*7\346=\205|8?\205|/\205|/ **\207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-in-literal self-insert-command prefix-numeric-value indent-according-to-mode looking-at "[ ]*\\\\?$" brace-elseif-brace 40 re-search-backward "}\\([ \n]\\|\\\\\n\\)*else\\([ \n]\\|\\\\\n\\)+if\\([ \n]\\|\\\\\n\\)*(\\=" ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) 0 insert-and-inherit "} else if (" brace-catch-brace "}\\([ \n]\\|\\\\\n\\)*catch\\([ \n]\\|\\\\\n\\)*(\\=" ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) "} catch (" space-before-funcall -1 " " ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-on-identifier c-beginning-of-macro c-forward-over-cpp-define-id 32 ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) compact-empty-funcall 41 (forward-char -2) ((error)) "()" deactivate-mark c-echo-syntactic-information-p literal arg blink-paren-function old-blink-paren c-syntactic-indentation c-electric-flag c-auto-newline c-cleanup-list last-command-char end beg last-input-event executing-kbd-macro] 5 (#$ . 31763) "*P"]) #@408 Reindent the current line if appropriate. This function is used to reindent the line after a keyword which continues an earlier statement is typed, e.g. an "else" or the "while" in a do-while block. The line is reindented if there is nothing but whitespace before the keyword on the line, the keyword is not inserted inside a literal, and `c-electric-flag' and `c-syntactic-indentation' are both non-nil. (defalias 'c-electric-continued-statement #[nil "\306\307 \310\211\310\306\211\306\311\216\205X\205X\312=?\205X\212\313\314!\210`)\212\315 \210`)U\205X\316\212\306\211\317 \210*\203T\320!\203T\321\225b\210`)!?.\205f\322\323!\210\324\216\325 ))\207" [c-echo-syntactic-information-p modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions nil buffer-modified-p t ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) 95 skip-syntax-backward "w" back-to-indentation c-in-literal beginning-of-defun looking-at 0 insert-and-inherit " x" ((delete-char -2)) indent-according-to-mode after-change-functions deactivate-mark c-electric-flag c-syntactic-indentation last-command-char end-of-defun-function beginning-of-defun-function defun-prompt-regexp] 4 (#$ . 34600)]) #@46 Compatibility alias for `c-forward-subword'. (defalias 'c-forward-into-nomenclature #[(&optional arg) "\301\302!\210\303!\207" [arg require cc-subword c-forward-subword] 2 (#$ . 35904) "p"]) (make-obsolete 'c-forward-into-nomenclature 'c-forward-subword) #@47 Compatibility alias for `c-backward-subword'. (defalias 'c-backward-into-nomenclature #[(&optional arg) "\301\302!\210\303!\207" [arg require cc-subword c-backward-subword] 2 (#$ . 36166) "p"]) (make-obsolete 'c-backward-into-nomenclature 'c-backward-subword) #@106 Insert a double colon scope operator at point. No indentation or other "electric" behavior is performed. (defalias 'c-scope-operator #[nil "\300\301!\207" [insert-and-inherit "::"] 2 (#$ . 36434) "*"]) (defalias 'c-in-function-trailer-p #[(&optional lim) "\205T\212\304\305 \"\210`\306`Sf\307=\205S\310 !@\311=\205S`\211\205S\312\313\314Q \315\211\211%\205S\316\224\205S`Sf\317=?\205S\312\320 \315\211\211%\205S`Sf\321=\205S\n+\207" [c-opt-block-decls-with-vars-key lim bod eo-block c-syntactic-skip-backward "^;}" nil 125 c-beginning-of-decl-1 previous c-syntactic-re-search-forward "[;=([{]\\|\\(" "\\)" t 1 95 "[;=([{]" 123] 6]) (defalias 'c-where-wrt-brace-construct #[nil "\212\306\211\306`\307 \310\f!\211\203 f\311=\203\312\202\311\313 \203(\314\202\311 \204G\f:\203G\f@:\203G \f\211@A)=\203G\315\202\311 \203N b\210l\203Vm\203\\\316\317!\204_\306u\210`\320 \205j\321 \f\"!@\212\322\323\306\324\211$\205\206`Sf\311=\206\206\205\206\325 )`U\203\222\326\202\311 \327=\203\256\n\203\252` =\203\246\330\202\311\331\202\311\326\202\311 \332=\203\305\n\204\301\313 \203\301\315\202\311\326\202\311\333\334 \".\207" [kluge-start decl-result brace-decl-p start paren-state least-enclosing nil c-parse-state c-least-enclosing-brace 123 in-block c-in-function-trailer-p in-trailer at-function-end looking-at "\\([;#]\\|\\'\\|\\s(\\|\\s)\\|\\s\"\\|\\s\\\\|\\s$\\|\\s<\\|\\s>\\|\\s!\\)" c-beginning-of-decl-1 c-safe-position c-syntactic-re-search-forward "[;{]" t c-in-knr-argdecl outwith-function same at-header in-header previous error "c-where-wrt-brace-construct: c-beginning-of-decl-1 returned %s" x c-recognize-knr-p] 6]) (defalias 'c-backward-to-nth-BOF-{ #[(n where) "o\204I\302=\203\303\304 !b\210 S\202I\305=\203)\306\307!\210\310u\210 S\202I\311>\203D\312\313!\210`Sf\314=\203I\315 \210 S\202I\316\317\"\210 \320V\203lo\204l\304 \210\312\313!\210`Sf\314=\203I\315 \210 S\211\202J \207" [where n in-block c-least-enclosing-brace c-parse-state in-header c-syntactic-re-search-forward "{" -1 (at-header outwith-function at-function-end in-trailer) c-syntactic-skip-backward "^}" 125 backward-sexp error "Unknown `where' %s in c-backward-to-nth-EOF-{" 0] 4]) #@476 Move backward to the beginning of a defun. Every top level declaration that contains a brace paren block is considered to be a defun. With a positive argument, move backward that many defuns. A negative argument -N means move forward to the Nth following beginning. Return t unless search stops due to beginning or end of buffer. Unlike the built-in `beginning-of-defun' this tries to be smarter about finding the char with open-parenthesis syntax that starts the defun. (defalias 'c-beginning-of-defun #[(&optional arg) "\204\306\307 \310\211\310\311\211\311\211\311`\311\211 !\311\"\312\216\313 \210\314 \211\"\203;\"@b\210\315  \316W\203t \317>\203OT\316W\203\\\320[ \"\316U\205\267\321\322\311\323#\205\267\324u\210\325 \210\310\202\267\316V\203\253\326 \"\211\316=\203\253\325 \210`\"`\212\327 \210`)U\204\234\330 \204\214`\212\327 \210`)U\204\253\"b\210\331\332!\203\264\310\316U.\207" [arg modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions 1 buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-beginning-of-macro c-literal-limits c-where-wrt-brace-construct 0 (at-function-end outwith-function) c-forward-to-nth-EOF-} c-syntactic-re-search-forward "{" eob -1 c-beginning-of-decl-1 c-backward-to-nth-BOF-{ back-to-indentation c-backward-single-comment boundp zmacs-region-stays after-change-functions deactivate-mark beginning-of-defun-function end-of-defun-function start where paren-state pos] 5 (#$ . 38685) "p"]) (defalias 'c-forward-to-nth-EOF-} #[(n where) "m\204H\302=\203\303\304 !b\210\305 \210 S\202H\306=\203)\307\310!\210 S\202H\311>\203C\312\313\314\315#\203H\316u\210\305 \210 S\202H\317\320\"\210 \321V\203gm\204g\312\313\314\315#\203`\316u\210\305 \210 S\211\202I \207" [where n in-block c-least-enclosing-brace c-parse-state forward-sexp in-trailer c-syntactic-skip-backward "^}" (at-function-end outwith-function at-header in-header) c-syntactic-re-search-forward "{" nil eob -1 error "c-forward-to-nth-EOF-}: `where' is %s" 0] 5]) #@358 Move forward to the end of a top level declaration. With argument, do it that many times. Negative argument -N means move back to Nth preceding end. Returns t unless search stops due to beginning or end of buffer. An end of a defun occurs right after the close-parenthesis that matches the open-parenthesis that starts a defun; see `beginning-of-defun'. (defalias 'c-end-of-defun #[(&optional arg) "\204\306\307 \310\211\310\311\211\311\211\311` \311\211!\"\311#\312\216\313 \210\314 \211#\203;#@b\210\315 !\316W\203i!\317>\203OT\316W\203\\\320[!\"\316U\203u\321\322!\210\202u\316V\203u\323!\"\316=\203\252\324 \203\204\325\326!\210`#n\204\226\327\330!\204\226\331 \204\207n\204\252\327\330!\203\246\306y\210\202\252#b\210\332\333!\203\263\310\316U.\207" [arg modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions 1 buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-beginning-of-macro c-literal-limits c-where-wrt-brace-construct 0 (at-header outwith-function) c-backward-to-nth-BOF-{ c-syntactic-skip-backward "^}" c-forward-to-nth-EOF-} c-in-function-trailer-p c-syntactic-re-search-forward ";" looking-at "\\s *$" c-forward-single-comment boundp zmacs-region-stays after-change-functions deactivate-mark beginning-of-defun-function end-of-defun-function start where paren-state pos] 4 (#$ . 40862) "p"]) (defalias 'c-declaration-limits #[(near) "\212\300\301\215)\207" [exit (byte-code "`\306 \307\211\211\307\310\311\217\204!\312\313` \"!\211\203! @b\210\314 \2035\315\316`\212\317 \210\320y\210`)B\"\210`\321\n!@\322=\204F `U\203w b\210\323\324!\203Sm\203I\325\326!\203_\327u\210\202I \203w\314 \203w\315\316`\212\317 \210\320y\210`)B\"\210m\203\200\315\316\307\"\210`\203\253\330 \210`Sf\331=\203\253\321 @\322=\203\253\212\332 \210` V\205\247`\211)\204\256 b\210 ?\205\266`\fV?\205``\212\333 \210`)U\204\314\334 \204\274`\212\333 \210`)U\204\333 \202\334`\203\346b\210\202\351\332 \210`n\204\372\325\335!\204\372\336 \204\353n\203`\202\325\335!\203\320y\210`\202 B-\207" [end-pos pos lim paren-state start near c-parse-state nil (byte-code "\302!b\210\303`\"\304\207" [paren-state lim c-least-enclosing-brace c-safe-position t] 3) ((error)) c-literal-limits c-safe-position c-beginning-of-macro throw exit c-end-of-macro 1 c-beginning-of-decl-1 previous forward-comment 5 looking-at "\\\\[\n ]" 2 c-backward-sws 125 c-end-of-decl-1 back-to-indentation c-backward-single-comment "\\s *$" c-forward-single-comment c-opt-block-decls-with-vars-key] 6)] 2]) #@288 Put mark at end of the current top-level declaration or macro, point at beginning. If point is not inside any then the closest following one is chosen. As opposed to \[c-beginning-of-defun] and \[c-end-of-defun], this function does not require the declaration to contain a brace block. (defalias 'c-mark-function #[nil "\306\307 \310\211\310\306\211\306\311\216\312!\203#\313\314\306\315 #\210\316\310!.\2043\317\320!\202=@b\210\321A\306\310#)\207" [decl-limits modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions nil buffer-modified-p t ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) looking-at c-backward-token-2 1 line-beginning-position c-declaration-limits error "Cannot find any declaration" push-mark after-change-functions deactivate-mark c-syntactic-eol] 5 (#$ . 43577) nil]) (defalias 'c-in-comment-line-prefix-p #[nil "`\212\302 \210\303\304w\210\305 !\205\306\224\306\225U?\205\306\225W*\207" [here c-current-comment-prefix beginning-of-line " " nil looking-at 0] 2]) (defalias 'c-narrow-to-comment-innards #[(range) "\304!\211\305=\203@\306\\\202@ \305=\2038ASf\307=\2034ASSf\310=\2034A\306Z\202Fd\202FAd=\203Cd\202FAS` V\203P b\210`\nW\203Y\nb\210\n }+\207" [range lit-type beg end c-literal-type c 2 47 42] 3]) (defalias 'c-beginning-of-sentence-in-comment #[(range) "\306 \307\216`\214\310\n!\210`\311\312 \313\314R\315 \316Q\212\317\320!\210\321\311\322# V\2030 b\210` Y\203H\317\323!\210\321\311\322# V\203H b\210`)\324\325 \326#\203\231`\211\203\231\327\225b\203\231` Y\204\223n\204\200\212\324\311\322#\205|\330\224\330\225U?)\204\223\331 \203\210\332 \210\321!\210` Y\203\231\fb\210\202L\321!\210.` W?\205\254\n@b\210\322+\207" [save-match-data-internal start-point range here last c-current-comment-prefix match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-narrow-to-comment-innards nil "\\=\\(^[ ]*\\(" "\\)" "\\|[ \n \f]\\)*" "^[ ]*\\(" "\\)[ \n \f]*\\=" forward-paragraph -1 re-search-forward t -2 re-search-backward sentence-end limit 0 1 c-in-comment-line-prefix-p beginning-of-line here-filler prefix-at-bol-here par-beg] 4]) (defalias 'c-end-of-sentence-in-comment #[(range) "\306 \307\216`\214\310\n!\210`\212\311\312!\210h\313=\203\314u\210` X\2032 b\210\311\315!\210h\313=\2032\314u\210`)\316\317\320Q\321\322 \f\323#\203n`\324\316x\210n\204b\325\316\326#\203b\312\224\312\225U\203h` X\203n b\210\202>`d=\203\215\324\316x\327U\203t\325\316\326#\203\215\312\224\312\225U\203t-` V?\205\232\nAb\210\326+\207" [save-match-data-internal start-point range here par-end last match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) c-narrow-to-comment-innards forward-paragraph 1 10 -1 2 nil "^[ ]*\\(" "\\)\\=" re-search-forward sentence-end limit " \n" re-search-backward t 0 c-current-comment-prefix prefix-at-bol-here] 4]) (defalias 'c-beginning-of-sentence-in-string #[(range) "\306 \307\216`\310 AS\311\212\214 @T\f}\210\312\313!\210\314 \310\315# V\2030 b\210` Y\203G\312\316!\210\314 \310\315# V\203G b\210`*\317\320#\203y`\211\203y\321\225b\203y`\fV\204s\314 \f\315#\210` Y\203y\nb\210\202K\314 \315#\210` W?\205\213 @b\210\315. \207" [save-match-data-internal here last range end here-filler match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil "\\=\\([ \n \f]\\|\\\\[\n ]\\)*" forward-paragraph -1 re-search-forward t -2 re-search-backward limit 0 c-string-par-start paragraph-start c-string-par-separate paragraph-separate par-beg c-sentence-end-with-esc-eol] 4]) (defalias 'c-end-of-sentence-in-string #[(range) "\306 \307\216`\310  \212\214@AS}\210\311\312!\210`\313\310x\314U\203\315\316\310\317#\204` V\204L\nb\210\311\312!\210\313\310x\314U\203<\315\316\310\317#\204<`*\320\321#\203l`\322\310x\314U\203\\\315\316\310\317#\204\\` V?\205yAb\210\317.\207" [save-match-data-internal here last c-string-par-start paragraph-start c-string-par-separate match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil forward-paragraph 1 " \n \f" 0 re-search-backward "\\\\\\($\\)\\=" t re-search-forward limit " \n" paragraph-separate range par-end c-sentence-end-with-esc-eol] 4]) (defalias 'c-ascertain-preceding-literal #[nil "\212\304`\305\306 \203`\307 \210`B\2028\214e }\210\310\n!\204-o?\2057\311u\210\310 !\2057\312\225b\210`\305\313\314\217)*!)\207" [pos here c-ws*-string-limit-regexp c-string-limit-regexp c-collect-line-comments nil c-backward-single-comment c-forward-single-comment looking-at -1 0 (byte-code "\301`\302\"b\210`B\207" [pos scan-sexps -1] 3) ((error))] 4]) (defalias 'c-ascertain-following-literal #[nil "\212\302\303\304\303w\210\303f\305=\203\303u\210l\204\306u\210\307 !\203,`\303\310\311\217\206(dB\2026`\312 \2056`B)!)\207" [pos c-string-limit-regexp c-collect-line-comments nil " \n \f " 92 -1 looking-at (byte-code "\300`\301\"b\210`\207" [scan-sexps 1] 3) ((error)) c-forward-single-comment] 5]) (defalias 'c-after-statement-terminator-p #[nil "\212\303u\210\304\305!\205\205\306f\307=\205\310 ?)\206S \203% \206S\306\212\311 \2032\312 \210`)\n\205R\212\313\314!\203Bm\2038\304\315!\203N\316u\210\2028`\nY))\207" [c-special-brace-lists c-at-vsemi-p-fn eom -1 looking-at "[;{}]" nil 123 c-looking-at-special-brace-list c-beginning-of-macro c-end-of-macro forward-comment 5 "\\\\[\n ]" 2] 2]) (defalias 'c-back-over-illiterals #[(macro-start) "\303 \304\216`\305\306\307\215,\207" [save-match-data-internal last here match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) nil done (byte-code "`\306 \203b\210\307\310\311\"\210\202\212\312 \210\313\314\315#)\203B \203)` W\202+\316 \203Bb\210\307\310`\n=\206; ?\317B\"\210\202 \203c \203c\nW\203cf\320>\204cb\210\307\310\321\"\210\202o\203x\nU\204pb\210\307\310\322\"\210\202\323u\210\324f\325=\203\243\f\203\222\326 \203\222\327\330!\210\202\nU\204\233b\210\307\310\331\"\210\202 \203\271` =\203\271\307\310`\n=\317B\"\210\202\332\333!\203\354\nU\204\314f\334>\203\341`Sf\335=\203\324f\336=\203\323u\210\202b\210\307\310\337\"\210\202\332 !\203\375b\210\307\310\340\"\210\202\327\330!\210\202" [last macro-start here c-at-vsemi-p-fn c-special-brace-lists c-string-limit-regexp c-backward-single-comment throw done (t . literal) beginning-of-line re-search-forward "\\(^\\|[^\\]\\)[\n ]" t c-beginning-of-macro macro-boundary (41 125) (nil) (nil) -1 nil 123 c-looking-at-special-brace-list skip-syntax-backward "w_" (nil) looking-at "[;}]" (41 125) 125 59 (nil) (t . literal)] 4)] 2]) (defalias 'c-forward-over-illiterals #[(macro-end allow-early-stop) "`\302\303\304\215*\207" [last here nil done (byte-code "`\211 V\203\n\203\n \203\306\307\310\"\210\311\312w\210\312f\313=\203+\312u\210l\204\314u\210 \203D` V\203Db\210\306\307` =\315B\"\210\202\212\316 )\203Vb\210\306\307\317\"\210\202m\203k U\204cb\210\306\307\320\"\210\202\312f\321=\203\241\f\203{\322 \204\241 \204\205 U\204\241\212\312\323\324\217?\206\222\312f\321U)\203\241b\210\306\307\325\"\210\202\f\203\304\312f\326=\203\304\212\312\327\330\217\205\266\322 )\203\304\312u\210\331\332!\210\202\312f\326=\203\334 U\204\334b\210\306\307\333\"\210\202 \204\375\312f\334=\203\375`\212\335 \210`)U\203\375b\210\306\307\336\"\210\202\337\340!\203\341\225b\210\306\307\342\"\210\202\337$!\203!b\210\306\307\343\"\210\202\312u\210\331\332!\210 \203` V\203b\210\306\307` =\315B\"\210\202" [last here c-at-vsemi-p-fn macro-end c-special-brace-lists allow-early-stop throw done (nil) " \n \f " nil 92 -1 macro-boundary c-forward-single-comment (t . literal) (nil) 123 c-looking-at-special-brace-list (byte-code "\300\301!\210\302\207" [up-list -1 t] 2) ((error)) (nil) 125 (byte-code "\300\301!\210\302\207" [up-list -1 t] 2) ((error)) skip-syntax-forward "w_" (nil) 35 back-to-indentation (t . macro-boundary) looking-at ";\\|};?" 0 (nil) (t . literal) c-string-limit-regexp] 5)] 2]) (defalias 'c-one-line-string-p #[(range) "\212@b\210\302 !\205\303Aw\210`A=)\207" [range c-string-limit-regexp looking-at "^\n"] 2]) #@859 Go to the beginning of the innermost C statement. With prefix arg, go back N - 1 statements. If already at the beginning of a statement then go to the beginning of the closest preceding one, moving into nested blocks if necessary (use \[backward-sexp] to skip over a block). If within or next to a comment or multiline string, move by sentences instead of statements. When called from a program, this function takes 3 optional args: the repetition count, a buffer position limit which is the farthest back to search for the syntactic context, and a flag saying whether to do sentence motion in or near comments and multiline strings. Note that for use in programs, `c-beginning-of-statement-1' is usually better. It has much better defined semantics than this one, which is intended for interactive use, and might therefore change to be more "DWIM:ey". (defalias 'c-beginning-of-statement #[(&optional count lim sentence-flag) "\306W\203 \307[ \n#\207\310 \311\211\311'\312\211()\312*\206%\313\312+\212o?\2055\314 \2055`),\312\211-.\315\316 !!/\317\216\306U\204\244 \203W` V\203\244`+o\203c\306\202\227/\203\353\n\203s\320/!\203\310/@b\210\321 /\212,\203\272`0o\204\266\322\323!\203\233\324\325!\203\205\326u\210\202\266\324\327!\203\266`Sf\330=\203\266`0W\203\266\323u\210\202\205)\202\275\331 \210o\206\303\332 )?\202\216\333/!\334=\203\330\335/!\202\334\336/!\211-\203\346\321 /-\202\216\337,!-`+U\206N\312f\340>\206N-@\205N\212,\203C`0o\204?\322\323!\203$\324\325!\203\326u\210\202?\324\327!\203?`Sf\330=\203?`0W\203?\323u\210\202)\202F\331 \210o\206L\332 )?.-A\341=\203\200\212\342 \210o?\205}\343\312x\210l\203w`Sf\330=\203w\323u\210\202a\314 \205}`,)-A\344>\203\214\321 /.\203\227`+\202Z\306U\204GS\211\202H\345\346!\205\256\311\211&.\207" [count lim sentence-flag modified buffer-undo-list inhibit-read-only 0 c-end-of-statement buffer-modified-p t nil 1 c-beginning-of-macro c-collect-line-comments c-literal-limits ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-one-line-string-p c-ascertain-preceding-literal forward-comment -1 looking-at "\\*/" 2 "[\n ]" 92 c-backward-sws c-after-statement-terminator-p c-literal-type string c-beginning-of-sentence-in-string c-beginning-of-sentence-in-comment c-back-over-illiterals (41 125) macro-boundary beginning-of-line " \n \f " (macro-boundary literal) boundp zmacs-region-stays inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark last macro-fence res not-bos range start] 5 (#$ . 52077) (list (prefix-numeric-value current-prefix-arg) nil t)]) #@590 Go to the end of the innermost C statement. With prefix arg, go forward N - 1 statements. Move forward to the end of the next statement if already at end, and move into nested blocks (use \[forward-sexp] to skip over a block). If within or next to a comment or multiline string, move by sentences instead of statements. When called from a program, this function takes 3 optional args: the repetition count, a buffer position limit which is the farthest back to search for the syntactic context, and a flag saying whether to do sentence motion in or near comments and multiline strings. (defalias 'c-end-of-statement #[(&optional count lim sentence-flag) "\206\306\211\307W\203\310[ \n#\207\311 \312\211\312\313\211 !\313\211\"#\212m?\2058\314 \2058\315 \210`)$\313%\316\317 !!&\320\216\307U\204 \203W` W\203`#m\203c\307\202&\203\267\n\203s\321&!\203\210&Ab\210\322 &'\205\204' ?\202\323&!\324=\203\230\325&!\202\234\326&!\211%\203\246\322 &%\203'\205\263' ?\202\327$`#V\"\211%A\330=\203\362\212\313\210m?\205\357\331\313w\210\313f\332=\203\346\313u\210l\204\321\333u\210\314 \205\357\315 \210`$)%A\334>\203\376\322 &%@\204Z\307U\204GS\211\202H\335\336!\205\312\211.\f\207" [count lim sentence-flag modified buffer-undo-list inhibit-read-only 1 0 c-beginning-of-statement buffer-modified-p t nil c-beginning-of-macro c-end-of-macro c-collect-line-comments c-literal-limits ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-one-line-string-p c-ascertain-following-literal c-literal-type string c-end-of-sentence-in-string c-end-of-sentence-in-comment c-forward-over-illiterals macro-boundary " \n \f " 92 -1 (macro-boundary literal) boundp zmacs-region-stays inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark here macro-fence res range c-at-vsemi-p-fn] 5 (#$ . 54802) (list (prefix-numeric-value current-prefix-arg) nil t)]) (byte-code "\300\301\302\"\210\303\304\305\306#\210\303\304\307\306#\210\303\310\305\306#\210\303\310\307\306#\210\303\311\305\306#\210\303\311\307\306#\207" [mapcar #[(sym) "\301\302\303#\210\301\304\303#\207" [sym put delete-selection t pending-delete] 4] (c-electric-pound c-electric-brace c-electric-slash c-electric-star c-electric-semi&comma c-electric-lt-gt c-electric-colon c-electric-paren) put c-electric-delete delete-selection supersede pending-delete c-electric-backspace c-electric-delete-forward] 4) (defalias 'c-calc-comment-indent #[(entry) "9\203 \236\206\306 \236\206\307A@AAi\211\310=\203)\n \\\202\202\f\311=\203D \2045 n\203= \202\202\nT ]\202\202\f\312=\205\202\212\313 \210o?\205z\314u\210\315\316 \317\"\211:\205y@b\210\320\321!\205yn\203u\322\202y\nTi]))\206\202\323A!+\207" [entry c-indent-comment-alist col value action comment-column other (default column) space column align beginning-of-line -1 c-literal-limits line-beginning-position t looking-at "/[/*]" 0 c-calc-comment-indent lim] 4]) #@109 Used by `indent-for-comment' to create and indent comments. See `c-indent-comment-alist' for a description. (defalias 'c-comment-indent #[nil "\212\306\210\307 \310\211\310\306\211\306\311\312 \310\"\211 :\2033 @b\210\313\314!\2033\315\306x\210`\2068\315\306x\210`)!\313\316!\203E\317\202|\320 \210`!=\203S\321\202|\322 \210\306f\323=\203i`!S=\203i\324\202|\313\325!\203{\326\225!=\203{\327\202|\330\"\331\216\"\332>\203\275#\203\275\333 $l\203\244\334\306%\211&%B$B$*':\203\257'\202\263'\211B'\335$!*\202\305!b\210\336\"!. \207" [modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions nil buffer-modified-p t c-literal-limits line-beginning-position looking-at "/[/*]" " " "^/[/*]" anchored-comment beginning-of-line empty-line back-to-indentation 125 end-block "#[ ]*\\(endif\\|else\\)" 0 cpp-end-block other ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) (anchored-comment empty-line) c-guess-basic-syntax comment-intro c-get-syntactic-indentation c-calc-comment-indent deactivate-mark lim eot line-type c-indent-comments-syntactically-p c-syntactic-context args symbol c-comment-only-line-offset] 4 (#$ . 57882)]) (defalias 'c-outline-level #[nil "\301\212\302\301w\210i*\207" [buffer-invisibility-spec nil " "] 2]) #@344 Move back to the containing preprocessor conditional, leaving mark behind. A prefix argument acts as a repeat count. With a negative argument, move forward to the end of the containing preprocessor conditional. "#elif" is treated like "#else" followed by "#if", so the function stops at them when going backward, but not when going forward. (defalias 'c-up-conditional #[(count) "\302[\303\"\210\304\301!\205\305\211\207" [count zmacs-region-stays c-forward-conditional -1 boundp t] 3 (#$ . 59292) "p"]) #@148 Move back to the containing preprocessor conditional, including "#else". Just like `c-up-conditional', except it also stops at "#else" directives. (defalias 'c-up-conditional-with-else #[(count) "\302[\303\304#\210\305\301!\205\304\211\207" [count zmacs-region-stays c-forward-conditional -1 t boundp] 4 (#$ . 59809) "p"]) #@333 Move forward into the next preprocessor conditional, leaving mark behind. A prefix argument acts as a repeat count. With a negative argument, move backward into the previous preprocessor conditional. "#elif" is treated like "#else" followed by "#if", so the function stops at them when going forward, but not when going backward. (defalias 'c-down-conditional #[(count) "\302\303\"\210\304\301!\205\305\211\207" [count zmacs-region-stays c-forward-conditional 1 boundp t] 3 (#$ . 60143) "p"]) #@149 Move forward into the next preprocessor conditional, including "#else". Just like `c-down-conditional', except it also stops at "#else" directives. (defalias 'c-down-conditional-with-else #[(count) "\302\303\304#\210\305\301!\205\304\211\207" [count zmacs-region-stays c-forward-conditional 1 t boundp] 4 (#$ . 60649) "p"]) #@184 Move back across a preprocessor conditional, leaving mark behind. A prefix argument acts as a repeat count. With a negative argument, move forward across a preprocessor conditional. (defalias 'c-backward-conditional #[(count &optional target-depth with-else) "\304[ \n#\210\305\303!\205\306\211\207" [count target-depth with-else zmacs-region-stays c-forward-conditional boundp t] 4 (#$ . 60984) "p"]) #@676 Move forward across a preprocessor conditional, leaving mark behind. A prefix argument acts as a repeat count. With a negative argument, move backward across a preprocessor conditional. "#elif" is treated like "#else" followed by "#if", except that the nesting level isn't changed when tracking subconditionals. The optional argument TARGET-DEPTH specifies the wanted nesting depth after each scan. I.e. if TARGET-DEPTH is -1, the function will move out of the enclosing conditional. A non-integer non-nil TARGET-DEPTH counts as -1. If the optional argument WITH-ELSE is non-nil, "#else" directives are treated as conditional clause limits. Normally they are ignored. (defalias 'c-forward-conditional #[(count &optional target-depth with-else) "\306V\211\203\f\307\202 \310 \203\311\202\312\313 \250\204) \203'\307\202(\306\212\306U\204(\306\211\313\212\204 \314\313\315#\203\316 \210\317\320!\203\313\321\310! \322\230\203f\n[ \202\255\323\230\203s\n \202\255\306U\203\255!\203\220 \306V\203\211\310\202\212\307\211 \202\234\324\230\203\255\n[\211 \203\255 \306V \306X=\203\255\313  \203\353\306U\203\304 \306V \306X=\203\313 \\ \\\211 W\203\353 \306W\203\353\325 \203\350\326\202\351\327!\210 \203\362\310y\210 \203 U\203`*\202: \203:\310y\210\202:)\204\325\330!\210\211b\210+\n\\\211\202+)\331 \210\fb\210,\332\333!\205:\315\211\207" [count forward increment search-function new target-depth 0 -1 1 re-search-forward re-search-backward nil "#[ ]*\\(if\\|elif\\|endif\\|else\\)" t beginning-of-line looking-at "^[ ]*#[ ]*\\(if\\|elif\\|endif\\|else\\)" match-string "if" "endif" "elif" error "No following conditional at this level" "No previous conditional at this level" "No containing preprocessor conditional" push-mark boundp zmacs-region-stays found subdepth depth directive dchange with-else] 5 (#$ . 61398) "p"]) #@1304 Indent current line as C code, and/or insert some whitespace. If `c-tab-always-indent' is t, always just indent the current line. If nil, indent the current line only if point is at the left margin or in the line's indentation; otherwise insert some whitespace[*]. If other than nil or t, then some whitespace[*] is inserted only within literals (comments and strings), but the line is always reindented. If `c-syntactic-indentation' is t, indentation is done according to the syntactic context. A numeric argument, regardless of its value, means indent rigidly all the lines of the expression starting after point so that this line becomes properly indented. The relative indentation among the lines of the expression is preserved. If `c-syntactic-indentation' is nil, the line is just indented one step according to `c-basic-offset'. In this mode, a numeric argument indents a number of such steps, positive or negative, and an empty prefix argument is equivalent to -1. [*] The amount and kind of whitespace inserted is controlled by the variable `c-insert-tab-function', which is called to do the actual insertion of whitespace. Normally the function in this variable just inserts a tab character, or the equivalent number of spaces, depending on the variable `indent-tabs-mode'. (defalias 'c-indent-command #[(&optional arg) "\203 \306K\202\n\307\203X\n\203X\212\310 \210i)\311\211\312 \210\212\310 \210i) Z\212\313=\2035\314 \210`\315`\316\"b\210`\fb\210\316y\210`) \fV\205T\317\f \320$+\202\243\204r\212\321\311x\210n)\204m \202\243 \202\243\313=\203~ \202\243\322 \313\211\313\311\211\311\323\216\324 .\203\241 \210 )\207" [c-syntactic-indentation indent-function arg end beg shift-amt indent-according-to-mode #[nil " \306\232\203 \307\202\310 !\311\n _!\210\f\205[\212\312\210`Sf)\313=\205[9\203Q\212\314 \315\211\315\312\211\312\316\216\317 \205J`. \211\202R\205[\320``\312\315$*\207" [c-macro-start arg steps c-basic-offset c-auto-align-backslashes modified (4) -1 prefix-numeric-value c-shift-line-indentation nil 92 buffer-modified-p t ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-beginning-of-macro c-backslash-region buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark] 6] back-to-indentation nil c-indent-line t beginning-of-line scan-sexps 1 indent-code-rigidly "#" " " buffer-modified-p ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-in-literal c-tab-always-indent c-insert-tab-function modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark] 6 (#$ . 63348) "P"]) #@168 Indent each line in the balanced expression following point syntactically. If optional SHUTUP-P is non-nil, no errors are signaled if no balanced expression is found. (defalias 'c-indent-exp #[(&optional shutup-p) "\305 \306\307 \310\"\210\311\216\214e\312 }\210\306`\306\313\314\217\211\203(\306\315\316\217\211\204\n\2057\nSfz\317=\2057\nS+\211\204H\f?\205l\320\321!\202l b\210\306\322\323\217\211\204_\f?\205l\320\324!\202l\306y\210`W\205l\325`\",\207" [end here beg start shutup-p point-marker nil set-marker-insertion-type t ((byte-code "b\210\301\211\223\207" [here nil] 3)) line-end-position (scan-lists end 1 -1) ((error)) (byte-code "\301\302\211#\207" [beg scan-lists 1] 4) ((error)) 40 error "Cannot find start of balanced expression to indent" (byte-code "\300`\301\"\207" [scan-sexps 1] 3) ((error)) "Cannot find end of balanced expression to indent" c-indent-region] 4 (#$ . 66230) "*P"]) #@200 Indent the current top-level declaration or macro syntactically. In the macro case this also has the effect of realigning any line continuation backslashes, unless `c-auto-align-backslashes' is nil. (defalias 'c-indent-defun #[nil "\306 \307\310\216\311 \312\211\312\307\211\307\313\216\314!\203,\315\316\307\317 #\210\2023\320\321\307\322 #\210\323\307!.\205C\324@A\"+\207" [decl-limits here modified buffer-undo-list inhibit-read-only inhibit-point-motion-hooks point-marker nil ((byte-code "b\210\301\211\223\207" [here nil] 3)) buffer-modified-p t ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) looking-at c-backward-token-2 1 line-beginning-position c-forward-token-2 0 line-end-position c-declaration-limits c-indent-region before-change-functions after-change-functions deactivate-mark c-syntactic-eol] 5 (#$ . 67165) "*"]) #@216 Indent syntactically every line whose first char is between START and END inclusive. If the optional argument QUIET is non-nil then no syntactic errors are reported, even if `c-report-syntactic-errors' is non-nil. (defalias 'c-indent-region #[(start end &optional quiet) "\212b\210\306\307x\210` b\210\310 \210\306\307w\210`\310 \210\311!\307\211\n\205@\312 \313\211\313\307\211 \307!\314\216\212\315 . \205@ \307\211\"#$%&'\316\216\317 \320#\210n\203\336m\204\336`'W\203\336\321 \210\322\307w\210\310 \210\312 \313\211\313\307\211 \307!\323\216\324 \".\n\203\230\325\"\236\203\230`$$\203\321\326\327!\203\251\307y\210\202V\330\"\313\211#\210\307\210`Sf\331=\204\313\307y\210\332$`\307#\210\307$\202V\307y\210\202V\330\"\313\211#\210\307y\210\202V$\203\355\332$\333\334!\307\313$\210)\335(!.\206\371&\211&)\207" [end start c-auto-align-backslashes modified buffer-undo-list inhibit-read-only " \n \f " nil beginning-of-line copy-marker buffer-modified-p t ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-beginning-of-macro ((byte-code "\301\211\223\210\302\303!\207" [endmark nil c-progress-fini c-indent-region] 3)) c-progress-init c-indent-region c-progress-update " \n" ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-guess-basic-syntax cpp-macro looking-at "\\s *\\\\$" c-indent-line 92 c-backslash-region line-beginning-position 0 c-echo-parsing-error inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark syntax c-fix-backslashes in-macro c-echo-syntactic-information-p c-parsing-error endmark quiet] 7 (#$ . 68093)]) (defalias 'c-fn-region-is-active-p #[nil "\207" [mark-active] 1]) #@103 When the region is active, indent it syntactically. Otherwise indent the current line syntactically. (defalias 'c-indent-line-or-region #[nil "\203 \301\302 \303 \"\207\304 \207" [mark-active c-indent-region region-beginning region-end c-indent-line] 3 (#$ . 69927) nil]) (byte-code "\301B\302\301!\204\303\301\304\"\210\304\207" [current-load-list c-progress-info default-boundp set-default nil] 3) (defalias 'c-progress-init #[(start end context) "?\206&\305\306!\204\307\310!\207 \206&\311\n\212 b\210\312 )\306 A@\f$\307\313!\207" [c-progress-interval c-progress-info start end context fboundp current-time message "Indenting region... (this may take a while)" vector point-marker "Indenting region..."] 5]) (defalias 'c-progress-update #[nil "\2053 \2053\306 A@\307H\310H\311H \nZW\2052\312\313`\fZ\314_ \fZ\245\"\210\311 I,\207" [c-progress-info c-progress-interval lastsecs end start now current-time 0 1 2 message "Indenting region... (%d%% complete)" 100] 5]) (defalias 'c-progress-fini #[(context) "\205 \n\303H=\204 \304=\205\n\305H\306\211\223\210\306\307\310!\207" [c-progress-interval context c-progress-info 3 t 1 nil message "Indenting region... done"] 3]) #@693 Insert, align, or delete end-of-line backslashes on the lines in the region. With no argument, inserts backslashes and aligns existing backslashes. With an argument, deletes the backslashes. The backslash alignment is done according to the settings in `c-backslash-column', `c-backslash-max-column' and `c-auto-align-backslashes'. This function does not modify blank lines at the start of the region. If the region ends at the start of a line and the macro doesn't continue below it, the backslash (if any) at the end of the previous line is deleted. You can put the region around an entire macro definition and use this command to conveniently insert and align the necessary backslashes. (defalias 'c-backslash-region #[(from to delete-flag &optional line-mode) "\306 \212\307\310x\210n\205\311\312!)\203\313 \202e\310\211\211\212 b\210\204-o\204\210\204;n\203;\314u\210`\203Q\f`\310\223\210b\210\315\f \"\210\202\210\310\210`Sf\316=\205p\317y\320U\205p\310\210`Sf\316=\205piS\203\211\310\321\322\217\206\201]\204\211\323\203\232\204\232b\210\202I\320 b\210\203\246\317y\210\310\210`Y\203\321`Sf\316=\203\273\314u\210\307\310x\210 iT]\324 \210o\204\321\314u\210\202\251b\210\324 \210o\204\372\314u\210`Sf\316=\203\372iS\247\203\363\n]b\210\202\247\203b\210` W\203n\203l\203\317y\210\202\n\203%\n W\203%\310\n\204D \246\320V\203? \\\314\\\245_ ]\n^\203[\f \310\223\210\325\f\n #\210\202\210\212 b\210\324 \210o?\205l\f`S\310\223)\203~\325\f\n #\210\f`\310\223\210\202\203\f \310\223\210\315\f \"\210)\f\310\211\223\210\326 !\205\230 \310\211\223-\207" [bs-col-after-end longest-line-col column point-pos endmark to make-marker " " nil looking-at "[ ]*\\\\?$" point-marker -1 c-delete-backslashes-forward 92 1 0 (line-end-position 0) ((error)) t beginning-of-line c-append-backslashes-forward markerp line-mode delete-flag from c-auto-align-backslashes tab-width c-backslash-column c-backslash-max-column] 5 (#$ . 71141) "*r\nP"]) (defalias 'c-append-backslashes-forward #[(to-mark column point-pos) "\306\307 `\" \203\234`\nX\205`\310\211\211\310\210`Sf\311=\204)\311c\210\312\306`\310\211%\313u\210i \204A\3148\204\215 W\203]`\315`Y\205Rx\210`|\210 j\210\202\215 U\203k`Sf\316>\204\215`\315`Y\205wx\313U\203\204\310f\317U\204\215`\f|\210\320 \321\"\210\322\321y!,\205n\205\202\n`\nX\205`\310\210\306`\310\211%`Sf\311=\203\327\3148\204\361\313u\210`Sf\323>\203\321`U\203\361\317c\210\202\361`Sf\324>\203\354`U\204\354\311c\210\202\361\317\311\261\210\322\321y!)\205n\205\202\234)\207" [state column to-mark col end inserted parse-partial-sexp line-beginning-position nil 92 t -1 3 " " (32 9) 32 indent-to 1 zerop (32 9) (32 9) start point-pos] 6]) (defalias 'c-delete-backslashes-forward #[(to-mark point-pos) "`X\2050\302\210`Sf\303=\203\"`\304u\210\305` Y\205 x\210`|\210\306\307y!\2050n\2050\202\207" [to-mark point-pos nil 92 -1 " " zerop 1] 4]) (byte-code "\301B\302\301!\204\303\301\304\"\210\305B\302\305!\204\303\305\306\"\210\307B\302\307!\204-\303\307\306\"\210\306\207" [current-load-list c-auto-fill-prefix default-boundp set-default t c-lit-limits nil c-lit-type] 3) (defalias 'c-guess-fill-prefix #[(lit-limits lit-type) "`\306 \307Q \310=\203\n\202\f\311\211-.\311\211/01\20391`2\312\216\313\3141\"\210i*B/\202( \310=\203\370\212\315.3A0\316 \210`3@V\203Y`-\202\3643@b\210\317y\320U\203s`3AW\203s`-\202\3643@b\210\321\n!\203\205\320\225b\210\202\214\322u\210\323\311w\210\311\21145\212\324 \210`)3@=\203\254\325\326 `\"5i4\202\325`3@Z\31167\327\2163@b\210i\330c\210j\210`67u\210\325\326 `\"5i4+\331\3325\"\204\341l\204\35154B\202\3615\333P4TB/*)\202(\2123A\322Zb\210\321\334!\203\n`\202 3A)0\212\316 \210`3@V\2031\321\335!\203+3A\320\225=\2041`-\202'3@b\210\317y\320U\203d`3AY\204d\321\335!\203T3A\320\225=\204d\321\n!\203o3AS\320\225X\203o8\206j\336.\202\276`W\203\273\317\224\203\230\317\224\317\225U\204\230\320\225\337 U\203\222\340\317!.\202\276`-\202\276\212\324 \210i)\2123@b\210i)X\203\2658\206\260\336.\202\276`-\202\276`-.\203'\311\2119:\341\2163@b\210\321 !\203\340\320\2250^b\210\202\347\322u\210\323\311w\210`Sfz\342=\203.\320\331\343.\"O\325\212\323\311x\210`)`\"P.\344 :\313\345.\346#\210\344 9\347 \2109Sb\210\325\326 `\"i+B/)/\206\326\212\311\211;<\350=\351\352\215\206\325;\203\266\331\332;\"\204R\203\200\310\202\256;\204\230\n\321=\203\230\322 @X\203\230\311\202\256\n\323=\203\256\324\325=P\206\250\326\"\204\256\311.\310=\206\216\203\303\f \210\327!\202\216\307 \310\21156\3107\311\21189\311:\330\216 \204\341\313 \n\204\351\314 !\n\331>.\203.>\204\212 @b\210\311\210` AW)\203\315\307 \310\21156\3107\311\21189\311:\332\216\333\334 !\211\n\".`i\n\321=\203A\212 A\335Zb\210\336\337!\205=`)\206C A?@ABiBAW\203]l\204]\340u\210\202K`?V\203\230\322 @V\203\230\341A\310\"A\342 \210\327B@!\210C\203\210\327\343!\210\202\214\344\340!\210Ab\210A\311\211\223\202\311`?V\203\246?b\210\202\265` @\335\\W\203\265 @\335\\b\210\f \210\327B@!\210i@V\205\311\345@!,\202\216DE\311FED\n\321=\203\357\324\346D\"\204\375\347D\350E\202\375\324\351D\"\204\375\352D\326E\212\353 \210i)F\f \210E\203E\326\232\204\354u\210\327E!\210\340u\210Fj\210\327D!\210\355 +\202\216 9\203X\212\307 \310\21156\3107\311\21189\311:\356\216\316 \205Q`. \211\202Y \203q\336\357!\204e\360 \210\361G?\205m\340!\202\216\212\342 \210\336\362!\203\202\354y\363U\204u\364 )F\f \210Fj)-\207" [fill-prefix c-lit-limits c-lit-type c-macro-start do-line-break modified #[nil "\302 \210\203 \303\304!\207\305 ?\205\306!\207" [soft allow-auto-fill delete-horizontal-space insert-and-inherit 10 newline 1] 2] buffer-modified-p t nil ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-literal-limits c-literal-type ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-beginning-of-macro cpp code c line-beginning-position c++ string-match "\\`[ ]*" "" insert-and-inherit ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) (c c++) ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-guess-fill-prefix c-collect-line-comments 2 looking-at "\\*/" 1 copy-marker beginning-of-line 10 newline move-to-column "[ ]*/\\*" "/* " " */" "[ ]*//" "// " back-to-indentation -1 indent-for-comment ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) "[ ]*\\\\$" delete-horizontal-space c-newline-and-indent "[ ]*\\\\?$" 0 current-indentation buffer-undo-list inhibit-read-only inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark c-auto-fill-prefix c-ignore-auto-fill c-line-comment-starter comment-multi-line comment-text-end start-col pos fill soft comment-start comment-end col allow-auto-fill] 6 (#$ . 83191) nil]) (byte-code "\301\302\303\"\210\304\302\303\"\210\305\306!\204+\307B\310\307!\204\311\307\312\"\210\313\314\315\316\312$\210\317\314\312\"\210\312\207" [current-load-list defalias c-comment-line-break-function c-indent-new-comment-line make-obsolete boundp comment-line-break-function c-inside-line-break-advice default-boundp set-default nil ad-add-advice indent-new-comment-line (c-line-break-advice nil t (advice lambda nil "Call `c-indent-new-comment-line' if in CC Mode." (if (or c-inside-line-break-advice (not c-buffer-is-cc-mode)) ad-do-it (let ((c-inside-line-break-advice t)) (c-indent-new-comment-line (ad-get-arg 0)))))) around ad-activate] 5) #@820 Do a line break suitable to the context. When point is outside a comment or macro, insert a newline and indent according to the syntactic context, unless `c-syntactic-indentation' is nil, in which case the new line is indented as the previous non-empty line instead. When point is inside the content of a preprocessor directive, a line continuation backslash is inserted before the line break and aligned appropriately. The end of the cpp directive doesn't count as inside it. When point is inside a comment, continue it with the appropriate comment prefix (see the `c-comment-prefix-regexp' and `c-block-comment-prefix' variables for details). The end of a C++-style line comment doesn't count as inside it. When point is inside a string, only insert a backslash when it is also inside a preprocessor directive. (defalias 'c-context-line-break #[nil "\306\211\n\307 \310\211\310\306\211 \306!\311\216\312\306\211\310#\313!\211\314=\203/\315!\n9\203V\212\307 \310\211\310\306\211 \306!\316\216\317 \205P`. \202X\n\210. \320=\204\243 \314=\203t\212\321\306w\210`)ASW\204\243\n\247\203\261 \322=\204\261\323\324!\203\215`Sf\325=\203\261\212\nb\210\323\"!\203\234\326\225b\210`)`X\203\261\310\306#$\327\306\310\"*\202\361 \322=\203\314\n\247\203\307`Sf\325=\204\307\325c\210\330 \202\361\331 \210\330 \210\212\332u\210\326y\210\323\333!\203\346\332y\326U\204\331\334 )\211%j\210)\335 +\207" [c-lit-limits c-lit-type c-macro-start modified buffer-undo-list inhibit-read-only nil buffer-modified-p t ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-literal-limits c-literal-type c++ c-collect-line-comments ((byte-code "\204 \301 \203 \302\303!\210\303\207" [modified buffer-modified-p set-buffer-modified-p nil] 2)) c-beginning-of-macro c " " string looking-at "\\s *$" 92 0 c-indent-new-comment-line newline delete-horizontal-space -1 "[ ]*\\\\?$" current-indentation indent-according-to-mode inhibit-point-motion-hooks before-change-functions after-change-functions deactivate-mark c-opt-cpp-start fill-prefix comment-multi-line col] 5 (#$ . 87572) "*"]) #@211 Insert a line break suitable to the context and leave point before it. This is the `c-context-line-break' equivalent to `open-line', which is normally bound to C-o. See `c-context-line-break' for the details. (defalias 'c-context-open-line #[nil "`\301\216\302c\210\303 *\207" [here ((byte-code "b\210\301\302!\207" [here delete-char 1] 2)) 120 c-context-line-break] 1 (#$ . 89762) "*"]) (provide 'cc-cmds)