home *** CD-ROM | disk | FTP | other *** search
- ;;; compiled by @win386 on Sat Mar 13 14:32:29 1993
- ;;; from file c:/src/lucid-19.4/lisp/modes/old-cxx-.el
- ;;; emacs version 19.3 Lucid.
- ;;; bytecomp version 2.08; 27-aug-92.
- ;;; optimization is on.
- ;;; this file uses opcodes which do not exist in Emacs18.
-
- (if (and (boundp 'emacs-version)
- (or (and (boundp 'epoch::version) epoch::version)
- (string-lessp emacs-version "19")))
- (error "This file was compiled for Emacs19."))
-
- (defvar c++-mode-abbrev-table nil "\
- Abbrev table in use in C++-mode buffers.")
- (define-abbrev-table 'c++-mode-abbrev-table nil)
- (defvar c++-mode-map nil "\
- Keymap used in C++ mode.")
- (byte-code "¼▌┴ ┬├─#ê┬┼╞#ê┬╟╞#ê┬╚╔#ê┬╩╦#ê┬╠═#ê┬╬╧#ê┬╨╤#ê┬╥╙#ê┬╘╒#ê┬╓╫#ê┬╪┘#ê┬┌█#ê┬▄▌#ê┬▐▀#ê┴ç" [c++-mode-map make-sparse-keymap define-key "\n" reindent-then-newline-and-indent "{" electric-c++-brace "}" ";" electric-c++-semi "" mark-c++-function "" indent-c++-exp "" backward-delete-char-untabify " " c++-indent-command " " c++-insert-header "" c++-macroize-region "" c++-comment-region "" c++-uncomment-region "" c++-beginning-of-defun "" c++-end-of-defun "" c++-indent-defun] 4)
- (defvar c++-mode-syntax-table nil "\
- Syntax table in use in C++-mode buffers.")
- (byte-code "¼û┴\n!├─┼#ê├╞╟#ê├╚╔#ê┴ç" [c++-mode-syntax-table copy-syntax-table c-mode-syntax-table modify-syntax-entry 47 ". 12" 10 ">" 39 "."] 4)
- (defvar c++-continued-member-init-offset nil "\
- *Extra indent for continuation lines of member inits; NIL means to align
- with previous initializations rather than with the colon on the first line.")
- (defvar c++-member-init-indent 0 "\
- *Indentation level of member initializations in function declarations.")
- (defvar c++-friend-offset -4 "\
- *Offset of C++ friend class declarations relative to member declarations.")
- (defvar c++-electric-colon t "\
- *If t, colon is an electric terminator.")
- (defvar c++-empty-arglist-indent nil "\
- *Indicates how far to indent an line following an empty argument
- list. Nil indicates to just after the paren.")
- (fset 'c++-mode #[nil "└ ê┴\n!ê├!ê┼╞!ê╟╔\n╦╠
- ╬╨╥╘┼╪!┘PLê┼█!Lê┼▄!▌Lê┼▐!▌Lê┼▀!αLêßΓ!ê#¡àΣ\nσµ#ç" [kill-all-local-variables use-local-map c++-mode-map set-syntax-table c++-mode-syntax-table make-local-variable indent-line-function c++-mode major-mode "C++" mode-name c++-indent-line "// " comment-start "" comment-end 32 comment-column "/\\*+ *\\|// *" comment-start-skip c++-comment-indent comment-indent-hook c++-mode-abbrev-table local-abbrev-table paragraph-start "^$\\|" page-delimiter paragraph-separate paragraph-ignore-fill-prefix t require-final-newline parse-sexp-ignore-comments nil run-hooks c++-mode-hook c++-electric-colon define-key ":" electric-c++-terminator] 4 "\
- Major mode for editing C++ code. Very much like editing C code.
- Expression and list commands understand all C++ brackets.
- Tab at left margin indents for C++ code
- Comments are delimited with /* ... */ {or with // ... <newline>}
- 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.
- Default is t.
- 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:'', or
- ``public:'' or ``private:'', or ``protected:''.
- c++-electric-colon
- If non-nil at invocation of c++-mode (t is the default) colon electricly
- indents.
- c++-empty-arglist-indent
- If non-nil, a function declaration or invocation which ends a line with a
- left paren is indented this many extra spaces, instead of flush with the
- left paren.
- c++-friend-offset
- Offset of C++ friend class declarations relative to member declarations.
- c++-member-init-indent
- Indentation level of member initializations in function declarations,
- if they are on a separate line beginning with a colon.
- c++-continued-member-init-offset
- Extra indentation for continuation lines of member initializations; NIL
- means to align with previous initializations rather than with the colon.
-
- Settings for K&R, BSD, and Stroustrup indentation styles are
- c-indent-level 5 8 4
- c-continued-statement-offset 5 8 4
- c-continued-brace-offset 0
- c-brace-offset -5 -8 0
- c-brace-imaginary-offset 0
- c-argdecl-indent 0 8 4
- c-label-offset -5 -8 -4
- c++-empty-arglist-indent 4
- c++-friend-offset 0
-
- Turning on C++ mode calls the value of the variable c++-mode-hook with
- no args,if that value is non-nil." nil])
- (fset 'c++-comment-indent #[nil "└┴!½é┬çè├─xêi┬U½â┬¬éiT`╞yê╟
- ╔#½ç┬öbêi¬é\n)])ç" [looking-at "^\\(/\\*\\|//\\)" 0 " " nil cur-pt -1 re-search-forward comment-start-skip t comment-column] 5])
- (fset 'electric-c++-brace #[(arg) "└\n¼╢l½│è├└xên)¼ë½º┼ ê╞ êcê┼ ê½è╞ ê`╚Z┼ êè ½ä Tbê╔╩!ê) ½îè bê╦╠\n!!)¬à╦╠\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 "\
- Insert character and correct line's indentation." "P"])
- (fset 'electric-c++-semi #[(arg) "½ä┴\n!ç├─\n!!ç" [c-auto-newline electric-c++-terminator arg self-insert-command prefix-numeric-value] 3 "\
- Insert character and correct line's indentation." "P"])
- (fset 'electric-c++-terminator #[(arg) "└`¼√l½°è─yê┼└wêg╞U«╜╚=½¥╔╩!¼ÿè╦vê┼└wê` W)½èè╦ê╔╠!)«Ü═ ê╬` \"╨8«è╤8«ä╥8))¼½cê╙ ê½ô╒ ¼Å╓ ë`S└ôê╫ ê╪ êè\n½ä\nTbê┘┌!ê)\n½îè\nbê█▄!!)¬à█▄!!*ç" [nil end insertpos arg 0 " " 35 last-command-char 58 looking-at "case[ ]" 1 ":" beginning-of-defun parse-partial-sexp pps 3 4 5 c++-indent-line c-auto-newline c-inside-parens-p make-marker newline c-indent-line delete-char -1 self-insert-command prefix-numeric-value] 4 "\
- Insert character and correct line's indentation." "P"])
- (fset 'c++-indent-command #[(&optional whole-exp) "½¡┴ ┬ëè½â╟yê`╚╔!ê`bê╔yê`)V¡å╩
- ╦$+ç¼îè╠┬xên)¼â═ ç┴ ç" [whole-exp c++-indent-line nil end beg shift-amt c-tab-always-indent 0 forward-sexp 1 indent-code-rigidly "#" " " insert-tab] 5 "\
- 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." "P"])
- (fset 'c++-indent-line #[nil "└┴!┴ëëd`Z╟yê`┴=½ç╚ é▒ ╔=½ç╩ é▒ ╦╠!½à╟¬∙═┴wê<½à@╦╬!½ë\\¬▌╦╨!¼É╦╤!½ûè╥╙!ê╦╘!)½ï╙\\]¬╜╦╒!½É╦╓!¼ïè╫ ê╚ )¬¿╦╪!½ë\\¬Üg┌U½ëZ¬îg▄U½ç\\═┴wêiZë╟U½Äd\nZ`V½¢d\nZbê¬ö
- `|êjêd\nZ`V½àd\nZbê-ç" [calculate-c++-indent nil pos case-fold-search shift-amt beg indent 0 current-indentation t calculate-c-indent-within-comment looking-at "[ ]*#" " " "\\(default\\|public\\|private\\|protected\\):" c-label-offset "case\\b" "[A-Za-z]" forward-sexp 1 ":[^:]" "else\\b" "else\\s_" c-backward-to-start-of-if "friend[ ]class[ ]" c++-friend-offset 125 c-indent-level 123 c-brace-offset] 7 "\
- Indent current line as C++ code.
- Return the amount the indentation changed by."])
- (fset 'calculate-c++-indent #[(&optional parse-start) "è└yê`┴ëë½åbê¬â╟ ê`
- W½Å`╚`
- └#ëA@¬l╔8¼à╩8½å╩8ém\n¼φ
- bê╦┴wêg╠U½ä└ém═«üe!êh╬U½û
- bê╦┴wêg╧U½àémémh╥U½ä╙╘!êh╒U½ä└ém└yê╦┴wêg╧U½ù½ê╫ \\ém╘uê╦┴wêiém╫ ém\nf╠U¼│½º┘8½ïè\nTbê┌█!)¼ù\nbê└yê╦┴wê`\\\nT^bêiém\nTbêiém
- bê═\n!êh▄>¼è▌\n!êi\\¬±\nbêè╘uê▀┴wê┌αßΓπR!½⌐gΣU½à╘yê¬i┌σ!½êµτ┴Φ#ê¬\\┌Θ!½à╘yê¬RΩδ┴Φ#ê¬J`
- W¡üi)«½n½ì,└U½ç-\\¬é,╦┴xên½â└¬é.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 41 58 c++-member-init-indent c-argdecl-indent 59 backward-char 1 125 c++-continued-member-init-offset current-indentation c++-empty-arglist-indent 2 looking-at "\\( \\| \\)*[^/\n]" (nil 44 59 125 58 123) c-backward-to-start-of-continued-exp c-continued-statement-offset " \n" "#\\|/\\*\\|//" "\\|case[ ]" "\\|[a-zA-Z0-9_$]*:[^:]" "\\|friend[ ]class[ ]" 35 "/\\*" search-forward "*/" move "//\\|friend[ ]class[ ]" re-search-forward ":[^:]" c-indent-level c-brace-offset c-brace-imaginary-offset forward-sexp -1] 6 "\
- 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."])
- (fset 'c++-backward-to-noncomment #[(lim) "└ë ?¡╔├xê``┼\\Y½Æè╞uê╟╚!)½ê╔╩╦#ê¬]╔╠═ ]╦#½å╬`\n\"½M╧yê╨└wê╟╤!½ç`Xë¬;╥\nbê¬3*ç" [nil stop opoint " \n
- " lim 2 -2 looking-at "\\*/" search-backward "/*" move "//" point-bol within-string-p 0 " " "#" t] 5])
- (fset 'indent-c++-exp #[nil "└C`C└ëëëëëëëëë`┴ \n
- è╨╤!ê)è└m?à≥?à≥\n└¼╬m½å╘ë¼┼ ╒`└ê`└ë %ë @ AA@½É AA@┴Y½ç AA@╓8½â╫ ê╪ 8½à╤yê¬4╘ë½2\n┴X½â╘¼┘ 8V½ÆAASë¬g\nU¼â└\nW½ö└B└BTë¬h@¼æ A@«çè╨┌!ê`)áê╤yê█└wêlä2 @½╘@┴Y½═@f▄U¼ç@¬╒è▌▐!g▄U▀!êhα>¼ùß@!ê\"i½ä#¬ü┴\\\\¬Æ
- ½èΣ!êσ ¬à@)¬ùµ@¡ä@[!''ëáê)▌Φ!½ç)Z▌Ω!¼É▌δ!½öè╨╤!ê▌∞!)½ë╤-\\]▌ε!½ç/\\g≡U½ç)Zg▄U½ç1\\iU¼Ég≥U¼ï`┴yê`|êjê▌3!ä2 ⌠3è└ê`)╘#â2 ⌡ ê┴yêé2 .ç" [nil 0 next-depth opoint at-brace at-else last-sexp this-indent ostate state inner-loop-done outer-loop-done restart case-fold-search contain-stack indent-stack forward-sexp 1 last-depth innerloop-done t parse-partial-sexp 4 c++-indent-line 3 6 -1 " " 123 looking-at "else\\W" c++-backward-to-noncomment (nil 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 calculate-c++-indent val "\\(public\\|private\\|protected\\):" c-indent-level "case[ ]" "[A-Za-z]" ":[^:]" c-label-offset "friend[ ]class[ ]" c++-friend-offset 125 c-brace-offset 35 comment-start-skip re-search-forward indent-for-comment] 15 "\
- Indent each line of the C++ grouping following point." nil])
- (fset 'fill-C-comment #[nil "è┬yêè├è┼ê`)╞#ê┬òbê╟ ê)╚!½å╔╩!ê¬u╦╩!ê╠═!ê╬┼!ê╧╨!ê ë*ç" [fill-prefix save 0 re-search-forward comment-start-skip nil t set-fill-prefix looking-at previous-line 1 next-line insert-string "\n" fill-paragraph delete-char -1] 4 nil nil])
- (fset 'point-bol #[nil "è└yê`)ç" [0] 1 "\
- Returns the value of the point at the beginning of the current
- line."])
- (fset 'c++-insert-header #[nil "èebê└┴┬├▒)ç" ["// " "This may look like C code, but it is really " "-*- C++ -*-" "\n\n"] 4 "\
- Insert header denoting C++ code at top of buffer." nil])
- (fset 'within-string-p #[(point1 point2) " {├─\n\"┼ª╞U)?ç" [point1 point2 s count-char-in-string 34 2 0] 3 "\
- Returns true if number of double quotes between two points is odd."])
- (fset 'count-char-in-string #[(c s) "└ë GW½ö\n HU½â┼¬ü└\\ Të¬g\n*ç" [0 pos count s c 1] 4])
- (defvar c++-default-macroize-column 78 "\
- Place to insert backslashes.")
- (fset 'c++-macroize-region #[(from to arg) "èbê┴yê┬e`\"èbê┬e`\")ëW¡æ╞┴V!ê╚╔!ê
- Të¬k+ç" [from 0 count-lines to to-line line backslashify-current-line arg next-line 1] 5 "\
- Insert backslashes at end of every line in region. Useful for defining cpp
- macros. If called with negative argument, will remove trailing backslashes,
- so that indentation will work right." "r\np"])
- (fset 'backslashify-current-line #[(doit) "└ê ½┤è┬uê├─!)?¡╖i
- Y½â╞cçi
- X½ê╟cê╚ê¬s╔┬!êi
- W½ê╩cê╚ê¬s╦cç┬uê├─!¡å╠╚xê═ ç" [1 doit -1 looking-at "\\\\" c++-default-macroize-column " \\" " " nil delete-char " " "\\" " " kill-line] 2])
- (fset 'c++-comment-region #[nil "└ ┴=½à┬├!¬é└ `W½â`¬ü`V½â`¬ü╟!è
- bê`╔!W¡É╩yêcê╩yê╠═!ê¬h-ç" [mark nil error "Mark is not set!" m start end copy-marker mymark marker-position 0 comment-start next-line 1] 3 "\
- Comment out all lines in a region between mark and current point by
- inserting \"// \" (comment-start)in front of each line." nil])
- (fset 'c++-uncomment-region #[nil "└ ┴=½à┬├!¬é└ `W½â`¬ü`V½â`¬ü╟! G\n╦ !è
- bê`═!W¡Ö╬yê╧╨ P!½à╤\n!ê╬yê╥╙!ê¬_.ç" [mark nil error "Mark is not set!" m start end copy-marker mymark comment-start len string-to-char char marker-position 0 looking-at " *" delete-char next-line 1] 3 "\
- Uncomment all lines in region between mark and current point by deleting
- the leading \"// \" from each line, if any." nil])
- (defvar c++-match-header-strongly nil "\
- *If NIL, use c++-defun-header-weak to identify beginning of definitions,
- if nonNIL, use c++-defun-header-strong")
- (defvar c++-defun-header-strong-struct-equivs "\\(class\\|struct\\|enum\\)" "\
- Regexp to match names of structure declaration blocks in C++")
- (defconst c++-defun-header-strong (byte-code "└┬─╞╟
- ╚░ ╩╠═Q╧╚Që╤P╙P╞╒╞ ╟ ╚ë░\n╫╞╟ ┘ ╟ ╚░ █╞ ▄▌▐ ▀α╟ß░\"╞#Σ ░%µΣ╞%╟%τ╟%Φ╚░)Ω+╞+∞Rë-)\"░.█∩ ╚░0# 0±α░2≤.╟2╚░.ç" ["\\(\\w\\|_\\)+" id "[---+*/%^&|~!=<>]\\|[---+*/%^&|<>=!]=\\|<<=?\\|>>=?" op-sym1 "&&\\|||\\|\\+\\+\\|--\\|()\\|\\[\\]" op-sym2 "\\(" "\\|" "\\)" op-sym "[^\\*]*\\(\\*+[^/\\*][^\\*]*\\)*" middle "/\\*" "\\*+/" c-comment "\\(\\s \\|\n\\|//.*$\\|" wh "*" wh-opt "+" wh-nec "operator" oper "([^():]*)" dcl-list "::" func-name "\\(:" "(.*\\()" "," "\\)\\)*" "(.*)" "{" "{\\)" inits c++-defun-header-strong-struct-equivs "\\)?" type-name "\\(const" "\\*+" "&" type "\\(inline\\|virtual\\|overload\\|auto\\|static\\)" modifier "\\)*" modifiers func-header "\\(public\\|private\\)?" inherit "?" cs-header "^\\("] 17) "\
- Strongly-defined regexp to match beginning of structure or
- function definition.")
- (defconst c++-defun-header-weak "^{\\|^[_a-zA-Z].*{" "\
- Weakly-defined regexp to match beginning of structure or function definition.")
- (byte-code "└┴Mê┬├Mç" [c++-beginning-of-defun #[(arg) "½â ¬ü\n┼U¼ê┼V½åo½â╞¬Φ╟!¼┬`╚╔╞╩#¡ü`╦╞╩#¡é┼ö
- ½₧½ÜW½ô
- V½îbê╧U¡ê╨¬àbê╞+«í╟!½Äo¼ï┼W½â╧¬ü╤uê╦╞╩«ü╧$¡â┼öb)ç" [c++-match-header-strongly c++-defun-header-strong c++-defun-header-weak c++-defun-header arg 0 nil looking-at search-forward "{" move re-search-backward beg-pos open-pos curr-pos 1 t -1] 6 nil "p"] c++-end-of-defun #[(arg) "½â ¬ü\nm¡â┼V?¡╨┼V½ê╞!½â╟uê`╔┼W½îm½â┼¬ü╟Z[¬ü!ê┼W½âo¼í╩╦╠#½ë═uê╬ ê╟yê`U½ï╩╦╠#½ä╧╟!ê)╨)ç" [c++-match-header-strongly c++-defun-header-strong c++-defun-header-weak c++-defun-header arg 0 looking-at 1 pos c++-beginning-of-defun re-search-forward nil move -1 forward-sexp c++-end-of-defun t] 4 nil "p"]] 2)
- (fset 'c++-indent-defun #[nil "`┴┬!ê├yê`┼┬!ê`X½î╞ ê╟┬!ê├yê¬o)b)ç" [restore c++-end-of-defun 1 0 end c++-beginning-of-defun c++-indent-line next-line] 2 "\
- Indents the current function def, struct or class decl." nil])
- (fset 'mark-c++-function #[nil "└`!ê┴┬!ê└`!ê├┬!ê─ ê┼ ç" [push-mark c++-end-of-defun 1 c++-beginning-of-defun backward-paragraph zmacs-activate-region] 2 "\
- Put mark at end of C function, point at beginning." nil])
-