;ELC   
;;; Compiled by rms@psilocin.ai.mit.edu on Sat Mar 14 02:57:29 1998
;;; from file /gd/gnu/emacs/lisp/progmodes/ada-mode.el
;;; in Emacs version 20.2.89.9
;;; with bytecomp version 2.38
;;; with all optimizations.
;;; This file uses opcodes which do not exist in Emacs 18.

(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 "`ada-mode.el' was compiled for Emacs 19.29 or later"))


(custom-declare-group 'ada nil "Major mode for editing Ada source in Emacs" :group 'languages)
#@39 *Defines the size of Ada indentation.
(custom-declare-variable 'ada-indent '3 '(#$ . -639) :type 'integer :group 'ada)
#@60 *# of columns to indent the continuation of a broken line.
(custom-declare-variable 'ada-broken-indent '2 '(#$ . -764) :type 'integer :group 'ada)
#@34 *# of columns to indent a label.
(custom-declare-variable 'ada-label-indent '-4 '(#$ . -917) :type 'integer :group 'ada)
#@110 *# of columns to indent a statement end keyword in a separate line.
Examples are 'is', 'loop', 'record', ...
(custom-declare-variable 'ada-stmt-end-indent '0 '(#$ . -1045) :type 'integer :group 'ada)
#@72 *Defines the indentation for 'when' relative to 'exception' or 'case'.
(custom-declare-variable 'ada-when-indent '3 '(#$ . -1251) :type 'integer :group 'ada)
#@68 *Defines the indentation for 'record' relative to 'type' or 'use'.
(custom-declare-variable 'ada-indent-record-rel-type '3 '(#$ . -1415) :type 'integer :group 'ada)
#@54 *If non-nil, comment-lines get indented as Ada code.
(custom-declare-variable 'ada-indent-comment-as-code 't '(#$ . -1586) :type 'boolean :group 'ada)
#@76 *If non-nil, 'is separate' or 'is abstract' on a single line are indented.
(custom-declare-variable 'ada-indent-is-separate 't '(#$ . -1743) :type 'boolean :group 'ada)
#@66 *If non-nil, indent according to the innermost open parenthesis.
(custom-declare-variable 'ada-indent-to-open-paren 't '(#$ . -1918) :type 'boolean :group 'ada)
#@55 *Search that many characters for an open parenthesis.
(custom-declare-variable 'ada-search-paren-char-count-limit '3000 '(#$ . -2085) :type 'integer :group 'ada)
#@419 *Control behaviour of the TAB key.
Must be one of `indent-rigidly', `indent-auto', `gei', `indent-af'
or `always-tab'.

`indent-rigidly' : always adds ada-indent blanks at the beginning of the line.
`indent-auto'    : use indentation functions in this file.
`gei'            : use David Kågedal's Generic Indentation Engine.
`indent-af'      : use Gary E. Barnes' ada-format.el
`always-tab'     : do indent-relative.
(custom-declare-variable 'ada-tab-policy ''indent-auto '(#$ . -2254) :type '(choice (const indent-auto) (const indent-rigidly) (const gei) (const indent-af) (const always-tab)) :group 'ada)
#@90 *If non-nil, `ada-move-to-start' moves point to the subprog declaration,
not to 'begin'.
(custom-declare-variable 'ada-move-to-declaration 'nil '(#$ . -2867) :type 'boolean :group 'ada)
#@37 *Suffix of Ada specification files.
(custom-declare-variable 'ada-spec-suffix '".ads" '(#$ . -3059) :type 'string :group 'ada)
#@28 *Suffix of Ada body files.
(custom-declare-variable 'ada-body-suffix '".adb" '(#$ . -3192) :type 'string :group 'ada)
#@42 *Regexp to find Ada specification files.
(custom-declare-variable 'ada-spec-suffix-as-regexp '"\\.ads$" '(#$ . -3316) :type 'string :group 'ada)
#@33 *Regexp to find Ada body files.
(custom-declare-variable 'ada-body-suffix-as-regexp '"\\.adb$" '(#$ . -3467) :type 'string :group 'ada)
#@351 *Alist of extensions to find given the current file's extension.

This list should contain the most used extensions before the others,
since the search algorithm searches sequentially through each directory
specified in `ada-search-directories'.  If a file is not found, a new one
is created with the first matching extension (`.adb' yields `.ads').
(defvar ada-other-file-alist (byte-code "	CD\nCDD\207" [ada-spec-suffix-as-regexp ada-body-suffix ada-body-suffix-as-regexp ada-spec-suffix] 3) (#$ . -3610))
#@109 *List of directories to search for Ada files.
See the description for the `ff-search-directories' variable.
(custom-declare-variable 'ada-search-directories ''("." "/usr/adainclude" "/usr/local/adainclude" "/opt/gnu/adainclude") '(#$ . -4127) :type '(repeat (choice :tag "Directory" (const :tag "default" nil) (directory :format "%v"))) :group 'ada)
#@39 *Do we program in `ada83' or `ada95'?
(custom-declare-variable 'ada-language-version ''ada95 '(#$ . -4483) :type '(choice (const ada83) (const ada95)) :group 'ada)
#@142 *Function to call to adjust the case of Ada keywords.
It may be `downcase-word', `upcase-word', `ada-loose-case-word' or 
`capitalize-word'.
(custom-declare-variable 'ada-case-keyword ''downcase-word '(#$ . -4654) :type '(choice (const downcase-word) (const upcase-word) (const capitalize-word) (const ada-loose-case-word)) :group 'ada)
#@147 *Function to call to adjust the case of an Ada identifier.
It may be `downcase-word', `upcase-word', `ada-loose-case-word' or 
`capitalize-word'.
(custom-declare-variable 'ada-case-identifier ''ada-loose-case-word '(#$ . -4998) :type '(choice (const downcase-word) (const upcase-word) (const capitalize-word) (const ada-loose-case-word)) :group 'ada)
#@144 *Function to call to adjust the case of Ada attributes.
It may be `downcase-word', `upcase-word', `ada-loose-case-word' or 
`capitalize-word'.
(custom-declare-variable 'ada-case-attribute ''capitalize-word '(#$ . -5356) :type '(choice (const downcase-word) (const upcase-word) (const capitalize-word) (const ada-loose-case-word)) :group 'ada)
#@165 *Non-nil automatically changes case of preceding word while typing.
Casing is done according to `ada-case-keyword', `ada-case-identifier'
and `ada-case-attribute'.
(custom-declare-variable 'ada-auto-case 't '(#$ . -5706) :type 'boolean :group 'ada)
#@76 *If non-nil, `remove-trailing-spaces' and `untabify' buffer before saving.
(custom-declare-variable 'ada-clean-buffer-before-saving 't '(#$ . -5961) :type 'boolean :group 'ada)
#@117 *List of functions to call when Ada mode is invoked.
This is a good place to add Ada environment specific bindings.
(defvar ada-mode-hook nil (#$ . -6145))
#@56 *External pretty printer to call from within Ada mode.
(custom-declare-variable 'ada-external-pretty-print-program '"aimap" '(#$ . -6307) :type 'string :group 'ada)
#@68 *Directory to store the temporary file for the Ada pretty printer.
(custom-declare-variable 'ada-tmp-directory '"/tmp/" '(#$ . -6478) :type 'string :group 'ada)
#@126 *Buffer local options passed to the Ada compiler.
These options are used when the compiler is invoked on the current buffer.
(custom-declare-variable 'ada-compile-options '"-c" '(#$ . -6646) :type 'string :group 'ada)
(make-variable-buffer-local 'ada-compile-options)
#@148 *Buffer local options passed to `ada-compiler-make' (usually `gnatmake').
These options are used when `gnatmake' is invoked on the current buffer.
(custom-declare-variable 'ada-make-options '"-c" '(#$ . -6921) :type 'string :group 'ada)
(make-variable-buffer-local 'ada-make-options)
#@53 *Compiler command with options for syntax checking.
(custom-declare-variable 'ada-compiler-syntax-check '"gcc -c -gnats" '(#$ . -7211) :type 'string :group 'ada)
#@45 *The `make' command for the given compiler.
(custom-declare-variable 'ada-compiler-make '"gnatmake" '(#$ . -7379) :type 'string :group 'ada)
#@74 *This is inserted in the first columns when filling a comment paragraph.
(custom-declare-variable 'ada-fill-comment-prefix '"-- " '(#$ . -7526) :type 'string :group 'ada)
#@120 *This is inserted at the end of each line when filling a comment paragraph.
with `ada-fill-comment-paragraph-postfix'.
(custom-declare-variable 'ada-fill-comment-postfix '" --" '(#$ . -7704) :type 'string :group 'ada)
#@119 *Argument of gnatkr, a string containing the max number of characters.
Set to 0, if you don't use crunched filenames.
(custom-declare-variable 'ada-krunch-args '"0" '(#$ . -7929) :type 'string :group 'ada)
#@32 Abbrev table used in Ada mode.
(defvar ada-mode-abbrev-table nil (#$ . 8141))
(define-abbrev-table 'ada-mode-abbrev-table nil)
#@33 Local keymap used for Ada mode.
(defvar ada-mode-map nil (#$ . 8274))
#@54 Syntax table to be used for editing Ada source code.
(defvar ada-mode-syntax-table nil (#$ . 8350))
#@56 Syntax table for Ada, where `_' is a word constituent.
(defvar ada-mode-symbol-syntax-table nil (#$ . 8456))
#@51 Regular expression for looking at Ada83 keywords.
(defconst ada-83-keywords "\\<\\(abort\\|abs\\|accept\\|access\\|all\\|and\\|array\\|at\\|begin\\|body\\|case\\|constant\\|declare\\|delay\\|delta\\|digits\\|do\\|else\\|elsif\\|end\\|entry\\|exception\\|exit\\|for\\|function\\|generic\\|goto\\|if\\|in\\|is\\|limited\\|loop\\|mod\\|new\\|not\\|null\\|of\\|or\\|others\\|out\\|package\\|pragma\\|private\\|procedure\\|raise\\|range\\|record\\|rem\\|renames\\|return\\|reverse\\|select\\|separate\\|subtype\\|task\\|terminate\\|then\\|type\\|use\\|when\\|while\\|with\\|xor\\)\\>" (#$ . 8571))
#@51 Regular expression for looking at Ada95 keywords.
(defconst ada-95-keywords "\\<\\(abort\\|abs\\|abstract\\|accept\\|access\\|aliased\\|all\\|and\\|array\\|at\\|begin\\|body\\|case\\|constant\\|declare\\|delay\\|delta\\|digits\\|do\\|else\\|elsif\\|end\\|entry\\|exception\\|exit\\|for\\|function\\|generic\\|goto\\|if\\|in\\|is\\|limited\\|loop\\|mod\\|new\\|not\\|null\\|of\\|or\\|others\\|out\\|package\\|pragma\\|private\\|procedure\\|protected\\|raise\\|range\\|record\\|rem\\|renames\\|requeue\\|return\\|reverse\\|select\\|separate\\|subtype\\|tagged\\|task\\|terminate\\|then\\|type\\|until\\|use\\|when\\|while\\|with\\|xor\\)\\>" (#$ . 9170))
#@49 Regular expression for looking at Ada keywords.
(defvar ada-keywords ada-95-keywords (#$ . 9829))
#@63 Variable to save key binding of RET when casing is activated.
(defvar ada-ret-binding nil (#$ . 9933))
#@63 Variable to save key binding of LFD when casing is activated.
(defvar ada-lfd-binding nil (#$ . 10042))
#@46 Regexp matching Ada (qualified) identifiers.
(defconst ada-ident-re "[a-zA-Z0-9_\\.]+" (#$ . 10152))
#@47 Regexp used to find Ada procedures/functions.
(defvar ada-procedure-start-regexp "^[ 	]*\\(procedure\\|function\\|task\\)[ 	\n]+\\([a-zA-Z0-9_\\.]+\\)" (#$ . 10259))
#@34 Regexp used to find Ada packages
(defvar ada-package-start-regexp "^[ 	]*\\(package\\)" (#$ . 10431))
#@42 Regexp for keywords starting Ada blocks.
(defvar ada-block-start-re "\\<\\(begin\\|select\\|declare\\|private\\|or\\|generic\\|exception\\|loop\\|else\\|\\(\\(limited\\|abstract\\|tagged\\)[ 	]+\\)*record\\)\\>" (#$ . 10539))
#@89 Regexp of possible ends for a non-broken statement.
A new statement starts after these.
(defvar ada-end-stmt-re "\\(;\\|=>\\|^[ 	]*separate[ 	]+([a-zA-Z0-9_\\.]+)\\|\\<\\(begin\\|else\\|record\\|loop\\|select\\|do\\|then\\|declare\\|generic\\|private\\)\\>\\|^[ 	]*\\(package\\|procedure\\|function\\)\\>[ 	a-zA-Z0-9_\\.]+\\<is\\>\\|^[ 	]*exception\\>\\)" (#$ . 10771))
#@33 Regexp for the start of a loop.
(defvar ada-loop-start-re "\\<\\(for\\|while\\|loop\\)\\>" (#$ . 11147))
#@39 Regexp for the start of a subprogram.
(defvar ada-subprog-start-re "\\<\\(procedure\\|protected\\|package\\|function\\|task\\|accept\\|entry\\)\\>" (#$ . 11258))
#@40 Regexp of the name of a block or loop.
(defvar ada-named-block-re "[ 	]*[a-zA-Z_0-9]+ *:[^=]" (#$ . 11426))
#@73 Imenu generic expression for Ada mode.  See `imenu-generic-expression'.
(defvar ada-imenu-generic-expression '((nil "^\\s-*\\(procedure\\|function\\)\\s-+\\([A-Za-z0-9_]+\\)" 2) ("Type Defs" "^\\s-*\\(sub\\)?type\\s-+\\([A-Za-z0-9_]+\\)" 2)) (#$ . 11540))
(defalias 'ada-xemacs #[nil "\301\302\"\206 \301\303\"\207" [emacs-version string-match "Lucid" "XEmacs"] 3])
#@39 Create the syntax table for Ada mode.
(defalias 'ada-create-syntax-table #[nil "\302 \303!\210\304\305\306#\210\304\307\310#\210\304\311\306#\210\304\312\313#\210\304\314\313#\210\304\315\313#\210\304\316\313#\210\304\317\313#\210\304\320\313#\210\304\321\313#\210\304\322\313#\210\304\323\313#\210\304\324\313#\210\304\325\313#\210\304\326\313#\210\304\327\313#\210\304\330\313#\210\304\331\313#\210\304\332\313#\210\304\333\313#\210\304\334\313#\210\304\335\336#\210\304\337\340#\210\304\341\340#\210\304\342\343#\210\304\344\345#\210\304\346\347#\210\350!\304\342\351	#\207" [ada-mode-syntax-table ada-mode-symbol-syntax-table make-syntax-table set-syntax-table modify-syntax-entry 37 "$" 34 "\"" 35 58 "." 59 38 124 43 42 47 61 60 62 36 91 93 123 125 46 92 39 45 ". 12" 12 ">   " 10 95 "_" 40 "()" 41 ")(" copy-syntax-table "w"] 4 (#$ . 11915)])
#@2578 Ada mode is the major mode for editing Ada code.

Bindings are as follows: (Note: 'LFD' is control-j.)

 Indent line                                          '\[ada-tab]'
 Indent line, insert newline and indent the new line. '\[newline-and-indent]'

 Re-format the parameter-list point is in             '\[ada-format-paramlist]'
 Indent all lines in region                           '\[ada-indent-region]'
 Call external pretty printer program                 '\[ada-call-pretty-printer]'

 Adjust case of identifiers and keywords in region    '\[ada-adjust-case-region]'
 Adjust case of identifiers and keywords in buffer    '\[ada-adjust-case-buffer]'

 Call EXTERNAL pretty printer (if you have one)       '\[ada-call-pretty-printer]'

 Fill comment paragraph                               '\[ada-fill-comment-paragraph]'
 Fill comment paragraph and justify each line         '\[ada-fill-comment-paragraph-justify]'
 Fill comment paragraph, justify and append postfix   '\[ada-fill-comment-paragraph-postfix]'

 Next func/proc/task '\[ada-next-procedure]'  Previous func/proc/task '\[ada-previous-procedure]'
 Next package        '\[ada-next-package]'  Previous package        '\[ada-previous-package]'

 Goto matching start of current 'end ...;'            '\[ada-move-to-start]'
 Goto end of current block                            '\[ada-move-to-end]'

Comments are handled using standard GNU Emacs conventions, including:
 Start a comment                                      '\[indent-for-comment]'
 Comment region                                       '\[comment-region]'
 Uncomment region                                     '\[ada-uncomment-region]'
 Continue comment on next line                        '\[indent-new-comment-line]'

If you use imenu.el:
 Display index-menu of functions & procedures         '\[imenu]'

If you use find-file.el:
 Switch to other file (Body <-> Spec)                 '\[ff-find-other-file]'
                                                   or '\[ff-mouse-find-other-file]
 Switch to other file in other window                 '\[ada-ff-other-window]'
                                                   or '\[ff-mouse-find-other-file-other-window]
 If you use this function in a spec and no body is available, it gets created
 with body stubs.

If you use ada-xref.el:
 Goto declaration:          '\[ada-point-and-xref]' on the identifier
                         or '\[ada-goto-declaration]' with point on the identifier
 Complete identifier:       '\[ada-complete-identifier]'
 Execute Gnatf:             '\[ada-gnatf-current]'
(defalias 'ada-mode #[nil "\306 \210\307\300!\210\310\307\301!\210\311\307\302!\210\312\307\303!\210\313\307\304!\210\314\307\305!\210\315\307\316!\210\317\307\320!\210\310\307\321!\210\310\307\322!\210\323\307\324!\210\325\307\326!\210\327\307\330!\2103\3104\331 \204 \307\332!\210\333\334\335!\210\334\336!\210\337\340\3415\3426\3437\3448\3459\346:!\210;\203\227 \347;!\210\202\232 \350 \210<\203\251 \351\352\353\"\210\351\352\354\"\210\355 \210\356\357!\210=\360=\203\276 >?\202\311 =\361=\203\311 @?A\205\320 \362 \207" [require-final-newline comment-start comment-end comment-start-skip indent-line-function fill-column kill-all-local-variables make-local-variable t "-- " "" "--+[ 	]*" ada-indent-current-function 75 comment-column 40 parse-sexp-ignore-comments case-fold-search outline-regexp "[^\n]" outline-level ada-outline-level fill-paragraph-function ada-fill-comment-paragraph imenu-generic-expression ada-xemacs font-lock-defaults ((ada-font-lock-keywords ada-font-lock-keywords-1 ada-font-lock-keywords-2) nil t ((95 . "w") (46 . "w")) beginning-of-line (font-lock-syntactic-keywords . ada-font-lock-syntactic-keywords)) make-variable-buffer-local ff-other-file-alist ff-search-directories ada-other-file-alist ada-search-directories ff-which-function-are-we-in ff-set-point-accordingly ada-make-body ada-mode "Ada" use-local-map set-syntax-table ada-create-syntax-table add-hook local-write-file-hooks ada-remove-trailing-spaces ada-untabify-buffer ada-add-ada-menu run-hooks ada-mode-hook ada83 ada95 ada-activate-keys-for-case ada-imenu-generic-expression imenu-case-fold-search ff-pre-load-hooks ff-post-load-hooks ff-file-created-hooks major-mode mode-name ada-mode-map ada-mode-syntax-table ada-clean-buffer-before-saving ada-language-version ada-83-keywords ada-keywords ada-95-keywords ada-auto-case] 3 (#$ . 12804) nil])
#@106 Check syntax of the current buffer. 
Uses the function `compile' to execute `ada-compiler-syntax-check'.
(defalias 'ada-check-syntax #[nil "\n\305=\205\n \306\307\f\307\310 \260\311\312\"\313!\210	\211)\207" [compile-command old-compile-command ada-compiler-syntax-check ada-language-version ada-compile-options ada83 "-gnat83 " " " buffer-name read-from-minibuffer "enter command for syntax check: " compile] 6 (#$ . 17281) nil])
#@96 Bring current Ada unit up-to-date. 
Uses the function `compile' to execute `ada-compile-make'.
(defalias 'ada-make-local #[nil "\n\304\304\305 \260\306\307\"\310!\210	\211)\207" [compile-command old-compile-command ada-compiler-make ada-make-options " " buffer-name read-from-minibuffer "enter command for local make: " compile] 5 (#$ . 17727) nil])
#@66 Fills current comment paragraph and justifies each line as well.
(defalias 'ada-fill-comment-paragraph-justify #[nil "\300\301!\207" [ada-fill-comment-paragraph t] 2 (#$ . 18092) nil])
#@117 Fills current comment paragraph and justifies each line as well.
Prompts for a postfix to be appended to each line.
(defalias 'ada-fill-comment-paragraph-postfix #[nil "\300\301\211\"\207" [ada-fill-comment-paragraph t] 3 (#$ . 18284) nil])
#@274 Fills the current comment paragraph.
If JUSTIFY is non-nil, each line is justified as well.
If POSTFIX and JUSTIFY are  non-nil, `ada-fill-comment-postfix' is appended
to each filled and justified line.
If `ada-indent-comment-as-code' is non-nil, the paragraph is idented.
(defalias 'ada-fill-comment-paragraph #[(&optional justify postfix) "\306 \307\211\211\211\310\307$\311 \204 \312\313!\210%\203* &\203* \314\315'\"'%\203: &\203: \314\316'\"\317\320!\210\212\321 \210\322\323!\203W \322\324!\204W \325y\210\321 \210\202B \326y\210\306 $b\210\321 \210\322\323!\203y \322\324!\204y \327y\210\321 \210\202d \325y\210\330 \210\321 \210i\306 )%\203\250 &\203\250 \212b\210\331	\332P\f\333#\203\247 \334\332!\210\202\226 )\212b\210\326y\210\331\335\f\333#\203\276 \334\310!\210\202\257 )(\nZ)GZ&\203\322 'G\202\323 \326Z(\336\fS%#\210(\n\\)G\\&\203\361 'G\202\362 \326\\(\212\fb\210\337y\210\307\210\306 )\212b\210\nj\210)c\210\331\332S\333#\203'\334\332)P!\210\326y\210\nj\210\202)%\203b&\203b'\203b\212b\210\331\332S\333#\203N\334'\332P!\210\202;\307\210\340\341(iZ'GZ\"\210'c\210)\212\fSb\210\307\210\342\325!\210)\317\343!\210$b\210.\333\207" [fill-prefix ada-fill-comment-old-postfix indent end-2 end begin point-marker nil "" ada-in-comment-p error "not inside comment" read-from-minibuffer "enter new postfix string: " "enter already existing postfix string: " message "filling comment paragraph ..." back-to-indentation looking-at "--.*$" "--[ 	]*$" 1 0 -1 ada-indent-current re-search-forward "\n" t replace-match "^[ 	]*--[ 	]*" fill-region -2 insert-char 10 delete-char "filling comment paragraph ... done" opos justify postfix ada-fill-comment-postfix fill-column ada-fill-comment-prefix] 7 (#$ . 18532) "P"])
#@321 Calls the external Pretty Printer.
The name is specified in `ada-external-pretty-print-program'.  Saves the
current buffer in a directory specified by `ada-tmp-directory',
starts the pretty printer as external process on that file and then
reloads the beautified program in the buffer and cleans up
`ada-tmp-directory'.
(defalias 'ada-call-pretty-printer #[nil "p`\306\307!\310!	\310!P \311\312!\210\313\n!\210\314\306!\210\311\315!\210\311\316!\210\317\320!\321!\306\322\n%\210\323!\203H \324\322\"\210\202L \325!\210\311\326!\210\327\330!\203f \331\306!\210\325!\210\332\n!\210\202j \311\333!\210\334\n!\210\335 !\210\314\322!\210b.\207" [buffer-file-name ada-tmp-directory tmp-file-with-directory filename-without-path file-path mesgbuf nil file-name-directory file-name-nondirectory message "saving current buffer to temporary file ..." write-file auto-save-mode "saving current buffer to temporary file ... done" "running external pretty printer ..." get-buffer-create "Pretty Printer Messages" call-process t buffer-modified-p display-buffer kill-buffer "running external pretty printer ... done" y-or-n-p "Really replace current buffer with pretty printer output ? " set-buffer-modified-p find-file "old buffer contents restored" delete-file set-visited-file-name orgpos curbuf filename-with-path ada-external-pretty-print-program] 9 (#$ . 20323) nil])
(defalias 'ada-after-keyword-p #[nil "\212\301v\210\212`eU\204 \302\303!\210\304\305!)?\205 \304\306P!)\207" [ada-keywords -1 backward-char 1 looking-at "_" "[^_]"] 3])
(defalias 'ada-in-char-const-p #[nil "\212`\300V\205 \300u\210\301\302!\205 \303u\210\301\302!)\207" [1 looking-at "'" -2] 2])
#@219 Adjust the case of the word before the just typed character.
Respect options `ada-case-keyword', `ada-case-identifier', and 
`ada-case-attribute'.
If FORCE-IDENTIFIER is non-nil then also adjust keyword as identifier.
(defalias 'ada-adjust-case #[(&optional force-identifier) "\304u\210`\305V\203Q \306 \204Q \307 \204Q \310 \204Q `Sfz\311=\203Q \212\304v\210`eU\204/ \312\305!\210\313\314!)\203= \304!\210\202Q 	\204M \315 \203M \n\304!\210\202Q \304!\210\305u\207" [ada-case-attribute force-identifier ada-case-keyword ada-case-identifier -1 1 ada-in-string-p ada-in-comment-p ada-in-char-const-p 119 backward-char looking-at "'" ada-after-keyword-p] 2 (#$ . 22016)])
(defalias 'ada-adjust-case-interactive #[(arg) "\211\305=\204 	\306=\2030 \307c\210\310 \210\311\312!\210	\305=\203$ \n \210\202B 	\306=\203B  \210\202B 	\313=\203< \314 \210\202B \315\316\f!!\210	\317=\203N \310\320!\202P \310 )\207" [last-command-char lastk ada-lfd-binding ada-ret-binding arg 10 13 " " ada-adjust-case delete-backward-char 1 9 ada-tab self-insert-command prefix-numeric-value 95 t] 4 nil "P"])
(defalias 'ada-activate-keys-for-case #[nil "\204 \302\303!	\204 \302\304!\305\306\307\"\207" [ada-ret-binding ada-lfd-binding key-binding "" "\n" mapcar #[(key) "\302\303	!\304#\207" [ada-mode-map key define-key char-to-string ada-adjust-case-interactive] 4] (96 126 33 64 35 36 37 94 38 42 40 41 45 61 43 91 123 93 125 95 92 124 59 58 39 34 60 44 46 62 63 47 10 32 13)] 3])
#@133 Capitalizes the first letter and the letters following `_'.
ARG is ignored, it's there to fit the standard casing functions' style.
(defalias 'ada-loose-case-word #[(&optional arg) "`\302\303\304x\210\204 \305\306	\302#\203' \203 \304\307g\226\310\"\210\311\310!\210\202 	b*\207" [first pos t "a-zA-Z0-9_" nil search-forward "_" insert-char 1 delete-char] 4 (#$ . 23496)])
#@110 Adjusts the case of all words in the region.
Attention: This function might take very long for big regions !
(defalias 'ada-adjust-case-region #[(from to) "\306\211\211\211\307\216\212\310\f!\210b\210\311\312\313#\203_ \314\315`Z\"\210\316\317!\320u\210\321 \204 `\316\322P!\323\306w\210	\203H \324!\210\202Y \203T \324!\210\202Y \324!\210b\210\202 \314\325!.\207" [attribp keywordp end begin ada-mode-symbol-syntax-table to nil ((set-syntax-table ada-mode-syntax-table)) set-syntax-table re-search-backward "[^a-zA-Z0-9_]\\([a-zA-Z0-9_]+\\)[^a-zA-Z0-9_]" t message "adjusting case ... %5d characters left" looking-at "'[a-zA-Z0-9_]+[^']" 1 ada-in-string-or-comment-p "[^_]" "a-zA-Z0-9_" -1 "adjusting case ... done" from ada-keywords ada-case-keyword ada-case-attribute ada-case-identifier] 4 (#$ . 23884) "*r"])
#@116 Adjusts the case of all words in the whole buffer.
ATTENTION: This function might take very long for big buffers !
(defalias 'ada-adjust-case-buffer #[nil "\300ed\"\207" [ada-adjust-case-region] 3 (#$ . 24730) "*"])
#@280 Reformats a parameter list.
ATTENTION:  1) Comments inside the list are killed !
            2) If the syntax is not correct (especially, if there are
               semicolons missing), it can get totally confused !
In such a case, use `undo', correct the syntax and try again.
(defalias 'ada-format-paramlist #[nil "\306\211\211\211\307\216\310\f!\210\311 \204 \312\313!\210\314\315P\316\306#\210\314\317\306\211\316$\210\320\321!\210`\322\321!\210`\323\324!\210\314\325\316\306\316$\210\321u\210`\326T\n\"	S|\210b\210\327!-\207" [paramlist delend end begin ada-mode-symbol-syntax-table ada-subprog-start-re nil ((set-syntax-table ada-mode-syntax-table)) set-syntax-table ada-in-paramlist-p error "not in parameter list" ada-search-ignore-string-comment "\\|\\<body\\>" t "(" backward-char 1 forward-sexp delete-char -1 "[^ 	\n]" ada-scan-paramlist ada-insert-paramlist] 5 (#$ . 24953) nil])
(defalias 'ada-scan-paramlist #[(begin end) "\306\211\307\306\211\211\211b\210\f\203\315 \310 \210`\311\312\306\307$\211\2031 @A\2024 b\210\313\314!\210\315\224\315\225{C\311\316\306\n\307$\210`\317\311\320\306\n\307$:C\"b\210\317\311\321\306\n\307$:C\"b\210\317\311\322\306\n\307$:C\"b\210\310 \210\313\323!\203\212 \315v\210\310 \210\202{ \313\324!\210\317\325\224\325\225{C\"\325\225\211b\210\317\311\326\306\n\307$\211\205\257 @\n{C\"\317C\"\n=\203\307 \306\211\202 	b\210\202 \327!.\207" [match-cons semipos epos apos notend param nil t ada-goto-next-non-ws ada-search-ignore-string-comment "[ 	\n]*;" looking-at "\\([a-zA-Z0-9_, 	\n]*[a-zA-Z0-9_]\\)[ 	\n]*:[^=]" 1 ":" append "\\<in\\>" "\\<out\\>" "\\<access\\>" "\\<\\(in\\|out\\|access\\)\\>" "\\<[a-zA-Z0-9_\\.\\']+\\>" 0 ":=" reverse paramlist begin end] 8])
(defalias 'ada-insert-paramlist #[(paramlist) "G\306\211\211\307\211\211\211\306\307!\"#$%%\306U\204} %S%$%8@G\211\"X\203: \"\202< $$#\310%88G\211\"X\203S \"\202U ##!\206b %8A@!\206n \311%88\f\206y \312%88\202 \212\313\314\307\315#\210\316\317!)\203\221 \320 \210\202\246 \320 \210\321 \210\322 \210`\212\323 \n!)\211j\210\324c\210iG%%\306U\204`%S%	%8@c\210$\\\325\\j\210\326c\210i%8A@\203\340 \327c\210\202\365 !\204\351 \f\203\365 \312%88\204\365 \330c\210\311%88\203\331c\210\202\204\f\f\203\312%88\204\332c\210\312%88\203$\333c\210i\310%88c\210\334%88\203G#\\\325\\j\210\334%88c\210%\306U\204Z\335c\210\321 \210	j\210\202\257 \336c\210\202\257 \316\337!?\205i\340 .\n\207" [paramlist firstcol orgpoint column accessp outp 0 nil 4 2 3 re-search-backward "^.\\|[^ 	]" t looking-at "^." ada-indent-current newline delete-horizontal-space ada-indent-function "(" 1 ": " "in " "   " "out " "    " "access " 5 ";" ")" "[ 	]*[;\n]" ada-indent-newline-indent inp temp typlen parlen i] 11])
#@65 Moves point to the matching start of the current Ada structure.
(defalias 'ada-move-to-start #[nil "`\303\216\304	!\210\305\306!\210\212\307 \204O \310\311!\204 \312\313!\210\310\311!\204& \312\313!\210\310\311!\2042 \314\315!\203O \316\313!\203O `\211\203O \n\203O \310\317!\203O \320 \203O `)b\210\305\321!*\207" [pos ada-mode-symbol-syntax-table ada-move-to-declaration ((set-syntax-table ada-mode-syntax-table)) set-syntax-table message "searching for block start ..." ada-in-string-or-comment-p looking-at "[ 	]*\\<end\\>" backward-word 1 error "not on end ...;" ada-goto-matching-start "\\<begin\\>" ada-goto-matching-decl-start "searching for block start ... done"] 2 (#$ . 27816) nil])
#@111 Moves point to the matching end of the current block around point.
Moves to 'begin' if in a declarative part.
(defalias 'ada-move-to-end #[nil "`\304\211\305\216\306!\210\307\310!\210\212\311u\210\212\312 \210\313\314!)\203& \315\311!\210\202\242 \212\316 \205/ \313\317!)\203: \320\314!\210\202\242 \212\316 \205[ \313\321!\205[ \311v\205[ \320\322!\205[ \323\311!?\205[ \313\324!)\203f \320\314!\210\202\242 \212\316 \205o \313\325!)\203z \315\326!\210\202\242 \212\327\330!\205\204 \313\331!)\203\217 \315\311!\210\202\242 \212\327\330!)\203\236 \320\314!\210\202\242 \315\311!\210`)\nb\210\307\332!,\207" [packdecl decstart pos ada-mode-symbol-syntax-table nil ((set-syntax-table ada-mode-syntax-table)) set-syntax-table message "searching for block end ..." 1 ada-goto-previous-word looking-at "\\<begin\\>" ada-goto-matching-end ada-goto-stmt-start "\\<function\\>\\|\\<procedure\\>" ada-search-ignore-string-comment "\\<task\\>" "[^ \n	]" backward-char "\\<body\\>" "\\<accept\\>" 0 ada-goto-matching-decl-start t "\\<package\\>" "searching for block end ... done"] 3 (#$ . 28522) nil])
#@61 Indents the region using `ada-indent-current' on each line.
(defalias 'ada-indent-region #[(beg end) "b\210\306\307	\"\310\311\307	\"\"\312	!\313\314\315\217\210\316\317!,\207" [beg end endmark msg lines-remaining block-done 0 count-lines format "indenting %4d lines %%4d lines remaining ..." copy-marker err (byte-code "`W\203( 	\304V\203 \305\n\"\210\306\307\310!\204 \311 \210\312y\210	TS\202  \304\207" [endmark block-done msg lines-remaining 9 message 0 looking-at "^$" ada-indent-current 1] 3) ((error (byte-code "\301\302\303e`\"T#\207" [err error "line %d: %s" count-lines] 5))) message "indenting ... done"] 7 (#$ . 29627) "*r"])
#@76 Indents the current line, inserts a newline and then indents the new line.
(defalias 'ada-indent-newline-indent #[nil "\300 \210\301 \210\300 \207" [ada-indent-current newline] 1 (#$ . 30288) "*"])
#@465 Indents current line as Ada code.
This works by two steps:
 1) It moves point to the end of the previous code line.
    Then it calls the function to calculate the indentation for the
    following line as if a newline would be inserted there.
    The calculated column # is saved and the old position of point
    is restored.
 2) Then another function is called to calculate the indentation for
    the current line, based on the previously calculated column #.
(defalias 'ada-indent-current #[nil "\306\216\307!\210\310\311 \310\211\312\212\313\312!\203' \314y\210`\212\315 !)\202/ \316y\210\317 \210\310)	\205S \320 \210\321\n!iU\204G \317 \210j\210\fb\210i\322 W\205S \320 .\207" [ada-mode-symbol-syntax-table prevline prev-indent cur-indent orgpoint line-end ((set-syntax-table ada-mode-syntax-table)) set-syntax-table nil point-marker t ada-goto-prev-nonblank-line 1 ada-indent-function 0 delete-horizontal-space back-to-indentation ada-get-current-indent current-indentation] 5 (#$ . 30493) nil])
(defalias 'ada-get-current-indent #[(prev-indent) "\306\211\211\203< \307 \204< \310 \211\203< \212\311\312\313\306#\2037 \314\315!\2037 \311\316\313\306#\2037 \314\317!\2037 \f\n\\)\n\202\252\314\320!\203\212 \321\212\322\323!\210\314\324!\203\202 \212\325 \210\314\324!)\204\202 \212\311=\313\306#\211\205j \314\324!?)\203\202 @b\210\212\321y\210\314>!\203\201 ?[)\326 \\*\202\252\314\327!\203\233 \212\322\323!\210\326 )\202\252\314\330!\203\257 \212\322\323!\210\326 @\\)\202\252\314\331!\203\322 \212\332 \210\314\333!)\203\305 A\202\252\212\322\323\306\313#\210\326 )\202\252\314\334!\203\345 \212\322\323\306\313#\210\326 )\202\252\314\335!\203\212\332 \210\314\336!)\203\373 A\202\252\212\311\337\313\306#\210\326 B\\)\202\252\314\324!\203H`\212\321\225b\210\340 \210\314\341!\203&A\202D\314=!\2044\311=\306	#\210\314\324!\203?A\202D\326 B\\)\202\252\314\342!\203`\212\343\313!\203Z\326 \202\\A)\202\252\314\344!\203\232C\203\215\212\321\225b\210\345\212\306\210`)!\210\314\346!)\203\215\212\340 \210\326 D\\)\202\252\212\340 \210\326 B\\)\202\252\314\347!\203\274\212\311\350\313\306#\210\314\351!\203\263\311\352\313\306#\210\326 E\\)\202\252\353 \203\314\212\322\323!\210\326 )\202\252\354 \203\333\212\343 \210\326 )\202\252\314\355!\203\354ADZ\f[Z\202\252\314\356!\203\212\357\360!\210\314\361!\203\212\362\363!\210\314\364!)\203iT\202A)\202\252\314\365!\203'\212\340 \210\326 B\\)\202\252\314\366!\203R\212\323u\210\340 \210\314\366!)\203R\212\343\313!\203L\314\367!\203Li\202NA)\202\252\314\370!\203j\371 \203bA\202\252A?\\\202\252\314\372!\203uA\202\252\314\361!\203\200A\202\252\314\373!\203\223\212\323u\210\362\323!\210i)\202\252\314\374!\203\250F\203\243A\202\252\326 \202\252A+\207" [match-cons pos column ada-indent-to-open-paren ada-broken-indent label nil ada-in-paramlist-p ada-in-open-paren-p ada-search-ignore-string-comment "[^ 	]" t looking-at "\n" "[^ 	\n]" ">" "\\<end\\>" 0 ada-goto-matching-start 1 "\\<loop\\>" back-to-indentation current-indentation "\\<exception\\>" "\\<when\\>" "\\<else\\>" ada-goto-previous-word "\\<or\\>" "\\<elsif\\>" "\\<then\\>" "\\<and\\>" "\\<elsif\\>\\|\\<if\\>" ada-goto-stmt-start "\\<loop\\>\\|\\<if\\>" "\\<begin\\>" ada-goto-matching-decl-start "\\<is\\>" ada-goto-next-non-ws "\\<abstract\\>\\|\\<separate\\>" "\\<record\\>" "\\<\\(type\\|use\\)\\>" "\\<use\\>" "\\<for\\>" ada-looking-at-semi-or ada-looking-at-semi-private "\\<\\(new\\|abstract\\|separate\\)\\>" "\\<return\\>" forward-sexp -1 "(" backward-sexp 2 "\\<function\\>" "\\<do\\>" "\\<\\(package\\|function\\|procedure\\)\\>" "generic" "\\<[a-zA-Z0-9_]+[ 	\n]*:[^=]" ada-in-decl-p "\\<[a-zA-Z0-9_]+[ 	\n]*" ")" "--" ada-loop-start-re ada-named-block-re ada-label-indent ada-when-indent prev-indent ada-stmt-end-indent ada-indent-is-separate ada-indent ada-indent-record-rel-type ada-indent-comment-as-code] 4])
(defalias 'ada-indent-function #[(&optional nomove) "`\306\307 \203 \310\202\256 \n\204 \311 \210	`=\203$ \n\204$ \312\202\256 \2032 \313 \2032 \314\202\256 \315\316!\203= \317\202\256 \315\f!\203H \320\202\256 \315!\203S \321\202\256 \315!!\203_ \322\202\256 \315\323!\203j \324\202\256 \315\325!\203u \326\202\256 \315\327!\203\200 \330\202\256 \315\331!\203\213 \332\202\256 \315\333!\203\226 \334\202\256 \315\335!\203\241 \336\202\256 \315\337!\203\254 \312\202\256 \340*\207" [func orgpoint nomove ada-indent-to-open-paren ada-loop-start-re ada-subprog-start-re nil ada-in-paramlist-p ada-get-indent-paramlist ada-goto-stmt-start ada-get-indent-nochange ada-in-open-paren-p ada-get-indent-open-paren looking-at "\\<end\\>" ada-get-indent-end ada-get-indent-loop ada-get-indent-subprog ada-get-indent-block-start "\\<type\\>" ada-get-indent-type "\\<\\(els\\)?if\\>" ada-get-indent-if "\\<case\\>" ada-get-indent-case "\\<when\\>" ada-get-indent-when "--" ada-get-indent-comment "[a-zA-Z0-9_]+[ 	\n]*:[^=]" ada-get-indent-label "\\<separate\\>" ada-get-indent-noindent ada-block-start-re] 2])
(defalias 'ada-get-indent-open-paren #[(orgpoint) "\300 \207" [ada-in-open-paren-p] 1])
(defalias 'ada-get-indent-nochange #[(orgpoint) "\212\300y\210\301 )\207" [-1 current-indentation] 1])
(defalias 'ada-get-indent-paramlist #[(orgpoint) "\212\301\302\303\304\303$\210\305\306!\203 \307\225b\210i\202; \305\310!\203, \301\311\303\304\303$Ab\210\312 \210i\202; \301\311\303\304\303$Ab\210\312 \210i\\)\207" [ada-broken-indent ada-search-ignore-string-comment "[^ 	\n]" t nil looking-at "(" 0 ";" "(\\|;" ada-goto-next-non-ws] 5])
(defalias 'ada-get-indent-end #[(orgpoint) "\306\307\306\212\310\311\306#)\203\246 \312v\210\313 \210\314\315!\203_ \212\316\307\224\307\225{!\210\314\317!\2031 \312v\210\320 \210\314\f!\203A [\307\225b\210\313 \210\314\321\322\323Q!\204W \310\321\322\323Q!\204W \324\312!\210\325 	\\)\202\253 \314!\203{ \307\224\307\225{\212\326\307!\210\327\n!\210\325 )\202\253 \314\311!\203\236 \212\326\307!\210\314\330!\205\232 i\331\332!\203\231 \325 \202\232 )\202\253 \325 \\\202\253 \325 \\+\207" [indent label defun-name orgpoint ada-named-block-re ada-label-indent nil 0 ada-search-ignore-string-comment ";" 1 ada-goto-next-non-ws looking-at "\\<\\(loop\\|select\\|if\\|case\\|record\\)\\>" ada-check-matching-start "\\<\\(loop\\|record\\)\\>" ada-goto-stmt-start "\\<\\(" "loop\\|select\\|if\\|case\\|" "record\\|while\\|type\\)\\>" backward-word current-indentation ada-goto-matching-start ada-check-defun-name "\\<begin\\>" ada-goto-matching-decl-start t ada-ident-re ada-broken-indent] 4])
(defalias 'ada-get-indent-case #[(orgpoint) "\306 \307`\212\310\311\307#\205 \310\312\307#\211)\2034 \212	@b\210\310\313\314#\204, \315\316!\210\306 \f\\)\202c \212\310\313\307#\211)\203K 	Ab\210\306 \\\202c \212\310\311\307#\211)\203_ \306 \\\202c \306 \\+\207" [opos match-cons cur-indent orgpoint ada-indent ada-broken-indent current-indentation nil ada-search-ignore-string-comment "\\<is\\>" "[ 	\n]+=>" "\\<when\\>" t error "missing 'when' between 'case' and '=>'" ada-when-indent] 4])
(defalias 'ada-get-indent-when #[(orgpoint) "\304 \305\306\307	#\203 \n\\\202 \\)\207" [cur-indent orgpoint ada-indent ada-broken-indent current-indentation ada-search-ignore-string-comment "[ 	\n]+=>" nil] 4])
(defalias 'ada-get-indent-if #[(orgpoint) "\305 \306\307\310\311\306\n$\203B \212\312 \210\313\310!)\203 \305 \314v\210\315\316\306\n#\211\203< @b\210	\305 Z\\\317\320!\n!\\\202E 	\\\202E 	\f\\*\207" [match-cons cur-indent orgpoint ada-indent ada-broken-indent current-indentation nil ada-search-but-not "\\<then\\>" "\\<and\\>[ 	\n]+\\<then\\>" back-to-indentation looking-at 1 ada-search-ignore-string-comment "[^ 	\n]" ada-indent-function t] 5])
(defalias 'ada-get-indent-block-start #[(orgpoint) "\304 \305\212\306v\210\307\310\305\n#@\211)\203\" b\210\212\311\312!\n!)\202& \304 \\*\207" [pos cur-indent orgpoint ada-indent current-indentation nil 1 ada-search-ignore-string-comment "[^ 	\n]" ada-indent-function t] 4])
(defalias 'ada-get-indent-subprog #[(orgpoint) "\306\307 \306\310`\212\311\312\306#\211)\203  \313\fAb\210\2021 \311\314\306#\203. \315 \210\2021 b\210\n\203G \212\311\314\306\313$)\204G \\\202\224 \n\203g \212\311\316\306#\211)\203g \f@b\210\311\313\"\210\317!\202\224 \n\203\202 \212\311\314\306#)\203\202 \315 \203\202 \320\313!!\206\224 \212\311\321\306#)\203\220 \202\224 \\-\207" [fstart addind foundis cur-indent match-cons orgpoint nil current-indentation 0 ada-search-ignore-string-comment "\\<\\(is\\|do\\)\\>" t "[^ 	\n]" ada-goto-next-non-ws "\\<\\(separate\\|new\\|abstract\\)\\>" ada-get-indent-noindent ada-indent-function ";" ada-indent ada-subprog-start-re ada-broken-indent] 5])
(defalias 'ada-get-indent-noindent #[(orgpoint) "\305\212\305y\210\306	!\203 \n[)\212\307\310\311#)\203! \312 \\\202' \312 \f\\\\)\207" [label ada-named-block-re ada-label-indent orgpoint ada-broken-indent 0 looking-at ada-search-ignore-string-comment ";" nil current-indentation] 4])
(defalias 'ada-get-indent-label #[(orgpoint) "\306\307 \310\311!Ab\210\212\310\n\306#\211)\203! 	@b\210\312!\202\202 \212\310\313\306#\211)\203: \212	@b\210\307 \f\\)\202\202 \212\310\314\306#)\203S \315 \203M \202\202 Z\202\202 \212\310\316\306#)\203s \315 \203i \\\202\202 \\[\\\202\202 \315 \203 \\\202\202 Z*\207" [cur-indent match-cons ada-loop-start-re orgpoint ada-indent ada-label-indent nil current-indentation ada-search-ignore-string-comment ":" ada-get-indent-loop "\\<declare\\|begin\\>" ";" ada-in-decl-p "[^ 	\n]" ada-broken-indent] 4])
(defalias 'ada-get-indent-loop #[(orgpoint) "\306`\212\307y\210\310!\203 	[\202 \307)\212\311\312\306#)\203' \313 \n\\\202\361 \310\314!\2035 \315!\n\\\202\361 \310\316!\203\274 \212\307\225b\205v \311\317\306#\205v \320\321!?\205v \322\306w\307U?\205v \311\317\306#\205v \320\321!?\205v \310\323!\205v \311\324\306#\325)\203\212 \f\203\202 \f@b\210\313 \\\202\361 \212\311\326\306#\211)\203\262 \f@b\210\212\327 \210\310\326!)\204\250 b\210\313 \\\n\\\202\361 \313 \\\n\\\202\361 \310\330!\205\361 \212\311\326\306#\211)\203\352 \f@b\210\212\327 \210\310\326!)\204\340 b\210\313 \\\n\\\202\361 \313 \\\n\\+\207" [ada-named-block-re ada-label-indent label pos match-cons orgpoint nil 0 looking-at ada-search-ignore-string-comment ";" current-indentation "loop\\>" ada-get-indent-block-start "for\\>" "[^ /n/t]" backward-char 1 "_a-zA-Z0-9'" "\\<use\\>" "\\<record\\>" t "\\<loop\\>" back-to-indentation "while\\>" ada-indent ada-broken-indent] 4])
(defalias 'ada-get-indent-type #[(orgpoint) "\304\212\305\306\304	#\211\205% \307 \205% \310\311!\205% \312v\205% \307 \205% \310\313!)\2032 @b\210\314 \202v \212\305\311\304	#\211)\203I @b\210\314 \n\\\202v \212\305\313\304	#)\203X \314 \202v \212\305\315\304	#\205g \305\316\304	#?)\203r \314 \n\\\202v \314 \\)\207" [match-dat orgpoint ada-indent ada-broken-indent nil ada-search-ignore-string-comment "\\<end\\>" ada-goto-next-non-ws looking-at "\\<record\\>" 1 ";" current-indentation "\\<is\\>" "[^ 	\n]"] 4])
(defalias 'ada-goto-stmt-start #[(&optional limit) "\303`\304\n!\211\203, \212	Ab\210\305\306\303#)\204 \304\n!	\203& 	Ab\210\307 \210\202C eb\210\305\306\303#\211\203@ 	@b\210\202C b\210`*\207" [orgpoint match-dat limit nil ada-search-prev-end-stmt ada-search-ignore-string-comment "[^ 	\n]" ada-goto-next-non-ws] 5])
(defalias 'ada-search-prev-end-stmt #[(&optional limit) "\305\211\211\204H \306\307\f#\211\203H \n@b\210\310 \204 \311\312!\203. \212\313 \210\311\314!)\204B \212\nAb\210\315 \210\311\316!\204> \307)\202 \317v\210\202 \205M \n+\207" [found pos match-dat ada-end-stmt-re limit nil ada-search-ignore-string-comment t ada-in-open-paren-p looking-at "\\<\\(record\\|loop\\|select\\|else\\|then\\)\\>" ada-goto-previous-word "\\<\\(end\\|or\\|and\\)\\>" ada-goto-next-word "\\<\\(separate\\|new\\)\\>" -1] 4])
(defalias 'ada-goto-next-non-ws #[(&optional limit) "\302\303\304\302	\305$\211\203 @b\202 	?\205 \306\307!)\207" [match-cons limit nil ada-search-ignore-string-comment "[^ 	\n]" t error "no more non-ws"] 6])
(defalias 'ada-goto-stmt-end #[(&optional limit) "\302\303	#\205	 `\207" [ada-end-stmt-re limit ada-search-ignore-string-comment nil] 4])
(defalias 'ada-goto-next-word #[(&optional backward) "\303`\n\204\f \304\303w\210\305\306\n\303\307$\211\203# 	@b\210\310\303x\210`\202' b\210\303*\207" [orgpoint match-cons backward nil "_a-zA-Z0-9\\." ada-search-ignore-string-comment "\\w" t "_a-zA-Z0-9"] 5])
(defalias 'ada-goto-previous-word #[nil "\300\301!\207" [ada-goto-next-word t] 2])
(defalias 'ada-check-matching-start #[(keyword) "\301\302!\210\303\304\305Q!?\205 \306\307\"\207" [keyword ada-goto-matching-start 0 looking-at "\\<" "\\>" error "matching start is not '%s'"] 4])
(defalias 'ada-check-defun-name #[(defun-name) "\212\301 \210\302\303\304Q!)\203 \305\207\302\306!\204 \307 \210\212\302\310!\203& \311 \210\202> \312v\210\313\314!\210\302\315!\2036 \314v\210\316\314!\210\317\314!\210\302\303\320Q!?\205R \321\322`\316\314!\210`{\")\207" [defun-name ada-goto-previous-word looking-at "\\<" "\\> *:" t "\\<\\(accept\\|package\\|task\\|protected\\)\\>" ada-goto-matching-decl-start "\\<declare\\>" ada-goto-stmt-start 2 backward-word 1 "\\<\\(body\\|type\\)\\>" forward-sexp backward-sexp "\\>" error "matching defun has different name: %s"] 5])
(defalias 'ada-goto-matching-decl-start #[(&optional noerror nogeneric) "\306\307\310\307\311U\204\300 \312\313\310\"\203\300 \314\315!\203- \316\306\f\"\210\314\317!\203 T\211\202	 \314\320!\203; S\307\202 \314\321!\203\217 \314\322!\204\200 \212\323 \210\324\307x\210\212\325\306!\210\314\326!)\203f \306u\210\327\306!\210\324\307x\210\323 \210\314\330!\205| \331 \332\216\323 \210\314\333!*?)\203\207 \311\224b\210\202 S\307\202 \314\334!\203\247 \212\323 \210\314\321!)\203 \311\224b\210\202 	\203\270 \314\317!\203\270 \311\310\202 T\307\202 \311U\203\336 \204\336 \314\321!\203\330 \312\310\"\202\333 \314\320!\204\351 \f?\205\352 \335\336!\202\352 \310,\207" [flag first pos nest-count noerror save-match-data-internal 1 nil t 0 ada-search-ignore-string-comment "\\<\\(is\\|separate\\|end\\|declare\\|new\\|begin\\|generic\\)\\>" looking-at "end" ada-goto-matching-start "begin" "declare\\|generic" "is" "is +<>" ada-goto-previous-word "a-zA-Z0-9_.'" backward-char ")" backward-sexp "\\<type\\>" match-data ((set-match-data save-match-data-internal)) "\\<protected\\>" "new" error "no matching proc/func/task/declare/package/protected" ada-subprog-start-re] 5])
(defalias 'ada-goto-matching-start #[(&optional nest-level noerror gotothen) "\203 \202	 \306\307\211\n\204\211 \310\311\312\"\203\211 \313\314!\203% T\202\201 \313\315!\203I `\212\316 \210\313\317!\203? T`\202B S)	b\210\202\201 \313\320!\203d \212\310\321!\210\322 \210\313\323!\204` S)\202\201 \313\324!\203~ \212\325v\210\322 \210\313\326!\204z S)\202\201 S\306U\211\203 \n\203\305 \f\203\257 \313\327!\203\257 \212\310\330\307\211#\210\331 \210\313\330!)\203\257 \306\224b\210\202\301 \313\332!\203\301 \310\333\312\307#\204\301 \334\335!\210`\202\315 ?\205\315 \334\336!+\207" [nest-level pos found nest-count gotothen noerror 0 nil ada-search-ignore-string-comment "\\<\\(end\\|loop\\|select\\|begin\\|case\\|do\\|if\\|task\\|package\\|record\\|protected\\)\\>" t looking-at "end" "loop\\|select\\|record\\|case\\|if" ada-goto-previous-word "\\<end\\> *[^;]" "package" "\\<is\\>" ada-goto-next-non-ws "\\<new\\>" "task" 1 "\\<body\\>" "if" "\\<then\\>" back-to-indentation "do" "\\<accept\\>" error "missing 'accept' in front of 'do'" "no matching start"] 5])
(defalias 'ada-goto-matching-end #[(&optional nest-level noerror) "\203 \202	 \304\305	\204d \306\307!\203d \310\311!\210\312\313!\2036 \nS\314\305w\210\315 \210\312\316!\203\\ \311v\210\202\\ \312\317!\203V \306\320!\210\315 \210\312\321!\204O \nT\202\\ \322\305w\210\202\\ \nT\311v\210\n\304U\211\203 	\204s ?\205t \323\324!\202t \325*\207" [nest-level found nest-count noerror 0 nil ada-search-ignore-string-comment "\\<\\(end\\|loop\\|select\\|begin\\|case\\|if\\|task\\|package\\|record\\|do\\)\\>" backward-word 1 looking-at "\\<end\\>" "end" ada-goto-next-non-ws "\\<\\(loop\\|select\\|record\\|case\\|if\\)\\>" "\\<package\\>" "\\<is\\>" "\\<new\\>" "new" error "no matching end" t] 3])
(defalias 'ada-forward-sexp-ignore-comment #[nil "\300\301!\203 \302\303w\210\303\210\202  \304\305!\207" [looking-at "[ 	\n]*--" "[ 	\n]" nil forward-sexp 1] 2])
(defalias 'ada-search-ignore-string-comment #[(search-re &optional backward limit paramlists) "\306\211\211\211\203\f \307\202 \310\204\272 	\311#\203\272 \312\224\312\225\313 \203E \203< \307\314\306\311#\210\312\224b\210\202 \311y\210\312y\210\202 \315 \203a \203X \307\316\306\311#\210\312\224b\210\310\316\306\311#\210\202 \212`\203k \311\202l \317Z\211f\205\200 \nf\320U\205\200 \n\317\\f\320U)\204 \204\234 \321 \203\234 \203 \322\323\324\306\324$\210\202 \212\fb\210\325\314!)\203\264 \204 \311y\210\312y\210\202 \324\211\203 \205\301 \fB-\207" [backward search-func pos end begin found nil re-search-backward re-search-forward 1 0 ada-in-comment-p "--" ada-in-string-p "\"" 2 39 ada-in-paramlist-p ada-search-ignore-string-comment "(" t looking-at search-re limit paramlists] 6])
(defalias 'ada-search-but-not #[(search-re not-search-re &optional backward limit) "\306\211\211\211\211\211\211	\204j \212\307\n\f#\211:\205* 	@		A\310)\203j \212\307\306#\211:\205C 	@	A\310)\203T \n	X\204T \fY\203Z \310\211\202 \203d 	\202e b\210\202 \205v 	b\210	B.\207" [found ret-cons end-not begin-end begin-not end nil ada-search-ignore-string-comment t begin search-re backward limit not-search-re] 8])
(defalias 'ada-goto-prev-nonblank-line #[(&optional ignore-comment) "\303\304\212\305y\306U\2030 \306y\210`\307\310!\206 \307\311!\205 \n\211\2030 \312 \2040 \305y\210`\202 )	?\205: b\210\303*\207" [newpoint notfound ignore-comment t nil -1 0 looking-at "[ 	]*$" "[ 	]*--" ada-in-limit-line-p] 2])
(defalias 'ada-goto-next-nonblank-line #[(&optional ignore-comment) "\303\304\212\305y\306U\2033 \306y\210`\307\310!\206 \307\311!\205 \n\211\2033 \312 \2043 \305y\210\306y\210`\202 )	?\205= b\210\303*\207" [newpoint notfound ignore-comment t nil 1 0 looking-at "[ 	]*$" "[ 	]*--" ada-in-limit-line-p] 2])
(defalias 'ada-in-decl-p #[nil "\300 \206\n \212\301\302!)\207" [ada-in-paramlist-p ada-goto-matching-decl-start t] 2])
(defalias 'ada-looking-at-semi-or #[nil "\212\300\301!\205 \302v\210\303 \210\300\301!)\207" [looking-at "\\<or\\>" 1 ada-goto-stmt-start] 2])
(defalias 'ada-looking-at-semi-private #[nil "\212\300\301!\205 \302v\210\303 \210\300\301!)\207" [looking-at "\\<private\\>" 1 ada-goto-stmt-start] 2])
(defalias 'ada-in-limit-line-p #[nil "\212\300y\210e`U)\206 \212\301\210d`U)\207" [0 nil] 2])
(defalias 'ada-in-comment-p #[nil "\300\301\212\302y\210`)`\"8\207" [4 parse-partial-sexp 0] 4])
(defalias 'ada-in-string-p #[nil "\212\300\301\212\302y\210`)`\"8\205 \303\304\305\306#\210`Sf\307U?)\207" [3 parse-partial-sexp 0 re-search-backward "\"" nil t 39] 4])
(defalias 'ada-in-string-or-comment-p #[nil "\301\212\302y\210`)`\"\3038\206' \3048\203% \305\306\307\310#\210`Sf\311U?\206' \312 )\207" [parse-result parse-partial-sexp 0 4 3 re-search-backward "\"" nil t 39 ada-in-char-const-p] 4])
(defalias 'ada-in-paramlist-p #[nil "\212\300\301\302\303#\205- \304\305!\205- \306\307!\205- \304\310!\205- \311\312\302\303#\205- \313\314!?\205- \304\315!)\207" [re-search-backward "(\\|)" nil t looking-at "(" backward-word 2 "\\<\\(procedure\\|function\\|body\\|package\\|task\\|entry\\|accept\\)\\>" re-search-forward ")\\|:" backward-char 1 ":"] 4])
(defalias 'ada-in-open-paren-p #[nil "`X\203\n e\202 \212`Zb\210\304y\210`)\305\211\306`\"\211A@\205K \212\nA@Tb\210\212\307\310\305\311#\210\312\311!\210\313\314!?\205A i\211)\203I 	\202J i)+\207" [ada-search-paren-char-count-limit col parse-result start 0 nil parse-partial-sexp re-search-forward "[^ 	]" 1 backward-char looking-at "\n"] 5])
#@56 Do indenting or tabbing according to `ada-tab-policy'.
(defalias 'ada-tab #[nil "\301=\203\n \302\303!\207\304=\203 \305 \207\306=\203 \307 \207\310=\203% \311 \207\312=\203. \313 \207\314=\2057 \302\303!\207" [ada-tab-policy indent-and-tab error "not implemented" indent-rigidly ada-tab-hard indent-auto ada-indent-current gei ada-tab-gei indent-af af-indent-line always-tab] 2 (#$ . 50790) nil])
#@57 Delete leading indenting according to `ada-tab-policy'.
(defalias 'ada-untab #[(arg) "\302=\203	 \303 \207\304=\203 \305\306	!	\"\207\307=\203  \310\311!\207\312=\205) \310\311!\207" [ada-tab-policy arg indent-rigidly ada-untab-hard indent-af backward-delete-char-untabify prefix-numeric-value indent-auto error "not implemented" always-tab] 3 (#$ . 51202) "P"])
#@47 Ada mode version of the indent-line-function.
(defalias 'ada-indent-current-function #[nil "\301 \302 \210\303 \210`W\203 b\210\304\211\223)\207" [starting-point point-marker ada-beginning-of-line ada-tab nil] 3 (#$ . 51576) "*"])
#@39 Indent current line to next tab stop.
(defalias 'ada-tab-hard #[nil "\212\301y\210\302\303\"\210)\212`\301y\210`U)\205 u\207" [ada-indent 0 insert-char 32] 3 (#$ . 51818) nil])
#@43 indent current line to previous tab stop.
(defalias 'ada-untab-hard #[nil "\212\303y\210`)\212\304\210`)\305	\n[#*\207" [eol bol ada-indent 0 nil indent-rigidly] 4 (#$ . 52004) nil])
#@45 remove trailing spaces in the whole buffer.
(defalias 'ada-remove-trailing-spaces #[nil "\301 \302\216\212\214~\210eb\210\303\304d\305#\205 \306\307\310\211#\210\202\f ,\207" [save-match-data-internal match-data ((set-match-data save-match-data-internal)) re-search-forward "[ 	]+$" t replace-match "" nil] 4 (#$ . 52197) nil])
(defalias 'ada-untabify-buffer #[nil "\212\300ed\"\210)\301\207" [untabify nil] 3])
#@66 delete `comment-start' at the beginning of a line in the region.
(defalias 'ada-uncomment-region #[(beg end) "\302	\303#\207" [beg end comment-region -1] 4 (#$ . 52617) "r"])
#@61 Find other file in other window using `ff-find-other-file'.
(defalias 'ada-ff-other-window #[nil "\300\301!\205	 \301\302!\207" [fboundp ff-find-other-file t] 2 (#$ . 52799) nil])
#@64 Clean up comments, `(' and `,' for GNAT style checking switch.
(defalias 'ada-gnat-style #[nil "\212eb\210\300\301\302\303#\203 \304\305!\210\202 eb\210\300\306\302\303#\203% \304\307!\210\202 eb\210\300\310\302\303#\2057 \304\311!\210\202( )\207" [re-search-forward "-- ?\\([^ -]\\)" nil t replace-match "--  \\1" "\\>(" " (" ",\\<" ", "] 4 (#$ . 52985) nil])
#@32 Moves point to next procedure.
(defalias 'ada-next-procedure #[nil "\301\210\302\301\303#\203 \304\224b\207\305\306!\207" [ada-procedure-start-regexp nil re-search-forward t 1 error "No more functions/procedures/tasks"] 4 (#$ . 53355) nil])
#@36 Moves point to previous procedure.
(defalias 'ada-previous-procedure #[nil "\301y\210\302\303\304#\203 \305\224b\207\306\307!\207" [ada-procedure-start-regexp 0 re-search-backward nil t 1 error "No more functions/procedures/tasks"] 4 (#$ . 53605) nil])
#@30 Moves point to next package.
(defalias 'ada-next-package #[nil "\301\210\302\301\303#\203 \304\224b\207\305\306!\207" [ada-package-start-regexp nil re-search-forward t 1 error "No more packages"] 4 (#$ . 53866) nil])
#@34 Moves point to previous package.
(defalias 'ada-previous-package #[nil "\301y\210\302\303\304#\203 \305\224b\207\306\307!\207" [ada-package-start-regexp 0 re-search-backward nil t 1 error "No more packages"] 4 (#$ . 54092) nil])
(byte-code "\204\214 \301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\311 \203' \302\312\313#\210\202- \302\314\313#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210\302\325\326#\210\302\327\330#\210\302\331\332#\210\302\333\334#\210\302\335\336#\210\302\337\340#\210\302\341\342#\210\302\343\344#\210\302\345\346#\210\302\347\350#\210\302\351\352#\210\353\354\355\"\210\356\357!\207" [ada-mode-map make-sparse-keymap define-key "\n" ada-indent-newline-indent "	" ada-tab "\f" ada-indent-region ada-xemacs (shift tab) ada-untab [S-tab] "" ada-format-paramlist "" ada-call-pretty-printer "\221" ada-fill-comment-paragraph-postfix "\205" ada-next-procedure "\201" ada-previous-procedure "" ada-move-to-start "" ada-move-to-end "" compile "" ada-check-syntax "" ada-make-local "" ada-adjust-case-region "" ada-adjust-case-buffer "" backward-delete-char-untabify ";" comment-region ":" ada-uncomment-region mapcar #[(pair) "\302@A	#\207" [pair ada-mode-map substitute-key-definition] 4] ((beginning-of-line . ada-beginning-of-line) (end-of-line . ada-end-of-line) (forward-to-indentation . ada-forward-to-indentation)) require easymenu] 4)
#@50 Adds the menu 'Ada' to the menu bar in Ada mode.
(defalias 'ada-add-ada-menu #[nil "\304\300!\204 \305\300	B\306\300\307\310#\210\311\300\n\310\312$\210\313 \205' \314!\210\315B\211\207" [ada-mode-menu current-load-list ada-mode-map mode-popup-menu boundp nil put variable-documentation "Menu keymap for Ada mode." easy-menu-do-define ("Ada" ["Next Package" ada-next-package t] ["Previous Package" ada-previous-package t] ["Next Procedure" ada-next-procedure t] ["Previous Procedure" ada-previous-procedure t] ["Goto Start" ada-move-to-start t] ["Goto End" ada-move-to-end t] ["------------------" nil nil] ["Indent Current Line (TAB)" ada-indent-current-function t] ["Indent Lines in Region" ada-indent-region t] ["Format Parameter List" ada-format-paramlist t] ["Pretty Print Buffer" ada-call-pretty-printer t] ["------------" nil nil] ["Fill Comment Paragraph" ada-fill-comment-paragraph t] ["Justify Comment Paragraph" ada-fill-comment-paragraph-justify t] ["Postfix Comment Paragraph" ada-fill-comment-paragraph-postfix t] ["------------" nil nil] ["Adjust Case Region" ada-adjust-case-region t] ["Adjust Case Buffer" ada-adjust-case-buffer t] ["----------" nil nil] ["Comment   Region" comment-region t] ["Uncomment Region" ada-uncomment-region t] ["----------------" nil nil] ["Global Make" compile (fboundp 'compile)] ["Local Make" ada-make-local t] ["Check Syntax" ada-check-syntax t] ["Next Error" next-error (fboundp 'next-error)] ["---------------" nil nil] ["Index" imenu (fboundp 'imenu)] ["--------------" nil nil] ["Other File Other Window" ada-ff-other-window (fboundp 'ff-find-other-file)] ["Other File" ff-find-other-file (fboundp 'ff-find-other-file)]) ada-xemacs easy-menu-add "Ada mode"] 5 (#$ . 55542)])
(defalias 'ada-beginning-of-line #[(&optional arg) "\302=\203\n \303	!\207\304	!\207" [ada-tab-policy arg indent-af af-beginning-of-line beginning-of-line] 2 nil "P"])
(defalias 'ada-end-of-line #[(&optional arg) "\302=\203\n \303	!\207	\207" [ada-tab-policy arg indent-af af-end-of-line] 2 nil "P"])
(defalias 'ada-current-column #[nil "\301=\203	 \302 \207i\207" [ada-tab-policy indent-af af-current-column] 2])
(defalias 'ada-forward-to-indentation #[(&optional arg) "\302=\203\n \303	!\207\304	!\207" [ada-tab-policy arg indent-af af-forward-to-indentation forward-to-indentation] 2 nil "P"])
#@70 Determine the filename of a package/procedure from its own Ada name.
(defalias 'ada-make-filename-from-adaname #[(adaname) "\303\304\305!\212q\210\306\307\303\303	\n&\210eeb\210\303\210`{\310!\210*	\211\207" [krunch-buf adaname ada-krunch-args nil generate-new-buffer "*gkrunch*" call-process "gnatkr" kill-buffer] 7 (#$ . 57883) "s"])
#@120 Determine whether we are on a function definition/declaration.
If that is the case remember the name of that function.
(defalias 'ada-which-function-are-we-in #[nil "\303\212\304	\303\305#\203 \306\224\306\225{\211\202$ \304\n\303\305#\205$ \306\224\306\225{\211)\207" [ff-function-name ada-procedure-start-regexp ada-package-start-regexp nil re-search-backward t 0] 4 (#$ . 58235)])
(byte-code "\302\300	B\300\207" [ada-font-lock-syntactic-keywords current-load-list (("\\('\\).\\('\\)" (1 (7 . 39)) (2 (7 . 39))))] 2)
#@42 Subdued level highlighting for Ada mode.
(defconst ada-font-lock-keywords-1 (byte-code "\300\301D\302\303\304ED\207" ["\\<\\(function[ 	]+return\\)\\>" (1 font-lock-keyword-face) "\\<\\(accept\\|entry\\|function\\|package[ 	]+body\\|package\\|pragma\\|procedure\\|protected[ 	]+body\\|protected[ 	]+type\\|protected\\|task[ 	]+body\\|task[ 	]+type\\|task\\)\\>[ 	]*\\(\\sw+\\(\\.\\sw*\\)*\\)?" (1 font-lock-keyword-face) (2 font-lock-function-name-face nil t)] 4) (#$ . 58767))
#@40 Gaudy level highlighting for Ada mode.
(defconst ada-font-lock-keywords-2 (byte-code "\301\302\303\304\305\306E\307\310\311E\312\313\314E\315\257\"\207" [ada-font-lock-keywords-1 append "\\<\\(a\\(b\\(ort\\|s\\(\\|tract\\)\\)\\|cce\\(pt\\|ss\\)\\|l\\(iased\\|l\\)\\|nd\\|rray\\|t\\)\\|begin\\|case\\|d\\(e\\(clare\\|l\\(ay\\|ta\\)\\)\\|igits\\|o\\)\\|e\\(ls\\(e\\|if\\)\\|ntry\\|x\\(ception\\|it\\)\\)\\|for\\|generic\\|i[fns]\\|l\\(imited\\|oop\\)\\|mod\\|n\\(ot\\|ull\\)\\|o\\(r\\|thers\\|ut\\)\\|pr\\(ivate\\|otected\\)\\|r\\(a\\(ise\\|nge\\)\\|e\\(cord\\|m\\|names\\|queue\\|turn\\|verse\\)\\)\\|se\\(lect\\|parate\\)\\|t\\(agged\\|erminate\\|hen\\)\\|until\\|wh\\(ile\\|en\\)\\|xor\\)\\>" ("\\<\\(end\\)\\>\\([ 	]+\\)?\\([a-zA-Z0-9_\\.]+\\)?" (1 font-lock-keyword-face) (3 font-lock-function-name-face nil t)) "\\<\\(access\\|constant\\|in[ 	]+out\\|in\\|out\\)\\>[ 	]*\\(\\sw+\\)?" (1 font-lock-keyword-face nil t) (2 font-lock-type-face nil t) "\\<\\(new\\|of\\|subtype\\|type\\)\\>[ 	]*\\(\\sw+\\)?[ 	]*\\((\\)?" (1 font-lock-keyword-face) (2 (if (match-beginning 4) font-lock-function-name-face font-lock-type-face) nil t) "\\<\\(goto\\|raise\\|use\\|with\\)\\>[ 	]*\\([a-zA-Z0-9_\\.\\|, ]+\\)\\W" (1 font-lock-keyword-face) (2 font-lock-constant-face nil t) ("<<\\(\\sw+\\)>>" 1 font-lock-constant-face)] 9) (#$ . 59251))
#@47 Default expressions to highlight in Ada mode.
(defvar ada-font-lock-keywords ada-font-lock-keywords-1 (#$ . 60591))
(byte-code "\300 \203 \301\302\303\304#\210\300\207" [ada-xemacs put ada-mode font-lock-defaults (ada-font-lock-keywords nil t ((95 . "w") (46 . "w")) beginning-of-line)] 4)
(defalias 'ada-outline-level #[nil "\212\300\301w\210i)\207" ["	 " nil] 2])
(defalias 'ada-gen-comment-until-proc #[nil "\301y\210\302`!\210\303\304\305#\203 \301\224b\210\306\307 `\"\207\310\311!\207" [ada-procedure-start-regexp 1 set-mark-command re-search-forward nil t comment-region mark error "No more functions/procedures"] 4])
(defalias 'ada-gen-treat-proc #[(match) "@b\210\305\211\211\211\306\307!\211\204 \306\310!\211\205\234 \311v\210\312v\210`A{Ab\210\313 \210\203A \314v\210\315\305w\210`\316\305w\210`{\306\317!\203\215 \320\224\320\225|\210\321 \210\322c\210\321 \210\203f \323c\210	c\210\324c\210\321 \210\325c\210\nc\210\321 \210\326c\210\321 \210\203 \327c\210\321 \210\330c\210\nc\210\324c\210\321 \202\234 \306\331!\206\234 \306\332!\206\234 \333\334!,\207" [match functype procname func-found proc-found nil looking-at "^[ 	]*procedure" "^[ 	]*function" 2 -1 forward-sexp 1 " 	\n" "a-zA-Z0-9_." "[ 	]*;" 0 ada-indent-newline-indent " is" "Result : " ";" "begin -- " "null;" "return Result;" "end " "[ 	\n]*is" "[ 	\n]*rename" message "unknown syntax"] 4])
#@244 Create an Ada package body in the current buffer.
The potential old buffer contents is deleted first, then we copy the
spec buffer in here and modify it to make it a body.

This function typically is to be hooked into `ff-file-created-hooks'.
(defalias 'ada-make-body #[nil "ed|\210\303\304 A@!\210\305 \210\306\307	!\211\203\" Ab\210\310c\210\202& \311\312!\210\307\n!\211\2055 \313!\210\202& )\207" [found ada-package-start-regexp ada-procedure-start-regexp insert-buffer buffer-list ada-mode nil ada-search-ignore-string-comment " body" error "No package" ada-gen-treat-proc] 2 (#$ . 61986) nil])
(provide 'ada-mode)
