;ELC ;;; compiled by rms@mole.gnu.ai.mit.edu on Fri Jun 16 10:56:37 1995 ;;; from file /home/fsf/rms/e19/lisp/c-mode.el ;;; emacs version 19.28.94.1. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.28.90"))) (error "`c-mode.el' was compiled for Emacs 19.29 or later")) #@32 Abbrev table in use in C mode. (defvar c-mode-abbrev-table nil (#$ . 473)) (define-abbrev-table (quote c-mode-abbrev-table) nil) #@24 Keymap used in C mode. (defvar c-mode-map (make-sparse-keymap) (#$ . 608)) (byte-code "タ ツテ#安 トテ#安 ナニ#安 ヌネ#安 ノハ#安 ヒフ#安 ヘホ#安 マミ#安 ムメ#安 モヤ#安 ユヨ#安 ラリ#安 ルレ#安 ロワ#安 ン゙ #安 ゚玻!B#安 矮#安 聿#安 褂#安 鉅#安 鳰#安 #安 #安 #安 #安 #安 #安 #飲#飲#飲#" [define-key c-mode-map "{" electric-c-brace "}" ";" electric-c-semi "#" electric-c-sharp-sign ":" electric-c-terminator "" mark-c-function "" indent-c-exp "a" c-beginning-of-statement "e" c-end-of-statement "" c-forward-conditional "" c-backward-conditional "" c-up-conditional "" backward-delete-char-untabify " " c-indent-command [menu-bar] make-sparse-keymap [menu-bar c] "C-mode" [menu-bar c comment-region] ("Comment Out Region" . comment-region) [menu-bar c c-macro-expand] ("Macro Expand Region" . c-macro-expand) [menu-bar c c-backslash-region] ("Backslashify" . c-backslash-region) [menu-bar c indent-exp] ("Indent Expression" . indent-c-exp) [menu-bar c indent-line] ("Indent Line" . c-indent-command) [menu-bar c fill] ("Fill Comment Paragraph" . c-fill-paragraph) [menu-bar c cpp-highlight-buffer] ("Highlight Conditionals" . cpp-highlight-buffer) [menu-bar c up] ("Up Conditional" . c-up-conditional) [menu-bar c backward] ("Backward Conditional" . c-backward-conditional) [menu-bar c forward] ("Forward Conditional" . c-forward-conditional) [menu-bar c backward-stmt] ("Backward Statement" . c-beginning-of-statement) [menu-bar c forward-stmt] ("Forward Statement" . c-end-of-statement) put comment-region menu-enable mark-active c-macro-expand c-backslash-region] 6) #@141 Display the result of expanding all C macros occurring in the region. The expansion is entirely correct because it uses the C preprocessor. (autoload (quote c-macro-expand) "cmacexp" '(#$ . 2190) t) #@40 Syntax table in use in C-mode buffers. (defvar c-mode-syntax-table nil (#$ . 2395)) (byte-code "Оチ ツテト#按ナニ#按ヌネ#按ノハ#按ヒハ#按フハ#按ヘハ#按ホハ#按マハ#按ミハ#按ムハ#按メモ#庵" [c-mode-syntax-table make-syntax-table modify-syntax-entry 92 "\\" 47 ". 14" 42 ". 23" 43 "." 45 61 37 60 62 38 124 39 "\""] 4) #@64 *Indentation of C statements with respect to containing block. (defconst c-indent-level 2 (#$ . -2708)) #@76 *Imagined indentation of a C open brace that actually follows a statement. (defconst c-brace-imaginary-offset 0 (#$ . -2818)) #@74 *Extra indentation for braces, compared with other text in same context. (defconst c-brace-offset 0 (#$ . -2950)) #@61 *Indentation level of declarations of C function arguments. (defconst c-argdecl-indent 5 (#$ . -3070)) #@77 *Offset of C label lines and case statements relative to usual indentation. (defconst c-label-offset -2 (#$ . -3179)) #@54 *Extra indent for lines not starting new statements. (defconst c-continued-statement-offset 2 (#$ . -3303)) #@117 *Extra indent for substatements that start with open-braces. This is in addition to `c-continued-statement-offset'. (defconst c-continued-brace-offset 0 (#$ . -3418)) (byte-code "タチ\nBチ" [(("GNU" (c-indent-level . 2) (c-argdecl-indent . 5) (c-brace-offset . 0) (c-continued-brace-offset . 0) (c-label-offset . -2) (c-continued-statement-offset . 2)) ("K&R" (c-indent-level . 5) (c-argdecl-indent . 0) (c-brace-offset . 0) (c-continued-brace-offset . -5) (c-label-offset . -5) (c-continued-statement-offset . 5)) ("BSD" (c-indent-level . 4) (c-argdecl-indent . 4) (c-brace-offset . 0) (c-continued-brace-offset . -4) (c-label-offset . -4) (c-continued-statement-offset . 4)) ("C++" (c-indent-level . 4) (c-argdecl-indent . 0) (c-brace-offset . 0) (c-continued-brace-offset . -4) (c-label-offset . -4) (c-continued-statement-offset . 4) (c-auto-newline . t)) ("Whitesmith" (c-indent-level . 4) (c-argdecl-indent . 4) (c-brace-offset . 0) (c-continued-brace-offset . 0) (c-label-offset . -4) (c-continued-statement-offset . 4))) c-style-alist current-load-list] 2) #@224 *Non-nil means automatically newline before and after braces, and after colons and semicolons, inserted in C code. If you do not want a leading newline before braces then use: (define-key c-mode-map "{" 'electric-c-semi) (defconst c-auto-newline nil (#$ . -4490)) #@142 *Non-nil means TAB in C mode should always reindent the current line, regardless of where in the line point is when the TAB command is used. (defconst c-tab-always-indent t (#$ . -4763)) (byte-code "タチ\nBチ" ["case[ '/(]\\|default[ ]*:" c-switch-label-regexp current-load-list] 2) #@1808 Major mode for editing C code. Expression and list commands understand all C brackets. Tab indents for C code. Comments are delimited with /* ... */. Paragraphs are separated by blank lines only. Delete converts tabs to spaces as it moves back. \{c-mode-map} Variables controlling indentation style: c-tab-always-indent Non-nil means TAB in C mode should always reindent the current line, regardless of where in the line point is when the TAB command is used. c-auto-newline Non-nil means automatically newline before and after braces, and after colons and semicolons, inserted in C code. c-indent-level Indentation of C statements within surrounding block. The surrounding block's indentation is the indentation of the line on which the open-brace appears. c-continued-statement-offset Extra indentation given to a substatement, such as the then-clause of an if or body of a while. c-continued-brace-offset Extra indentation given to a brace that starts a substatement. This is in addition to c-continued-statement-offset. c-brace-offset Extra indentation for line if it starts with an open brace. c-brace-imaginary-offset An open brace following other text is treated as if it were this far to the right of the start of its line. c-argdecl-indent Indentation level of declarations of C function arguments. c-label-offset Extra indentation for line that is a label, or case or default. Settings for K&R and BSD indentation styles are c-indent-level 5 8 c-continued-statement-offset 5 8 c-brace-offset -5 -8 c-argdecl-indent 0 8 c-label-offset -5 -8 Turning on C mode calls the value of the variable c-mode-hook with no args, if that value is non-nil. (defalias 'c-mode #[nil "タ 庵\n!暗ナノ\n!依フ!囲P\fヒマ!\fヒミ!尉ヒメ!意ヒヤ!易ヒヨ!為ヒリ!尉ヒル!移ヒロ!緯ヒン!萎ピ!謂ヒ!遺!ヒ!井#ヒ!域%ヒ!尉'ヒ!尉(鳰!" [kill-all-local-variables use-local-map c-mode-map c-mode major-mode "C" mode-name c-mode-abbrev-table local-abbrev-table set-syntax-table c-mode-syntax-table make-local-variable paragraph-start "$\\|" page-delimiter paragraph-separate paragraph-ignore-fill-prefix t fill-paragraph-function c-fill-paragraph indent-line-function c-indent-line indent-region-function c-indent-region require-final-newline outline-regexp "[^#\n ]" outline-level c-outline-level comment-start "/* " comment-end " */" comment-column 32 comment-start-skip "/\\*+ *" comment-indent-function c-comment-indent comment-multi-line parse-sexp-ignore-comments run-hooks c-mode-hook] 2 (#$ . 5056) nil]) (defalias 'c-outline-level #[nil "澗チwi)" [" " nil] 2]) (defalias 'c-comment-indent #[nil "タチ!ツ`環y安ト!ナニ!iTHタヌ!)タネ!-ノH b位ヒx\fツUイnイツHiT\f]*" [looking-at "^/\\*" 0 opoint "[ ]*}[ ]*\\($\\|/\\*\\)" search-forward "}" "^#[ ]*endif[ ]*" "^#[ ]*else[ ]*" 7 " " nil comment-column] 2]) #@231 Like \[fill-paragraph] but handle C comments. If any of the current line is a comment or within a comment, fill the comment or the paragraph of it that point is in, preserving the comment indentation or line-starting decorations. (defalias 'c-fill-paragraph #[(&optional arg) "タ環y暗タw案 !`)ネ=環y案ノ!)タ\nヒP\fヒP\f\n 環yoКトホ!ガマy;トノ!Уミy尉メ!iヤタx易iヨZラ\"リユiZラ\"Q )形諌y案ホ!ャミyX`)} c異!ee G\\|-すソロ ワ=ソ環y尉 澗`)ワ#`)Υ環y案ン!χム !易iラ\"ワミy安iツy`゚玳!ワ\"`!ツy遺!wg=h=衵!`){゚!`タ`|))\nヒP\fヒPツ&\f\n 穴 6 b:鉅!i)`)&ラ)\"* ゴ ヨ\\b壱タ#威y`)}嚇b委y案!ヒe`})ル!各b&ツVラ``&\\|db委y壱タ#按y案!Ο/\\/マy鰯`d\").すル!*ワ" [nil comment-start-place 0 " \n" looking-at comment-start-skip first-line major-mode c++-mode ".*//" paragraph-start "\\|[ ]*/\\*[ ]*$\\|[ ]*\\*/[ ]*$\\|[ /*]*$" paragraph-separate fill-prefix "[ ]*//" -1 1 re-search-forward "[ ]*//[ ]*" endcol " " make-string 2 32 "//" fill-paragraph arg calculate-c-indent t "[ ]*/\\*.*\\*/" line-width move-to-column calculate-c-indent-within-comment max-prefix-end " *" 47 42 backward-char chars-to-delete search-backward "/*" column insert-char search-forward "*/" move "[ ]*\\*/" fill-column 9999 fill-region-as-paragraph] 5 (#$ . 8034) "P"]) #@50 Insert character and correct line's indentation. (defalias 'electric-c-brace #[(arg) "タ\nБlア甘タxn)\fアナ 鞍 c闇 \f3ニ `ネZナ < Tb伊ハ!) コ b依フ\n!!)8ヒフ\n!!)" [nil insertpos arg " " c-auto-newline c-indent-line newline last-command-char 2 delete-char -1 self-insert-command prefix-numeric-value] 3 (#$ . 9375) "P"]) #@50 Insert character and correct line's indentation. (defalias 'electric-c-sharp-sign #[(arg) "澗チxn)チテ\f!)ナニ\f!!" [" " nil c-auto-newline electric-c-terminator arg self-insert-command prefix-numeric-value] 3 (#$ . 9721) "P"]) #@50 Insert character and correct line's indentation. (defalias 'electric-c-semi #[(arg) "チ\n!テト\n!!" [c-auto-newline electric-c-terminator arg self-insert-command prefix-numeric-value] 3 (#$ . 9958) "P"]) #@50 Insert character and correct line's indentation. (defalias 'electric-c-terminator #[(arg) "タ` пlメ監y闇タwgニUTネ=8ノ\n!8翰タw闇タw` W)Tフ 囲` \"マ8Sミ8Sム8))пc惟 ピヤ гユ `ヨZメ 浬nポ\nTb為リ!)\nヲ浬nb異レ !!)wルレ !!*" [nil end insertpos arg 0 " " 35 last-command-char 58 looking-at c-switch-label-regexp "a-zA-Z0-9_$" beginning-of-defun parse-partial-sexp pps 3 4 5 c-indent-line c-auto-newline c-inside-parens-p newline 2 delete-char -1 self-insert-command prefix-numeric-value] 3 (#$ . 10171) "P"]) (defalias 'c-inside-parens-p #[nil "タチツ順" [nil (byte-code "褐`タ `}db庵`ツテ#efトU*" [beginning-of-defun scan-lists -1 1 40] 4) ((error))] 3]) #@517 Indent current line as C code, or in some cases insert a tab character. If `c-tab-always-indent' is non-nil (the default), always indent current line. Otherwise, indent the current line only if point is at the left margin or in the line's indentation; otherwise insert a tab. 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 are preserved. (defalias 'c-indent-command #[(&optional whole-exp) "=チ ツヌy簡y`)`\fW.ノネ!`ハツw) \fV;ヒ\f フ$+О艦ツxn)Оホ チ " [whole-exp c-indent-line nil end beg shift-amt c-tab-always-indent 0 1 forward-sexp " \n" indent-code-rigidly "#" " " insert-tab] 5 (#$ . 10860) "P"]) #@78 Indent current line as C code. Return the amount the indentation changed by. (defalias 'c-indent-line #[nil "タチ!チ演d`Zヌy`チ=ソ"ネ やノ=0ハ やヒフ!<ヌやヘチw<ガ@ヒ!dヒマ!パ諌ム!依メ!)パム\\]やヒヤ!ヨヒユ!ц関 以 )やヒラ!Θヒリ!┬潅u異 椅 以 )やヒレ!ηヒロ!ナ含 )η含 以 )やgンUψZやg゚U \\ヘチwiZヌUd\nZ`Vd\nZb `|jd\nZ`Vd\nZb\f-" [calculate-c-indent nil pos case-fold-search shift-amt beg indent 0 current-indentation t calculate-c-indent-within-comment looking-at "[ ]*#" " " c-switch-label-regexp "[A-Za-z]" forward-sexp 1 ":" c-label-offset "else\\b" "else\\s_" c-backward-to-start-of-if "}[ ]*else\\b" "}[ ]*else\\s_" backward-sexp "while\\b" "while\\s_" c-backward-to-start-of-do 125 c-indent-level 123 c-brace-offset] 7 (#$ . 11675)]) #@182 Return appropriate indentation for current line as C code. In usual case returns an integer: the column to indent to. Returns nil if line starts inside a string, t if in a comment. (defalias 'calculate-c-indent #[(&optional parse-start) "澗y`チ演bヌ ` W1`ネ` タ#A@ノ 8=ハ 8イハ 8Y\n b依チwgフUスタYヘ_e!莞マチミ#庵確モヤ!ユyPチヨラ処タy意リ!)ンモレ!モロ!タ百bgワUケ`チン゙処゚チwう` Wg>b安y矮#砌#?τタ+Y\nfフU\nTbiY b囲\n!h=+h=ィ`躬f=+`躬fz>ィh=8黏壱\n!安y囲\n!\f`チ,-,уタyoタ`-繪,J伎uhU)バ黏HgUミ黏`-H繪,ギ-b*h>タ b依チwgU)タ\n!2i b依チwg)フ=コ3そタ\\\\Y\nb閑u安4チw意!gUユyぬgU輹違菽ミ#ぬ潅`4)碾!ぬ` W$4`V :ZigフUソ";#タZ*Yn;<タU;;2\\=<ヒチxnオタK=h=ザ!飲 \\\\-" [0 nil containing-sexp state case-fold-search indent-point parse-start beginning-of-defun parse-partial-sexp 3 4 " " 123 c-backward-to-noncomment re-search-backward "^[^ \f \n#]" move lim comment looking-at " *[({}#/]" 1 (backward-sexp 1) ((error)) "DEFUN\\b" c-argdecl-indent "\\sw\\|\\s_" "[^\"\n=(]*(" 40 (forward-sexp 1) ((error)) " \f" (44 59) search-forward "/*" t "*/" 44 58 2 39 (119 95) -1 c-backward-to-start-of-continued-exp stop found 92 35 (0 44 59 125 123) 125 c-continued-statement-offset c-continued-brace-offset colon-line-end " \n" "#\\|/\\*\\|case[ \n'/(].*:\\|[a-zA-Z0-9_$]*:" 47 ":" current-indentation c-label-offset c-brace-offset c-indent-level c-brace-imaginary-offset 41 forward-sexp] 5 (#$ . 12497)]) #@204 Return the indentation amount for line inside a block comment. Optional arg AFTER-STAR means, if lines in the comment have a leading star, return the indentation of the text that would follow this star. (defalias 'calculate-c-indent-within-comment #[(&optional after-star) "タ甘y案タwgナUニタx`テy案タw,ネノ!,ハヒ!位フ\nヘ#ィ ィВテ乃b以ホ!ゴhナUゴiT5i+" [nil star-start end 0 " " 42 " \n" after-star looking-at "\\*" re-search-forward "\\*[ ]*" "/\\*[ ]*" t "[ ]*$"] 4 (#$ . 14094)]) (defalias 'c-backward-to-noncomment #[(lim) "タ ?Iテ\fx``\fナ\\Y+竿u杏ネ!)+ノハ\fヒ#`\fX>肝y囲タw杏ホ!)?フy*" [nil stop opoint " \n\f" lim 2 -2 looking-at "\\*/" search-backward "/*" move 0 " " "#"] 5]) (defalias 'c-backward-to-start-of-continued-exp #[(lim) "hタ>ソnチツ!暗y`\fX\fTb闇ニw" [(41 34) forward-sexp -1 0 lim " " nil] 2]) #@50 Move to the start of the last "unbalanced" `if'. (defalias 'c-backward-to-start-of-if #[(&optional limit) " 潅 `)ツテo?Q ニU?Qヌツ!以ノ!1ネハ!1 Tネヒ!イネフ!Г S`Wニb*" [limit beginning-of-defun 1 nil case-fold-search if-level 0 backward-sexp looking-at "else\\b" "else\\s_" "if\\b" "if\\s_"] 2 (#$ . 14954)]) #@117 If point follows a `do' statement, move to beginning of it and return t. Otherwise return nil and don't move point. (defalias 'c-backward-to-start-of-do #[(&optional limit) " 潅 `)ツ`テ\fk`テネノ処\fgハヒ!-フH艦ホ!=hマUSミムツゲhマUРメ3ホ$)ソ\モHテ`Wトモ)\fフ=ブツZ b暗+" [limit beginning-of-defun t nil done startpos first next-start (backward-sexp 1) ((error (byte-code "タタ" [fail done] 1))) looking-at "do\\b" succeed forward-sexp 1 125 search-forward ";" 2 fail] 6 (#$ . 15294)]) #@305 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 preceding one. If within a string or comment, or next to a comment (only whitespace between), move by sentences instead of statements. (defalias 'c-beginning-of-statement #[(count) "`タ甘 案`\nタ$)ナ 86ニ 86ヌネ P!6缶タx`ヒZb杏フ!)>ヘ[!EマVゲミ S@マWdム T4*" [nil state here beginning-of-defun parse-partial-sexp 3 4 looking-at "[ ]*" comment-start-skip " " 2 "\\*/" forward-sentence count 0 c-beginning-of-statement-1 c-end-of-statement-1] 6 (#$ . 15818) "p"]) #@224 Go to the end of the innermost C statement. With prefix arg, go forward N - 1 statements. Move forward to end of the next statement if already at end. If within a string or comment, move by sentences instead of statements. (defalias 'c-end-of-statement #[(count) "タ [!" [c-beginning-of-statement count] 2 (#$ . 16486) "p"]) (defalias 'c-beginning-of-statement-1 #[nil "`タテトナ*" [t first last-begin nil (byte-code "oタチ!\nテト ニ#`ヌ b" [backward-sexp 1 first re-search-forward "[;{}]" last-begin t nil] 4) ((error (byte-code "チツ! b" [first backward-up-list 1 last-begin] 2)))] 3]) (defalias 'c-end-of-statement-1 #[nil "タチツ順" [nil (byte-code "m`チツ!`b案ナ ニ#+ヌネ!按u" [beg forward-sexp 1 end re-search-forward "[;{}]" t re-search-backward "[;}]"] 4) ((error (byte-code "`チツ!`b案ナ ニ#*" [beg backward-up-list -1 end search-forward ";" move] 4)))] 3]) #@52 Put mark at end of C function, point at beginning. (defalias 'mark-c-function #[nil "タ`!庵 安`ツテ#案 闇 " [push-mark end-of-defun nil t beginning-of-defun backward-paragraph] 4 (#$ . 17377) nil]) #@53 Indent each line of the C grouping following point. (defalias 'indent-c-exp #[(&optional endpos) "タC` $タ看u鞍 `)\f圭f`}安ヌネ*%`C タ\nタ タ\fタ タタタタタタタタタラ館ナ!)柿ロ澗`)ン#陥巴萎タxn)゚`タ%  8? 8?) 為y*澗\fm?e Π` Wこ\f?eタ  ,mνン\f,゚`タ`タ%@AA@AA@ラYAA@88ソn 違888%ナyそン β ゾラWゾ タC\" タC\" TT幄8T0 ?fラX\f─8Vョ A A SOUタWΟタ Bタ B Tt @ナ A@テ館!`)闇y萎タwl─ レ` Y─ @ @ラY#タ* @fU @b,i\\*) @ @[\n!**ン= * *) @fU3 @だ柿!A!?gU!R!?gUヂ @た\n!h>ф @!8iミ9ラ\\\\たヶ\n!胤 たΚ\n!Κ たh=ケb逸 た @)>!ル!館ナ!茨 !)ナA\\]gU,ZgUiラUラB\\lラiU)g,U)`ラy`|j茨!─柿ロ澗`)ン#ヂ゚`タ%  8?Z 8?)ヂ *ぁ." [nil indent-stack opoint endpos funbeg 1 beginning-of-defun (byte-code "澗チ!`)" [backward-up-list 1] 2) ((error (byte-code "`" [funbeg opoint] 1))) contain-stack case-fold-search restart outer-loop-done inner-loop-done state ostate this-indent last-sexp at-else at-brace at-while last-depth this-point 0 next-depth forward-sexp beg re-search-forward comment-start-skip t " " parse-partial-sexp new-state 3 5 indent-for-comment 4 7 c-indent-line append 6 -1 val 123 c-indent-level calculate-c-indent calculate-c-indent-within-comment looking-at "else\\b" "else\\s_" "while\\b" "while\\s_" 125 c-backward-to-noncomment (0 44 59 125 58 123) c-backward-to-start-of-continued-exp c-continued-statement-offset c-continued-brace-offset c-backward-to-start-of-if current-indentation c-backward-to-start-of-do 44 c-switch-label-regexp "[A-Za-z]" ":" c-label-offset c-brace-offset 35] 7 (#$ . 17579) nil]) (defalias 'indent-c-find-real-comment #[nil "タ 4ツ 澗`)ト#4ナ竿y`)`タ%ノ8?/ハ8?) )" [nil win re-search-forward comment-start-skip t parse-partial-sexp 0 state state-1 3 5] 6]) (defalias 'c-indent-region #[(start end) "b庵ツw暗y案 !ニnΘm┬`WΘノ ツ演\n \f 甘y夷マ!)ァミyい滑ミy`\f)テy`\fWダツムメ処チツwL\nバ\nb意ミ!` )\nヴ\n\fVヴ\nXヴ \fWヴヤ \nb\nΑ\nツ遠威y,ツ遠+" [start " \n" nil 0 copy-marker end t c-tab-always-indent endmark c-indent-line sexpend sexpbeg nextline shift-amt looking-at "[ ]*#" 1 (byte-code "タチ!按 タ" [forward-sexp 1 point-marker sexpend] 2) ((error (byte-code "タ\nb" [nil sexpend nextline] 1))) backward-sexp indent-c-exp] 4]) #@304 Set C-mode variables to use one of several different indentation styles. The arguments are a string representing the desired style and a flag which, if non-nil, means to set the style globally. (Interactively, the flag comes from the prefix argument.) Available styles are GNU, K&R, BSD and Whitesmith. (defalias 'set-c-style #[(style &optional global) "タ \n\"Aトナ \" .ヌ @@! @@ @AL Aネ)" [assoc style c-style-alist vars error "Invalid C indentation style `%s'" global make-local-variable nil] 4 (#$ . 20194) (list (let ((completion-ignore-case t)) (completing-read "Use which C indentation style? " c-style-alist nil t)) current-prefix-arg)]) #@67 *Minimum column for end-of-line backslashes of macro definitions. (defvar c-backslash-column 48 (#$ . -20862)) #@468 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. This function does not modify the last line of the region if the region ends right at the start of the following line; it does not modify blank lines at the start of the region. So you can put the region around an entire macro definition and conveniently use this command. (defalias 'c-backslash-region #[(from to delete-flag) "b ツ  ニ嶋4` W4ニhネU)ノu位ニx\fiT]ヒy\f\fヲヘVシ\f\fノ\\\\\f・\f_マ Wザ)b` WナlナヒyY` Wワ翰y` W)ワфミ\f!iム 依yJ ニ遠+" [from c-backslash-column make-marker endmark column to nil delete-flag 92 -1 " " 1 tab-width 0 adjusted window-width c-append-backslash c-delete-backslash] 4 (#$ . 20980) "r\nP"]) (defalias 'c-append-backslash #[(column) "タhチUツu暗 \fj\fj闇c" [nil 92 -1 delete-horizontal-space column "\\"] 2]) (defalias 'c-delete-backslash #[nil "タnチu按テ!`Tトタx`|" [nil -1 looking-at "\\\\" " "] 3]) #@327 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. When going backwards, `#elif' is treated like `#else' followed by `#if'. When going forwards, `#elif' is ignored. (defalias 'c-up-conditional #[(count) "タ [ツ\"" [c-forward-conditional count t] 3 (#$ . 22073) "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 up-flag) "タ [\n\"" [c-forward-conditional count up-flag] 3 (#$ . 22507) "p"]) #@188 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. (defalias 'c-forward-conditional #[(count &optional up-flag) "チVソfテ ト\nニヌ` ハ チUヤ\f/チ0テハ  ┝マハミ#コチy尉メ!Σチy尉ヤ!ツ \\ムユ!ホ\nムチUム`  ZチWWヨ\nラyリ!\nΔトyチWΞ` )6\n6ハ6) トヨル!  b* \\!)レ  b-" [count 0 forward -1 1 increment re-search-forward re-search-backward search-function opoint nil new up-flag found depth "#[ ]*\\(if\\|elif\\|endif\\)" t looking-at "^[ ]*#[ ]*\\(if\\|elif\\|endif\\)" prev "[ ]*#[ ]*endif" "[ ]*#[ ]*elif" error "No following conditional at this level" "No previous conditional at this level" "No containing preprocessor conditional" push-mark] 5 (#$ . 22829) "p"])