;ELC   
;;; Compiled by rms@psilocin.ai.mit.edu on Sat Jun 13 00:50:31 1998
;;; from file /gd/gnu/emacs/lisp/progmodes/cc-langs.el
;;; in Emacs version 20.2.95.2
;;; with bytecomp version 2.46
;;; 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-langs.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\306\307!\210\310\300	B\311\302	B\312\303	B\313\304	B\314\305	B\315\316	B\317\n\320\n\321\322\260\323	B\324\325\326\n\327\n\321\260\330	B\331\332!\204P \332	B\333\332!\210\331\334!\204a \334	B\333\334!\210\331\335!\204r \336\335	B\333\335!\210\337P \340	B\341P\"\342	B\336#\343	B\336$\344	B\336%\345	B\336&\346	B\347\350\351\352\353@ABCDAD@Q$ADC@R%ADCB@\260&-\331\354!\204\344 $,\354	B\333\354!\210\331\355!\204\365 \336-\355	B\333\355!\210\356\357\360\nR1\361	B\3623\363	B\3645\365	B\331\366!\204 36\366	B\333\366!\210\3678\370	B\n\371P:\372	B\373\f\374\n\375\260>\376	B\331\377!\204V\201M \201N \nR?\377	B\333\377!\210\201O E\201E 	B\201P F\201F 	B\201Q G\201G 	B\201R H\201H 	B\331\201I !\204\225\336I\201I 	B\333\201I !\210\331\201J !\204\254\336J\201J 	B\333\201J !\210\331\201K !\204\303\336K\201K 	B\333\201K !\210\331\201L !\204\334\201S L\201L 	B\333\201L !\207" [c-protection-key current-load-list c-symbol-key c-C-class-key c-C++-class-key c-C-extra-toplevel-key require cc-defs "\\<\\(public\\|protected\\|private\\)\\>" "[_a-zA-Z]\\(\\w\\|\\s_\\)*" "\\(struct\\|union\\)" "\\(class\\|struct\\|union\\)" "\\(extern\\)[^_]" "\\(extern\\|namespace\\)[^_]" c-C++-extra-toplevel-key "@\\(interface\\|implementation\\)\\s +" "\\(\\s *:\\s *" "\\)?" "\\(\\s *<[^>]+>\\)?" c-ObjC-class-key "\\(" "\\s +\\)?" "\\(interface\\|class\\)\\s +" "\\(\\s *extends\\s *" c-Java-class-key boundp c-class-key make-variable-buffer-local c-extra-toplevel-key c-access-key nil "[ 	]*:" c-C++-access-key "@" c-ObjC-access-key c-Java-access-key c-C-conditional-key c-C++-conditional-key c-Java-conditional-key "for\\|if\\|do\\|else\\|while\\|switch" "\\|try\\|catch" "\\|finally\\|synchronized" "\\b\\(" "\\)\\b[^_]" c-conditional-key c-method-key "^\\s *[+-]\\s *" "\\(([^)]*)\\)?" "[ 	\n]*" c-ObjC-method-key "/[/*]" c-C++-comment-start-regexp "/\\(/\\|[*][*]?\\)" c-Java-comment-start-regexp c-comment-start-regexp "\\(\\(case[( 	]+\\S .*\\)\\|default[ 	]*\\):" c-switch-label-key ":\\([^:]\\|$\\)" c-label-key "\\(\\<static\\>\\s +\\)?" "[ 	]+" "\\([ 	]*:[ 	]*\\)\\s *[^;]" c-inher-key c-baseclass-key back front thr-kws exc-kws all-kws c-C++-friend-key c-Java-special-key c-Java-defun-prompt-regexp c-Java-javadoc-paragraph-start c-hungry-delete-key c-auto-newline c-auto-hungry-string c-recognize-knr-p ":?[ 	]*\\(virtual[ 	]+\\)?\\(" "[ 	]+\\)" "friend[ 	]+\\|template[ 	]*<.+>[ 	]*friend[ 	]+" "\\(implements\\|extends\\|throws\\)[^_]" "^[ 	]*\\(\\(\\(public\\|protected\\|private\\|const\\|abstract\\|synchronized\\|final\\|static\\|threadsafe\\|transient\\|native\\|volatile\\)\\s-+\\)*\\(\\(\\([[a-zA-Z][][_$.a-zA-Z0-9]*[][_$.a-zA-Z0-9]+\\|[[a-zA-Z]\\)\\s-*\\)\\s-+\\)\\)?\\(\\([[a-zA-Z][][_$.a-zA-Z0-9]*\\s-+\\)\\s-*\\)?\\([_a-zA-Z][^][ 	:;.,{}()=]*\\|\\([_$a-zA-Z][_$.a-zA-Z0-9]*\\)\\)\\s-*\\(([^);{}]*)\\)?\\([] 	]*\\)\\(\\s-*\\<throws\\>\\s-*\\(\\([_$a-zA-Z][_$.a-zA-Z0-9]*\\)[, 	\n\f]*\\)+\\)?\\s-*" "@\\(author\\|exception\\|param\\|return\\|see\\|version\\)" t] 8)
#@82 Institutes `java' indentation style.
For use with the variable `java-mode-hook'.
(defalias 'c-use-java-style #[nil "\300\301!\207" [c-set-style "java"] 2 (#$ . 3714)])
(defalias 'c-common-init #[nil "\306\302!\210\306\303!\210\306\304!\210\306\305!\210\306\307!\210\306\310!\210\306\311!\210\306\312!\210\306\313!\210\306\314!\210\306\315!\210\306\316!\210\306\317!\210\306\320!\210\306\321!\210\306\322!\210\323\324!\203J \306\324!\210\323\300!\203V \306\300!\210\325	\326P\211\327\327\327\330\331	\332\333\334\f\335\336\337\336\340'!'\306\341!\210\342!\343\344(!!\210\345)\236\206\240 \346)B\211)\207" [fill-paragraph-function page-delimiter paragraph-start paragraph-separate paragraph-ignore-fill-prefix require-final-newline make-local-variable parse-sexp-ignore-comments indent-line-function indent-region-function comment-start comment-end comment-column comment-start-skip comment-multi-line outline-regexp outline-level adaptive-fill-regexp imenu-generic-expression boundp comment-line-break-function c-fill-paragraph "\\|$" t c-indent-line c-indent-region "[^#\n]" c-outline-level 32 "/\\*+ *\\|// *" nil c-comment-line-break-function copy-alist comment-indent-function c-comment-indent easy-menu-add c-mode-menu c-auto-hungry-string (c-auto-hungry-string c-auto-hungry-string) c-offsets-alist mode-name minor-mode-alist] 4])
#@367 Function that post processes relevant file local variables.
Currently, this function simply applies any style and offset settings
found in the file's Local Variable list.  It first applies any style
setting found in `c-file-style', then it applies any offset settings
it finds in `c-file-offsets'.

Note that the style variables are always made local to the buffer.
(defalias 'c-postprocess-file-styles #[nil "\204 	\203\f \302\303!\210\203 \304!\210	\205 \305\306	\"\207" [c-file-style c-file-offsets c-make-styles-buffer-local t c-set-style mapcar #[(langentry) "@A\303\n	\"*\207" [langentry offset langelem c-set-offset] 3]] 3 (#$ . 5088)])
(add-hook 'hack-local-variables-hook 'c-postprocess-file-styles)
(defalias 'c-make-inherited-keymap #[nil "\302 \303\304!\203 \304	\"\210\202# \303\305!\203 \305	\"\210\202# \306\307!\210)\207" [map c-mode-base-map make-sparse-keymap fboundp set-keymap-parents set-keymap-parent error "CC Mode is incompatible with this version of Emacs"] 3])
(defalias 'c-populate-syntax-table #[(table) "\302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\310#\210\302\312\310#\210\302\313\310#\210\302\314\310#\210\302\315\310#\210\302\316\310#\210\302\317\310#\210\302\320\321#\210\322	>\203W \302\323\324#\210\302\325\326#\210\202p \327	>\203l \302\323\330#\210\302\325\326#\210\202p \331\332!\210\302\333\334#\210\302\335\334#\207" [table c-emacs-features modify-syntax-entry 95 "_" 92 "\\" 43 "." 45 61 37 60 62 38 124 39 "\"" 8-bit 47 ". 1456" 42 ". 23" 1-bit ". 124b" error "CC Mode is incompatible with this version of Emacs" 10 "> b" 13] 4])
#@45 Keymap shared by all CC Mode related modes.
(defvar c-mode-base-map nil (#$ . 6715))
(byte-code "\204\300 \306 \307\310\311#\210\307\312\311#\210\307\313\314#\210\307\315\316#\210\307\317\320#\210\307\321\322#\210\307\323\324#\210\307\325\326#\210\307\327\330#\210\307\331\332#\210\307\333\334#\210\307\335\336#\210\307\337\340#\210\341\342!\204d \307\343\344#\210\202p \307\345\346#\210\307\347\344#\210\307\350\314#\210\307\351\352#\210\307\353\354#\210\307\355\356#\210\307\357\360#\210\307\361\362#\210\307\363\364#\210\307\365\366#\210\307\367\370#\210\307\371\372#\210\307\373\374#\210\307\375\376#\210\307\377\201@ #\210\201A \201B !\210\341\301!\204\322 \201C \301\nB\341\303!\204\340 \201C \303\nB\341\304!\204\356 \201C \304\nB\341\305!\204\374 \201C \305\nB\201C \207" [c-mode-base-map c-c-menu current-load-list c-c++-menu c-objc-menu c-java-menu make-sparse-keymap define-key "{" c-electric-brace "}" ";" c-electric-semi&comma "#" c-electric-pound ":" c-electric-colon [(control meta h)] c-mark-function "" c-indent-exp "a" c-beginning-of-statement "e" c-end-of-statement "" c-forward-conditional "" c-backward-conditional "" c-up-conditional "	" c-indent-command boundp delete-key-deletes-forward "" c-electric-backspace [delete] c-electric-delete [backspace] "," "*" c-electric-star "/" c-electric-slash "" c-indent-defun "" c-backslash-region "" c-toggle-auto-state "" c-submit-bug-report "" comment-region "" c-toggle-hungry-state "" c-set-offset "" c-show-syntactic-information "" c-toggle-auto-hungry-state "." c-set-style require easymenu nil] 4)
(defalias 'c-mode-menu #[(modestr) "\302	)B\207" [m modestr (["Comment Out Region" comment-region (mark t)] ["Uncomment Region" (comment-region (region-beginning) (region-end) '(4)) (mark t)] ["Fill Comment Paragraph" c-fill-paragraph t] "---" ["Indent Expression" c-indent-exp (memq (char-after) '(40 91 123))] ["Indent Line" c-indent-command t] ["Up Conditional" c-up-conditional t] ["Backward Conditional" c-backward-conditional t] ["Forward Conditional" c-forward-conditional t] ["Backward Statement" c-beginning-of-statement t] ["Forward Statement" c-end-of-statement t] "---" ["Macro Expand Region" c-macro-expand (mark t)] ["Backslashify" c-backslash-region (mark t)])] 2])
#@44 Abbreviation table used in c-mode buffers.
(defvar c-mode-abbrev-table nil (#$ . 9040))
(define-abbrev-table 'c-mode-abbrev-table nil)
#@32 Keymap used in c-mode buffers.
(defvar c-mode-map nil (#$ . 9181))
(byte-code "\204 \301 \302\303\304#\210\301\207" [c-mode-map c-make-inherited-keymap define-key "" c-macro-expand] 4)
#@38 Syntax table used in c-mode buffers.
(defvar c-mode-syntax-table nil (#$ . 9378))
(byte-code "\204 \301 \302!\210\301\207" [c-mode-syntax-table make-syntax-table c-populate-syntax-table] 2)
#@17 C Mode Commands
(defvar c-c-menu nil (#$ . 9578))
(byte-code "\301\302\303\304\305!$\207" [c-mode-map easy-menu-do-define c-c-menu "C Mode Commands" c-mode-menu "C"] 6)
#@46 Abbreviation table used in c++-mode buffers.
(defvar c++-mode-abbrev-table nil (#$ . 9754))
(define-abbrev-table 'c++-mode-abbrev-table nil)
#@34 Keymap used in c++-mode buffers.
(defvar c++-mode-map nil (#$ . 9901))
(byte-code "\204 \301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\310#\210\301\207" [c++-mode-map c-make-inherited-keymap define-key "" c-macro-expand ":" c-scope-operator "<" c-electric-lt-gt ">"] 4)
#@40 Syntax table used in c++-mode buffers.
(defvar c++-mode-syntax-table nil (#$ . 10205))
(byte-code "\204 \301 \302!\210\301\207" [c++-mode-syntax-table make-syntax-table c-populate-syntax-table] 2)
#@19 C++ Mode Commands
(defvar c-c++-menu nil (#$ . 10412))
(byte-code "\301\302\303\304\305!$\207" [c++-mode-map easy-menu-do-define c-c++-menu "C++ Mode Commands" c-mode-menu "C++"] 6)
#@47 Abbreviation table used in objc-mode buffers.
(defvar objc-mode-abbrev-table nil (#$ . 10601))
(define-abbrev-table 'objc-mode-abbrev-table nil)
#@35 Keymap used in objc-mode buffers.
(defvar objc-mode-map nil (#$ . 10752))
(byte-code "\204 \301 \302\303\304#\210\301\207" [objc-mode-map c-make-inherited-keymap define-key "" c-macro-expand] 4)
#@41 Syntax table used in objc-mode buffers.
(defvar objc-mode-syntax-table nil (#$ . 10959))
(byte-code "\204 \301 \302!\210\303\304\305#\210\301\207" [objc-mode-syntax-table make-syntax-table c-populate-syntax-table modify-syntax-entry 64 "_"] 4)
#@20 ObjC Mode Commands
(defvar c-objc-menu nil (#$ . 11214))
(byte-code "\301\302\303\304\305!$\207" [objc-mode-map easy-menu-do-define c-objc-menu "ObjC Mode Commands" c-mode-menu "ObjC"] 6)
#@47 Abbreviation table used in java-mode buffers.
(defvar java-mode-abbrev-table nil (#$ . 11409))
(define-abbrev-table 'java-mode-abbrev-table nil)
#@35 Keymap used in java-mode buffers.
(defvar java-mode-map nil (#$ . 11560))
(byte-code "\204 \301 \301\207" [java-mode-map c-make-inherited-keymap] 1)
#@41 Syntax table used in java-mode buffers.
(defvar java-mode-syntax-table nil (#$ . 11718))
(byte-code "\204 \301 \302!\210\301\207" [java-mode-syntax-table make-syntax-table c-populate-syntax-table] 2)
#@20 Java Mode Commands
(defvar c-java-menu nil (#$ . 11928))
(byte-code "\301\302\303\304\305!$\207" [java-mode-map easy-menu-do-define c-java-menu "Java Mode Commands" c-mode-menu "Java"] 6)
#@46 Abbreviation table used in idl-mode buffers.
(defvar idl-mode-abbrev-table nil (#$ . 12123))
(define-abbrev-table 'idl-mode-abbrev-table nil)
#@34 Keymap used in idl-mode buffers.
(defvar idl-mode-map nil (#$ . 12271))
(byte-code "\204 \301 \301\207" [idl-mode-map c-make-inherited-keymap] 1)
#@40 Syntax table used in idl-mode buffers.
(defvar idl-mode-syntax-table nil (#$ . 12426))
(byte-code "\204 \301 \302!\210\301\207" [idl-mode-syntax-table make-syntax-table c-populate-syntax-table] 2)
#@19 IDL Mode Commands
(defvar c-idl-menu nil (#$ . 12633))
(byte-code "\301\302\303\304\305!$\210\306\307!\207" [idl-mode-map easy-menu-do-define c-idl-menu "IDL Mode Commands" c-mode-menu "IDL" provide cc-langs] 6)
