Server IP : 111.118.215.189 / Your IP : 18.117.158.174 Web Server : Apache System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : a1673wkz ( 2475) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /usr/share/emacs/24.3/lisp/progmodes/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
;ELC ;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:24 2024 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/progmodes/fortran.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (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\302\321\322\323\324\325\307\311& \210\317\326\327\330\322\331\332\333\307\311& \210\317\334\335\336\322\337\324\340\307\311& \210\317\341\335\342\322\337\324\340\307\311& \210\317\343\335\344\322\337\324\340\307\311& \210\317\345\346\347\322\337\324\340\307\311& \210\317\350\351\352\322\353\324\354\307\311& \210\317\355\356\357\322\337\324\340\307\311\307\315&\210\317\360\361\362\363\364\322\331\324\365\307\315&\210\317\366\367\370\363\364\322\371\324\365\307\315&\210\317\372\373\374\363\375\322\371\324\365\307\311&\210\317\376\377\201@ \322\337\324\340\307\311& \210\317\201A \201B \201C \322\337\324\340\307\311& \210\317\201D \201E \201F \322\331\324\201G \307\315& \210\317\201H \201I \201J \322\337\324\340\307\311& \210\317\201K \302\201L \322\323\324\325\307\301& \210\317\201M \302\201N \322\323\324\325\307\301& \210\317\201O \201P \201Q \322\331\324\201R \307\301& \210\317\201S \201T \201U \322\331\324\365\307\315& \210\317\201V \333\201W \322\323\324\325\307\301& \210\317\201X \201Y \201Z \322\331\324\365\307\301& \210\317\201[ \201\\ \201] \322\331\324\365\307\301& \210\317\201^ \201_ \201` \322\337\324\340\307\301& \210\317\201a \333\201b \322\323\324\325\307\301& \210\317\201c \201d \201e \322\337\324\340\201f \201g \201h \201i \363\201j \307\301&\210\201k \201c !\210\317\201l \302\201m \322\201n \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 "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 (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 (lambda nil (interactive) (describe-variable 'fortran-tab-mode-string)))) "String to appear in mode line in TAB format buffers.\nSee Info node `(emacs)ForIndent Cont'." string :risky t fortran-do-indent 3 "Extra indentation applied to DO blocks." integer integerp fortran-if-indent "Extra indentation applied to IF, SELECT CASE and WHERE blocks." fortran-structure-indent "Extra indentation applied to STRUCTURE, UNION, MAP and INTERFACE blocks." fortran-continuation-indent 5 "Extra indentation applied to continuation lines." fortran-comment-indent-style 'fixed "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)) #[(value) "\301>\207" [value (nil fixed relative)] 2] fortran-comment-line-extra-indent 0 "Amount of extra indentation for text within full-line comments." fortran-comment-line-start "C" "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 "^[CcDd*!]\\(\\([^ \n]\\)\\2+\\)?[ ]*" "Regexp to match the start of a full-line comment." regexp fortran-directive-re "^[ ]*#.*" "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 6 "Minimum statement indentation for fixed format continuation style." fortran-minimum-statement-indent-tab (max tab-width 6) "Minimum statement indentation for TAB format continuation style." fortran-comment-indent-char " " "Single-character string inserted for Fortran comment indentation.\nNormally a space." #[(value) "\301!\206 ;\205 G\302U\207" [value characterp 1] 2] fortran-line-number-indent 1 "Maximum indentation for Fortran line numbers.\n5 means right-justify them within their five-column field." fortran-check-all-num-for-matching-do "Non-nil causes all numbered lines to be treated as possible DO loop ends." fortran-blink-matching-if "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 "$" "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 \"$\"." #[(value) ";\205 G\301U\207" [value 1] 2] fortran-comment-region "c$$$" "String inserted by \\[fortran-comment-region] at start of each line in region." fortran-electric-line-number "Non-nil causes line numbers to be moved to the correct column as typed." 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].\nThis variable is used in fixed format mode.\nSee the variable `fortran-column-ruler-tab' for TAB format mode." fortran-column-ruler-tab "0 810 20 30 40 50 60 70\n[ ]| { | | | | | | | | | | | | |}\n" "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 100 "Number of lines to scan to identify fixed or TAB format style." fortran-break-before-delimiters "Non-nil causes filling to break lines before delimiters.\nDelimiters are characters matching the regexp `fortran-break-delimiters-re'." fortran-line-length 72 "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 #[(_symbol value) "\301\302\"\207" [value fortran-line-length t] 3] "23.1" make-variable-buffer-local fortran-mode-hook "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 "[-+*/><=, ]" (#$ . 7753)) #@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 "\\(\\*\\*\\|/[/=]\\|<=\\|=[=>]\\|>=\\)" (#$ . 8061)) #@47 Regexp matching the start of an IF statement. (defconst fortran-if-start-re "\\(\\(\\sw\\|\\s_\\)+:[ ]*\\)?if[ ]*(" (#$ . 8415)) #@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\\)\\)" (#$ . 8552)) #@51 Regexp possibly matching the end of a subprogram. (defconst fortran-end-prog-re1 "end\\([ ]*\\(program\\|subroutine\\|function\\|block[ ]*data\\)\\>\\([ ]*\\(\\sw\\|\\s_\\)+\\)?\\)?" (#$ . 8766)) #@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) (#$ . 8972)) #@32 Regexp matching Fortran types. (defconst fortran-type-types (byte-code "\303\304\305\306\307\310\311\312\313\314\315\n\"\n\314\316 \" %+\317\"!\320#\321Q\207" [other-types structured-types simple-types "\\<" 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 #[(x) "\301P\207" [x "implicit "] 2] #[(x) "\301P\207" [x "end "] 2] paren "[ ]*" "\\>"] 11) (#$ . 9167)) #@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))) (#$ . 9775)) #@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) (#$ . 10042)) #@144 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. (defalias 'fortran-match-and-skip-declaration #[(limit) "\302\303!\2057 \304\225\203- \304\225\304\224Z\305V\203- `\306\307x\210\310\311!\210\302\312!\204, b\210\302\303!\210)\313 \314\216\307\315\316\217*\207" [pos save-match-data-internal looking-at "[ \n *]*\\(\\sw+\\)[ \n]*\\(((?\\)?" 2 1 " \n" nil skip-syntax-backward "w" "\\(\\sw+\\)[ \n]*\\sw+[ \n]*\\(((?\\)?" match-data ((byte-code "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3)) (byte-code "\214e}\210\301\225b\210\302\303!\204 \304`\301\"\206 db\210\202 \305\225b)\207" [limit 1 looking-at "[ \n]*\\(\\(,\\)\\|;\\|\\'\\)" scan-sexps 2] 3) ((error t))] 3 (#$ . 10819)]) #@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) (#$ . 11638)) #@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) (#$ . 12431)) #@172 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. (defalias 'fortran-make-syntax-propertize-function #[(line-length) "\300\301!\207" [eval (syntax-propertize-rules ("^[cd\\*]" (0 "<")) ((format "^[^cd\\* \n].\\{%d\\}\\(.+\\)" (1- line-length)) (1 "<")))] 2 (#$ . 13346)]) #@51 Default expressions to highlight in Fortran mode. (defvar fortran-font-lock-keywords fortran-font-lock-keywords-1 (#$ . 13745)) #@55 Value for `imenu-generic-expression' in Fortran mode. (defvar fortran-imenu-generic-expression (byte-code "\301\302\303\304\305\306\307\260\310E\311D\207" [fortran-continuation-string nil "^\\s-+\\(" "\\(\\sw\\|\\s-\\|[*()+]\\)*" "\\<function\\|subroutine\\|entry\\|block\\s-*data\\|program\\)" "[ " "]+" "\\(\\sw+\\)" 3 (nil "^\\s-+\\(block\\s-*data\\)\\s-*$" 1)] 8) (#$ . 13879)) #@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\\)" (#$ . 14271)) #@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 "\\|!\\|$\\)") (#$ . 14621)) #@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\\)[ ]*" (#$ . 14921)) (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 "\301 \302\303\304#\210\302\305\306#\210\302\307\304#\210\302\310\304#\210\302\311\304#\210\302\312\304#\210\302\313\304#\210\302\314\304#\210\302\315\316#\210\302\317\316#\210\302\320\321#\210\302\322\323#\210\302\324\323#\210\302\325\323#\210\302\326\327#\210\302\330\331#\210)\207" [table make-syntax-table modify-syntax-entry 59 "." 13 " " 43 45 61 42 47 37 39 "\"" 34 92 "\\" 46 "_" 95 36 33 "<" 10 ">"] 4) (#$ . 15671)) #@69 Syntax table used to parse Fortran expressions for printing in GUD. (defvar fortran-gud-syntax-table (byte-code "\302!\303\304\305 #\210 )\207" [fortran-mode-syntax-table st make-syntax-table modify-syntax-entry 10 "."] 4) (#$ . 16201)) #@30 Keymap used in Fortran mode. (defvar fortran-mode-map (byte-code "\301 \302\303\304#\210\302\305\306#\210\302\307\310#\210\302\311\312#\210\302\313\314#\210\302\315\316#\210\302\317\320#\210\302\321\322#\210\302\323\324#\210\302\325\326#\210\302\327\330#\210\302\331\330#\210\302\332\333#\210\302\334\333#\210\302\335\333#\210\302\336\333#\210\302\337\333#\210\302\340\333#\210\302\341\333#\210\302\342\333#\210\302\343\333#\210\302\344\333#\210\345\346!\210\347\350\351\352\353\354\355\356!\357BB\360BBB$\210)\207" [map 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" (lambda (#1=#:def-tmp-var) (defvar fortran-menu #1# #2="Menu for Fortran mode.")) nil easy-menu-do-define fortran-menu #2# "Fortran" ["Manual" (info "(emacs)Fortran") :active t :help "Read the Emacs manual chapter on Fortran mode"] "Customization" custom-menu-create fortran (["Set" Custom-set :active t :help "Set current value of all edited settings in the buffer"] ["Save" Custom-save :active t :help "Set and save all edited settings"] ["Reset to Current" Custom-reset-current :active t :help "Reset all edited settings to current"] ["Reset to Saved" Custom-reset-saved :active t :help "Reset all edited or set settings to saved"] ["Reset to Standard Settings" Custom-reset-standard :active t :help "Erase all customizations in buffer"]) ("--" ["Comment Region" fortran-comment-region mark-active] ["Uncomment Region" (fortran-comment-region (region-beginning) (region-end) 1) mark-active] ["Indent Region" indent-region mark-active] ["Indent Subprogram" fortran-indent-subprogram t] "--" ["Beginning of Subprogram" fortran-beginning-of-subprogram :active t :help "Move point to the start of the current subprogram"] ["End of Subprogram" fortran-end-of-subprogram :active t :help "Move point to the end of the current subprogram"] ("Mark" :help "Mark a region of code" ["Subprogram" mark-defun t] ["IF Block" fortran-mark-if t] ["DO Block" fortran-mark-do t]) ["Narrow to Subprogram" narrow-to-defun t] ["Widen" widen t] "--" ["Temporary Column Ruler" fortran-column-ruler :active t :help "Briefly display Fortran column numbers"] ["72-column Window" fortran-window-create :active t :help "Set window width to Fortran line length"] ["Full Width Window" (enlarge-window-horizontally (- (frame-width) (window-width))) :active (not (window-full-width-p)) :help "Make window full width"] ["Momentary 72-Column Window" fortran-window-create-momentarily :active t :help "Briefly set window width to Fortran line length"] "--" ["Break Line at Point" fortran-split-line :active t :help "Break the current line at point"] ["Join Line" fortran-join-line :active t :help "Join the current line to the previous one"] ["Fill Statement/Comment" fill-paragraph t] "--" ["Toggle Auto Fill" auto-fill-mode :selected auto-fill-function :style toggle :help "Automatically fill text while typing in this buffer"] ["Toggle Abbrev Mode" abbrev-mode :selected abbrev-mode :style toggle :help "Expand abbreviations while typing in this buffer"] ["Add Imenu Menu" imenu-add-menubar-index :active (not (lookup-key (current-local-map) [menu-bar index])) :included (fboundp 'imenu-add-to-menubar) :help "Add an index menu to the menu-bar"])] 9) (#$ . 16446)) (byte-code "\300\301\302\303\304\"\305\306\307%\210\310\311N\204 \312\310\311\313\314!#\210\315\316!\204% \312\316\317\320#\210\300\207" [define-abbrev-table fortran-mode-abbrev-table mapcar #[(e) "@A\301\302\303\257\207" [e nil :system t] 5] ((";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:]_]*" fortran-mode-hook variable-documentation put purecopy "Hook run when 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] 6) (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) #@2976 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 #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204'