.#ý5 Fortran_Continue_Char! &þ / custom_variableý6 Fortran_Comment_String! Cþ / custom_variableý5 Fortran_Indent_Amount! 2þ / custom_variable,* $ goal+! 7°$ goal* " cs+ + CASE_SEARCH°" cs* " ch+. # bolý% 0-9 þ * skip_charsý 5 Fortran_Continue_Charþ * looking_at. * go_right_1/c * skip_white/p ) push_spot ) push_spot! 0°+ CASE_SEARCH. $ up_1/. . bol_skip_white $ eolpý 5 Fortran_Continue_Charþ * looking_atD.u/c - X_USER_BLOCK0 + what_column°$ goal $ goal! 1A.u/cý# do þ * looking_atý$ elseþ * looking_atD. 5 Fortran_Indent_Amount±$ goal/.ý# if þ * looking_atý# if(þ * looking_atD. ) push_spot. & down_1/. . bol_skip_whiteý 5 Fortran_Continue_Charþ * looking_at. ' go_up_1 # bolv/b/fý$ thenþ % ffind. 5 Fortran_Indent_Amount±$ goal/c ( pop_spot/c/dv/f ( pop_spot ) push_spot - X_USER_BLOCK0ý# endþ * looking_atý( continueþ * looking_atDý$ elseþ * looking_atD. 5 Fortran_Indent_Amount²$ goal/c " cs°+ CASE_SEARCH $ goal! 7=.! 7°$ goal/c ( pop_spot . bol_skip_white.ý# 0-9þ * skip_chars $ trimý 5 Fortran_Continue_Charþ * looking_at.ý! 6 + what_column:þ - insert_spaces * go_right_1 $ trim 5 Fortran_Indent_Amount±$ goal/cý $ goal + what_column:þ - insert_spaces/qý ) what_charþ $ char°" ch " ch.ý " chþ ' isdigit3 + what_column! 6@. ( bol_trim 3 insert_single_space/c - X_USER_BLOCK1/. 5 Fortran_Continue_Charx3 ( bol_trimý! 5þ - insert_spaces - X_USER_BLOCK1/. $ bolpN $ eolpD3 ( bol_trimý¹$ goal $ goalþ - insert_spaces/j ( pop_spot * skip_white y. fortran_indent, # bolý% 0-9þ * skip_chars $ bolp $ eolpNCy2 fortran_is_comment,* ! p $ cont+ $ bolp. ' newlinew/c . fortran_indent ) push_spot + bskip_white $ trim + what_column" 72?. ) push_spot . bol_skip_white $ bolp.ý 8 Line exceeds 72 columns.þ ' message/b ( pop_spot/c * _get_point°! pý' -+*=/,(þ + bskip_chars ! p * _get_pointB°$ cont 2 fortran_is_comment.! 0°$ cont/c . bol_skip_whiteý% data þ * looking_at.! 0°$ cont/c ( pop_spot ' newline 3 insert_single_space $ cont.ý 5 Fortran_Continue_Charþ & insert/c . fortran_indenty/ fortran_newline, / fortran_newline ) push_spot . bol_skip_whiteý 5 Fortran_Continue_Charþ * looking_at. ( pop_spot/.ý 5 Fortran_Continue_Charþ & insert ( pop_spot . fortran_indent * go_right_1 * skip_white/dy8 fortran_continue_newline,ý ) LAST_CHARþ + insert_char ) push_spot 2 fortran_is_comment. ( pop_spot/. . bol_skip_whiteý# 0-9þ * skip_chars $ trim ( pop_spot . fortran_indent/dy6 fortran_electric_label, ) push_spot 2 fortran_is_comment. # bolý 6 Fortran_Comment_Stringþ * looking_at.ýý 6 Fortran_Comment_Stringþ & strlenþ $ deln/. # del/d/c . fortran_indent ( pop_spot ) go_down_1y1 fortran_uncomment, 2 fortran_is_comment. - push_spot_bolý 6 Fortran_Comment_Stringþ & insert/b ( pop_spot ) go_down_1y/ fortran_comment,* " cs+ + CASE_SEARCH°" cs! 0°+ CASE_SEARCH. . bol_skip_white * _get_point.ý' programþ * looking_atý( functionþ * looking_atDý* subroutineþ * looking_atD.v/c/c/. $ up_1/k " cs°+ CASE_SEARCH y9 fortran_beg_of_subprogram,* " cs+ + CASE_SEARCH°" cs! 0°+ CASE_SEARCH. . bol_skip_whiteý# endþ * looking_at.ý! 3þ ( go_right * skip_white $ eolp.v/c/c/. & down_1/k " cs°+ CASE_SEARCHy9 fortran_end_of_subprogram, 9 fortran_end_of_subprogram ) go_down_1 , set_mark_cmd 9 fortran_beg_of_subprogram # boly7 fortran_mark_subprogram,* ! c+ + what_column°! c* ! r+ + window_line°! r # bol ) push_markýh 5 7 10 15 20 25 30 35 40 45 50 55 60 65 70\nþ & insertý j { }|{ | | | | | | | | | | | | | }\nþ & insertý ! cþ + goto_column ! r! 2>.! 3°! r/cý ! rþ ( recenterýD Press SPACE to get rid of the ruler.þ ' messageý! 1þ 7 update_sans_update_hook & getkeyP # bol * del_regioný ! cþ + goto_column + flush_inputý ! rþ ( recentery- fortran_ruler,* & dirfun+. & dirfunM/. # bolý& ^0-9 þ * skip_chars * _get_point.v/b/fý! 7þ 4 goto_column_best_tryPy; fortran_prev_next_statement,ý}& down_1þ ; fortran_prev_next_statementy6 fortran_next_statement,ý}$ up_1þ ; fortran_prev_next_statementy: fortran_previous_statement' Fortran°" $1ý " $1þ ( keymap_p.ý " $1þ + make_keymap/bý/ fortran_comment" ; " $1þ ) definekeyý1 fortran_uncomment" : " $1þ ) definekeyý8 fortran_continue_newline# \r " $1þ ) definekeyý/ self_insert_cmdý" 39þ $ char " $1þ ) definekeyý/ self_insert_cmdý" 34þ $ char " $1þ ) definekeyý9 fortran_beg_of_subprogram# ^A " $1þ ) definekeyý9 fortran_end_of_subprogram # ^E " $1þ ) definekeyý5 fortran_mark_function# ^H " $1þ ) definekeyý6 fortran_next_statement" ^N " $1þ 2 definekey_reservedý: fortran_previous_statement" ^P " $1þ 2 definekey_reservedý- fortran_ruler" ^R " $1þ 2 definekey_reserved! 0! 9! 1 .°" $2ý6 fortran_electric_labelý " $2þ & string " $1þ ) definekey/h' Fortran°" $1ý " $1þ 3 create_syntax_tableý! ! " 37 " $1þ - define_syntaxý" ([" )]" 40 " $1þ - define_syntaxý" 34" 34 " $1þ - define_syntaxý" 39" 34 " $1þ - define_syntaxý * 0-9a-zA-Z_# 119 " $1þ - define_syntaxý) -+0-9eEdD" 48 " $1þ - define_syntaxý" ,." 44 " $1þ - define_syntaxý" 68" 35 " $1þ - define_syntaxý% -+/*=" 43 " $1þ - define_syntaxý " $1! 1! 2Jþ 0 set_syntax_flagsý " $1( ^0-9 \nþ 9 set_fortran_comment_charsý " $1( dogoifto! 2þ / define_keywordsPý " $1# end! 3þ / define_keywordsPý " $1L calldataelseexitgotoopenreadrealsavestopthen! 4þ / define_keywordsPý " $1M blockcloseenddoendifentrypauseprintwhilewrite! 5þ / define_keywordsPý " $1D commondoubleformatrecordreturnrewind! 6þ / define_keywordsPý " $1Q complexendfileincludeinquireintegerlogicalprogram! 7þ / define_keywordsPý " $1@ continueexternalfunctionimplicit! 8þ / define_keywordsPý " $1 _ backspacecharacterdimensionintrinsicparameterprecisionstructure! 9þ / define_keywordsPý " $1* subroutine" 10þ / define_keywordsPý " $1+ equivalence" 11þ / define_keywordsPý " $1. eqgegtleltneor! 2! 1þ 1 define_keywords_nPý " $1& andnot! 3 ! 1þ 1 define_keywords_nPý " $1$ true! 4! 1þ 1 define_keywords_nPý " $1% false! 5! 1þ 1 define_keywords_nP,* $ mode+' Fortran°$ modeý $ mode! 4" 16Jþ ( set_modeý $ modeþ * use_keymapý $ modeþ 0 use_syntax_tableý+ indent_hook. fortran_indentþ / set_buffer_hooký3 newline_indent_hook/ fortran_newlineþ / set_buffer_hooký $ mode) fold_info. C{{{\rC}}}\r\rþ 2 mode_set_mode_infoý, fortran_hookþ . run_mode_hooksy, fortran_mode