Mercurial > emacs
comparison man/programs.texi @ 90072:cb67264d6096
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-2
Merge from emacs--cvs-trunk--0
Patches applied:
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-83
- miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-84
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-3
- miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-4
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-5
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-6
- miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-11
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-12
Remove "-face" suffix from lazy-highlight face name
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-13
- miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-16
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-17
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-18
- miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-21
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-22
<no summary provided>
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-23
- miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-39
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-40
Fix regressions from latest reftex update
* miles@gnu.org--gnu-2005/gnus--rel--5.10--base-0
tag of miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-82
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-1
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-2
Merge from miles@gnu.org--gnu-2004
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-3
Merge from emacs--cvs-trunk--0
author | Miles Bader <miles@gnu.org> |
---|---|
date | Sun, 16 Jan 2005 03:40:12 +0000 |
parents | 3219f94257bc 279e43932b6f |
children | fa9654493afb |
comparison
equal
deleted
inserted
replaced
90071:f6b4d0ebf147 | 90072:cb67264d6096 |
---|---|
15 Find or move over top-level definitions (@pxref{Defuns}). | 15 Find or move over top-level definitions (@pxref{Defuns}). |
16 @item | 16 @item |
17 Apply the usual indentation conventions of the language | 17 Apply the usual indentation conventions of the language |
18 (@pxref{Program Indent}). | 18 (@pxref{Program Indent}). |
19 @item | 19 @item |
20 Balance parentheses (@pxref{Parentheses}). | |
21 @item | |
20 Insert, kill or align comments (@pxref{Comments}). | 22 Insert, kill or align comments (@pxref{Comments}). |
21 @item | |
22 Balance parentheses (@pxref{Parentheses}). | |
23 @item | 23 @item |
24 Highlight program syntax (@pxref{Font Lock}). | 24 Highlight program syntax (@pxref{Font Lock}). |
25 @end itemize | 25 @end itemize |
26 | 26 |
27 This chapter describes these features and many more. | 27 This chapter describes these features and many more. |
79 @cindex Shell-script mode | 79 @cindex Shell-script mode |
80 @cindex Delphi mode | 80 @cindex Delphi mode |
81 @cindex PostScript mode | 81 @cindex PostScript mode |
82 The existing programming language major modes include Lisp, Scheme (a | 82 The existing programming language major modes include Lisp, Scheme (a |
83 variant of Lisp) and the Scheme-based DSSSL expression language, Ada, | 83 variant of Lisp) and the Scheme-based DSSSL expression language, Ada, |
84 AWK, C, C++, Delphi (Object Pascal), Fortran (free format and fixed | 84 ASM, AWK, C, C++, Delphi (Object Pascal), Fortran (free format and fixed |
85 format), Icon, IDL (CORBA), IDLWAVE, Java, Metafont (@TeX{}'s | 85 format), Icon, IDL (CORBA), IDLWAVE, Java, Metafont (@TeX{}'s |
86 companion for font creation), Modula2, Objective-C, Octave, Pascal, | 86 companion for font creation), Modula2, Objective-C, Octave, Pascal, |
87 Perl, Pike, PostScript, Prolog, Simula, Tcl, and VHDL. There is | 87 Perl, Pike, PostScript, Prolog, Simula, Tcl, and VHDL. There is |
88 also a major mode for makefiles, called Makefile mode. An alternative | 88 also a major mode for makefiles, called Makefile mode. An alternative |
89 mode for Perl is called CPerl mode. Modes are available for the | 89 mode for Perl is called CPerl mode. Modes are available for the |
314 | 314 |
315 @findex which-function-mode | 315 @findex which-function-mode |
316 @vindex which-func-modes | 316 @vindex which-func-modes |
317 To enable (or disable) Which Function mode, use the command @kbd{M-x | 317 To enable (or disable) Which Function mode, use the command @kbd{M-x |
318 which-function-mode}. This command is global; it applies to all | 318 which-function-mode}. This command is global; it applies to all |
319 buffers, both existing ones and those yet to be created. However, | 319 buffers, both existing ones and those yet to be created. However, it |
320 it only takes effect in certain major modes, those listed in the value of | 320 takes effect only in certain major modes, those listed in the value of |
321 @code{which-func-modes}. If the value is @code{t}, then Which | 321 @code{which-func-modes}. If the value is @code{t}, then Which Function |
322 Function mode applies to all major modes that know how to support | 322 mode applies to all major modes that know how to support it---in other |
323 it---in other words, all the major modes that support Imenu. | 323 words, all the major modes that support Imenu. |
324 | 324 |
325 @node Program Indent | 325 @node Program Indent |
326 @section Indentation for Programs | 326 @section Indentation for Programs |
327 @cindex indentation for programs | 327 @cindex indentation for programs |
328 | 328 |
363 @findex indent-line-function | 363 @findex indent-line-function |
364 @findex indent-for-tab-command | 364 @findex indent-for-tab-command |
365 The basic indentation command is @key{TAB}, which gives the current line | 365 The basic indentation command is @key{TAB}, which gives the current line |
366 the correct indentation as determined from the previous lines. The | 366 the correct indentation as determined from the previous lines. The |
367 function that @key{TAB} runs depends on the major mode; it is | 367 function that @key{TAB} runs depends on the major mode; it is |
368 @code{indent-for-tab-command} | 368 @code{lisp-indent-line} |
369 in Lisp mode, @code{c-indent-command} in C mode, etc. These functions | 369 in Lisp mode, @code{c-indent-command} in C mode, etc. These functions |
370 understand the syntax and conventions of different languages, but they all do | 370 understand the syntax and conventions of different languages, but they all do |
371 conceptually the same job: @key{TAB} in any programming-language major mode | 371 conceptually the same job: @key{TAB} in any programming-language major mode |
372 inserts or deletes whitespace at the beginning of the current line, | 372 inserts or deletes whitespace at the beginning of the current line, |
373 independent of where point is in the line. If point was inside the | 373 independent of where point is in the line. If point was inside the |
409 altered or moved to a different level in the parenthesis structure, | 409 altered or moved to a different level in the parenthesis structure, |
410 you have several commands available. | 410 you have several commands available. |
411 | 411 |
412 @table @kbd | 412 @table @kbd |
413 @item C-M-q | 413 @item C-M-q |
414 Reindent all the lines within one parenthetical grouping(@code{indent-sexp}). | 414 Reindent all the lines within one parenthetical grouping (@code{indent-pp-sexp}). |
415 @item C-M-\ | 415 @item C-M-\ |
416 Reindent all lines in the region (@code{indent-region}). | 416 Reindent all lines in the region (@code{indent-region}). |
417 @item C-u @key{TAB} | 417 @item C-u @key{TAB} |
418 Shift an entire parenthetical grouping rigidly sideways so that its | 418 Shift an entire parenthetical grouping rigidly sideways so that its |
419 first line is properly indented. | 419 first line is properly indented. |
421 Shift all the lines in the region rigidly sideways, but do not alter | 421 Shift all the lines in the region rigidly sideways, but do not alter |
422 lines that start inside comments and strings. | 422 lines that start inside comments and strings. |
423 @end table | 423 @end table |
424 | 424 |
425 @kindex C-M-q | 425 @kindex C-M-q |
426 @findex indent-sexp | 426 @findex indent-pp-sexp |
427 You can reindent the contents of a single parenthetical grouping by | 427 You can reindent the contents of a single parenthetical grouping by |
428 positioning point before the beginning of it and typing @kbd{C-M-q} | 428 positioning point before the beginning of it and typing @kbd{C-M-q} |
429 (@code{indent-sexp} in Lisp mode, @code{c-indent-exp} in C mode; also | 429 (@code{indent-pp-sexp} in Lisp mode, @code{c-indent-exp} in C mode; also |
430 bound to other suitable commands in other modes). The indentation of | 430 bound to other suitable commands in other modes). The indentation of |
431 the line where the grouping starts is not changed; therefore, this | 431 the line where the grouping starts is not changed; therefore this |
432 changes only the relative indentation within the grouping, not its | 432 changes only the relative indentation within the grouping, not its |
433 overall indentation. To correct that as well, type @key{TAB} first. | 433 overall indentation. To correct that as well, type @key{TAB} first. |
434 | 434 |
435 Another way to specify the range to be reindented is with the | 435 Another way to specify the range to be reindented is with the |
436 region. The command @kbd{C-M-\} (@code{indent-region}) applies | 436 region. The command @kbd{C-M-\} (@code{indent-region}) applies |
453 You can also perform this operation on the region, using the command | 453 You can also perform this operation on the region, using the command |
454 @kbd{M-x indent-code-rigidly}. It rigidly shifts all the lines in the | 454 @kbd{M-x indent-code-rigidly}. It rigidly shifts all the lines in the |
455 region sideways, like @code{indent-rigidly} does (@pxref{Indentation | 455 region sideways, like @code{indent-rigidly} does (@pxref{Indentation |
456 Commands}). It doesn't alter the indentation of lines that start | 456 Commands}). It doesn't alter the indentation of lines that start |
457 inside a string, unless the region also starts inside that string. | 457 inside a string, unless the region also starts inside that string. |
458 The prefix arg specifies the number of columns to indent. | |
458 | 459 |
459 @node Lisp Indent | 460 @node Lisp Indent |
460 @subsection Customizing Lisp Indentation | 461 @subsection Customizing Lisp Indentation |
461 @cindex customizing Lisp indentation | 462 @cindex customizing Lisp indentation |
462 | 463 |
636 | 637 |
637 @table @kbd | 638 @table @kbd |
638 @item C-M-f | 639 @item C-M-f |
639 Move forward over a balanced expression (@code{forward-sexp}). | 640 Move forward over a balanced expression (@code{forward-sexp}). |
640 @item C-M-b | 641 @item C-M-b |
641 Move backward over a balanced expression(@code{backward-sexp}). | 642 Move backward over a balanced expression (@code{backward-sexp}). |
642 @item C-M-k | 643 @item C-M-k |
643 Kill balanced expression forward (@code{kill-sexp}). | 644 Kill balanced expression forward (@code{kill-sexp}). |
644 @item C-M-t | 645 @item C-M-t |
645 Transpose expressions (@code{transpose-sexps}). | 646 Transpose expressions (@code{transpose-sexps}). |
646 @item C-M-@@ | 647 @item C-M-@@ |
744 | 745 |
745 @table @kbd | 746 @table @kbd |
746 @item C-M-n | 747 @item C-M-n |
747 Move forward over a parenthetical group (@code{forward-list}). | 748 Move forward over a parenthetical group (@code{forward-list}). |
748 @item C-M-p | 749 @item C-M-p |
749 Move backward over a parenthetical group(@code{backward-list}). | 750 Move backward over a parenthetical group (@code{backward-list}). |
750 @item C-M-u | 751 @item C-M-u |
751 Move up in parenthesis structure (@code{backward-up-list}). | 752 Move up in parenthesis structure (@code{backward-up-list}). |
752 @item C-M-d | 753 @item C-M-d |
753 Move down in parenthesis structure (@code{down-list}). | 754 Move down in parenthesis structure (@code{down-list}). |
754 @end table | 755 @end table |
795 as in @samp{[x)}---a warning message is displayed in the echo area. | 796 as in @samp{[x)}---a warning message is displayed in the echo area. |
796 | 797 |
797 @vindex blink-matching-paren | 798 @vindex blink-matching-paren |
798 @vindex blink-matching-paren-distance | 799 @vindex blink-matching-paren-distance |
799 @vindex blink-matching-delay | 800 @vindex blink-matching-delay |
800 Three variables control parenthesis match display. | 801 Three variables control parenthesis match display: |
801 @code{blink-matching-paren} turns the feature on or off: @code{nil} | 802 |
803 @code{blink-matching-paren} turns the feature on or off: @code{nil} | |
802 disables it, but the default is @code{t} to enable match display. | 804 disables it, but the default is @code{t} to enable match display. |
803 | 805 |
804 @code{blink-matching-delay} says how many seconds to leave the | 806 @code{blink-matching-delay} says how many seconds to leave the |
805 cursor on the matching opening delimiter, before bringing it back to | 807 cursor on the matching opening delimiter, before bringing it back to |
806 the real location of point; the default is 1, but on some systems it | 808 the real location of point; the default is 1, but on some systems it |
1140 command@footnote{The name of the command, @code{woman}, is an acronym | 1142 command@footnote{The name of the command, @code{woman}, is an acronym |
1141 for ``w/o (without) man,'' since it doesn't use the @code{man} | 1143 for ``w/o (without) man,'' since it doesn't use the @code{man} |
1142 program.}. Unlike @kbd{M-x man}, it does not run any external | 1144 program.}. Unlike @kbd{M-x man}, it does not run any external |
1143 programs to format and display the man pages; instead it does the job | 1145 programs to format and display the man pages; instead it does the job |
1144 in Emacs Lisp, so it works on systems such as MS-Windows, where the | 1146 in Emacs Lisp, so it works on systems such as MS-Windows, where the |
1145 @code{man} program (and the other programs it uses) are not generally | 1147 @code{man} program (and other programs it uses) are not generally |
1146 available. | 1148 available. |
1147 | 1149 |
1148 @kbd{M-x woman} prompts for a name of a manual page, and provides | 1150 @kbd{M-x woman} prompts for a name of a manual page, and provides |
1149 completion based on the list of manual pages that are installed on | 1151 completion based on the list of manual pages that are installed on |
1150 your machine; the list of available manual pages is computed | 1152 your machine; the list of available manual pages is computed |
1218 @findex eldoc-mode | 1220 @findex eldoc-mode |
1219 A more automatic but less powerful method is Eldoc mode. This minor | 1221 A more automatic but less powerful method is Eldoc mode. This minor |
1220 mode constantly displays in the echo area the argument list for the | 1222 mode constantly displays in the echo area the argument list for the |
1221 function being called at point. (In other words, it finds the | 1223 function being called at point. (In other words, it finds the |
1222 function call that point is contained in, and displays the argument | 1224 function call that point is contained in, and displays the argument |
1223 list of that function.) Eldoc mode applies in Emacs Lisp and Lisp | 1225 list of that function.) If point is over a documented variable, it |
1224 Interaction modes only. Use the command @kbd{M-x eldoc-mode} to | 1226 shows the variable's docstring. Eldoc mode applies in Emacs Lisp and |
1227 Lisp Interaction modes only. Use the command @kbd{M-x eldoc-mode} to | |
1225 enable or disable this feature. | 1228 enable or disable this feature. |
1226 | 1229 |
1227 @node Hideshow | 1230 @node Hideshow |
1228 @section Hideshow minor mode | 1231 @section Hideshow minor mode |
1229 | 1232 |
1257 @item C-c @@ C-h | 1260 @item C-c @@ C-h |
1258 Hide the current block (@code{hs-hide-block}). | 1261 Hide the current block (@code{hs-hide-block}). |
1259 @item C-c @@ C-s | 1262 @item C-c @@ C-s |
1260 Show the current block (@code{hs-show-block}). | 1263 Show the current block (@code{hs-show-block}). |
1261 @item C-c @@ C-c | 1264 @item C-c @@ C-c |
1262 Either hide or show the current block (@code{hs-toggle-hiding}) | 1265 Either hide or show the current block (@code{hs-toggle-hiding}). |
1263 @item S-Mouse-2 | 1266 @item S-Mouse-2 |
1264 Either hide or show the block you click on (@code{hs-mouse-toggle-hiding}) | 1267 Either hide or show the block you click on (@code{hs-mouse-toggle-hiding}). |
1265 @item C-c @@ C-M-h | 1268 @item C-c @@ C-M-h |
1266 Hide all top-level blocks (@code{hs-hide-all}). | 1269 Hide all top-level blocks (@code{hs-hide-all}). |
1267 @item C-c @@ C-M-s | 1270 @item C-c @@ C-M-s |
1268 Show everything in the buffer (@code{hs-show-all}). | 1271 Show everything in the buffer (@code{hs-show-all}). |
1269 @item C-c @@ C-l | 1272 @item C-c @@ C-l |
1280 @item hs-hide-comments-when-hiding-all | 1283 @item hs-hide-comments-when-hiding-all |
1281 Non-@code{nil} says that @kbd{hs-hide-all} should hide comments too. | 1284 Non-@code{nil} says that @kbd{hs-hide-all} should hide comments too. |
1282 | 1285 |
1283 @item hs-isearch-open | 1286 @item hs-isearch-open |
1284 Specifies what kind of hidden blocks to open in Isearch mode. | 1287 Specifies what kind of hidden blocks to open in Isearch mode. |
1285 The value should be one of these four symbols. | 1288 The value should be one of these four symbols: |
1286 | 1289 |
1287 @table @code | 1290 @table @code |
1288 @item code | 1291 @item code |
1289 Open only code blocks. | 1292 Open only code blocks. |
1290 @item comment | 1293 @item comment |
1733 | 1736 |
1734 @item C-c C-s | 1737 @item C-c C-s |
1735 @findex c-show-syntactic-information | 1738 @findex c-show-syntactic-information |
1736 @kindex C-c C-s @r{(C mode)} | 1739 @kindex C-c C-s @r{(C mode)} |
1737 Display the syntactic information about the current source line | 1740 Display the syntactic information about the current source line |
1738 (@code{c-show-syntactic-information}). This is the information that | 1741 (@code{c-show-syntactic-information}). This information directs how |
1739 directs how the line is indented. | 1742 the line is indented. |
1740 | 1743 |
1741 @item M-x cwarn-mode | 1744 @item M-x cwarn-mode |
1742 @itemx M-x global-cwarn-mode | 1745 @itemx M-x global-cwarn-mode |
1743 @findex cwarn-mode | 1746 @findex cwarn-mode |
1744 @findex global-cwarn-mode | 1747 @findex global-cwarn-mode |
1956 | 1959 |
1957 @vindex fortran-line-number-indent | 1960 @vindex fortran-line-number-indent |
1958 Line numbers of four digits or less are normally indented one space. | 1961 Line numbers of four digits or less are normally indented one space. |
1959 The variable @code{fortran-line-number-indent} controls this; it | 1962 The variable @code{fortran-line-number-indent} controls this; it |
1960 specifies the maximum indentation a line number can have. Line numbers | 1963 specifies the maximum indentation a line number can have. Line numbers |
1961 are indented to right-justify them to end in column 4 unless that would | 1964 are right-justified to end in column 4 unless that would require more |
1962 require more than this maximum indentation. The default value of the | 1965 than this maximum indentation. The default value of the variable is 1. |
1963 variable is 1. | |
1964 | 1966 |
1965 @vindex fortran-electric-line-number | 1967 @vindex fortran-electric-line-number |
1966 Simply inserting a line number is enough to indent it according to | 1968 Simply inserting a line number is enough to indent it according to |
1967 these rules. As each digit is inserted, the indentation is recomputed. | 1969 these rules. As each digit is inserted, the indentation is recomputed. |
1968 To turn off this feature, set the variable | 1970 To turn off this feature, set the variable |
1969 @code{fortran-electric-line-number} to @code{nil}. Then inserting line | 1971 @code{fortran-electric-line-number} to @code{nil}. |
1970 numbers is like inserting anything else. | 1972 |
1971 | 1973 |
1972 @node ForIndent Conv | 1974 @node ForIndent Conv |
1973 @subsubsection Syntactic Conventions | 1975 @subsubsection Syntactic Conventions |
1974 | 1976 |
1975 Fortran mode assumes that you follow certain conventions that simplify | 1977 Fortran mode assumes that you follow certain conventions that simplify |
2062 unless you have said in advance to do so. To do this, set the variable | 2064 unless you have said in advance to do so. To do this, set the variable |
2063 @code{comment-start} to @samp{"!"} (@pxref{Variables}). | 2065 @code{comment-start} to @samp{"!"} (@pxref{Variables}). |
2064 | 2066 |
2065 @table @kbd | 2067 @table @kbd |
2066 @item M-; | 2068 @item M-; |
2067 Align comment or insert new comment (@code{fortran-comment-indent}). | 2069 Align comment or insert new comment (@code{fortran-indent-comment}). |
2068 | 2070 |
2069 @item C-x ; | 2071 @item C-x ; |
2070 Applies to nonstandard @samp{!} comments only. | 2072 Applies to nonstandard @samp{!} comments only. |
2071 | 2073 |
2072 @item C-c ; | 2074 @item C-c ; |
2073 Turn all lines of the region into comments, or (with argument) turn them back | 2075 Turn all lines of the region into comments, or (with argument) turn them back |
2074 into real code (@code{fortran-comment-region}). | 2076 into real code (@code{fortran-comment-region}). |
2075 @end table | 2077 @end table |
2076 | 2078 |
2077 @kbd{M-;} in Fortran mode is redefined as the command | 2079 @kbd{M-;} in Fortran mode is redefined as the command |
2078 @code{fortran-comment-indent}. Like the usual @kbd{M-;} command, this | 2080 @code{fortran-indent-comment}. Like the usual @kbd{M-;} command, this |
2079 recognizes any kind of existing comment and aligns its text appropriately; | 2081 recognizes any kind of existing comment and aligns its text appropriately; |
2080 if there is no existing comment, a comment is inserted and aligned. But | 2082 if there is no existing comment, a comment is inserted and aligned. But |
2081 inserting and aligning comments are not the same in Fortran mode as in | 2083 inserting and aligning comments are not the same in Fortran mode as in |
2082 other modes. | 2084 other modes. |
2083 | 2085 |
2109 @item relative | 2111 @item relative |
2110 Align the text as if it were a line of code, but with an additional | 2112 Align the text as if it were a line of code, but with an additional |
2111 @code{fortran-comment-line-extra-indent} columns of indentation. | 2113 @code{fortran-comment-line-extra-indent} columns of indentation. |
2112 | 2114 |
2113 @item nil | 2115 @item nil |
2114 Don't move text in full-line comments automatically at all. | 2116 Don't move text in full-line comments automatically. |
2115 @end table | 2117 @end table |
2116 | 2118 |
2117 @vindex fortran-comment-indent-char | 2119 @vindex fortran-comment-indent-char |
2118 In addition, you can specify the character to be used to indent within | 2120 In addition, you can specify the character to be used to indent within |
2119 full-line comments by setting the variable | 2121 full-line comments by setting the variable |
2163 @code{fortran-continuation-string} (@pxref{ForIndent Cont}). This | 2165 @code{fortran-continuation-string} (@pxref{ForIndent Cont}). This |
2164 splitting happens when you type @key{SPC}, @key{RET}, or @key{TAB}, and | 2166 splitting happens when you type @key{SPC}, @key{RET}, or @key{TAB}, and |
2165 also in the Fortran indentation commands. | 2167 also in the Fortran indentation commands. |
2166 | 2168 |
2167 @findex fortran-auto-fill-mode | 2169 @findex fortran-auto-fill-mode |
2168 @kbd{M-x fortran-auto-fill-mode} turns Fortran Auto Fill mode on if it | 2170 @kbd{M-x fortran-auto-fill-mode} toggles Fortran Auto Fill mode, |
2169 was off, or off if it was on. This command works the same as @kbd{M-x | 2171 which is a variant of normal Auto Fill mode (@pxref{Filling}) designed |
2170 auto-fill-mode} does for normal Auto Fill mode (@pxref{Filling}). A | 2172 for Fortran programs. Fortran Auto Fill mode is a buffer-local minor |
2171 positive numeric argument turns Fortran Auto Fill mode on, and a | 2173 mode (@pxref{Minor Modes}). When Fortran Auto Fill mode is in effect, |
2172 negative argument turns it off. You can see when Fortran Auto Fill mode | 2174 the word @samp{Fill} appears in the mode line inside the parentheses. |
2173 is in effect by the presence of the word @samp{Fill} in the mode line, | |
2174 inside the parentheses. Fortran Auto Fill mode is a minor mode, turned | |
2175 on or off for each buffer individually. @xref{Minor Modes}. | |
2176 | 2175 |
2177 @vindex fortran-break-before-delimiters | 2176 @vindex fortran-break-before-delimiters |
2178 Fortran Auto Fill mode breaks lines at spaces or delimiters when the | 2177 Fortran Auto Fill mode breaks lines at spaces or delimiters when the |
2179 lines get longer than the desired width (the value of @code{fill-column}). | 2178 lines get longer than the desired width (the value of @code{fill-column}). |
2180 The delimiters that Fortran Auto Fill mode may break at are @samp{,}, | 2179 The delimiters that Fortran Auto Fill mode may break at are @samp{,}, |
2181 @samp{'}, @samp{+}, @samp{-}, @samp{/}, @samp{*}, @samp{=}, and @samp{)}. | 2180 @samp{'}, @samp{+}, @samp{-}, @samp{/}, @samp{*}, @samp{=}, and @samp{)}. |
2182 The line break comes after the delimiter if the variable | 2181 The line break comes after the delimiter if the variable |
2183 @code{fortran-break-before-delimiters} is @code{nil}. Otherwise (and by | 2182 @code{fortran-break-before-delimiters} is @code{nil}. Otherwise (and by |
2184 default), the break comes before the delimiter. | 2183 default), the break comes before the delimiter. |
2185 | 2184 |
2186 By default, Fortran Auto Fill mode is not enabled. If you want this | 2185 To enable this mode permanently, add a hook function to |
2187 feature turned on permanently, add a hook function to | |
2188 @code{fortran-mode-hook} to execute @code{(fortran-auto-fill-mode 1)}. | 2186 @code{fortran-mode-hook} to execute @code{(fortran-auto-fill-mode 1)}. |
2189 @xref{Hooks}. | 2187 @xref{Hooks}. |
2190 | 2188 |
2191 @node Fortran Columns | 2189 @node Fortran Columns |
2192 @subsection Checking Columns in Fortran | 2190 @subsection Checking Columns in Fortran |
2221 with; but the positions they indicate in the line are standard for | 2219 with; but the positions they indicate in the line are standard for |
2222 Fortran. | 2220 Fortran. |
2223 | 2221 |
2224 @vindex fortran-column-ruler-fixed | 2222 @vindex fortran-column-ruler-fixed |
2225 @vindex fortran-column-ruler-tabs | 2223 @vindex fortran-column-ruler-tabs |
2226 The text used to display the column ruler depends on the value of | 2224 The text used to display the column ruler depends on the value of the |
2227 the variable @code{indent-tabs-mode}. If @code{indent-tabs-mode} is | 2225 variable @code{indent-tabs-mode}. If @code{indent-tabs-mode} is |
2228 @code{nil}, then the value of the variable | 2226 @code{nil}, then the value of the variable |
2229 @code{fortran-column-ruler-fixed} is used as the column ruler. | 2227 @code{fortran-column-ruler-fixed} is used as the column ruler. |
2230 Otherwise, the variable @code{fortran-column-ruler-tab} is displayed. | 2228 Otherwise, the value of the variable @code{fortran-column-ruler-tab} is |
2231 By changing these variables, you can change the column ruler display. | 2229 displayed. By changing these variables, you can change the column ruler |
2230 display. | |
2232 | 2231 |
2233 @kindex C-c C-w @r{(Fortran mode)} | 2232 @kindex C-c C-w @r{(Fortran mode)} |
2234 @findex fortran-window-create-momentarily | 2233 @findex fortran-window-create-momentarily |
2235 @kbd{C-c C-w} (@code{fortran-window-create-momentarily}) temporarily | 2234 @kbd{C-c C-w} (@code{fortran-window-create-momentarily}) temporarily |
2236 splits the current window horizontally, making a window 72 columns | 2235 splits the current window horizontally, making a window 72 columns |