;ELC   
;;; compiled by rms@mole.gnu.ai.mit.edu on Mon Oct 30 13:15:59 1995
;;; from file /home/fsf/rms/e19/lisp/f90.el
;;; emacs version 19.29.1.2.
;;; 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 "`f90.el' was compiled for Emacs 19.29 or later"))


#@44 Address of mailing list for F90 mode bugs.
(defconst bug-f90-mode "T.Einarsson@clab.ericsson.se" (#$ . 466))
#@42 *Extra indentation applied to DO blocks.
(defvar f90-do-indent 3 (#$ . -581))
#@73 *Extra indentation applied to IF, SELECT CASE, WHERE and FORALL blocks.
(defvar f90-if-indent 3 (#$ . -665))
#@70 *Extra indentation applied to TYPE, INTERFACE and BLOCK DATA blocks.
(defvar f90-type-indent 3 (#$ . -780))
#@74 *Extra indentation applied to PROGRAM/MODULE/SUBROUTINE/FUNCTION blocks.
(defvar f90-program-indent 2 (#$ . -894))
#@55 *Extra indentation applied to F90 continuation lines.
(defvar f90-continuation-indent 5 (#$ . -1015))
#@76 *String inserted by \[f90-comment-region] at start of each line in region.
(defvar f90-comment-region "!!$" (#$ . -1123))
#@57 *Regexp saying which comments to be indented like code.
(defvar f90-indented-comment-re "!" (#$ . -1251))
#@71 *Regexp of comment-like directive like "!HPF\\$", not to be indented.
(defvar f90-directive-comment-re "!hpf\\$" (#$ . -1363))
#@70 *t makes automatic insertion of & at beginning of continuation line.
(defvar f90-beginning-ampersand t (#$ . -1496))
#@180 *From an END statement, check and fill the end using matching block start.
Allowed values are 'blink, 'no-blink, and nil, which determine
whether to blink the matching beginning.
(defvar f90-smart-end (quote blink) (#$ . -1620))
#@66 *Regexp holding list of delimiters at which lines may be broken.
(defvar f90-break-delimiters "[-+\\*/><=,% 	]" (#$ . -1855))
#@70 *Non-nil causes `f90-do-auto-fill' to break lines before delimiters.
(defvar f90-break-before-delimiters t (#$ . -1987))
#@114 *Automatic case conversion of keywords.
  The options are 'downcase-word, 'upcase-word, 'capitalize-word and nil
(defvar f90-auto-keyword-case nil (#$ . -2115))
#@36 *If nil, left-justify linenumbers.
(defvar f90-leave-line-no nil (#$ . -2282))
#@68 *Non-nil displays a startup message when F90 mode is first called.
(defvar f90-startup-message t (#$ . -2367))
#@26 Regexp for F90 keywords.
(defconst f90-keywords-re (concat "\\<\\(a\\(llocat\\(able\\|e\\)\\|ssign\\(\\|ment\\)\\)\\|b\\(ackspace\\|" "lock\\)\\|c\\(a\\(ll\\|se\\)\\|haracter\\|lose\\|o\\(m\\(mon\\|plex\\)\\|" "nt\\(ains\\|inue\\)\\)\\|ycle\\)\\|d\\(ata\\|eallocate\\|imension\\|" "o\\(\\|uble\\)\\)\\|e\\(lse\\(\\|if\\|where\\)\\|n\\(d\\(\\|do\\|file\\|" "if\\)\\|try\\)\\|quivalence\\|x\\(it\\|ternal\\)\\)\\|f\\(or\\(all\\|" "mat\\)\\|unction\\)\\|goto\\|i\\(f\\|mplicit\\|n\\(clude\\|quire\\|t\\(" "e\\(ger\\|nt\\|rface\\)\\|rinsic\\)\\)\\)\\|logical\\|module\\|n\\(" "amelist\\|one\\|ullify\\)\\|o\\(nly\\|p\\(en\\|tional\\)\\)\\|p\\(a\\(" "rameter\\|use\\)\\|ointer\\|r\\(ecision\\|i\\(nt\\|vate\\)\\|o\\(" "cedure\\|gram\\)\\)\\|ublic\\)\\|re\\(a[dl]\\|cursive\\|turn\\|wind\\)\\|" "s\\(ave\\|e\\(lect\\|quence\\)\\|top\\|ubroutine\\)\\|t\\(arget\\|hen\\|" "ype\\)\\|use\\|w\\(h\\(ere\\|ile\\)\\|rite\\)\\)\\>") (#$ . 2484))
#@42 Keyword-regexp for font-lock level >= 3.
(defconst f90-keywords-level-3-re (concat "\\<\\(a\\(llocat\\(able\\|e\\)\\|ssign\\(\\|ment\\)\\)\\|backspace\\|" "close\\|deallocate\\|e\\(n\\(dfile\\|try\\)\\|quivalence\\|xternal\\)\\|" "in\\(quire\\|t\\(ent\\|rinsic\\)\\)\\|o\\(nly\\|p\\(en\\|tional\\)\\)\\|" "p\\(a\\(rameter\\|use\\)\\|ointer\\|ri\\(nt\\|vate\\)\\|ublic\\)\\|re\\(" "ad\\|cursive\\|wind\\)\\|s\\(ave\\|e\\(lect\\|quence\\)\\)\\|target\\|" "write\\)\\>") (#$ . 3422))
#@59 Regexp whose first part matches F90 intrinsic procedures.
(defconst f90-procedures-re (concat "\\<\\(a\\(bs\\|c\\(har\\|os\\)\\|djust[lr]\\|i\\(mag\\|nt\\)\\|ll\\(\\|" "ocated\\)\\|n\\(int\\|y\\)\\|s\\(in\\|sociated\\)\\|tan2?\\)\\|b\\(" "it_size\\|test\\)\\|c\\(eiling\\|har\\|mplx\\|o\\(njg\\|sh?\\|unt\\)\\|" "shift\\)\\|d\\(ate_and_time\\|ble\\|i\\(gits\\|m\\)\\|ot_product\\|prod" "\\)\\|e\\(oshift\\|psilon\\|xp\\(\\|onent\\)\\)\\|f\\(loor\\|" "raction\\)\\|huge\\|i\\(a\\(char\\|nd\\)\\|b\\(clr\\|its\\|set\\)\\|" "char\\|eor\\|n\\(dex\\|t\\)\\|or\\|shftc?\\)\\|kind\\|l\\(bound\\|" "en\\(\\|_trim\\)\\|g[et]\\|l[et]\\|og\\(\\|10\\|ical\\)\\)\\|m\\(a\\(" "tmul\\|x\\(\\|exponent\\|loc\\|val\\)\\)\\|erge\\|in\\(\\|exponent\\|" "loc\\|val\\)\\|od\\(\\|ulo\\)\\|vbits\\)\\|n\\(earest\\|int\\|ot\\)\\|" "p\\(ack\\|r\\(e\\(cision\\|sent\\)\\|oduct\\)\\)\\|r\\(a\\(dix\\|n\\(" "dom_\\(number\\|seed\\)\\|ge\\)\\)\\|e\\(peat\\|shape\\)\\|rspacing\\)\\|" "s\\(ca\\(le\\|n\\)\\|e\\(lected_\\(int_kind\\|real_kind\\)\\|" "t_exponent\\)\\|hape\\|i\\(gn\\|nh?\\|ze\\)\\|p\\(acing\\|read\\)\\|" "qrt\\|um\\|ystem_clock\\)\\|t\\(anh?\\|iny\\|r\\(ans\\(fer\\|pose\\)\\|" "im\\)\\)\\|u\\(bound\\|npack\\)\\|verify\\)[ 	]*(") (#$ . 3909))
#@38 Regexp matching intrinsic operators.
(defconst f90-operators-re (concat "\\.\\(and\\|eqv?\\|false\\|g[et]\\|l[et]\\|n\\(e\\(\\|qv\\)\\|" "ot\\)\\|or\\|true\\)\\.") (#$ . 5145))
#@57 Regexp for all HPF keywords, procedures and directives.
(defconst f90-hpf-keywords-re (concat "\\<\\(a\\(l\\(ign\\|l_\\(prefix\\|s\\(catter\\|uffix\\)\\)\\)\\|ny_\\(" "prefix\\|s\\(catter\\|uffix\\)\\)\\)\\|block\\|c\\(o\\(py_\\(prefix\\|" "s\\(catter\\|uffix\\)\\)\\|unt_\\(prefix\\|s\\(catter\\|uffix\\)\\)\\)\\|" "yclic\\)\\|d\\(istribute\\|ynamic\\)\\|extrinsic\\|grade_\\(down\\|" "up\\)\\|hpf_\\(alignment\\|distribution\\|template\\)\\|i\\(a\\(ll\\(\\|" "_\\(prefix\\|s\\(catter\\|uffix\\)\\)\\)\\|ny\\(\\|_\\(prefix\\|s\\(" "catter\\|uffix\\)\\)\\)\\)\\|len\\|n\\(dependent\\|herit\\)\\|parity\\(\\|" "_\\(prefix\\|s\\(catter\\|uffix\\)\\)\\)\\)\\|leadz\\|m\\(axval_\\(" "prefix\\|s\\(catter\\|uffix\\)\\)\\|inval_\\(prefix\\|s\\(catter\\|" "uffix\\)\\)\\)\\|n\\(ew\\|umber_of_processors\\)\\|onto\\|p\\(arity\\(\\|" "_\\(prefix\\|s\\(catter\\|uffix\\)\\)\\)\\|op\\(cnt\\|par\\)\\|ro\\(" "cessors\\(\\|_shape\\)\\|duct_\\(prefix\\|s\\(catter\\|uffix\\)\\)\\)\\|" "ure\\)\\|re\\(align\\|distribute\\)\\|sum_\\(prefix\\|s\\(catter\\|" "uffix\\)\\)\\|template\\|with\\)\\>") (#$ . 5328))
#@71 This does fairly subdued highlighting of comments and function calls.
(defvar f90-font-lock-keywords-1 (byte-code "ÀÁ\n\"ƒ ÃÄÅÆÇÈÉÊ¯‡ËÌÍÎÊ¯‡" [string-match "XEmacs" emacs-version ("\\<\\(end[ 	]*\\(program\\|module\\|function\\|subroutine\\|type\\)\\)\\>" 1 font-lock-keyword-face) ("\\<\\(end[ 	]*\\(program\\|module\\|function\\|subroutine\\|type\\)\\)\\>[ 	]*\\(\\sw+\\)" 3 font-lock-function-name-face) ("\\<\\(program\\|call\\|module\\|subroutine\\|function\\|use\\)\\>" 1 font-lock-keyword-face) ("\\<\\(program\\|call\\|module\\|subroutine\\|function\\|use\\)\\>[ 	]*\\(\\sw+\\)" 2 font-lock-function-name-face nil t) ("\\<\\(module[ 	]*procedure\\)\\>" 1 font-lock-keyword-face t) ("\\<\\(type\\)[ 	]*\\(,.*::[ 	]*\\|[ 	]+\\)\\(\\sw+\\)" 1 font-lock-keyword-face) ("\\<\\(type\\)[ 	]*\\(,.*::[ 	]*\\|[ 	]+\\)\\(\\sw+\\)" 3 font-lock-function-name-face) "\\<\\(\\(end[ 	]*\\)?\\(interface\\|block[ 	]*data\\)\\|contains\\)\\>" ("\\<\\(end[ 	]*\\(program\\|module\\|function\\|subroutine\\|type\\)\\)\\>[ 	]*\\(\\sw+\\)?" (1 font-lock-keyword-face) (3 font-lock-function-name-face nil t)) ("\\<\\(program\\|call\\|module\\|subroutine\\|function\\|use\\)\\>[ 	]*\\(\\sw+\\)?" (1 font-lock-keyword-face) (2 font-lock-function-name-face nil t)) ("\\<\\(module[ 	]*procedure\\)\\>" (1 font-lock-keyword-face t)) ("\\<\\(type\\)[ 	]*\\(,.*::[ 	]*\\|[ 	]+\\)\\(\\sw+\\)" (1 font-lock-keyword-face) (3 font-lock-function-name-face))] 8) (#$ . 6427))
#@59 Highlights declarations, do-loops and other constructions
(defvar f90-font-lock-keywords-2 (byte-code "À	ÂÃ\f\"ƒ! ÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×¯‚/ ØÙÚÛÜÝÐÑÞßàá¯\f\"‡" [append f90-font-lock-keywords-1 string-match "XEmacs" emacs-version ("^[ 	0-9]*\\(real\\|integer\\|c\\(haracter\\|omplex\\)\\|logical\\|type[ 	]*(\\sw+)\\)" 1 font-lock-type-face) ("^[ 	0-9]*\\(real\\|integer\\|c\\(haracter\\|omplex\\)\\|logical\\|type[ 	]*(\\sw+)\\)\\(.*::\\|[ 	]*(.*)\\)?\\(.*\\)" 4 font-lock-doc-string-face) ("\\<\\(end[ 	]*\\(do\\|if\\|select\\)\\)\\>" 1 font-lock-keyword-face) ("\\<\\(end[ 	]*\\(do\\|if\\|select\\)\\)\\>\\([ 	]+\\(\\sw+\\)\\)" 3 font-lock-doc-string-face) ("^[ 	0-9]*\\(\\(\\sw+\\)[ 	]*:[ 	]*\\)\\(\\(if\\|do\\([ 	]*while\\)?\\|select[ 	]*case\\)\\)\\>" 2 font-lock-doc-string-face) ("^[ 	0-9]*\\(\\(\\sw+\\)[ 	]*:[ 	]*\\)?\\(\\(if\\|do\\([ 	]*while\\)?\\|select[ 	]*case\\)\\)\\>" 3 font-lock-keyword-face) ("\\<\\(implicit\\)[ 	]*\\(real\\|integer\\|c\\(haracter\\|omplex\\)\\|logical\\|type[ 	]*(\\sw+)\\|none\\)\\>" 1 font-lock-keyword-face) ("\\<\\(implicit\\)[ 	]*\\(real\\|integer\\|c\\(haracter\\|omplex\\)\\|logical\\|type[ 	]*(\\sw+)\\|none\\)\\>" 2 font-lock-type-face) ("\\<\\(namelist\\|common\\)[ 	]*/\\(\\sw+\\)?/" 1 font-lock-keyword-face) ("\\<\\(namelist\\|common\\)[ 	]*/\\(\\sw+\\)/" 2 font-lock-doc-string-face nil t) ("\\<\\(where\\|forall\\)[ 	]*(" . 1) "\\<e\\(lse\\([ 	]*if\\|where\\)?\\|nd[ 	]*\\(where\\|forall\\)\\)\\>" "\\<\\(then\\|continue\\|format\\|include\\|stop\\|return\\)\\>" ("\\<\\(exit\\|cycle\\)\\>" 1 font-lock-keyword-face) ("\\<\\(exit\\|cycle\\)[ 	]*\\(\\sw+\\)2\\>" 2 font-lock-doc-string-face) ("\\<\\(case\\)[ 	]+\\(default\\|(\\)" . 1) ("\\<\\(do\\|go *to\\)\\>[ 	]*\\([0-9]+\\)" 1 font-lock-keyword-face) ("\\<\\(do\\|go *to\\)\\>[ 	]*\\([0-9]+\\)" 2 font-lock-doc-string-face) ("^[ 	]*\\([0-9]+\\)" 1 font-lock-doc-string-face t) ("^[ 	0-9]*\\(real\\|integer\\|c\\(haracter\\|omplex\\)\\|logical\\|type[ 	]*(\\sw+)\\)\\(.*::\\|[ 	]*(.*)\\)?\\(.*\\)" (1 font-lock-type-face) (4 font-lock-variable-name-face)) ("\\<\\(end[ 	]*\\(do\\|if\\|select\\)\\)\\>\\([ 	]+\\(\\sw+\\)\\)?" (1 font-lock-keyword-face) (3 font-lock-reference-face nil t)) ("^[ 	0-9]*\\(\\(\\sw+\\)[ 	]*:[ 	]*\\)?\\(\\(if\\|do\\([ 	]*while\\)?\\|select[ 	]*case\\)\\)\\>" (2 font-lock-reference-face nil t) (3 font-lock-keyword-face)) ("\\<\\(implicit\\)[ 	]*\\(real\\|integer\\|c\\(haracter\\|omplex\\)\\|logical\\|type[ 	]*(\\sw+)\\|none\\)\\>" (1 font-lock-keyword-face) (2 font-lock-type-face)) ("\\<\\(namelist\\|common\\)[ 	]*/\\(\\sw+\\)?/" (1 font-lock-keyword-face) (2 font-lock-reference-face nil t)) ("\\<\\(where\\|forall\\)[ 	]*(" . 1) ("\\<\\(exit\\|cycle\\)[ 	]*\\(\\sw+\\)?\\>" (1 font-lock-keyword-face) (2 font-lock-reference-face nil t)) ("\\<\\(case\\)[ 	]+\\(default\\|(\\)" . 1) ("\\<\\(do\\|go *to\\)\\>[ 	]*\\([0-9]+\\)" (1 font-lock-keyword-face) (2 font-lock-reference-face)) ("^[ 	]*\\([0-9]+\\)" (1 font-lock-reference-face t))] 21) (#$ . 7885))
#@55 Highlights all F90 keywords and intrinsic procedures.
(defvar f90-font-lock-keywords-3 (byte-code "À	\nÄÅ\"ƒ ÀCÈ\"‚ ÉDÊF\"‡" [append f90-font-lock-keywords-2 f90-keywords-level-3-re f90-operators-re string-match "XEmacs" emacs-version f90-procedures-re (1 font-lock-keyword-face t) (1 font-lock-keyword-face t) "\\<real\\>"] 7) (#$ . 10884))
#@38 Highlights all F90 and HPF keywords.
(defvar f90-font-lock-keywords-4 (byte-code "À	\nC\"‡" [append f90-font-lock-keywords-3 f90-hpf-keywords-re] 3) (#$ . 11241))
#@48 *Default expressions to highlight in F90 mode.
(defvar f90-font-lock-keywords f90-font-lock-keywords-2 (#$ . -11410))
#@42 Syntax table in use in F90 mode buffers.
(defvar f90-mode-syntax-table nil (#$ . 11534))
(byte-code "„U Á ÂÃÄ#ˆÂÅÆ#ˆÂÇÈ#ˆÂÉÊ#ˆÂËÊ#ˆÂÌÈ#ˆÂÍÎ#ˆÂÏÐ#ˆÂÑÐ#ˆÂÒÐ#ˆÂÓÐ#ˆÂÔÐ#ˆÂÕÖ#ˆÁ‡" [f90-mode-syntax-table make-syntax-table modify-syntax-entry 33 "<" 10 ">" 95 "w" 39 "\"" 34 96 13 " " 43 "." 45 61 42 47 92 "/"] 4)
#@26 Keymap used in F90 mode.
(defvar f90-mode-map nil (#$ . 11863))
(byte-code "„a Á ÂÃÄ#ˆÂÅÆ#ˆÂÇÈ#ˆÂÉÊ#ˆÂËÌ#ˆÂÍÎ#ˆÂÏÐ#ˆÂÑÒ#ˆÂÓÔ#ˆÂÕÖ#ˆÂ×Ø#ˆÂÙÚ#ˆÂÛÜ#ˆÂÝÞ#ˆÂßà#ˆáâ#\"ƒ� äå!„r æ%å'B'èåéê#ˆ‚$ÂëÁ #ˆÂìíÁî!B#ˆÂïð#ˆÂñò#ˆÂóô#ˆÂõö#ˆÂ÷ø#ˆÂùú#ˆÂûü#ˆÂýþ#ˆÂÿ�@ #ˆÂ�A �B #ˆÂ�C �D #ˆÂ�E �F #ˆÂ�G �H #ˆÂ�I �J #ˆÂ�K �L #ˆÂ�M �N #ˆÂ�O �P #ˆÂ�Q �R #ˆ�S T�T 'B'�U V�V 'B'�W X�X 'B'�Y Z�Z 'B'�[ \\�\\ 'B'�] ^�^ 'B'�_ `�` 'B'ä�a !„Œ�b a�a 'B'�c �a !‡" [f90-mode-map make-sparse-keymap define-key "`" f90-abbrev-start ";" f90-comment-region "�" f90-beginning-of-subprogram "…" f90-end-of-subprogram "ˆ" f90-mark-subprogram "‘" f90-indent-subprogram "\n" f90-indent-new-line "" newline "" f90-break-line "" f90-join-lines "" f90-fill-region "" f90-previous-statement "" f90-next-statement "" f90-insert-end "	" f90-indent-line string-match "XEmacs" emacs-version boundp f90-xemacs-menu ("F90" ["Indent Subprogram" f90-indent-subprogram t] ["Mark Subprogram" f90-mark-subprogram t] ["Beginning of Subprogram" f90-beginning-of-subprogram t] ["End of Subprogram" f90-end-of-subprogram t] "-----" ["(Un)Comment Region" f90-comment-region t] ["Indent Region" indent-region t] ["Fill Region" f90-fill-region t] "-----" ["Break Line at Point" f90-break-line t] ["Join with Next Line" f90-join-lines t] ["Insert Newline" newline t] ["Insert End" f90-insert-end t] "-----" ["Upcase Keywords (buffer)" f90-upcase-keywords t] ["Upcase Keywords (region)" f90-upcase-region-keywords t] ["Capitalize Keywords (buffer)" f90-capitalize-keywords t] ["Capitalize Keywords (region)" f90-capitalize-region-keywords t] ["Downcase Keywords (buffer)" f90-downcase-keywords t] ["Downcase Keywords (region)" f90-downcase-region-keywords t] "-----" ["Toggle abbrev-mode" abbrev-mode t] ["Toggle auto-fill" f90-auto-fill-mode t]) current-load-list put variable-documentation "XEmacs menu for F90 mode." [menu-bar] [menu-bar f90] "F90" "f90" [menu-bar f90 abbrev-mode] ("Toggle abbrev-mode" . abbrev-mode) [menu-bar f90 f90-auto-fill-mode] ("Toggle auto-fill" . f90-auto-fill-mode) [menu-bar f90 f90-downcase-region-keywords] ("Downcase Keywords (region)" . f90-downcase-region-keywords) [menu-bar f90 f90-downcase-keywords] ("Downcase Keywords (buffer)" . f90-downcase-keywords) [menu-bar f90 f90-capitalize-keywords] ("Capitalize Keywords (region)" . f90-capitalize-region-keywords) [menu-bar f90 f90-capitalize-region-keywords] ("Capitalize Keywords (buffer)" . f90-capitalize-keywords) [menu-bar f90 f90-upcase-region-keywords] ("Upcase Keywords (region)" . f90-upcase-region-keywords) [menu-bar f90 f90-upcase-keywords] ("Upcase Keywords (buffer)" . f90-upcase-keywords) [menu-bar f90 f90-insert-end] ("Insert end" . f90-insert-end) [menu-bar f90 f90-join-lines] ("Join with Next Line" . f90-join-lines) [menu-bar f90 f90-break-line] ("Break Line at Point" . f90-break-line) [menu-bar f90 f90-fill-region] ("Fill Region" . f90-fill-region) [menu-bar f90 indent-region] ("Indent Region" . indent-region) [menu-bar f90 f90-comment-region] ("(Un)Comment Region" . f90-comment-region) [menu-bar f90 f90-end-of-subprogram] ("End of Subprogram" . f90-end-of-subprogram) [menu-bar f90 f90-beginning-of-subprogram] ("Beginning of Subprogram" . f90-beginning-of-subprogram) [menu-bar f90 f90-mark-subprogram] ("Mark Subprogram" . f90-mark-subprogram) [menu-bar f90 f90-indent-subprogram] ("Indent Subprogram" . f90-indent-subprogram) "\\(block[ 	]*data\\|do\\|if\\|interface\\|function\\|module\\|program\\|select\\|subroutine\\|type\\|where\\|forall\\)\\>" f90-blocks-re "\\(program\\|module\\|subroutine\\|function\\)" f90-program-block-re "\\(else\\([ 	]*if\\|where\\)?\\|case[ 	]*\\(default\\|(\\)\\)\\>" f90-else-like-re "end[ 	]*\\(if\\|select\\|where\\|forall\\)\\>" f90-end-if-re "end[ 	]*\\(type\\|interface\\|block[ 	]*data\\)" f90-end-type-re "\\<\\(type\\)[ 	]*\\(,.*::[ 	]*\\|[ 	]+\\)\\(\\sw+\\)" f90-type-def-re "\\(\\*\\*\\|//\\|=>\\)" f90-no-break-re f90-cache-position nil make-variable-buffer-local] 6)
#@40 imenu generic expression for F90 mode.
(defvar f90-imenu-generic-expression (byte-code "ÀÁÂÃÄÅÆ°ÇÈÉÊFB‡" ["^[ 	0-9]*\\(" "program[ 	]+\\(\\sw+\\)\\|" "module[ 	]+\\(\\sw+\\)[ 	]*\\(!\\|$\\)\\|" "\\(recursive[ 	]*\\)?subroutine[ 	]+\\(\\sw+\\)\\|" "\\([^!]*\\([^e!].[^ 	!]\\|.[^n!][^ 	!]\\|..[^d 	!]\\)" "\\|[^!]?[^!]?\\)[ 	]*function[ 	]+\\(\\sw+\\)" "\\)" 2 3 6 9] 7) (#$ . 15911))
(byte-code "ÀÁ!„ ÂÁB	„ñ\fÆÁÂ\"ˆÇ	ÈÉÂ$ˆÇ	ÊËÂ$ˆÇ	ÌÍÂ$ˆÇ	ÎÏÂ$ˆÇ	ÐÑÂ$ˆÇ	ÒÓÂ$ˆÇ	ÔÕÂ$ˆÇ	Ö×Â$ˆÇ	ØÙÂ$ˆÇ	ÚÛÂ$ˆÇ	ÜÝÂ$ˆÇ	ÞßÂ$ˆÇ	àáÂ$ˆÇ	âãÂ$ˆÇ	äåÂ$ˆÇ	æçÂ$ˆÇ	èéÂ$ˆÇ	êëÂ$ˆÇ	ìíÂ$ˆÇ	îïÂ$ˆÇ	ðñÂ$ˆÇ	òóÂ$ˆÇ	ôõÂ$ˆÇ	ö÷Â$ˆÇ	øùÂ$ˆÇ	úûÂ$ˆÇ	üýÂ$ˆÇ	þÿÂ$ˆÇ	�@ �A Â$ˆÇ	�B �C Â$ˆÇ	�D �E Â$ˆÇ	�F �G Â$ˆÇ	�H �I Â$ˆÇ	�J �K Â$ˆÇ	�L �M Â$ˆÇ	�N �O Â$ˆÇ	�P �Q Â$ˆÇ	�R �S Â$ˆÇ	�T �U Â$ˆÇ	�V �W Â$ˆÇ	�X �Y Â$ˆÇ	�Z �[ Â$ˆÇ	�\\ �] Â$ˆÇ	�^ �_ Â$ˆÇ	�` �a Â$ˆÇ	�b �c Â$ˆÇ	�d �e Â$ˆÇ	�f �g Â$ˆÇ	�h �i Â$ˆÇ	�j �k Â$ˆÇ	�l �m Â$ˆÇ	�n �o Â$ˆÇ	�p �q Â$ˆ)Â‡" [boundp f90-mode-abbrev-table nil current-load-list abbrevs-changed ac define-abbrev-table define-abbrev "`al" "allocate" "`ab" "allocatable" "`as" "assignment" "`ba" "backspace" "`bd" "block data" "`c" "character" "`cl" "close" "`cm" "common" "`cx" "complex" "`cn" "contains" "`cy" "cycle" "`de" "deallocate" "`df" "define" "`di" "dimension" "`dw" "do while" "`el" "else" "`eli" "else if" "`elw" "elsewhere" "`eq" "equivalence" "`ex" "external" "`ey" "entry" "`fl" "forall" "`fo" "format" "`fu" "function" "`fa" ".false." "`im" "implicit none" "`in " "include" "`i" "integer" "`it" "intent" "`if" "interface" "`lo" "logical" "`mo" "module" "`na" "namelist" "`nu" "nullify" "`op" "optional" "`pa" "parameter" "`po" "pointer" "`pr" "print" "`pi" "private" "`pm" "program" "`pu" "public" "`r" "real" "`rc" "recursive" "`rt" "return" "`rw" "rewind" "`se" "select" "`sq" "sequence" "`su" "subroutine" "`ta" "target" "`tr" ".true." "`t" "type" "`wh" "where" "`wr" "write"] 5)
#@2317 Major mode for editing Fortran 90 code in free format.

\[f90-indent-new-line] corrects current indentation and creates new indented line.
\[f90-indent-line] indents the current line correctly. 
\[f90-indent-subprogram] indents the current subprogram. 

Type `? or `\[help-command] to display a list of built-in abbrevs for F90 keywords.

Key definitions:
\{f90-mode-map}

Variables controlling indentation style and extra features:

 f90-do-indent
    Extra indentation within do blocks.  (default 3)
 f90-if-indent
    Extra indentation within if/select case/where/forall blocks. (default 3)
 f90-type-indent
    Extra indentation within type/interface/block-data blocks.  (default 3)
 f90-program-indent
    Extra indentation within program/module/subroutine/function blocks.
      (default 2)
 f90-continuation-indent
    Extra indentation applied to continuation lines.  (default 5)
 f90-comment-region
    String inserted by \[f90-comment-region] at start of each line in 
    region.  (default "!!!$")
 f90-indented-comment-re
    Regexp determining the type of comment to be intended like code.
    (default "!")
 f90-directive-comment-re
    Regexp of comment-like directive like "!HPF\\$", not to be indented.
    (default "!hpf\\$")
 f90-break-delimiters
    Regexp holding list of delimiters at which lines may be broken.
    (default "[-+*/><=,% \t]")
 f90-break-before-delimiters
    Non-nil causes `f90-do-auto-fill' to break lines before delimiters.
    (default t)
 f90-beginning-ampersand 
    Automatic insertion of & at beginning of continuation lines. (default t)
 f90-smart-end 
    From an END statement, check and fill the end using matching block start.
    Allowed values are 'blink, 'no-blink, and nil, which determine
    whether to blink the matching beginning.) (default 'blink)
 f90-auto-keyword-case
    Automatic change of case of keywords. (default nil)
    The possibilities are 'downcase-word, 'upcase-word, 'capitalize-word.
 f90-leave-line-no
    Do not left-justify line numbers. (default nil)
 f90-startup-message
    Set to nil to inhibit message first time F90 mode is used. (default t)
 f90-keywords
    List of keywords used for highlighting/upcase-keywords etc.

Turning on F90 mode calls the value of the variable `f90-mode-hook'
with no args, if that value is non-nil.
(defalias 'f90-mode #[nil "À ˆÁÃÇ!ˆÉ\n!ˆËÌ!ˆÍ\fËÎ!ˆÏËÐ!ˆÑËÒ!ˆÓËÔ!ˆÕËÖ!ˆ×ËØ!ˆÑÙÛÜ\"ƒ{ ÞÁßÑ#ˆ ƒp áÃ \"„p âã !!ˆäÙ%\"ˆËæ!ˆ'&‚Š Ëè!ˆé(Ëê!ˆ+*ìí!ˆ.ƒ™ ïð1\"ˆÙ‰.‡" [kill-all-local-variables f90-mode major-mode "F90" mode-name f90-mode-abbrev-table local-abbrev-table set-syntax-table f90-mode-syntax-table use-local-map f90-mode-map make-local-variable indent-line-function f90-indent-line indent-region-function f90-indent-region require-final-newline t comment-start "!" comment-start-skip "!+ *" comment-indent-function f90-comment-indent abbrev-all-caps nil indent-tabs-mode string-match "Xemacs" emacs-version put font-lock-keywords-case-fold-search current-menubar assoc set-buffer-menubar copy-sequence add-submenu f90-xemacs-menu font-lock-keywords f90-font-lock-keywords font-lock-defaults ((f90-font-lock-keywords f90-font-lock-keywords-1 f90-font-lock-keywords-2 f90-font-lock-keywords-3 f90-font-lock-keywords-4) nil t) imenu-generic-expression f90-imenu-generic-expression run-hooks f90-mode-hook f90-startup-message message "Emacs F90 mode; please report bugs to %s" bug-f90-mode] 4 (#$ . 17790) nil])
(defalias 'f90-get-beg-of-line #[nil "ŠÀyˆ`)‡" [0] 1])
(put (quote f90-get-beg-of-line) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'f90-get-end-of-line #[nil "ŠÀˆ`)‡" [nil] 1])
(put (quote f90-get-end-of-line) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'f90-in-string #[nil "ƒ `Vƒ ‚ eÂÃ	`\"8)‡" [f90-cache-position beg-pnt 3 parse-partial-sexp] 4])
(put (quote f90-in-string) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'f90-in-comment #[nil "ƒ `Vƒ ‚ eÂÃ	`\"8)‡" [f90-cache-position beg-pnt 4 parse-partial-sexp] 4])
(put (quote f90-in-comment) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'f90-line-continued #[nil "ŠŠÀyˆ`)Âˆƒ `Vƒ ‚ eÅÆ\f`\"8)ƒ1 ÇÈ	\"ˆÈÂxˆ‚ ÉÂxˆhÊU*‡" [0 bol nil f90-cache-position beg-pnt 4 parse-partial-sexp search-backward "!" " 	" 38] 4])
(put (quote f90-line-continued) (quote byte-optimizer) (quote byte-compile-inline-expand))
#@88 Return indentation of current line.
Line-numbers are considered whitespace characters.
(defalias 'f90-current-indentation #[nil "ŠÀyˆÁÂwˆi)‡" [0 " 	0-9" nil] 2 (#$ . 22236)])
(put (quote f90-current-indentation) (quote byte-optimizer) (quote byte-compile-inline-expand))
#@93 Indent current line to column COL.
If no-line-number nil, jump over a possible line-number.
(defalias 'f90-indent-to #[(col &optional no-line-number) "Àyˆ	„ ÂÃwˆÄ ˆiÀUƒ j‡ÆÇ\"‡" [0 no-line-number " 	0-9" nil delete-horizontal-space col indent-to 1] 3 (#$ . 22513)])
(put (quote f90-indent-to) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'f90-match-piece #[(arg) "”…\n ”•{‡" [arg] 2])
(put (quote f90-match-piece) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'f90-get-present-comment-type #[nil "ŠÀŠÀˆ`)ƒ `Vƒ ‚ eÅÆ\f`\"8)ƒT ÇyˆÈÉ	\"ˆƒ: `Vƒ: ‚; eÊÆ\f`\"8)ƒN ÈÉ	\"ˆ‚, Ç”Ç•{\n+‡" [nil eol type f90-cache-position beg-pnt 4 parse-partial-sexp 0 re-search-forward "[!]+" 3] 4])
(put (quote f90-get-present-comment-type) (quote byte-optimizer) (quote byte-compile-inline-expand))
#@61 Compare strings neglecting case and allowing for nil value.
(defalias 'f90-equal-symbols #[(a b) "… —	…\f 	—‰\n*š‡" [a b b-local a-local] 3 (#$ . 23363)])
(put (quote f90-equal-symbols) (quote byte-optimizer) (quote byte-compile-inline-expand))
#@101 Return ("do" name) if a do statement starts after point.
Name is nil if the statement has no label.
(defalias 'f90-looking-at-do #[nil "ÀÁ!…1 ÂÃÃ”… \f”\f•{)ÀÇ!ƒ, ÈÈ”…) \f”\f•{)*D‡" [looking-at "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(do\\)\\>" nil 3 arg struct label "\\(\\sw+\\)[ 	]*:" 1] 3 (#$ . 23620)])
(put (quote f90-looking-at-do) (quote byte-optimizer) (quote byte-compile-inline-expand))
#@114 Return ("select" name) if a select-case statement starts after point.
Name is nil if the statement has no label.
(defalias 'f90-looking-at-select-case #[nil "ÀÁ!…1 ÂÃÃ”… \f”\f•{)ÀÇ!ƒ, ÈÈ”…) \f”\f•{)*D‡" [looking-at "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(select\\)[ 	]*case[ 	]*(" nil 3 arg struct label "\\(\\sw+\\)[ 	]*:" 1] 3 (#$ . 24027)])
(put (quote f90-looking-at-select-case) (quote byte-optimizer) (quote byte-compile-inline-expand))
#@110 Return ("if" name) if an if () then statement starts after point.
Name is nil if the statement has no label.
(defalias 'f90-looking-at-if-then #[nil "ŠÀ‰ÃÄ!…— ÅÅ”… ”•{)ÃÇ!ƒ3 ÈÈ”…1 ”•{)É`ÈÊ#bˆËÀwˆÃÌ!„” ŠŠÊyˆ`)Àˆƒa `Vƒa ‚b eÐÑ`\"8)ƒ| ÒÓ\"ˆÓÀxˆ‚P ËÀxˆhÔU*…— Õ ˆÖÀwˆÃÌ!…— \n	D+‡" [nil label struct looking-at "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(if\\)\\>" 3 arg "\\(\\sw+\\)[ 	]*:" 1 scan-lists 0 " 	" "then\\>" bol f90-cache-position beg-pnt 4 parse-partial-sexp search-backward "!" 38 f90-next-statement " 	0-9&"] 4 (#$ . 24481)])
(put (quote f90-looking-at-if-then) (quote byte-optimizer) (quote byte-compile-inline-expand))
#@61 Return (kind nil) if where/forall...end starts after point.
(defalias 'f90-looking-at-where-or-forall #[nil "ŠÀÂÃ!…+ ÄÄ”… ”•{)ÀDÆ`ÄÇ#bˆÈÀwˆÂÉ!…+ 	*‡" [nil command looking-at "\\(where\\|forall\\)[ 	]*(" 1 arg scan-lists 0 " 	" "\\(!\\|$\\)"] 4 (#$ . 25139)])
(put (quote f90-looking-at-where-or-forall) (quote byte-optimizer) (quote byte-compile-inline-expand))
#@102 Return (kind name) at the start of a type/interface/block-data block.
Name is non-nil only for type.
(defalias 'f90-looking-at-type-like #[nil "À	!ƒ\" ÂÂ”… ”•{)ÄÄ”… ”•{)D‡ÀÅ!…7 ÂÂ”…4 ”•{)ÆD‡" [looking-at f90-type-def-re 1 arg 3 "\\(interface\\|block[	]*data\\)\\>" nil] 3 (#$ . 25514)])
(put (quote f90-looking-at-type-like) (quote byte-optimizer) (quote byte-compile-inline-expand))
#@74 Return (kind name) if a program block with name name starts after point.
(defalias 'f90-looking-at-program-block-start #[nil "ÀÁ!ƒ\" ÂÂ”… ”•{)ÄÄ”… ”•{)D‡ÀÅ!„J ÀÆ!ƒJ ÂÂ”…: ”•{)ÄÄ”…G ”•{)D‡ÀÇ!ƒl ÄÄ”…\\ ”•{)ÈÈ”…i ”•{)D‡ÀÉ!?…” ÀÊ!…” ÂÂ”…… ”•{)ÄÄ”…’ ”•{)D‡" [looking-at "\\(program\\)[ 	]+\\(\\sw+\\)\\>" 1 arg 2 "module[ 	]*procedure\\>" "\\(module\\)[ 	]+\\(\\sw+\\)\\>" "\\(recursive[ 	]*\\)?\\(subroutine\\)[ 	]+\\(\\sw+\\)" 3 "end[ 	]*function" ".*\\(function\\)[ 	]+\\(\\sw+\\)"] 3 (#$ . 25915)])
(put (quote f90-looking-at-program-block-start) (quote byte-optimizer) (quote byte-compile-inline-expand))
#@47 Return list of type and name of end of block.
(defalias 'f90-looking-at-program-block-end #[nil "ÀÁ\nÃQ!…$ ÄÄ”… ”•{)ÆÆ”…\" ”•{)D‡" [looking-at "end[ 	]*" f90-blocks-re "?\\([ 	]+\\(\\sw+\\)\\)?\\>" 1 arg 3] 4 (#$ . 26552)])
(put (quote f90-looking-at-program-block-end) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'f90-comment-indent #[nil "ÀÁ!ƒ Â‡ƒ À!ƒ Â‡ÀÄ!!ƒ Â‡À!ƒ( Ç ‡ÈÉxˆnƒ4 Â‚6 iT\n]‡" [looking-at "!!!" 0 f90-directive-comment-re regexp-quote f90-comment-region f90-indented-comment-re f90-calculate-indent " 	" nil comment-column] 3])
(put (quote f90-comment-indent) (quote byte-optimizer) (quote byte-compile-inline-expand))
#@54 Return continuation properties of present statement.
(defalias 'f90-present-statement-cont #[nil "À‰ŠÃ …H ŠŠÄyˆ`)Àˆƒ& `Vƒ& ‚' eÈÉ`\"8)ƒ@ ÊË\"ˆËÀxˆ‚ ÌÀxˆhÍU*)ŠŠÄyˆ`)Àˆƒf `Vƒf ‚g eÈÉ`\"8)ƒ€ ÊË\"ˆËÀxˆ‚U ÌÀxˆhÍU*\n„• 	„• Î‚» \n„¡ 	ƒ¡ Ï‚» \nƒ­ 	„­ Ð‚» \nƒ¹ 	ƒ¹ Ñ‚» Ò *‡" [nil cont pcont f90-previous-statement 0 bol f90-cache-position beg-pnt 4 parse-partial-sexp search-backward "!" " 	" 38 single begin end middle error] 4 (#$ . 27234)])
(put (quote f90-present-statement-cont) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'f90-indent-line-no #[nil "„ ÁÂwÃU„ ÄÅ!ƒ Æ ˆÇÂw‡" [f90-leave-line-no " 	" nil 0 looking-at "[0-9]" delete-horizontal-space " 	0-9"] 2])
(put (quote f90-indent-line-no) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'f90-no-block-limit #[nil "ŠÀˆ`)ŠÂÃ!†, ÂÄ!†, ÂÅ!†, ÂÆ!†, Â!†, ÈÉ	Ê#*?‡" [nil eol looking-at "end" "\\(do\\|if\\|else\\|select[ 	]*case\\|case\\|where\\|forall\\)\\>" "\\(program\\|module\\|interface\\|block[ 	]*data\\)\\>" "\\(contains\\|\\sw+[ 	]*:\\)" f90-type-def-re re-search-forward "\\(function\\|subroutine\\)" t] 4])
(put (quote f90-no-block-limit) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'f90-update-line #[nil "À‰… ŠÄyˆ`)ŠÀˆ`)… Å\n	#*‡" [nil eol bol f90-auto-keyword-case 0 f90-change-keywords] 4])
(put (quote f90-update-line) (quote byte-optimizer) (quote byte-compile-inline-expand))
#@106 Get correct indent for a line starting with line number.
Does not check type and subprogram indentation.
(defalias 'f90-get-correct-indent #[nil "ŠÀˆ`)À‰ŠÄ ƒä À‰ŠÄ …[ ŠŠÆyˆ`)Àˆƒ8 `Vƒ8 ‚9 e	ÊË	`\"8)ƒS ÌÍ\"ˆÍÀxˆ‚' ÎÀxˆhÏU*)ŠŠÆyˆ`)Àˆƒz `Vƒz ‚{ e	ÊË	`\"8)ƒ• ÌÍ\"ˆÍÀxˆ‚i ÎÀxˆhÏU*„ª 	„ª Ð‚Ð „¶ 	ƒ¶ Ñ‚Ð ƒÂ 	„Â Ò‚Ð ƒÎ 	ƒÎ Ó‚Ð Ô *‰Ò=„\f 	Ó=„\f ÕÖ!„\f × ÆyˆØÙŠÀˆ`)Ú#ƒ\\ÆyˆÎÀwˆÕÛ!ƒBÀÜÜ”…”•{)Õà!ƒ1áá”….”•{)*DƒB\n\"\\‚YŠÀ‰Õã!…ßÜÜ”…^”•{)Õà!ƒyáá”…v”•{)ä`áÆ#bˆÎÀwˆÕå!„ÚŠŠÆyˆ`)Àˆƒ§`Vƒ§‚¨e	ÊË	`\"8)ƒÂÌÍ\"ˆÍÀxˆ‚–ÎÀxˆhÏU*…ßæ ˆçÀwˆÕå!…ßD+„TŠÀ(Õé!…áá”…ü”•{)ÀD(ä`áÆ#bˆÎÀwˆÕê!…(*„TÕë!ƒYÀÜÜ”….”•{)Õà!ƒKáá”…H”•{)*DƒY\n,\\ÀˆØÙÚ#ƒéÆyˆíÀwˆÕÛ!ƒ¯ÀÜÜ”…�”•{)Õà!ƒžáá”…›”•{)*Dƒ¯\n\"\\‚ãŠÀ‰Õã!…LÜÜ”…Ë”•{)Õà!ƒæáá”…ã”•{)ä`áÆ#bˆÎÀwˆÕå!„GŠŠÆyˆ`)Àˆƒ`Vƒ‚e	ÊË	`\"8)ƒ/ÌÍ\"ˆÍÀxˆ‚ÎÀxˆhÏU*…Læ ˆçÀwˆÕå!…LD+„ÁŠÀ(Õé!…�áá”…i”•{)ÀD(ä`áÆ#bˆÎÀwˆÕê!…�(*„ÁÕë!ƒÉÀÜÜ”…›”•{)Õà!ƒ¸áá”…µ”•{)*DƒÉ\n,\\‚ãÕ.!ƒØ\n,Z‚ãÕï!ƒã\n\"ZÀˆ‚\\\n,‡" [nil cont icol epnt f90-previous-statement pcont 0 bol f90-cache-position beg-pnt 4 parse-partial-sexp search-backward "!" " 	" 38 single begin end middle error looking-at "[ 	]*[0-9]" current-indentation re-search-forward "\\(if\\|do\\|select\\|where\\|forall\\)" t "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(do\\)\\>" 3 arg struct label "\\(\\sw+\\)[ 	]*:" 1 f90-do-indent "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(if\\)\\>" scan-lists "then\\>" f90-next-statement " 	0-9&" command "\\(where\\|forall\\)[ 	]*(" "\\(!\\|$\\)" "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(select\\)[ 	]*case[ 	]*(" f90-if-indent " 	0-9" f90-end-if-re "end[ 	]*do\\>"] 5 (#$ . 28697)])
#@59 Calculate the indent column based on previous statements.
(defalias 'f90-calculate-indent #[nil "À‰Á`ŠÆ „ Ç‚îÀ‰ŠÆ …^ ŠŠÇyˆ`)	Àˆ\nƒ; `\nVƒ; \n‚< eÌÍ`\"8)ƒV ÎÏ	\"ˆÏÀxˆ‚* ÐÀxˆhÑU*)ŠŠÇyˆ`)	Àˆ\nƒ~ `\nVƒ~ \n‚ eÌÍ`\"8)ƒ™ ÎÏ	\"ˆÏÀxˆ‚m ÐÀxˆhÑU*„¯ \f„¯ Ò‚Ø „¼ \fƒ¼ Ó‚Ø ƒÉ \f„É Ô‚Ø ƒÖ \fƒÖ Õ‚Ø Ö *‰Ô=ƒ±À‰ŠÆ …+ŠŠÇyˆ`)	Àˆ\nƒ`\nVƒ\n‚	eÌÍ`\"8)ƒ#ÎÏ	\"ˆÏÀxˆ‚÷ ÐÀxˆhÑU*)ŠŠÇyˆ`)	Àˆ\nƒK`\nVƒK\n‚LeÌÍ`\"8)ƒfÎÏ	\"ˆÏÀxˆ‚:ÐÀxˆhÑU*„|\f„|Ò‚¥„‰\fƒ‰Ó‚¥ƒ–\f„–Ô‚¥ƒ£\fƒ£Õ‚¥Ö *Ó=„±Æ ˆ‚à \fÓ=ƒÈŠÇyˆ×Àwˆi)\\‚î\fÕ=ƒÔÙ ‚îŠÇyˆ×Àwˆi)ÐÀwˆÚÛ!ƒïÜ ‚aŠÀ‰Úß!…Œà!à”…!”!•{)Úâ!ƒ&ã!ã”…#!”!•{)ä`ãÇ#bˆÐÀwˆÚå!„‡ŠŠÇyˆ`)	Àˆ\nƒT`\nVƒT\n‚UeÌÍ`\"8)ƒoÎÏ	\"ˆÏÀxˆ‚CÐÀxˆhÑU*…Œæ ˆçÀwˆÚå!…ŒD+„ŠÀ(Úé!…Áã!ã”…©!”!•{)ÀD(ä`ãÇ#bˆÐÀwˆÚê!…Á(*„Úë!ƒÀà!à”…Û!”!•{)Úâ!ƒøã!ã”…õ!”!•{)*D„Ú,!ƒ-\\‚aÚî!ƒTÀà!à”…&!”!•{)Úâ!ƒCã!ã”…@!”!•{)*DƒT/\\‚aÚ0!ƒã!ã”…j!”!•{)à!à”…z!”!•{)D‚—Úñ!ƒ¢ã!ã”…”!”!•{)ÀDƒ¢2\\‚aÚó!ƒÌã!ã”…·!”!•{)ô!ô”…Ç!”!•{)D‚SÚõ!„üÚö!ƒüã!ã”…ç!”!•{)ô!ô”…÷!”!•{)D‚SÚ÷!ƒ&ô!ô”…!”!•{)à!à”…!!”!•{)D‚SÚø!„VÚù!ƒVã!ã”…A!”!•{)ô!ô”…Q!”!•{)D„\\Úú!ƒa;\\\nbˆÇyˆÚü!„îÚý!ƒxÇ‚î×ÀwˆÚ,!„ŠÚ>!ƒ’-Z‚îÚÿ!ƒ /Z‚îÚ@!ƒ¯2Z‚îÚ�A !„éÚ�B C�D Q!ƒîã!ã”…Ô!”!•{)à!à”…ä!”!•{)Dƒî;Z),‡" [nil t pnt case-fold-search cont icol f90-previous-statement 0 pcont bol f90-cache-position beg-pnt 4 parse-partial-sexp search-backward "!" " 	" 38 single begin end middle error " 	0-9" f90-continuation-indent current-indentation looking-at "[0-9]" f90-get-correct-indent label struct "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(if\\)\\>" 3 arg "\\(\\sw+\\)[ 	]*:" 1 scan-lists "then\\>" f90-next-statement " 	0-9&" command "\\(where\\|forall\\)[ 	]*(" "\\(!\\|$\\)" "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(select\\)[ 	]*case[ 	]*(" f90-else-like-re f90-if-indent "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(do\\)\\>" f90-do-indent f90-type-def-re "\\(interface\\|block[	]*data\\)\\>" f90-type-indent "\\(program\\)[ 	]+\\(\\sw+\\)\\>" 2 "module[ 	]*procedure\\>" "\\(module\\)[ 	]+\\(\\sw+\\)\\>" "\\(recursive[ 	]*\\)?\\(subroutine\\)[ 	]+\\(\\sw+\\)" "end[ 	]*function" ".*\\(function\\)[ 	]+\\(\\sw+\\)" "contains[ 	]*\\($\\|!\\)" f90-program-indent "[ 	]*$" "[ 	]*#" f90-end-if-re "end[ 	]*do\\>" f90-end-type-re "contains[ 	]*\\(!\\|$\\)" "end[ 	]*" f90-blocks-re "?\\([ 	]+\\(\\sw+\\)\\)?\\>"] 5 (#$ . 30519) nil])
#@102 Move point to beginning of the previous F90 statement.
Return nil if no previous statement is found.
(defalias 'f90-previous-statement #[nil "ÀÂyˆÃyÂU‰ƒ ÄÅ!„ 	)‡" [nil not-first-statement 0 -1 looking-at "[ 	0-9]*\\(!\\|$\\|#\\)"] 2 (#$ . 33027) nil])
#@95 Move point to beginning of the next F90 statement.
Return nil if no later statement is found.
(defalias 'f90-next-statement #[nil "ÀÂyˆÃyÂU… m?‰ƒ ÄÅ!„ 	)‡" [nil not-last-statement 0 1 looking-at "[ 	0-9]*\\(!\\|$\\)"] 2 (#$ . 33289) nil])
#@84 Move point to the beginning of subprogram.
Return (type name) or nil if not found.
(defalias 'f90-beginning-of-subprogram #[nil "ÀÁÂÆyˆÇÂwˆÈÉ!ƒ7 À\nÀ”…\" \n”\n•{)Ë\nË”…2 \n”\n•{)D‚¿ ÈÌ!„g ÈÍ!ƒg À\nÀ”…R \n”\n•{)Ë\nË”…b \n”\n•{)D‚¿ ÈÎ!ƒ‘ Ë\nË”…| \n”\n•{)Ï\nÏ”…Œ \n”\n•{)D‚¿ ÈÐ!?…¿ ÈÑ!…¿ À\nÀ”…­ \n”\n•{)Ë\nË”…½ \n”\n•{)D‰ƒÈ ÀZÆU„ÓÒÂÔ#ƒÓÆyˆÇÂwˆÈÉ!ƒÀ\nÀ”…ó \n”\n•{)Ë\nË”…\n”\n•{)D‚�ÈÌ!„8ÈÍ!ƒ8À\nÀ”…#\n”\n•{)Ë\nË”…3\n”\n•{)D‚�ÈÎ!ƒbË\nË”…M\n”\n•{)Ï\nÏ”…]\n”\n•{)D‚�ÈÐ!?…�ÈÑ!…�À\nÀ”…~\n”\n•{)Ë\nË”…Ž\n”\n•{)D‰ƒ�ÀZ‰‚É ÈÕ×Q!ƒÈ À\nÀ”…¶\n”\n•{)Ï\nÏ”…Æ\n”\n•{)DƒÈ À\\‰‚É ÆyˆÆUƒà‚åØÙ!ˆÂ+‡" [1 t nil matching-beg case-fold-search count 0 " 	0-9" looking-at "\\(program\\)[ 	]+\\(\\sw+\\)\\>" arg 2 "module[ 	]*procedure\\>" "\\(module\\)[ 	]+\\(\\sw+\\)\\>" "\\(recursive[ 	]*\\)?\\(subroutine\\)[ 	]+\\(\\sw+\\)" 3 "end[ 	]*function" ".*\\(function\\)[ 	]+\\(\\sw+\\)" re-search-backward f90-program-block-re move "end[ 	]*" f90-blocks-re "?\\([ 	]+\\(\\sw+\\)\\)?\\>" message "No beginning-found."] 5 (#$ . 33539) nil])
#@78 Move point to the end of subprogram.
Return (type name) or nil if not found.
(defalias 'f90-end-of-subprogram #[nil "ÀÁÂÆyˆÇÂwˆÈÉ\nËQ!…8 À\fÀ”…& \f”\f•{)Í\fÍ”…6 \f”\f•{)D‰ƒ@ SÂˆÆU„MÎÂÐ#ƒMÆyˆÇÂwˆÈÑ!ƒƒ À\fÀ”…n \f”\f•{)Ò\fÒ”…~ \f”\f•{)D‚\nÈÓ!„³ ÈÔ!ƒ³ À\fÀ”…ž \f”\f•{)Ò\fÒ”…® \f”\f•{)D‚\nÈÕ!ƒÝ Ò\fÒ”…È \f”\f•{)Í\fÍ”…Ø \f”\f•{)D‚\nÈÖ!„È×!ƒÀ\fÀ”…ø \f”\f•{)Ò\fÒ”…\f”\f•{)DƒÀ\\‚GÈÉ\nËQ!…?À\fÀ”…-\f”\f•{)Í\fÍ”…=\f”\f•{)D‰ƒGSÂˆ‚C ÀyˆÆUƒZ‚_ØÙ!ˆÂ+‡" [1 t nil matching-end case-fold-search count 0 " 	0-9" looking-at "end[ 	]*" f90-blocks-re "?\\([ 	]+\\(\\sw+\\)\\)?\\>" arg 3 re-search-forward f90-program-block-re move "\\(program\\)[ 	]+\\(\\sw+\\)\\>" 2 "module[ 	]*procedure\\>" "\\(module\\)[ 	]+\\(\\sw+\\)\\>" "\\(recursive[ 	]*\\)?\\(subroutine\\)[ 	]+\\(\\sw+\\)" "end[ 	]*function" ".*\\(function\\)[ 	]+\\(\\sw+\\)" message "No end found."] 4 (#$ . 34650) nil])
#@115 Put mark at end of F90 subprogram, point at beginning.
Marks are pushed and highlight (grey shadow) is turned on.
(defalias 'f90-mark-subprogram #[nil "`ÀÃ ˆÄ`Å\"ˆ\nbˆÆ ÇÈ	\"ƒ  Ê ˆ‚& ÅÀ\f	*‡" [nil program pos f90-end-of-subprogram push-mark t f90-beginning-of-subprogram string-match "XEmacs" emacs-version zmacs-activate-region mark-active deactivate-mark] 3 (#$ . 35595) nil])
#@151 Comment/uncomment every line in the region.
Insert f90-comment-region at the beginning of every line in the region
or, if already present, remove it.
(defalias 'f90-comment-region #[(beg-region end-region) "À ‰\nÃ“ˆ\fbˆÅyˆÆÇ!!ƒ `Å•|ˆ‚# cˆÉyÅUƒJ `Ê	!WƒJ ÆÇ!!ƒC `Å•|ˆ‚# cˆ‚# 	Ã‰“)‡" [make-marker end end-region nil beg-region 0 looking-at regexp-quote f90-comment-region 1 marker-position] 4 (#$ . 35988) "*r"])
#@34 Indent current line as F90 code.
(defalias 'f90-indent-line #[(&optional no-update) "À‰Á Â\f`À“ˆÇyˆŠÈ …X ŠŠÇyˆ`)	Àˆ\nƒ5 `\nVƒ5 \n‚6 eÌÍ`\"8)ƒP ÎÏ	\"ˆÏÀxˆ‚$ ÐÀxˆhÑU*)ƒe ÂÐÀwˆ‚ „{ ÐÀwÇU„{ ÓÔ!ƒ{ Õ ˆÖÀwˆÓÏ!ƒÎ Ó×!ƒ� Ç‚É ƒŸ Ó!ƒŸ Ç‚É ÓÙ!!ƒ¬ Ç‚É Ó!ƒ¸ Ü ‚É ÐÀxˆnƒÄ Ç‚Æ iT]‚à ÓÞ!ƒÜ ƒÜ à ˆÜ iZÇU„!Çyˆ„ú ÖÀwˆÕ ˆiÇUƒ	!j‚â!ã\"ˆ*`ä\f!Wƒä\f!bˆ%„LÀ‰&	'…JŠÇyˆ`)	ŠÀˆ`)&'…Jè'	&#*ˆ)ƒbŠÀˆi)*VƒbŠë ˆ)\fÀ‰“,‡" [nil make-marker t case-fold-search pos no-line-number indent 0 f90-previous-statement bol f90-cache-position beg-pnt 4 parse-partial-sexp search-backward "!" " 	" 38 f90-leave-line-no looking-at "[0-9]" delete-horizontal-space " 	0-9" "!!!" f90-directive-comment-re regexp-quote f90-comment-region f90-indented-comment-re f90-calculate-indent comment-column "end" f90-smart-end f90-match-end col indent-to 1 marker-position no-update eol f90-auto-keyword-case f90-change-keywords auto-fill-function fill-column f90-do-auto-fill] 4 (#$ . 36414) nil])
#@193 Reindent the current F90 line, insert a newline and indent the newline.
An abbrev before point is expanded if `abbrev-mode' is non-nil.
If run in the middle of a line, the line is not broken.
(defalias 'f90-indent-new-line #[nil "À‰Áƒ Æ ˆÇyˆ„& ÉÀwÇU„& ÊË!ƒ& Ì ˆÍÀwˆÊÎ!ƒ4 ÏÐ!ˆÀˆÌ ˆƒK `VƒK ‚L eÓÔ`\"8)ŠŠÇyˆ`)Àˆƒt `Vƒt ‚u eÖÔ`\"8)ƒ� ×Ø\"ˆØÀxˆ‚c ÉÀxˆhÙU*\fƒ£ „£ ÚcˆÀ‰…Ë ŠÇyˆ`)ŠÀˆ`)…Ë Ý#*ˆÞ ˆ\f„Ý ƒà ƒà ÚcˆÏÐ!+‡" [nil t case-fold-search cont string abbrev-mode expand-abbrev 0 f90-leave-line-no " 	" looking-at "[0-9]" delete-horizontal-space " 	0-9" "\\(end\\|else\\|!\\)" f90-indent-line no-update f90-cache-position beg-pnt 3 parse-partial-sexp bol 4 search-backward "!" 38 "&" eol f90-auto-keyword-case f90-change-keywords newline f90-beginning-ampersand] 4 (#$ . 37429) nil])
#@49 Indent every line in region by forward parsing.
(defalias 'f90-indent-region #[(beg-region end-region) "À Á Â‰‰‰‰‰‰‰	\n‰\fÂ“ˆbˆÏyˆÐÑ!ƒB ÒÓ!ˆÔyÏUƒB `\fW„* Â‰ŠÖ …Ž ŠŠÏyˆ`)Âˆƒk `Vƒk ‚l eÚÛ`\"8)ƒ† ÜÝ\"ˆÝÂxˆ‚Z ÞÂxˆhßU*)ŠŠÏyˆ`)Âˆƒ® `Vƒ® ‚¯ eÚÛ`\"8)ƒÉ ÜÝ\"ˆÝÂxˆ‚� ÞÂxˆhßU*„á „á à‚„ï ƒï á‚ƒý „ý â‚ƒƒã‚ä *‰ã=„â=ƒôÖ ƒôÂ‰ŠÖ …nŠŠÏyˆ`)ÂˆƒK`VƒK‚LeÚÛ`\"8)ƒfÜÝ\"ˆÝÂxˆ‚:ÞÂxˆhßU*)ŠŠÏyˆ`)ÂˆƒŽ`VƒŽ‚�eÚÛ`\"8)ƒ©ÜÝ\"ˆÝÂxˆ‚}ÞÂxˆhßU*„Á„Áà‚í„ÏƒÏá‚íƒÝ„Ýâ‚íƒëƒëã‚íä *‰‚`ÒÓ!ˆŠÏyˆåÂwˆi)‰	ÏyˆåÂwˆÂÐæ!…JÂç(ç”…)(”(•{))Ðê!ƒEÔ(Ô”…B(”(•{)))*D‰ƒT+‚ƒŠÂ‰)Ðì!…îç(ç”…o(”(•{)Ðê!ƒ‰Ô(Ô”…†(”(•{))í`ÔÏ#bˆÞÂwˆÐî!„êŠŠÏyˆ`)Âˆƒ·`Vƒ·‚¸eÚÛ`\"8)ƒÒÜÝ\"ˆÝÂxˆ‚¦ÞÂxˆhßU*…îï ˆðÂwˆÐî!…î)D+‰„nÐñ!…+Âç(ç”…\n(”(•{))Ðê!ƒ&Ô(Ô”…#(”(•{)))*D‰„nŠÂ2Ðó!…aÔ(Ô”…I(”(•{)ÂD2í`ÔÏ#bˆÞÂwˆÐô!…a2*‰„nÐ5!ƒs6‚ƒÐ7!ƒžÔ(Ô”…‰(”(•{)ç(ç”…™(”(•{)D‚¶Ðø!…¶Ô(Ô”…³(”(•{)ÂD‰ƒÀ9‚ƒÐú!ƒêÔ(Ô”…Õ(”(•{)û(û”…å(”(•{)D‚tÐü!„Ðý!ƒÔ(Ô”…(”(•{)û(û”…(”(•{)D‚tÐþ!ƒDû(û”…/(”(•{)ç(ç”…?(”(•{)D‚tÐÿ!?…tÐ�@ !…tÔ(Ô”…b(”(•{)û(û”…r(”(•{)D‰„�Ð�A !…ƒB‰ƒ�	\\	ƒš\nB\nŠŠÏyˆ`)Âˆƒ·`Vƒ·‚¸eÚÛ`\"8)ƒÒÜÝ\"ˆÝÂxˆ‚¦ÞÂxˆhßU*ƒ/ÔyÏUƒ/`\fWƒ/�C  D\\ZÏU„šD\\�E FGÏyˆF„åÂwˆ�H  ˆiÏUƒ#Gj‚*�I GÔ\"ˆ*‚šÔyÏUƒK\n`\fWƒK\nÏyˆJ„ZÞÂwÏU„ZÐ�K !ƒZ�H  ˆåÂwˆ`Ð�L !ƒoÏ‚€	Ð�M !ƒ}Ï‚€	ÐÝ!ƒÒÐ�N !ƒ�Ï‚ÍOƒŸÐO!ƒŸÏ‚ÍÐ�P Q!!ƒ®Ï‚ÍÐR!ƒ¼�S  ‚ÍÞÂxˆnƒÈÏ‚ÊiTT]‚€	ŠÂˆ`)UŠÐ�V !†Ð�W !†Ð�X !†Ð�Y !†Ð7!†�Z �[ U�\\ #*„	‚€	Ð5!ƒ*	6Z‚€	Ð�A !ƒ<	BZ‚€	Ðæ!…sÂç(ç”…R(”(•{))Ðê!ƒnÔ(Ô”…k(”(•{)))*D‰ƒ}+‚�ŠÂ‰)Ðì!…ç(ç”…˜(”(•{)Ðê!ƒ²Ô(Ô”…¯(”(•{))í`ÔÏ#bˆÞÂwˆÐî!„ŠŠÏyˆ`)Âˆƒà`Vƒà‚áeÚÛ`\"8)ƒûÜÝ\"ˆÝÂxˆ‚ÏÞÂxˆhßU*…ï ˆðÂwˆÐî!…)D+‰„�Ðñ!…TÂç(ç”…3(”(•{))Ðê!ƒOÔ(Ô”…L(”(•{)))*D‰„�ŠÂ2Ðó!…ŠÔ(Ô”…r(”(•{)ÂD2í`ÔÏ#bˆÞÂwˆÐô!…Š2*‰ƒ•6‚�Ð7!ƒÀÔ(Ô”…«(”(•{)ç(ç”…»(”(•{)D‚ØÐø!…ØÔ(Ô”…Õ(”(•{)ÂD‰ƒâ9‚�Ðú!ƒ\fÔ(Ô”…÷(”(•{)û(û”…(”(•{)D‚–Ðü!„<Ðý!ƒ<Ô(Ô”…'(”(•{)û(û”…7(”(•{)D‚–Ðþ!ƒfû(û”…Q(”(•{)ç(ç”…a(”(•{)D‚–Ðÿ!?…–Ð�@ !…–Ô(Ô”…„(”(•{)û(û”…”(”(•{)D‰…�B‰ƒ¼	ƒ³	\\	\nB\n‚€	Ð�] ^�_ Q!…ëÔ(Ô”…Ù(”(•{)ç(ç”…é(”(•{)D‰ƒ|	\n@\nA\n`ƒ	Š�a \f@\fA@@A@$ˆ)Ðb!ƒ	6‚h	Ð�c !ƒ(	+‚h	Ðd!ƒ4	9‚h	Ð�] ^�_ Q!…h	Ô(Ô”…Q	(”(•{)ç(ç”…a	(”(•{)D…h	B‰ƒu		Z		‚€		iZÏU„¶	ÂFGÏyˆF„œ	åÂwˆ�H  ˆiÏUƒ­	Gj‚´	�I GÔ\"ˆ*ŠŠÏyˆ`)ÂˆƒÓ	`VƒÓ	‚Ô	eÚÛ`\"8)ƒî	ÜÝ\"ˆÝÂxˆ‚Â	ÞÂxˆhßU*ƒ/ÔyÏUƒ/`\fWƒ/�C  D\\ZÏU„¶	D\\�E FGÏyˆF„.\nåÂwˆ�H  ˆiÏUƒ?\nGj‚F\n�I GÔ\"ˆ*‚¶	Âbˆ\fÂ‰“ˆÂ‰“ˆ�e �f g\"ƒq\n�h  ‚€\ni…€\nÂj�k �l !.\n‡" [make-marker point-marker nil end-struct beg-struct struct cont ind-b ind-curr ind-lev block-list save-point end-region-mark end-region beg-region 0 looking-at "[ 	]*[0-9]*\\(!\\|#\\|[ 	]*$\\)" f90-indent-line no-update 1 pcont f90-previous-statement bol f90-cache-position beg-pnt 4 parse-partial-sexp search-backward "!" " 	" 38 single begin end middle error " 	0-9" "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(do\\)\\>" 3 arg label "\\(\\sw+\\)[ 	]*:" f90-do-indent "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(if\\)\\>" scan-lists "then\\>" f90-next-statement " 	0-9&" "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(select\\)[ 	]*case[ 	]*(" command "\\(where\\|forall\\)[ 	]*(" "\\(!\\|$\\)" f90-else-like-re f90-if-indent f90-type-def-re "\\(interface\\|block[	]*data\\)\\>" f90-type-indent "\\(program\\)[ 	]+\\(\\sw+\\)\\>" 2 "module[ 	]*procedure\\>" "\\(module\\)[ 	]+\\(\\sw+\\)\\>" "\\(recursive[ 	]*\\)?\\(subroutine\\)[ 	]+\\(\\sw+\\)" "end[ 	]*function" ".*\\(function\\)[ 	]+\\(\\sw+\\)" "contains[ 	]*\\($\\|!\\)" f90-program-indent current-indentation f90-continuation-indent no-line-no no-line-number col delete-horizontal-space indent-to f90-leave-line-no "[0-9]" "[ 	]*$" "[ 	]*#" "!!!" f90-directive-comment-re regexp-quote f90-comment-region f90-indented-comment-re f90-calculate-indent comment-column eol "end" "\\(do\\|if\\|else\\|select[ 	]*case\\|case\\|where\\|forall\\)\\>" "\\(program\\|module\\|interface\\|block[ 	]*data\\)\\>" "\\(contains\\|\\sw+[ 	]*:\\)" re-search-forward "\\(function\\|subroutine\\)" t "end[ 	]*" f90-blocks-re "?\\([ 	]+\\(\\sw+\\)\\)?\\>" f90-smart-end f90-block-match f90-end-if-re "end[ 	]*do\\>" f90-end-type-re string-match "Xemacs" emacs-version zmacs-deactivate-region transient-mark-mode mark-active run-hooks deactivate-mark-hook] 11 (#$ . 38269) "*r"])
#@54 Properly indent the subprogram which contains point.
(defalias 'f90-indent-subprogram #[nil "ŠÀÂ ‰ƒ, ÃÄ	@Å	A@Æ°!ˆÇ`È \"ˆÃÄ	@Å	A@É°!‚; ÃÊ!ˆÇ`È \"ˆÃË°!*‡" [nil program f90-mark-subprogram message "Indenting " " " "." f90-indent-region mark "...done." "Indenting the whole file." "Indenting the whole file...done."] 7 (#$ . 42908) nil])
#@64 Break line at point, insert continuation marker(s) and indent.
(defalias 'f90-break-line #[(&optional no-update) "À\nƒ `\nVƒ \n‚ eÄÅ`\"8)ƒ( ÆcˆÇ ˆÆcˆ‚í \nƒ6 `\nVƒ6 \n‚7 eÈÅ`\"8)ƒ­ É ˆŠÀŠÀˆ`)\n\nƒ_ `\nVƒ_ \n‚` eÈÅ`\"8)ƒž ÌyˆÍÎ\n\"ˆ\nƒ‚ `\nVƒ‚ \n‚ƒ eÄÅ`\"8)ƒ— ÍÎ\n\"ˆ‚t Ì”Ì•{+Ç ˆ	ÏPcˆ‚í É ˆÆcˆ„â À‰\n…à ŠÌyˆ`)ŠÀˆ`)\n…à Ó\n#*ˆÇ ˆƒí Õcˆ)?…ö Ö ‡" [nil ctype f90-cache-position beg-pnt 3 parse-partial-sexp "&" newline 4 delete-horizontal-space eol type 0 re-search-forward "[!]+" " " no-update bol f90-auto-keyword-case f90-change-keywords f90-beginning-ampersand "& " f90-indent-line] 4 (#$ . 43253) nil])
#@56 From fill-column, search backward for break-delimiter.
(defalias 'f90-find-breakpoint #[nil "ŠÀyˆ`)Â	\"ˆ\fƒ  Å ˆÆ!?…. Èu‚. Æ!ƒ, Éu‚. Èu)‡" [0 bol re-search-backward f90-break-delimiters f90-break-before-delimiters backward-char looking-at f90-no-break-re nil 2] 3 (#$ . 43906)])
#@215 Toggle f90-auto-fill mode.
With ARG, turn `f90-auto-fill' mode on iff ARG is positive.
In `f90-auto-fill' mode, inserting a space at a column beyond `fill-column'
automatically breaks the line at a previous space.
(defalias 'f90-auto-fill-mode #[(arg) "„	 	?‚ Â!ÃV… Ä‰Å ˆ‡" [arg auto-fill-function prefix-numeric-value 0 f90-do-auto-fill force-mode-line-update] 2 (#$ . 44198) "P"])
#@56 Break line if non-white characters beyond fill-column.
(defalias 'f90-do-auto-fill #[nil "ŠÀˆi)	V…< Â	!ˆÃÄ!ƒ4 ƒ# `Vƒ# ‚$ eÇÈ`\"8)„4 É ‡Ê ˆË ˆÀ‡" [nil fill-column move-to-column looking-at "[ 	]*$" f90-cache-position beg-pnt 3 parse-partial-sexp delete-horizontal-space f90-find-breakpoint f90-break-line] 4 (#$ . 44592) nil])
#@61 Join present line with next line, if this line ends with &.
(defalias 'f90-join-lines #[nil "À`ÀˆÃÀxˆhÄU…i ÅÆ!ˆ`ÇyˆÃÀwˆÈÉ!ƒ( ÅÇ!ˆ\n`|ˆ\nƒ= `\nVƒ= \n‚> eÌÍ`\"8)„Q Î ˆÏcˆƒe ŠÀˆi)Vƒe Ò ˆ	bˆÓ*‡" [nil oldpos pos " 	" 38 delete-char -1 1 looking-at "&" f90-cache-position beg-pnt 3 parse-partial-sexp delete-horizontal-space " " auto-fill-function fill-column f90-do-auto-fill t] 4 (#$ . 44933) nil])
#@71 Fill every line in region by forward parsing. Join lines if possible.
(defalias 'f90-fill-region #[(beg-region end-region) "À Á‰‰ÂÁ‰	\nÁ“ˆbˆƒ¸ Ì „! ŠÍyˆÎÁwˆi)\\ŠÁˆi)Vƒ¤ Ñ!ˆÒÓ!ƒq ƒ] `Vƒ] ‚^ eÖ×`\"8)„q Ø ˆ‚5 Ù ˆÚÛ!ˆÜÍyˆ„‹ ÎÁwˆØ ˆiÍUƒš j‚Ÿ ßà\"ˆ*‚5 `á	!W…± àyÍU`‚ \fÁâã$\"ƒÊ å ‚Õ &…Õ Á'èé!.‡" [make-marker nil t auto-fill-function af-function go-on indent f90-auto-keyword-case f90-smart-end end-region-mark end-region beg-region f90-join-lines 0 " 	0-9" f90-continuation-indent fill-column move-to-column looking-at "[ 	]*$" f90-cache-position beg-pnt 3 parse-partial-sexp delete-horizontal-space f90-find-breakpoint f90-break-line no-update no-line-no no-line-number col indent-to 1 marker-position string-match "XEmacs" emacs-version zmacs-deactivate-region transient-mark-mode mark-active run-hooks deactivate-mark-hook] 8 (#$ . 45350) "*r"])
#@102 Match end-struct with beg-struct and complete end-block if possible.
Leave point at the end of line.
(defalias 'f90-block-match #[(beg-block beg-name end-block end-name) "ÀÁŠÂˆ`)\"ˆÃÄ�‡" [search-forward "end" nil no-match (byte-code "	‰…\n —\n… \n—‰\f,š„; 	ƒ. ÆÇ	#ˆÈˆÉÊÈ\"ˆ‚? ÆË\"ˆÌPcˆ‚? Í	!ˆ‰…K —\n…Q \n—‰\f,š„® ƒs „s ÆË\"ˆÌPcˆ‚¸ ƒ’ ƒ’ ÆÐ#ˆÍ!ˆÑ!ˆ‚¸ „¸ ƒ¸ ÆÒ\"ˆÍ!ˆÑÓ!ˆ‚¸ ƒ¸ Í!ˆÔÕ!?…Á Ö ‡" [beg-block end-block b a b-local a-local message "END %s does not match %s." nil throw no-match "Inserting %s." " " search-forward beg-name end-name "Replacing %s with %s." replace-match "Deleting %s." "" looking-at "[ 	]*!" delete-horizontal-space] 5)] 3 (#$ . 46259)])
#@71 From an end foo statement, find the corresponding foo including name.
(defalias 'f90-match-end #[nil "ÀÁ Â`ÃÂ‰‰‰‰	\n\fŠÎyˆÏÂwˆÐÑÓQ!…P ÀÀ”…> ”•{)ÕÕ”…N ”•{)D‰)…l\f@\fA@ŠÎyˆÎU„éÖ×ØQÂÃ#ƒéÎyˆÏÂwˆÐÙ!ƒ¸ ÂÕÕ”…’ ”•{)ÐÜ!ƒ¯ ÀÀ”…¬ ”•{)*D†ÅŠÂ‰ÐÝ!…UÕÕ”…Ô ”•{)ÐÜ!ƒï ÀÀ”…ì ”•{)Þ`ÀÎ#bˆßÂwˆÐà!„PŠŠÎyˆ`)!Âˆ\"ƒ`\"Vƒ\"‚e#äå#`\"8)ƒ8æç!\"ˆçÂxˆ‚\fßÂxˆhèU*…Ué ˆêÂwˆÐà!…UD+†ÅŠÂ+Ðì!…ŠÀÀ”…r”•{)ÂD+Þ`ÀÎ#bˆßÂwˆÐí!…Š+*†ÅÐî!ƒÊÂÕÕ”…¤”•{)ÐÜ!ƒÁÀÀ”…¾”•{)*D†ÅÐ/!ƒõÀÀ”…à”•{)ÕÕ”…ð”•{)D‚Ðð!ƒÀÀ”…\n”•{)ÂD†ÅÐñ!ƒ:ÀÀ”…%”•{)òò”…5”•{)D‚ÁÐó!„jÐô!ƒjÀÀ”…U”•{)òò”…e”•{)D‚ÁÐõ!ƒ”òò”…”•{)ÕÕ”…�”•{)D‚ÁÐö!„ÄÐ÷!ƒÄÀÀ”…¯”•{)òò”…¿”•{)D†ÅÂ‰ƒÕÀZ‰‚d ÐÑøQ!ƒb À\\‰‚d ÎU„öùú!‚kÂ‰;!<…ŠÎyˆ`)!ŠÂˆ`);<…ý<!;#*ˆ>ÿ=ƒN`\fWƒHù�@ �A  �B Îyˆ`Âˆ`{R!ˆ‚N�C À!ˆ@A@\nbˆÎyˆ�D $).\n‡" [1 window-start nil t end-struct end-block beg-block end-name beg-name case-fold-search end-point matching-beg top-of-window count 0 " 	0-9" looking-at "end[ 	]*" f90-blocks-re "?\\([ 	]+\\(\\sw+\\)\\)?\\>" arg 3 re-search-backward "\\(" "\\)" "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(do\\)\\>" struct label "\\(\\sw+\\)[ 	]*:" "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(if\\)\\>" scan-lists " 	" "then\\>" bol f90-cache-position beg-pnt 4 parse-partial-sexp search-backward "!" 38 f90-next-statement " 	0-9&" command "\\(where\\|forall\\)[ 	]*(" "\\(!\\|$\\)" "\\(\\(\\sw+\\)[ 	]*:\\)?[ 	]*\\(select\\)[ 	]*case[ 	]*(" f90-type-def-re "\\(interface\\|block[	]*data\\)\\>" "\\(program\\)[ 	]+\\(\\sw+\\)\\>" 2 "module[ 	]*procedure\\>" "\\(module\\)[ 	]+\\(\\sw+\\)\\>" "\\(recursive[ 	]*\\)?\\(subroutine\\)[ 	]+\\(\\sw+\\)" "end[ 	]*function" ".*\\(function\\)[ 	]+\\(\\sw+\\)" "\\b" message "No matching beginning." eol f90-auto-keyword-case f90-change-keywords f90-smart-end blink "Matches " what-line ": " sit-for f90-block-match] 11 (#$ . 46978) nil])
#@72 Inserts an complete end statement matching beginning of present block.
(defalias 'f90-insert-end #[nil "ƒ ‚	 ÁÂcˆÃ )‡" [f90-smart-end blink "end" f90-indent-new-line] 1 (#$ . 49022) nil])
#@107 Typing `\[help-command] or `? lists all the F90 abbrevs. 
Any other key combination is executed normally.
(defalias 'f90-abbrev-start #[nil "À‰cˆÄ ÅÆ\"ƒ È\n!‚ É ‰ÊU„( 	=ƒ- Ì ‚A ÅÆ\"ƒ< \n‰‚A 	C‰*‡" [nil c e last-command-char next-command-event string-match "XEmacs" emacs-version event-to-character read-event 63 help-char f90-abbrev-help unread-command-event unread-command-events] 4 (#$ . 49221) nil])
#@49 List the currently defined abbrevs in F90 mode.
(defalias 'f90-abbrev-help #[nil "ÀÁ!ˆÂÃ !ˆÀÄ!‡" [message "Listing abbrev table..." display-buffer f90-prepare-abbrev-list-buffer "Listing abbrev table...done"] 2 (#$ . 49647) nil])
(defalias 'f90-prepare-abbrev-list-buffer #[nil "ŠÀÁ!qˆÂ ˆÃÄÅ\"ˆebˆÆÇ!ˆÈ ˆ)ÀÁ!‡" [get-buffer-create "*Abbrevs*" erase-buffer insert-abbrev-table-description f90-mode-abbrev-table t set-buffer-modified-p nil edit-abbrevs-mode] 3])
#@40 Upcase all F90 keywords in the buffer.
(defalias 'f90-upcase-keywords #[nil "ÀÁ!‡" [f90-change-keywords upcase-word] 2 (#$ . 50113) nil])
#@44 Capitalize all F90 keywords in the buffer.
(defalias 'f90-capitalize-keywords #[nil "ÀÁ!‡" [f90-change-keywords capitalize-word] 2 (#$ . 50257) nil])
#@42 Downcase all F90 keywords in the buffer.
(defalias 'f90-downcase-keywords #[nil "ÀÁ!‡" [f90-change-keywords downcase-word] 2 (#$ . 50413) nil])
#@40 Upcase all F90 keywords in the region.
(defalias 'f90-upcase-region-keywords #[(beg end) "ÀÁ\n#‡" [f90-change-keywords upcase-word beg end] 4 (#$ . 50563) "*r"])
#@44 Capitalize all F90 keywords in the region.
(defalias 'f90-capitalize-region-keywords #[(beg end) "ÀÁ\n#‡" [f90-change-keywords capitalize-word beg end] 4 (#$ . 50732) "*r"])
#@42 Downcase all F90 keywords in the region.
(defalias 'f90-downcase-region-keywords #[(beg end) "ÀÁ\n#‡" [f90-change-keywords downcase-word beg end] 4 (#$ . 50913) "*r"])
(defalias 'f90-change-keywords #[(change-word &optional beg end) "Šƒ	 ‚\n e	ƒ 	‚ dÂÄÄÄÈ°	eÉÊ É‰\fbˆÑŽÒ	Ó#…Ž Ô`\"Õ8„9 Ö8„9 Š×yˆØÉwˆÙÚ!)„9 `ŠÛÜ!ˆ`)‰{\fÞ!ˆ\f{˜„9 Ó‚9 .‡" [beg end "\\(" f90-keywords-re "\\|" f90-procedures-re f90-hpf-keywords-re f90-operators-re "\\)" nil buffer-modified-p back-point saveword modified state ref-point keyword-re ((byte-code "„ ÁÂ!ˆÂ‡" [modified set-buffer-modified-p nil] 2)) re-search-forward t parse-partial-sexp 3 4 0 " 	0-9" looking-at "#" backward-word 1 change-word -1] 10])
(provide (quote f90))
