;;; compiled by eric@geech.gnu.ai.mit.edu on Mon Mar 22 13:35:49 1993
;;; from file /gd/gnu/emacs/19.0/lisp/fortran.el
;;; emacs version 19.0.506.
;;; bytecomp version FSF 2.08
;;; optimization is on.

(byte-code "" ["version 1.30" fortran-mode-version nil] 1)
(defvar fortran-tab-mode-default nil "\
*Default tabbing/carriage control style for empty files in Fortran mode.
A value of t specifies tab-digit style of continuation control.
A value of nil specifies that continuation lines are marked
with a character in column 6.")
(defvar fortran-tab-mode-string nil "\
String to appear in mode line when TAB-format mode is on.")
(defvar fortran-do-indent 3 "\
*Extra indentation applied to DO blocks.")
(defvar fortran-if-indent 3 "\
*Extra indentation applied to IF blocks.")
(defvar fortran-structure-indent 3 "\
*Extra indentation applied to STRUCTURE, UNION and MAP blocks.")
(defvar fortran-continuation-indent 5 "\
*Extra indentation applied to Fortran continuation lines.")
(defvar fortran-comment-indent-style (quote fixed) "\
*nil forces comment lines not to be touched,
'fixed makes fixed comment indentation to `fortran-comment-line-extra-indent'
columns beyond `fortran-minimum-statement-indent-fixed' (for
`indent-tabs-mode' of nil) or `fortran-minimum-statement-indent-tab' (for
`indent-tabs-mode' of t), and 'relative indents to current
Fortran indentation plus `fortran-comment-line-extra-indent'.")
(defvar fortran-comment-line-extra-indent 0 "\
*Amount of extra indentation for text within full-line comments.")
(defvar comment-line-start nil "\
*Delimiter inserted to start new full-line comment.")
(defvar comment-line-start-skip nil "\
*Regexp to match the start of a full-line comment.")
(defvar fortran-minimum-statement-indent-fixed 6 "\
*Minimum statement indentation for fixed format continuation style.")
(defvar fortran-minimum-statement-indent-tab (max tab-width 6) "\
*Minimum statement indentation for TAB format continuation style.")
(defvar fortran-comment-indent-char " " "\
*Single-character string inserted for Fortran comment indentation.
Normally a space.")
(defvar fortran-line-number-indent 1 "\
*Maximum indentation for Fortran line numbers.
5 means right-justify them within their five-column field.")
(defvar fortran-check-all-num-for-matching-do nil "\
*Non-nil causes all numbered lines to be treated as possible DO loop ends.")
(defvar fortran-blink-matching-if nil "\
*From a Fortran ENDIF statement, blink the matching IF statement.")
(defvar fortran-continuation-string "$" "\
*Single-character string used for Fortran continuation lines.
In fixed format continuation style, this character is inserted in
column 6 by \\[fortran-split-line] to begin a continuation line.
Also, if \\[fortran-indent-line] finds this at the beginning of a line, it will
convert the line into a continuation line of the appropriate style.
Normally $.")
(defvar fortran-comment-region "c$$$" "\
*String inserted by \\[fortran-comment-region] at start of each line in region.")
(defvar fortran-electric-line-number t "\
*Non-nil causes line number digits to be moved to the correct column as typed.")
(defvar fortran-startup-message t "\
*Non-nil displays a startup message when Fortran mode is first called.")
(defvar fortran-column-ruler-fixed "0   4 6  10        20        30        40        50        60        70\n[   ]|{   |    |    |    |    |    |    |    |    |    |    |    |    |}\n" "\
*String displayed above current line by \\[fortran-column-ruler].
This variable used in fixed-format mode.")
(defvar fortran-column-ruler-tab "0       810        20        30        40        50        60        70\n[   ]|  { |    |    |    |    |    |    |    |    |    |    |    |    |}\n" "\
*String displayed above current line by \\[fortran-column-ruler].
This variable used in TAB-format mode.")
(defconst bug-fortran-mode "bug-fortran-mode@erl.mit.edu" "\
Address of mailing list for Fortran mode bugs.")
(defvar fortran-mode-syntax-table nil "\
Syntax table in use in Fortran mode buffers.")
(defvar fortran-analyze-depth 100 "\
Number of lines to scan to determine whether to use fixed or TAB format style.")
(defvar fortran-break-before-delimiters t "\
*Non-nil causes `fortran-do-auto-fill' to break lines before delimeters.")
(byte-code "U  #############" [fortran-mode-syntax-table make-syntax-table modify-syntax-entry 59 "w" 13 " " 43 "." 45 61 42 47 39 "\"" 34 92 "/" 46 95 10 ">"] 4)
(defvar fortran-mode-map nil "\
Keymap used in Fortran mode.")
(byte-code "  ########################! ++M-.\"+$+$+$+$+$+$+$+@ $+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 r $+s t $+u v $+w x $+y z $+{ | $+} ~ $+  $+  $+  $+  $+  $+  $+  $+  $+  $+  $+  $+  $+  $+  $+  $+  $+  $+  $+  $.-)" [fortran-mode-map make-sparse-keymap define-key ";" fortran-abbrev-start ";" fortran-comment-region "" beginning-of-fortran-subprogram "" end-of-fortran-subprogram ";" fortran-indent-comment "" mark-fortran-subprogram "\n" fortran-split-line "\n" fortran-reindent-then-newline-and-indent "" fortran-indent-subprogram "" fortran-window-create-momentarily "" fortran-column-ruler "" fortran-previous-statement "" fortran-next-statement "	" fortran-indent-line "0" fortran-electric-line-number "1" "2" "3" "4" "5" "6" "7" "8" "9" boundp fortran-mode-abbrev-table nil abbrevs-changed ac define-abbrev-table define-abbrev ";au" "automatic" ";b" "byte" ";bd" "block data" ";ch" "character" ";cl" "close" ";c" "continue" ";cm" "common" ";cx" "complex" ";df" "define" ";di" "dimension" ";do" "double" ";dc" "double complex" ";dp" "double precision" ";dw" "do while" ";e" "else" ";ed" "enddo" ";el" "elseif" ";en" "endif" ";eq" "equivalence" ";ew" "endwhere" ";ex" "external" ";ey" "entry" ";f" "format" ";fa" ".false." ";fu" "function" ";g" "goto" ";im" "implicit" ";ib" "implicit byte" ";ic" "implicit complex" ";ich" "implicit character" ";ii" "implicit integer" ";il" "implicit logical" ";ir" "implicit real" ";inc" "include" ";in" "integer" ";intr" "intrinsic" ";l" "logical" ";n" "namelist" ";o" "open" ";pa" "parameter" ";pr" "program" ";ps" "pause" ";p" "print" ";rc" "record" ";re" "real" ";r" "read" ";rt" "return" ";rw" "rewind" ";s" "stop" ";sa" "save" ";st" "structure" ";sc" "static" ";su" "subroutine" ";tr" ".true." ";ty" "type" ";vo" "volatile" ";w" "write" ";wh" "where"] 5)
(fset 'fortran-mode #[nil " 	 #\n!!!!!!!!!!!!!#!!!!!!) !" [kill-all-local-variables fortran-startup-message message "Emacs Fortran mode %s.  Bugs to %s" fortran-mode-version bug-fortran-mode nil fortran-mode-abbrev-table local-abbrev-table set-syntax-table fortran-mode-syntax-table make-local-variable fortran-break-before-delimiters t indent-line-function fortran-indent-line comment-indent-function fortran-comment-hook comment-line-start-skip "^[Cc*]\\(\\([^ 	\n]\\)\\2\\2*\\)?[ 	]*\\|^#.*" comment-line-start "c" comment-start-skip "![ 	]*" comment-start require-final-newline abbrev-all-caps indent-tabs-mode 72 fill-column use-local-map fortran-mode-map "Fortran" mode-name fortran-mode major-mode fortran-comment-line-extra-indent fortran-minimum-statement-indent-fixed fortran-minimum-statement-indent-tab fortran-column-ruler-fixed fortran-column-ruler-tab fortran-tab-mode-string " TAB-format" fortran-analyze-file-format run-hooks fortran-mode-hook] 4 "\
Major mode for editing Fortran code.
\\[fortran-indent-line] indents the current Fortran line correctly. 
DO statements must not share a common CONTINUE.

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

Key definitions:
\\{fortran-mode-map}

Variables controlling indentation style and extra features:

 comment-start
    Normally nil in Fortran mode.  If you want to use comments
    starting with `!', set this to the string \"!\".
 fortran-do-indent
    Extra indentation within do blocks.  (default 3)
 fortran-if-indent
    Extra indentation within if blocks.  (default 3)
 fortran-structure-indent
    Extra indentation within structure, union and map blocks.  (default 3)
 fortran-continuation-indent
    Extra indentation applied to continuation statements.  (default 5)
 fortran-comment-line-extra-indent
    Amount of extra indentation for text within full-line comments. (default 0)
 fortran-comment-indent-style
    nil    means don't change indentation of text in full-line comments,
    fixed  means indent that text at `fortran-comment-line-extra-indent' beyond
           the value of `fortran-minimum-statement-indent-fixed' (for fixed
           format continuation style) or `fortran-minimum-statement-indent-tab'
           (for TAB format continuation style).
    relative  means indent at `fortran-comment-line-extra-indent' beyond the
 	      indentation for a line of code.
    (default 'fixed)
 fortran-comment-indent-char
    Single-character string to be inserted instead of space for
    full-line comment indentation.  (default \" \")
 fortran-minimum-statement-indent-fixed
    Minimum indentation for Fortran statements in fixed format mode. (def.6)
 fortran-minimum-statement-indent-tab
    Minimum indentation for Fortran statements in TAB format mode. (default 9)
 fortran-line-number-indent
    Maximum indentation for line numbers.  A line number will get
    less than this much indentation if necessary to avoid reaching
    column 5.  (default 1)
 fortran-check-all-num-for-matching-do
    Non-nil causes all numbered lines to be treated as possible \"continue\"
    statements.  (default nil)
 fortran-blink-matching-if 
    From a Fortran ENDIF statement, blink the matching IF statement.
    (default nil)
 fortran-continuation-string
    Single-character string to be inserted in column 5 of a continuation
    line.  (default \"$\")
 fortran-comment-region
    String inserted by \\[fortran-comment-region] at start of each line in 
    region.  (default \"c$$$\")
 fortran-electric-line-number
    Non-nil causes line number digits to be moved to the correct column 
    as typed.  (default t)
 fortran-break-before-delimiters
    Non-nil causes `fortran-do-auto-fill' breaks lines before delimeters.
    (default t)
 fortran-startup-message
    Set to nil to inhibit message first time Fortran mode is used.

Turning on Fortran mode calls the value of the variable `fortran-mode-hook'
with no args, if that value is non-nil." nil])
(fset (quote fortran-comment-hook) #[nil "!i\\])" [skip-chars-backward " 	" 1 comment-column] 2])
(fset 'fortran-indent-comment #[nil "!!   . + !bi U?-   j G !G    jc!S  ^ !c!c;p Hr  iZ\"" [forward-line 0 looking-at comment-line-start-skip fortran-indent-line fortran-find-comment-start-skip comment-start-skip match-beginning fortran-comment-hook delete-horizontal-space end-of-line comment-start "^[ 	]*$" "\n" forward-char -1 comment-line-start insert-char fortran-comment-indent-char calculate-fortran-indent] 4 "\
Align or create comment on current line.
Existing comments of all types are recognized and aligned.
If the line has no comment, a side-by-side comment is inserted and aligned
if the value of  comment-start  is not nil.
Otherwise, a separate-line comment is inserted, on this line
or on a new line inserted before this line if this line is not blank." nil])
(fset 'fortran-comment-region #[(beg-region end-region arg) "  \"b!	1 \nc!Ue `We \nc \n!!E `!\"!Ud `Wd !E `!\"E )\nb\"\n\"*" [make-marker point-marker save-point end-region-mark set-marker end-region beg-region forward-line 0 arg fortran-comment-region 1 regexp-quote com looking-at delete-region match-end nil] 4 "\
Comments every line in the region.
Puts fortran-comment-region at the beginning of every line in the region. 
BEG-REGION and END-REGION are args which specify the region boundaries. 
With non-nil ARG, uncomments the region." "*r\nP"])
(fset 'fortran-abbrev-start #[nil "\nc = 	=   	C)" [nil c last-command-char read-event 63 help-char fortran-abbrev-help unread-command-events] 2 "\
Typing ;\\[help-command] or ;? lists all the Fortran abbrevs. 
Any other key combination is executed normally." nil])
(fset 'fortran-abbrev-help #[nil "! !!" [message "Listing abbrev table..." display-buffer fortran-prepare-abbrev-list-buffer "Listing abbrev table...done"] 2 "\
List the currently defined abbrevs in Fortran mode." nil])
(fset (quote fortran-prepare-abbrev-list-buffer) #[nil "!q \"eb! )!" [get-buffer-create "*Abbrevs*" erase-buffer insert-abbrev-table-description fortran-mode-abbrev-table t set-buffer-modified-p nil edit-abbrevs-mode] 3])
(fset 'fortran-column-ruler #[nil "		 \n\n ! ! !=\"  `# `)$" [momentary-string-display indent-tabs-mode fortran-column-ruler-tab fortran-column-ruler-fixed forward-line 0 window-start selected-window window-point nil "Type SPC or any command to erase ruler."] 5 "\
Inserts a column ruler momentarily above current line, till next keystroke.
The ruler is defined by the value of `fortran-column-ruler'.
The key typed is executed unless it is SPC." nil])
(fset 'fortran-window-create #[nil "" [error (byte-code "  W   ZZ!!!\" !)" [2 window-min-width window-width frame-width enlarge-window-horizontally 1 split-window-horizontally 73 other-window switch-to-buffer " fortran-window-extra" t select-window previous-window] 3) ((error (byte-code "!" [message "No room for Fortran window." error] 2)))] 3 "\
Makes the window 72 columns wide.
See also `fortran-window-create-momentarily'." nil])
(fset 'fortran-window-create-momentarily #[(&optional arg) "\n U  " [arg 1 ((byte-code " \"?\" ! !\"! C	)" [equal fortran-window-create error message "Type SPC to continue editing." read-event char string-to-char " " unread-command-events] 4)) fortran-window-create] 2 "\
Momentarily makes the window 72 columns wide.
Optional ARG non-nil and non-unity disables the momentary feature.
See also `fortran-window-create'." "p"])
(fset 'fortran-split-line #[nil " !!) ccc4 - c \"4 cc " [delete-horizontal-space forward-line 0 looking-at comment-line-start-skip "\n" comment-line-start " " indent-tabs-mode "\n	" insert-char fortran-numerical-continuation-char 1 "\n " fortran-continuation-string fortran-indent-line] 3 "\
Break line at point and insert continuation marker and alignment." nil])
(fset 'fortran-numerical-continuation-char #[nil "!! `\\fZ\"\\ )" [forward-line -1 looking-at "	[1-9]" % 1 48 9 49] 3 "\
Return a digit for tab-digit style of continution lines.
If, previous line is a tab-digit continuation line, returns that digit
plus one.  Otherwise return 1.  Zero not allowed."])
(fset 'delete-horizontal-regexp #[(chars) "	!`	!`\"" [skip-chars-backward chars delete-region skip-chars-forward] 4 "\
Delete all characters in CHARS around point.
CHARS is like the inside of a [...] in a regular expression
except that ] is never special and  quotes ^, - or ." "*s"])
(fset 'fortran-electric-line-number #[(arg) " 	  !!!iU( !!)i \n2 4 iUS !!)S =S =i Ҋ!`)#)i !o !!!c " [arg fortran-electric-line-number self-insert-command prefix-numeric-value 1 5 forward-line 0 looking-at "     " indent-tabs-mode fortran-minimum-statement-indent-tab fortran-minimum-statement-indent-fixed "	" last-command fortran-indent-line fortran-reindent-then-newline-and-indent re-search-backward "[^ 	0-9]" t "[0-9]" skip-chars-backward " 	" last-command-char] 4 "\
Self insert, but if part of a Fortran line number indent it automatically.
Auto-indent does not happen if a numeric arg is used." "P"])
(fset 'beginning-of-fortran-subprogram #[nil "!#! !)" [t case-fold-search forward-line -2 re-search-backward "^[ 	0-9]*end\\b[ 	]*[^ 	=(a-z]" nil move looking-at 1] 4 "\
Moves point to the beginning of the current Fortran subprogram." nil])
(fset 'end-of-fortran-subprogram #[nil "!#!b!)" [t case-fold-search forward-line 1 re-search-forward "^[ 	0-9]*end\\b[ 	]*[^ 	=(a-z]" nil move match-beginning 0] 4 "\
Moves point to the end of the current Fortran subprogram." nil])
(fset 'mark-fortran-subprogram #[nil " `! " [end-of-fortran-subprogram push-mark beginning-of-fortran-subprogram] 2 "\
Put mark at end of Fortran subprogram, point at beginning. 
The marks are pushed." nil])
(fset 'fortran-previous-statement #[nil "!!?$ 	!P!$ !$ !!UQ !% !% !% !% P!% 	_ \n_ !n 	h  n \n?n *" [nil continue-test not-first-statement forward-line 0 looking-at comment-line-start-skip "[ 	]*" regexp-quote fortran-continuation-string "     [^ 0\n]" "	[1-9]" -1 "[ 	]*$" comment-start-skip message "Incomplete continuation statement." fortran-previous-statement first-statement] 4 "\
Moves point to beginning of the previous Fortran statement.
Returns `first-statement' if that statement is the first
non-comment Fortran statement in the file, and nil otherwise." nil])
(fset 'fortran-next-statement #[nil "!!U m?7 ! ! ! ! P! 	?= )" [nil not-last-statement forward-line 0 1 looking-at comment-line-start-skip "[ 	]*$" "     [^ 0\n]" "	[1-9]" "[ 	]*" comment-start-skip last-statement] 3 "\
Moves point to beginning of the next Fortran statement.
Returns `last-statement' if that statement is the last
non-comment Fortran statement in the file, and nil otherwise." nil])
(fset 'fortran-blink-matching-if #[nil " `!!!) U  = ! !!s !i !Uc !Z !c !F )o Z) ! \\  U  `W !` `\"P `) \" b!b-" [1 window-start nil message endif-point matching-if top-of-window count forward-line 0 skip-chars-forward " 	0-9" looking-at "end[ 	]*if\\b" fortran-previous-statement first-statement "^[ 	0-9]*end\\b[ 	]*[^ 	=(a-z]" "if[ 	]*(" ".*)[ 	]*then\\b[ 	]*[^ 	(=a-z0-9]" then-test "     [^ 0\n]" "	[1-9]" ".*then\\b[ 	]*[^ 	(=a-z0-9]" "No matching if." "Matches " buffer-substring end-of-line "%s" sit-for] 6 "\
From a Fortran ENDIF statement, blink the matching IF statement."])
(fset 'fortran-indent-line #[nil " !	 U `\\#%  % 	!8 !!8  8  )i	WC 	!\\  i)V\\   )c  )" [calculate-fortran-indent cfi forward-line 0 fortran-current-line-indentation re-search-forward "^[ 	]*[0-9]+" 4 t fortran-line-number-indented-correctly-p fortran-indent-to-column looking-at comment-line-start-skip fortran-find-comment-start-skip fortran-indent-comment move-to-column auto-fill-function end-of-line fill-column fortran-do-auto-fill fortran-blink-matching-if] 4 "\
Indents current Fortran line based on its contents and on previous lines." nil])
(fset 'fortran-reindent-then-newline-and-indent #[nil "  !!!+ !+ !+ !!.  )  " [abbrev-mode expand-abbrev forward-line 0 skip-chars-forward " 	" looking-at "[0-9]" "end" "else" regexp-quote fortran-continuation-string fortran-indent-line newline] 3 "\
Reindent the current Fortran line, insert a newline and indent the newline.
An abbrev before point is expanded if `abbrev-mode' is non-nil." nil])
(fset 'fortran-indent-subprogram #[nil " !` #)!" [mark-fortran-subprogram message "Indenting subprogram..." indent-region mark nil "Indenting subprogram...done."] 4 "\
Properly indents the Fortran subprogram which contains point." nil])
(fset 'calculate-fortran-indent #[nil "\n   \"  `eU. 2  !!r !h !Ub !Y !b !E ) \\ ! \\ ! \\ ! \\ ! \\ ! \\ ! )!!!!\"= $\\ \"= $\\(!P!!!\")\\*A!A AZ!!UZ!eZ!uZ!Z! Z!Z!Z!U\")]," [nil t indent-tabs-mode fortran-minimum-statement-indent-tab fortran-minimum-statement-indent-fixed fortran-minimum-statement-indent case-fold-search first-statement icol fortran-previous-statement fortran-current-line-indentation skip-chars-forward " 	0-9" looking-at "if[ 	]*(" ".*)[ 	]*then\\b[ 	]*[^ 	_$(=a-z0-9]" then-test forward-line 1 0 "     [^ 0\n]" "	[1-9]" ".*then\\b[ 	]*[^ 	_$(=a-z0-9]" fortran-if-indent "\\(else\\|elseif\\)\\b" "\\(otherwise\\|else[ 	]*where\\)\\b" "where.*(.*)[ 	]*\n" "do\\b" fortran-do-indent "\\(structure\\|union\\|map\\)\\b[ 	]*[^ 	=(a-z]" fortran-structure-indent "end\\b[ 	]*[^ 	=(a-z]" "[ 	]*$" comment-line-start-skip fortran-comment-indent-style relative fortran-comment-line-extra-indent fixed "[ 	]*" regexp-quote fortran-continuation-string fortran-continuation-indent fortran-check-all-num-for-matching-do "[ 	]*[0-9]+" fortran-check-for-matching-do "end[ 	]*if\\b" "end[ 	]*where\\b" "continue\\b" "end[ 	]*do\\b" "end[ 	]*\\(structure\\|union\\|map\\)\\b[ 	]*[^ 	=(a-z]" message "Warning: `end' not in column %d.  Probably an unclosed block."] 5 "\
Calculates the Fortran indent column based on previous lines."])
(fset 'fortran-current-line-indentation #[nil "!!% !b;   !!= !1 !9 !b= !!i)" [forward-line 0 looking-at comment-line-start-skip match-end skip-chars-forward fortran-comment-indent-char char-to-string "     [^ 0\n]" "	[1-9]" "[ 	0-9]" " 	"] 3 "\
Indentation of current line, ignoring Fortran line number or continuation.
This is the column position of the first non-whitespace character
aside from the line number and/or column 5/8 line-continuation character.
For comment lines, returns indentation of the first
non-indentation text within the comment."])
(fset 'fortran-indent-to-column #[(col) "!!7  ; H !b!P!iZ\") !X J !b !cc !z s !c \" !  m !!    j! \" j! ! !`ZZW ! \"^j)! j%   !bi U?   j)" [forward-line 0 looking-at comment-line-start-skip fortran-comment-indent-style fortran-comment-indent-char char match-end delete-horizontal-regexp " 	" char-to-string insert-char col "	[1-9]" indent-tabs-mode delete-char 2 "     " fortran-continuation-string "     [^ 0\n]" 6 "	" fortran-numerical-continuation-char 1 forward-char delete-horizontal-space regexp-quote fortran-minimum-statement-indent-tab fortran-minimum-statement-indent-fixed 5 "[0-9]+" extra-space message "Warning: line number exceeds 5-digit limit." fortran-line-number-indent skip-chars-forward "0-9" comment-start-skip fortran-find-comment-start-skip match-beginning fortran-comment-hook] 5 "\
Indents current line with spaces to column COL.
notes: 1) A non-zero/non-blank character in column 5 indicates a continuation
          line, and this continuation character is retained on indentation;
       2) If `fortran-continuation-string' is the first non-whitespace
          character, this is a continuation line;
       3) A non-continuation line which has a number as the first
          non-whitespace character is a numbered line.
       4) A TAB followed by a digit indicates a continuation line."])
(fset 'fortran-line-number-indented-correctly-p #[nil "!!iX iU !iU)" [forward-line 0 skip-chars-forward " 	" fortran-line-number-indent "0-9" 5] 2 "\
Return t if current line's line number is correctly indented.
Do not call if there is no line number."])
(fset 'fortran-check-for-matching-do #[nil "!!7 !!`!`\"!%#7 P!+" [nil t case-fold-search charnum forward-line 0 looking-at "[ 	]*[0-9]+" skip-chars-forward " 	" "0" buffer-substring "0-9" re-search-backward concat "\\(^[ 	0-9]*end\\b[ 	]*[^ 	=(a-z]\\)\\|\\(^[ 	0-9]*do[ 	]*0*" "\\b\\)\\|\\(^[ 	]*0*" "\\b\\)" "^[ 	0-9]*do[ 	]*0*"] 7 "\
When called from a numbered statement, returns t if matching DO is found.
Otherwise return a nil."])
(fset 'fortran-find-comment-start-skip #[nil " `)#)A !!!!- 	b )A \nb `)#!b*" [nil save-match-end save-match-beginning re-search-forward comment-start-skip end-of-line t match-beginning 0 match-end fortran-is-in-string-p fortran-find-comment-start-skip] 4 "\
Move to past `comment-start-skip' found on current line.
Return t if `comment-start-skip' found, nil if not." nil])
(fset 'fortran-is-in-string-p #[(pos) "\nb   `\nWF !$ !\\b 	6 \n!6 ! !? 	?! )	)" [nil is-in-fortran-string pos fortran-previous-statement fortran-next-statement looking-at "^     " match-end 0 1 comment-start-skip forward-line "'" forward-char] 2 "\
Return t if POS (a buffer position) is inside a standard Fortran string.
Fortran strings are delimeted by apostrophes (').  Quote-Escape-sequences
(\\'), strings delimited by \" and detection of syntax-errors
(unbalanced quotes) are NOT supported."])
(fset 'fortran-auto-fill-mode #[(arg) "	 	? !V ĉ !" [arg auto-fill-function prefix-numeric-value 0 fortran-indent-line set-buffer-modified-p buffer-modified-p] 3 "\
Toggle fortran-auto-fill mode.
With ARG, turn `fortran-auto-fill' mode on iff ARG is positive.
In `fortran-auto-fill' mode, inserting a space at a column beyond `fill-column'
automatically breaks the line at a previous space." "P"])
(byte-code "MM" [fortran-do-auto-fill #[nil "`!`) `) \\^b	!?G !`!F #@ `B `T)G ) T!!`TXr T!#r bn # !! ! ! ` `T)# `!? !iTW) bn)? bi)TV b  bi) \"\\V b )." [opoint forward-line 0 bol end-of-line eol fortran-current-line-indentation bos looking-at comment-line-start-skip move-to-column fill-column fortran-is-in-string-p re-search-backward "[^']'[^']" t fortran-break-before-delimiters nil quote skip-chars-backward "^ 	\n,'+-/*=)" re-search-forward "[	\n,'+-/*)=]" "[ 	]" forward-char -1 "'" 1 " 	*" fill-point comment-start-skip " 	" fortran-break-line calculate-fortran-indent fortran-continuation-indent] 5 nil nil] fortran-break-line #[nil "`!`) `)2  2 #`\"`\")!!A !)Y ! !  \\  r b   jc)," [forward-line 0 end-of-line nil comment-string eol bol opoint comment-start-skip fortran-find-comment-start-skip re-search-backward t buffer-substring delete-region 1 looking-at "     [^ 0\n]" "	[1-9]" delete-indentation delete-char 2 delete-horizontal-space fortran-do-auto-fill fortran-split-line fortran-comment-hook] 4]] 2)
(fset 'fortran-analyze-file-format #[nil "ebm' !' !' 	V'  	T !1 ǂE !; ȂE 	D ǂE *" [0 i looking-at "	" "      " fortran-analyze-depth forward-line t nil fortran-tab-mode-default] 2 "\
Returns nil if Fixed format is used, t if TAB formatting is used.
Use `fortran-tab-mode-default' if no non-comment statements are found in the
file before the end or the first `fortran-analyze-depth' lines."])
(byte-code "\n\" \nB!" [assq fortran-tab-mode-string minor-mode-alist (fortran-tab-mode-string (indent-tabs-mode fortran-tab-mode-string)) provide fortran] 3)
