17 |
Apply the usual indentation conventions of the language |
Apply the usual indentation conventions of the language |
18 |
(@pxref{Program Indent}). |
(@pxref{Program Indent}). |
19 |
@item |
@item |
|
Insert, kill or align comments (@pxref{Comments}). |
|
|
@item |
|
20 |
Balance parentheses (@pxref{Parentheses}). |
Balance parentheses (@pxref{Parentheses}). |
21 |
@item |
@item |
22 |
|
Insert, kill or align comments (@pxref{Comments}). |
23 |
|
@item |
24 |
Highlight program syntax (@pxref{Font Lock}). |
Highlight program syntax (@pxref{Font Lock}). |
25 |
@end itemize |
@end itemize |
26 |
|
|
81 |
@cindex PostScript mode |
@cindex PostScript mode |
82 |
The existing programming language major modes include Lisp, Scheme (a |
The existing programming language major modes include Lisp, Scheme (a |
83 |
variant of Lisp) and the Scheme-based DSSSL expression language, Ada, |
variant of Lisp) and the Scheme-based DSSSL expression language, Ada, |
84 |
AWK, C, C++, Delphi (Object Pascal), Fortran (free format and fixed |
ASM, AWK, C, C++, Delphi (Object Pascal), Fortran (free format and fixed |
85 |
format), Icon, IDL (CORBA), IDLWAVE, Java, Metafont (@TeX{}'s |
format), Icon, IDL (CORBA), IDLWAVE, Java, Metafont (@TeX{}'s |
86 |
companion for font creation), Modula2, Objective-C, Octave, Pascal, |
companion for font creation), Modula2, Objective-C, Octave, Pascal, |
87 |
Perl, Pike, PostScript, Prolog, Simula, Tcl, and VHDL. There is |
Perl, Pike, PostScript, Prolog, Simula, Tcl, and VHDL. There is |
316 |
@vindex which-func-modes |
@vindex which-func-modes |
317 |
To enable (or disable) Which Function mode, use the command @kbd{M-x |
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 |
which-function-mode}. This command is global; it applies to all |
319 |
buffers, both existing ones and those yet to be created. However, |
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 |
takes effect in only certain major modes, those listed in the value of |
321 |
@code{which-func-modes}. If the value is @code{t}, then Which |
@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 |
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. |
words, all the major modes that support Imenu. |
324 |
|
|
325 |
@node Program Indent |
@node Program Indent |
326 |
@section Indentation for Programs |
@section Indentation for Programs |
428 |
positioning point before the beginning of it and typing @kbd{C-M-q} |
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 |
(@code{indent-sexp} in Lisp mode, @code{c-indent-exp} in C mode; also |
430 |
bound to other suitable commands in other modes). The indentation of |
bound to other suitable commands in other modes). The indentation of |
431 |
the line where the grouping starts is not changed; therefore, this |
the line where the grouping starts is not changed; therefore it |
432 |
changes only the relative indentation within the grouping, not its |
changes only the relative indentation within the grouping, not its |
433 |
overall indentation. To correct that as well, type @key{TAB} first. |
overall indentation. To correct that as well, type @key{TAB} first. |
434 |
|
|
638 |
@item C-M-f |
@item C-M-f |
639 |
Move forward over a balanced expression (@code{forward-sexp}). |
Move forward over a balanced expression (@code{forward-sexp}). |
640 |
@item C-M-b |
@item C-M-b |
641 |
Move backward over a balanced expression(@code{backward-sexp}). |
Move backward over a balanced expression (@code{backward-sexp}). |
642 |
@item C-M-k |
@item C-M-k |
643 |
Kill balanced expression forward (@code{kill-sexp}). |
Kill balanced expression forward (@code{kill-sexp}). |
644 |
@item C-M-t |
@item C-M-t |
746 |
@item C-M-n |
@item C-M-n |
747 |
Move forward over a parenthetical group (@code{forward-list}). |
Move forward over a parenthetical group (@code{forward-list}). |
748 |
@item C-M-p |
@item C-M-p |
749 |
Move backward over a parenthetical group(@code{backward-list}). |
Move backward over a parenthetical group (@code{backward-list}). |
750 |
@item C-M-u |
@item C-M-u |
751 |
Move up in parenthesis structure (@code{backward-up-list}). |
Move up in parenthesis structure (@code{backward-up-list}). |
752 |
@item C-M-d |
@item C-M-d |
1142 |
program.}. Unlike @kbd{M-x man}, it does not run any external |
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 |
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 |
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 |
@code{man} program (and other programs it uses) are not generally |
1146 |
available. |
available. |
1147 |
|
|
1148 |
@kbd{M-x woman} prompts for a name of a manual page, and provides |
@kbd{M-x woman} prompts for a name of a manual page, and provides |
1259 |
@item C-c @@ C-s |
@item C-c @@ C-s |
1260 |
Show the current block (@code{hs-show-block}). |
Show the current block (@code{hs-show-block}). |
1261 |
@item C-c @@ C-c |
@item C-c @@ C-c |
1262 |
Either hide or show the current block (@code{hs-toggle-hiding}) |
Either hide or show the current block (@code{hs-toggle-hiding}). |
1263 |
@item S-Mouse-2 |
@item S-Mouse-2 |
1264 |
Either hide or show the block you click on (@code{hs-mouse-toggle-hiding}) |
Either hide or show the block you click on (@code{hs-mouse-toggle-hiding}). |
1265 |
@item C-c @@ C-M-h |
@item C-c @@ C-M-h |
1266 |
Hide all top-level blocks (@code{hs-hide-all}). |
Hide all top-level blocks (@code{hs-hide-all}). |
1267 |
@item C-c @@ C-M-s |
@item C-c @@ C-M-s |
1282 |
|
|
1283 |
@item hs-isearch-open |
@item hs-isearch-open |
1284 |
Specifies what kind of hidden blocks to open in Isearch mode. |
Specifies what kind of hidden blocks to open in Isearch mode. |
1285 |
The value should be one of these four symbols. |
The value should be one of these four symbols: |
1286 |
|
|
1287 |
@table @code |
@table @code |
1288 |
@item code |
@item code |
1958 |
Line numbers of four digits or less are normally indented one space. |
Line numbers of four digits or less are normally indented one space. |
1959 |
The variable @code{fortran-line-number-indent} controls this; it |
The variable @code{fortran-line-number-indent} controls this; it |
1960 |
specifies the maximum indentation a line number can have. Line numbers |
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 |
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 |
than this maximum indentation. The default value of the variable is 1. |
|
variable is 1. |
|
1963 |
|
|
1964 |
@vindex fortran-electric-line-number |
@vindex fortran-electric-line-number |
1965 |
Simply inserting a line number is enough to indent it according to |
Simply inserting a line number is enough to indent it according to |
1966 |
these rules. As each digit is inserted, the indentation is recomputed. |
these rules. As each digit is inserted, the indentation is recomputed. |
1967 |
To turn off this feature, set the variable |
To turn off this feature, set the variable |
1968 |
@code{fortran-electric-line-number} to @code{nil}. Then inserting line |
@code{fortran-electric-line-number} to @code{nil}. |
1969 |
numbers is like inserting anything else. |
|
1970 |
|
|
1971 |
@node ForIndent Conv |
@node ForIndent Conv |
1972 |
@subsubsection Syntactic Conventions |
@subsubsection Syntactic Conventions |
2110 |
@code{fortran-comment-line-extra-indent} columns of indentation. |
@code{fortran-comment-line-extra-indent} columns of indentation. |
2111 |
|
|
2112 |
@item nil |
@item nil |
2113 |
Don't move text in full-line comments automatically at all. |
Don't move text in full-line comments automatically. |
2114 |
@end table |
@end table |
2115 |
|
|
2116 |
@vindex fortran-comment-indent-char |
@vindex fortran-comment-indent-char |
2222 |
|
|
2223 |
@vindex fortran-column-ruler-fixed |
@vindex fortran-column-ruler-fixed |
2224 |
@vindex fortran-column-ruler-tabs |
@vindex fortran-column-ruler-tabs |
2225 |
The text used to display the column ruler depends on the value of |
The text used to display the column ruler depends on the value of the |
2226 |
the variable @code{indent-tabs-mode}. If @code{indent-tabs-mode} is |
variable @code{indent-tabs-mode}. If @code{indent-tabs-mode} is |
2227 |
@code{nil}, then the value of the variable |
@code{nil}, then the value of the variable |
2228 |
@code{fortran-column-ruler-fixed} is used as the column ruler. |
@code{fortran-column-ruler-fixed} is used as the column ruler. |
2229 |
Otherwise, the variable @code{fortran-column-ruler-tab} is displayed. |
Otherwise, the value of the variable @code{fortran-column-ruler-tab} is |
2230 |
By changing these variables, you can change the column ruler display. |
displayed. By changing these variables, you can change the column ruler |
2231 |
|
display. |
2232 |
|
|
2233 |
@kindex C-c C-w @r{(Fortran mode)} |
@kindex C-c C-w @r{(Fortran mode)} |
2234 |
@findex fortran-window-create-momentarily |
@findex fortran-window-create-momentarily |