| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/progmodes/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(byte-code "\300\301\302\303\304\305\304\306\307\310& \210\300\311\302\312\313\314\307\301&\210\300\315\302\316\313\314\307\301&\210\317\320\321\322\323DD\324\325\326\327\330\307\311& \210\317\331\321\322\332DD\333\325\334\335\336\307\311& \210\317\337\321\322\340DD\341\325\342\327\343\307\311& \210\317\344\321\322\345DD\346\325\342\327\343\307\311& \210\317\347\321\322\350DD\351\325\342\327\343\307\311& \210\317\352\321\322\353DD\354\325\342\327\343\307\311& \210\317\355\321\322\356DD\357\325\360\327\361\307\311& \210\317\362\321\322\363DD\364\325\342\327\343\307\311\307\315&\210\317\365\321\322\366DD\367\370\371\325\334\327\372\307\315&\210\317\373\321\322\374DD\375\370\371\325\376\327\372\307\315&\210\317\377\321\322\201@ DD\201A \370\201B \325\376\327\372\307\311&\210\317\201C \321\322\201D DD\201E \325\342\327\343\307\311& \210\317\201F \321\322\201G DD\201H \325\342\327\343\307\311& \210\317\201I \321\322\201J DD\201K \325\334\327\201L \307\315& \210\317\201M \321\322\201N DD\201O \325\342\327\343\307\311& \210\317\201P \321\322\201Q DD\201R \325\326\327\330\307\301& \210\317\201S \321\322\201T DD\201U \325\326\327\330\307\301& \210\317\201V \321\322\201W DD\201X \325\334\327\201Y \307\301& \210\317\201Z \321\322\201[ DD\201\\ \325\334\327\372\307\315& \210\317\201] \321\322\201^ DD\201_ \325\326\327\330\307\301& \210\317\201` \321\322\201a DD\201b \325\334\327\372\307\301& \210\317\201c \321\322\201d DD\201e \325\334\327\372\307\301& \210\317\201f \321\322\201g DD\201h \325\342\327\343\307\301& \210\317\201i \321\322\201j DD\201k \325\326\327\330\307\301& \210\317\201l \321\322\201m DD\201n \325\342\327\343\201o \201p \201q \201r \370\201s \307\301&\210\201t \201l !\210\317\201u \321\322\201v DD\201w \325\201x \307\301&\207" [custom-declare-group fortran nil "Major mode for editing fixed format Fortran code." :link (custom-group-link :tag "Font Lock Faces group" font-lock-faces) (custom-manual "(emacs)Fortran") :group languages fortran-indent "Indentation variables in Fortran mode." :prefix "fortran-" fortran-comment "Comment-handling variables in Fortran mode." custom-declare-variable fortran-tab-mode-default funcall function #[0 "\300\207" [nil] 1 #1=""] "Default tabbing/carriage control style for empty files in Fortran mode.\nA non-nil value specifies tab-digit style of continuation control.\nA value of nil specifies that continuation lines are marked\nwith a character in column 6." :type boolean :safe booleanp fortran-tab-mode-string #[0 "\300\301\302\303\304\305\306\307\310\311\"&\207" [propertize "/t" help-echo "This buffer is in Fortran TAB mode" mouse-face mode-line-highlight local-map make-mode-line-mouse-map mouse-1 #[0 "\300\301!\207" [describe-variable fortran-tab-mode-string] 2 nil nil]] 10 #1#] "String to appear in mode line in TAB format buffers.\nSee Info node `(emacs)ForIndent Cont'." string :risky t fortran-do-indent #[0 "\300\207" [3] 1 #1#] "Extra indentation applied to DO blocks." integer integerp fortran-if-indent #[0 "\300\207" [3] 1 #1#] "Extra indentation applied to IF, SELECT CASE and WHERE blocks." fortran-structure-indent #[0 "\300\207" [3] 1 #1#] "Extra indentation applied to STRUCTURE, UNION, MAP and INTERFACE blocks." fortran-continuation-indent #[0 "\300\207" [5] 1 #1#] "Extra indentation applied to continuation lines." fortran-comment-indent-style #[0 "\300\207" [fixed] 1 #1#] "How to indent comments.\nnil forces comment lines not to be touched;\n`fixed' indents to `fortran-comment-line-extra-indent' columns beyond\n `fortran-minimum-statement-indent-fixed' (if `indent-tabs-mode' nil), or\n `fortran-minimum-statement-indent-tab' (if `indent-tabs-mode' non-nil);\n`relative' indents to current Fortran indentation plus\n `fortran-comment-line-extra-indent'." (radio (const :tag "Untouched" nil) (const fixed) (const relative)) #[257 "\211\300>\207" [(nil fixed relative)] 3 "\n\n(fn VALUE)"] fortran-comment-line-extra-indent #[0 "\300\207" [0] 1 #1#] "Amount of extra indentation for text within full-line comments." fortran-comment-line-start #[0 "\300\207" ["C"] 1 #1#] "Delimiter inserted to start new full-line comment.\nYou might want to change this to \"*\", for instance; or \"!\" to\nallow trailing comments on a line." :version "21.1" stringp fortran-comment-line-start-skip #[0 "\300\207" ["^[CcDd*!]\\(\\([^ \n]\\)\\2+\\)?[ ]*"] 1 #1#] "Regexp to match the start of a full-line comment." regexp fortran-directive-re #[0 "\300\207" ["^[ ]*#.*"] 1 #1#] "Regexp to match a directive line.\nThe matching text will be fontified with `font-lock-preprocessor-face'.\nThe matching line will be given zero indentation." "22.1" fortran-minimum-statement-indent-fixed #[0 "\300\207" [6] 1 #1#] "Minimum statement indentation for fixed format continuation style." fortran-minimum-statement-indent-tab #[0 "\301]\207" [tab-width 6] 2 #1#] "Minimum statement indentation for TAB format continuation style." fortran-comment-indent-char #[0 "\300\207" [" "] 1 #1#] "Single-character string inserted for Fortran comment indentation.\nNormally a space." #[257 "\300!\206 \211;\205 \211G\301U\207" [characterp 1] 3 "\n\n(fn VALUE)"] fortran-line-number-indent #[0 "\300\207" [1] 1 #1#] "Maximum indentation for Fortran line numbers.\n5 means right-justify them within their five-column field." fortran-check-all-num-for-matching-do #[0 "\300\207" [nil] 1 #1#] "Non-nil causes all numbered lines to be treated as possible DO loop ends." fortran-blink-matching-if #[0 "\300\207" [nil] 1 #1#] "Non-nil causes \\[fortran-indent-line] on ENDIF to blink on matching IF.\nAlso, from an ENDDO statement blink on matching DO [WHILE] statement." fortran-continuation-string #[0 "\300\207" ["$"] 1 #1#] "Single-character string used for Fortran continuation lines.\nIn fixed format continuation style, this character is inserted in\ncolumn 6 by \\[fortran-split-line] to begin a continuation line.\nAlso, if \\[fortran-indent-line] finds this at the beginning of a\nline, it will convert the line into a continuation line of the\nappropriate style. Normally \"$\"." #[257 "\211;\205 \211G\300U\207" [1] 3 "\n\n(fn VALUE)"] fortran-comment-region #[0 "\300\207" ["c$$$"] 1 #1#] "String inserted by \\[fortran-comment-region] at start of each line in region." fortran-electric-line-number #[0 "\300\207" [t] 1 #1#] "Non-nil causes line numbers to be moved to the correct column as typed." fortran-column-ruler-fixed #[0 "\300\207" ["0 4 6 10 20 30 40 50 60 70\n[ ]|{ | | | | | | | | | | | | |}\n"] 1 #1#] "String displayed above current line by \\[fortran-column-ruler].\nThis variable is used in fixed format mode.\nSee the variable `fortran-column-ruler-tab' for TAB format mode." fortran-column-ruler-tab #[0 "\300\207" ["0 810 20 30 40 50 60 70\n[ ]| { | | | | | | | | | | | | |}\n"] 1 #1#] "String displayed above current line by \\[fortran-column-ruler].\nThis variable is used in TAB format mode.\nSee the variable `fortran-column-ruler-fixed' for fixed format mode." fortran-analyze-depth #[0 "\300\207" [100] 1 #1#] "Number of lines to scan to identify fixed or TAB format style." fortran-break-before-delimiters #[0 "\300\207" [t] 1 #1#] "Non-nil causes filling to break lines before delimiters.\nDelimiters are characters matching the regexp `fortran-break-delimiters-re'." fortran-line-length #[0 "\300\207" [72] 1 #1#] "Maximum number of characters in a line of fixed-form Fortran code.\nCharacters beyond this point are treated as comments. Setting\nthis variable directly (after fortran mode is loaded) does not\ntake effect. Use either \\[customize] (which affects all Fortran\nbuffers and the default) or the function\n`fortran-line-length' (which can also operate on just the current\nbuffer). This corresponds to the g77 compiler option\n`-ffixed-line-length-N'." :initialize custom-initialize-default :set #[514 "\300\301\"\207" [fortran-line-length t] 5 "\n\n(fn SYMBOL VALUE)"] "23.1" make-variable-buffer-local fortran-mode-hook #[0 "\300\207" [nil] 1 #1#] "Hook run when entering Fortran mode." hook] 16)
#@236 Regexp matching delimiter characters at which lines may be broken.
There are certain tokens comprised entirely of characters
matching this regexp that should not be split, and these are
specified by the constant `fortran-no-break-re'.
(defconst fortran-break-delimiters-re "[-+*/><=, ]" (#$ . 8296))
#@265 Regexp specifying where not to break lines when filling.
This regexp matches certain tokens comprised entirely of
characters matching the regexp `fortran-break-delimiters-re' that should
not be split by filling. Each element is assumed to be two
characters long.
(defconst fortran-no-break-re "\\(\\*\\*\\|/[/=]\\|<=\\|=[=>]\\|>=\\)" (#$ . 8604))
#@47 Regexp matching the start of an IF statement.
(defconst fortran-if-start-re "\\(\\(\\sw\\|\\s_\\)+:[ ]*\\)?if[ ]*(" (#$ . 8958))
#@65 Regexp matching the start of a subprogram, from the line start.
(defconst fortran-start-prog-re "^[ ]*\\(program\\|subroutine\\|function\\|[ a-z0-9*()]*[ ]+function\\|\\(block[ ]*data\\)\\)" (#$ . 9095))
#@51 Regexp possibly matching the end of a subprogram.
(defconst fortran-end-prog-re1 "end\\([ ]*\\(program\\|subroutine\\|function\\|block[ ]*data\\)\\>\\([ ]*\\(\\sw\\|\\s_\\)+\\)?\\)?" (#$ . 9309))
#@105 Regexp possibly matching the end of a subprogram, from the line start.
See also `fortran-end-prog-re1'.
(defconst fortran-end-prog-re (concat "^[ 0-9]*" fortran-end-prog-re1) (#$ . 9515))
#@32 Regexp matching Fortran types.
(defconst fortran-type-types (byte-code "\300\301\302\303\304\305\306\307\310\311\312\"\311\313\"%\266\203\314\"!\315#\316Q\207" ["\\<" mapconcat identity split-string regexp-opt ("character" "byte" "integer" "logical" "none" "real" "complex" "double precision" "double complex") ("structure" "union" "map") ("record" "dimension" "parameter" "common" "save" "external" "intrinsic" "data" "equivalence") append mapcar #[257 "\300P\207" ["implicit "] 3 "\n\n(fn X)"] #[257 "\300P\207" ["end "] 3 "\n\n(fn X)"] paren "[ ]*" "\\>"] 14) (#$ . 9710))
#@46 Subdued level highlighting for Fortran mode.
(defvar fortran-font-lock-keywords-1 '(("\\<\\(block[ ]*data\\|call\\|entry\\|function\\|program\\|subroutine\\)\\>[ ]*\\(\\sw+\\)?" (1 font-lock-keyword-face) (2 font-lock-function-name-face nil t))) (#$ . 10301))
#@45 Medium level highlighting for Fortran mode.
(defvar fortran-font-lock-keywords-2 (byte-code "\302 \303B\304\305\306\307\257\"\207" [fortran-font-lock-keywords-1 fortran-type-types append font-lock-type-face "\\<\\(backspace\\|c\\(?:\\(?:as\\|los\\|ontinu\\|ycl\\)e\\)\\|e\\(?:lse\\(?:if\\|where\\)?\\|nd\\(?:do\\|if\\)?\\|xit\\)\\|format\\|i\\(?:f\\|n\\(?:\\(?:clud\\|quir\\)e\\)\\)\\|open\\|print\\|re\\(?:ad\\|turn\\|wind\\)\\|s\\(?:elect\\|top\\)\\|then\\|w\\(?:\\(?:h\\(?:er\\|il\\)\\|rit\\)e\\)\\)\\>" "\\.\\(and\\|eqv?\\|false\\|g[et]\\|l[et]\\|n\\(?:e\\(?:qv\\)?\\|ot\\)\\|or\\|true\\)\\." ("\\<\\(do\\|go *to\\)\\>[ ]*\\([0-9]+\\)?" (1 font-lock-keyword-face) (2 font-lock-constant-face nil t)) ("^ *\\([0-9]+\\)" . font-lock-constant-face)] 7) (#$ . 10569))
#@156 Like `font-lock-match-c-style-declaration-item-and-skip-to-next'.
The only difference is, it returns t in a case when the default returns nil.
(fn LIMIT)
(defalias 'fortran-match-and-skip-declaration #[257 "\300\301!\205` \302\225\203, \302\225\302\224Z\303V\203, `\304\305x\210\306\307!\210\300\310!\204+ \211b\210\300\301!\210\210\311 \312\313\"\216\3141[ \214e}\210\303\225b\210\300\315!\204S \316`\303\"\206N db\210\202@ \302\225b)0\202] \210\317)\262\207" [looking-at "[ \n *]*\\(\\sw+\\)[ \n]*\\(((?\\)?" 2 1 " \n" nil skip-syntax-backward "w" "\\(\\sw+\\)[ \n]*\\sw+[ \n]*\\(((?\\)?" match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] (error) "[ \n]*\\(\\(,\\)\\|;\\|\\'\\)" scan-sexps t] 5 (#$ . 11346)])
#@44 Gaudy level highlighting for Fortran mode.
(defvar fortran-font-lock-keywords-3 (byte-code "\304 \305P\306\307\310\311\312\313\314 !TD\315BB\316BBB\317BBEC\320\321\322E\n\323BCG\233A%\207" [fortran-font-lock-keywords-1 fortran-type-types fortran-directive-re fortran-font-lock-keywords-2 append "[ (/]*\\(\\*\\)?" (1 font-lock-type-face) fortran-match-and-skip-declaration condition-case nil and match-beginning regexp-opt-depth ((forward-sexp) (forward-sexp)) ((error nil)) (nil (1 font-lock-variable-name-face nil t)) (", *\\(e\\(nd\\|rr\\)\\)\\> *\\(= *\\([0-9]+\\)\\)?" (1 font-lock-keyword-face) (4 font-lock-constant-face nil t)) ("^ \\{5\\}\\([^ 0\n]\\)" 1 font-lock-string-face) ("^ \\([1-9]\\)" 1 font-lock-string-face) ((0 font-lock-preprocessor-face t))] 11) (#$ . 12105))
#@111 Maximum highlighting for Fortran mode.
Consists of level 3 plus all other intrinsics not already highlighted.
(defvar fortran-font-lock-keywords-4 (byte-code "\301\302\303DC\"\207" [fortran-font-lock-keywords-3 append "\\<\\(a\\(?:bs\\|cos\\|i\\(?:mag\\|nt\\)\\|log\\(?:10\\)?\\|m\\(?:ax[01]\\|in[01]\\|od\\)\\|nint\\|sin\\|tan2?\\)\\|c\\(?:abs\\|cos\\|exp\\|har\\|log\\|mplx\\|o\\(?:njg\\|sh?\\)\\|s\\(?:in\\|qrt\\)\\)\\|d\\(?:a\\(?:bs\\|cos\\|sin\\|tan2?\\)\\|ble\\|cosh?\\|dim\\|exp\\|i\\(?:m\\|nt\\)\\|log\\(?:10\\)?\\|m\\(?:ax1\\|in1\\|od\\)\\|nint\\|prod\\|s\\(?:i\\(?:gn\\|nh?\\)\\|qrt\\)\\|tanh?\\)\\|exp\\|float\\|i\\(?:abs\\|char\\|d\\(?:i\\(?:m\\|nt\\)\\|nint\\)\\|fix\\|n\\(?:dex\\|t\\)\\|sign\\)\\|l\\(?:en\\|g[et]\\|l[et]\\|og\\(?:10\\)?\\)\\|m\\(?:ax[01]?\\|in[01]?\\|od\\)\\|nint\\|real\\|s\\(?:i\\(?:gn\\|nh?\\)\\|ngl\\|qrt\\)\\|tanh?\\)[ ]*(" (1 font-lock-builtin-face)] 4) (#$ . 12900))
#@190 Return a value for `syntax-propertize-function' in Fortran mode.
This varies according to the value of LINE-LENGTH.
This is used to fontify fixed-format Fortran comments.
(fn LINE-LENGTH)
(defalias 'fortran-make-syntax-propertize-function #[257 "\300\301\302\303\304S\"\305BE\306\"\207" [eval syntax-propertize-rules ("^[CcDd\\*]" (0 "<")) format "^[^CcDd\\* \n].\\{%d\\}\\(.+\\)" ((1 "<")) t] 7 (#$ . 13815)])
#@51 Default expressions to highlight in Fortran mode.
(defvar fortran-font-lock-keywords fortran-font-lock-keywords-1 (#$ . 14234))
#@55 Value for `imenu-generic-expression' in Fortran mode.
(defvar fortran-imenu-generic-expression (byte-code "\301\302\303Q\304E\305D\207" [fortran-continuation-string nil "^\\s-+\\(\\(\\sw\\|\\s-\\|[*()+]\\)*\\<function\\|subroutine\\|entry\\|block\\s-*data\\|program\\)[ " "]+\\(\\sw+\\)" 3 (nil "^\\s-+\\(block\\s-*data\\)\\s-*$" 1)] 4) (#$ . 14368))
#@148 Regexp potentially indicating the start or end of a Fortran "block".
Omits naked END statements, and DO-loops closed by anything other
than ENDDO.
(defconst fortran-blocks-re "block[ ]*data\\|select[ ]*case\\|\\(?:do\\|function\\|i\\(?:f\\|nterface\\)\\|map\\|program\\|s\\(?:\\(?:tructur\\|ubroutin\\)e\\)\\|union\\|where\\)" (#$ . 14728))
#@182 Regexp matching the end of a Fortran "block", from the line start.
Note that only ENDDO is handled for the end of a DO-loop. Used
in the Fortran entry in `hs-special-modes-alist'.
(defconst fortran-end-block-re (concat "^[ 0-9]*\\<end[ ]*\\(" fortran-blocks-re "\\|!\\|$\\)") (#$ . 15078))
#@255 Regexp matching the start of a Fortran "block", from the line start.
A simple regexp cannot do this in fully correct fashion, so this
tries to strike a compromise between complexity and flexibility.
Used in the Fortran entry in `hs-special-modes-alist'.
(defconst fortran-start-block-re "^[ 0-9]*\\(\\(\\(\\sw+[ ]*:[ ]*\\)?\\(if[ ]*(\\(.*\\|.*\n\\([^if]*\\([^i].\\|.[^f]\\|.\\>\\)\\)\\)\\<then\\|do\\|select[ ]*case\\|where\\)\\)\\|\\(?:function\\|interface\\|map\\|program\\|s\\(?:\\(?:tructur\\|ubroutin\\)e\\)\\|union\\)\\|block[ ]*data\\)[ ]*" (#$ . 15378))
(byte-code "\302\303\304 \305BBB\"\207" [fortran-start-block-re fortran-end-block-re add-to-list hs-special-modes-alist fortran-mode ("^[cC*!]" fortran-end-of-block nil)] 6)
#@36 Syntax table used in Fortran mode.
(defvar fortran-mode-syntax-table (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\303#\210\301\307\303#\210\301\310\303#\210\301\311\303#\210\301\312\303#\210\301\313\303#\210\301\314\315#\210\301\316\315#\210\301\317\320#\210\301\321\322#\210\301\323\322#\210\301\324\322#\210\301\325\326#\210\301\327\330#\210\207" [make-syntax-table modify-syntax-entry 59 "." 13 " " 43 45 61 42 47 37 39 "\"" 34 92 "\\" 46 "_" 95 36 33 "<" 10 ">"] 5) (#$ . 16128))
#@69 Syntax table used to parse Fortran expressions for printing in GUD.
(defvar fortran-gud-syntax-table (byte-code "\301!\302\303\304#\210\207" [fortran-mode-syntax-table make-syntax-table modify-syntax-entry 10 "."] 5) (#$ . 16649))
#@30 Keymap used in Fortran mode.
(defvar fortran-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\327#\210\301\331\332#\210\301\333\332#\210\301\334\332#\210\301\335\332#\210\301\336\332#\210\301\337\332#\210\301\340\332#\210\301\341\332#\210\301\342\332#\210\301\343\332#\210\207" [make-sparse-keymap define-key ";" fortran-abbrev-start ";" fortran-comment-region "\212" fortran-split-line "\216" fortran-end-of-block "\220" fortran-beginning-of-block "\221" fortran-indent-subprogram "" fortran-window-create-momentarily "" fortran-column-ruler "" fortran-previous-statement "" fortran-next-statement "" fortran-join-line "\336" "0" fortran-electric-line-number "1" "2" "3" "4" "5" "6" "7" "8" "9"] 5) (#$ . 16888))
(byte-code "\300\301\302\303\304\"\305\306\307%\207" [define-abbrev-table fortran-mode-abbrev-table mapcar #[257 "\211@A\300\301\302\257\207" [nil :system t] 6 "\n\n(fn E)"] ((";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")) "Abbrev table for Fortran mode." :regexp "\\(?:[^[:word:]_;]\\|^\\)\\(;?[[:word:]_]+\\)[^[:word:]_]*"] 6)
(defvar fortran-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [fortran-mode-hook variable-documentation put "Hook run after entering Fortran mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp fortran-mode-map definition-name fortran-mode] 4)
(defvar fortran-mode-map (make-sparse-keymap))
(byte-code "\300\301N\204 \302\300\301\303\304!#\210\302\305\306\307#\210\302\305\310\311#\207" [fortran-mode-map variable-documentation put purecopy "Keymap for `fortran-mode'." fortran-mode derived-mode-parent prog-mode custom-mode-group fortran] 5)
#@2984 Major mode for editing Fortran code in fixed format.
For free format code, use `f90-mode'.
\[fortran-indent-line] indents the current Fortran line correctly.
Note that 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:
`fortran-comment-line-start'
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, MAP and INTERFACE 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 in full-line comments (default 0).
`fortran-comment-indent-style'
How to indent the text in full-line comments. Allowed values are:
nil don't change the indentation
`fixed' indent to `fortran-comment-line-extra-indent' beyond the
value of either
`fortran-minimum-statement-indent-fixed' (fixed format) or
`fortran-minimum-statement-indent-tab' (TAB format),
depending on the continuation format in use.
`relative' indent to `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 statements in fixed format mode (default 6).
`fortran-minimum-statement-indent-tab'
Minimum indentation for statements in TAB format mode (default 9).
`fortran-line-number-indent'
Maximum indentation for line numbers (default 1). A line number will
get less than this much indentation if necessary to avoid reaching
column 5.
`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'
Non-nil causes \[fortran-indent-line] on an ENDIF (or ENDDO) statement
to blink on the matching IF (or DO [WHILE]). (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
the 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 lines to be broken before delimiters (default t).
Turning on Fortran mode calls the value of the variable `fortran-mode-hook'
with no args, if that value is non-nil.
(defalias 'fortran-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204'