From 53511f91473be97c327b484b950cc469564895d2 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Wed, 14 Feb 2018 21:00:59 +0200 Subject: [PATCH] Another set of changes for the manual * doc/emacs/programs.texi (Program Indent): Add a cross-reference to elisp's description of 'pp'. (Program Modes): Add a few more programming modes. Add index entries. (Basic Indent, Multi-line Indent, C Indent, Comment Commands) (Manipulating Comments): Fix markup of keyboard commands. * doc/emacs/search.texi (Regexps): Add an example with non-ASCII characters. Suggested by Michael Albinus in emacs-manual-bugs@gnu.org. * doc/lispref/display.texi (Display Tables): Fix the description of the 5th extra slot of the display table. (Bug#13473) * doc/emacs/regs.texi (Registers): Simplify wording. * doc/emacs/custom.texi (Init Non-ASCII): Remove outdated text about perils of encoded keyboard input. --- doc/emacs/custom.texi | 8 ---- doc/emacs/programs.texi | 87 ++++++++++++++++++++++------------------ doc/emacs/regs.texi | 2 +- doc/emacs/search.texi | 4 +- doc/lispref/display.texi | 21 ++++++---- 5 files changed, 65 insertions(+), 57 deletions(-) diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index e27760b3796..2726690f09f 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi @@ -2567,11 +2567,3 @@ instance: @noindent Type @kbd{C-q}, followed by the key you want to bind, to insert @var{char}. - - @strong{Warning:} if you change the keyboard encoding, or change -between multibyte and unibyte mode, or anything that would alter which -code @kbd{C-q} would insert for that character, this key binding may -stop working. It is therefore advisable to use one and only one -coding system, for your init file as well as the files you edit. For -example, don't mix the @samp{latin-1} and @samp{latin-9} coding -systems. diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index 42891245451..3944ce46071 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi @@ -73,23 +73,27 @@ mode for the C programming language is @code{c-mode}. @cindex Python mode @cindex Ruby mode @cindex Simula mode +@cindex Verilog mode @cindex VHDL mode @cindex M4 mode @cindex Shell-script mode +@cindex Scheme mode @cindex OPascal mode @cindex PostScript mode @cindex Conf mode @cindex DNS mode @cindex Javascript mode +@cindex Awk mode Emacs has programming language modes for Lisp, Scheme, the Scheme-based DSSSL expression language, Ada, ASM, AWK, C, C++, Fortran, Icon, IDL (CORBA), IDLWAVE, Java, Javascript, Metafont -(@TeX{}'s companion for font creation), Modula2, Object Pascal, Objective-C, -Octave, Pascal, Perl, Pike, PostScript, Prolog, Python, Ruby, Simula, Tcl, -and VHDL@. An alternative mode for Perl is called CPerl mode. Modes are -also available for the scripting languages of the common GNU and Unix -shells, and MS-DOS/MS-Windows @samp{BAT} files, and for makefiles, -DNS master files, and various sorts of configuration files. +(@TeX{}'s companion for font creation), Modula2, Object Pascal, +Objective-C, Octave, Pascal, Perl, Pike, PostScript, Prolog, Python, +Ruby, Simula, SQL, Tcl, Verilog, and VHDL@. An alternative mode for +Perl is called CPerl mode. Modes are also available for the scripting +languages of the common GNU and Unix shells, and MS-DOS/MS-Windows +@samp{BAT} files, and for makefiles, DNS master files, and various +sorts of configuration files. Ideally, Emacs should have a major mode for each programming language that you might want to edit. If it doesn't have a mode for @@ -100,12 +104,13 @@ distributed with Emacs (@pxref{Packages}); or you can contribute one. @findex backward-delete-char-untabify In most programming languages, indentation should vary from line to line to illustrate the structure of the program. Therefore, in most -programming language modes, typing @key{TAB} updates the indentation -of the current line (@pxref{Program Indent}). Furthermore, @key{DEL} -is usually bound to @code{backward-delete-char-untabify}, which -deletes backward treating each tab as if it were the equivalent number -of spaces, so that you can delete one column of indentation without -worrying whether the whitespace consists of spaces or tabs. +programming language modes, typing @kbd{@key{TAB}} updates the +indentation of the current line (@pxref{Program Indent}). +Furthermore, @kbd{@key{DEL}} is usually bound to +@code{backward-delete-char-untabify}, which deletes backward treating +each tab as if it were the equivalent number of spaces, so that you +can delete one column of indentation without worrying whether the +whitespace consists of spaces or tabs. @cindex mode hook, and major modes @vindex c-mode-hook @@ -122,13 +127,14 @@ For instance, entering C mode runs the hooks @code{prog-mode-hook} and @ifnottex Separate manuals are available for the modes for Ada (@pxref{Top,, Ada Mode, ada-mode, Ada Mode}), C/C++/Objective C/Java/Corba -IDL/Pike/AWK (@pxref{Top, , CC Mode, ccmode, CC Mode}), and IDLWAVE -(@pxref{Top,, IDLWAVE, idlwave, IDLWAVE User Manual}). +IDL/Pike/AWK (@pxref{Top, , CC Mode, ccmode, CC Mode}), Octave, VHDL, +and IDLWAVE (@pxref{Top,, IDLWAVE, idlwave, IDLWAVE User Manual}). @end ifnottex @iftex The Emacs distribution contains Info manuals for the major modes for -Ada, C/C++/Objective C/Java/Corba IDL/Pike/AWK, and IDLWAVE@. For -Fortran mode, @pxref{Fortran,,, emacs-xtra, Specialized Emacs Features}. +Ada, C/C++/Objective C/Java/Corba IDL/Pike/AWK, Octave, VHDL, and +IDLWAVE@. For Fortran mode, @pxref{Fortran,,, emacs-xtra, Specialized +Emacs Features}. @end iftex @node Defuns @@ -362,6 +368,7 @@ language modes. @cindex pretty-printer Emacs also provides a Lisp pretty-printer in the @code{pp} package, which reformats Lisp objects with nice-looking indentation. +@xref{Output Functions, pp,, elisp, The Emacs Lisp Reference Manual}. @node Basic Indent @subsection Basic Program Indentation Commands @@ -376,16 +383,18 @@ Insert a newline, then adjust indentation of following line @kindex TAB @r{(programming modes)} @findex indent-line-function - The basic indentation command is @key{TAB} + The basic indentation command is @kbd{@key{TAB}} (@code{indent-for-tab-command}), which was documented in -@ref{Indentation}. In programming language modes, @key{TAB} indents -the current line, based on the indentation and syntactic content of -the preceding lines; if the region is active, @key{TAB} indents each -line within the region, not just the current line. +@ref{Indentation}. In programming language modes, @kbd{@key{TAB}} +indents the current line, based on the indentation and syntactic +content of the preceding lines; if the region is active, +@kbd{@key{TAB}} indents each line within the region, not just the +current line. - The command @key{RET} (@code{newline}), which was documented in -@ref{Inserting Text}, does the same as @kbd{C-j} followed by -@key{TAB}: it inserts a new line, then adjusts the line's indentation. + The command @kbd{@key{RET}} (@code{newline}), which was documented +in @ref{Inserting Text}, does the same as @kbd{C-j} followed by +@kbd{@key{TAB}}: it inserts a new line, then adjusts the line's +indentation. When indenting a line that starts within a parenthetical grouping, Emacs usually places the start of the line under the preceding line @@ -406,7 +415,7 @@ Paren}. Sometimes, you may want to reindent several lines of code at a time. One way to do this is to use the mark; when the mark is active and the -region is non-empty, @key{TAB} indents every line in the region. +region is non-empty, @kbd{@key{TAB}} indents every line in the region. Alternatively, the command @kbd{C-M-\} (@code{indent-region}) indents every line in the region, whether or not the mark is active (@pxref{Indentation Commands}). @@ -434,19 +443,19 @@ grouping, without affecting its overall indentation (i.e., the indentation of the line where the grouping starts). The function that @kbd{C-M-q} runs depends on the major mode; it is @code{indent-pp-sexp} in Lisp mode, @code{c-indent-exp} in C mode, -etc. To correct the overall indentation as well, type @key{TAB} +etc. To correct the overall indentation as well, type @kbd{@key{TAB}} first. @kindex C-u TAB If you like the relative indentation within a grouping but not the indentation of its first line, move point to that first line and type @kbd{C-u @key{TAB}}. In Lisp, C, and some other major modes, -@key{TAB} with a numeric argument reindents the current line as usual, -then reindents by the same amount all the lines in the parenthetical -grouping starting on the current line. It is clever, though, and does -not alter lines that start inside strings. Neither does it alter C -preprocessor lines when in C mode, but it does reindent any -continuation lines that may be attached to them. +@kbd{@key{TAB}} with a numeric argument reindents the current line as +usual, then reindents by the same amount all the lines in the +parenthetical grouping starting on the current line. It is clever, +though, and does not alter lines that start inside strings. Neither +does it alter C preprocessor lines when in C mode, but it does +reindent any continuation lines that may be attached to them. @findex indent-code-rigidly The command @kbd{M-x indent-code-rigidly} rigidly shifts all the @@ -488,7 +497,7 @@ expression. You can override the standard pattern in various ways for individual functions, according to the @code{lisp-indent-function} property of the function name. This is normally done for macro definitions, using -the @code{declare} construct. @xref{Defining Macros,,, elisp, the +the @code{declare} construct. @xref{Defining Macros,,, elisp, The Emacs Lisp Reference Manual}. @node C Indent @@ -496,7 +505,7 @@ Emacs Lisp Reference Manual}. Here are special features for indentation in C mode and related modes: -@table @code +@table @kbd @item C-c C-q @kindex C-c C-q @r{(C mode)} @findex c-indent-defun @@ -919,8 +928,8 @@ comments. For example, in Lisp code, comments starting with two semicolons are indented as if they were lines of code, while those starting with three semicolons are supposed to be aligned to the left margin and are often used for sectioning purposes. Emacs understand -these conventions; for instance, typing @key{TAB} on a comment line -will indent the comment to the appropriate position. +these conventions; for instance, typing @kbd{@key{TAB}} on a comment +line will indent the comment to the appropriate position. @example ;; This function is just an example. @@ -956,7 +965,7 @@ Kill comment on current line (@code{comment-kill}). Set comment column (@code{comment-set-column}). @item @kbd{C-M-j} @itemx @kbd{M-j} -Like @key{RET} followed by inserting and aligning a comment +Like @kbd{@key{RET}} followed by inserting and aligning a comment (@code{comment-indent-new-line}). @xref{Multi-Line Comments}. @item @kbd{M-x comment-region} @itemx @kbd{C-c C-c} (in C-like modes) @@ -986,8 +995,8 @@ negative argument @var{-n} removes @var{n} delimiters. current line, @kbd{M-;} adds a new comment to the current line. If the line is blank (i.e., empty or containing only whitespace characters), the comment is indented to the same position where -@key{TAB} would indent to (@pxref{Basic Indent}). If the line is -non-blank, the comment is placed after the last non-whitespace +@kbd{@key{TAB}} would indent to (@pxref{Basic Indent}). If the line +is non-blank, the comment is placed after the last non-whitespace character on the line; normally, Emacs tries putting it at the column specified by the variable @code{comment-column} (@pxref{Options for Comments}), but if the line already extends past that column, it puts diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi index dd9e4d7cc7c..8ff36ca554d 100644 --- a/doc/emacs/regs.texi +++ b/doc/emacs/regs.texi @@ -18,7 +18,7 @@ or a number (such as @samp{1}); case matters, so register @samp{a} is not the same as register @samp{A}. You can also set a register in non-alphanumeric characters, for instance @samp{*} or @samp{C-d}. Note, it's not possible to set a register in @samp{C-g} or @samp{ESC}, -because these keys are reserved to terminate interactive commands. +because these keys are reserved for quitting (@pxref{Quitting}). @findex view-register A register can store a position, a piece of text, a rectangle, a diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 51a06851977..319f64fbae1 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi @@ -1,3 +1,4 @@ +@c -*- coding: utf-8 -*- @c This is part of the Emacs manual. @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2018 Free Software @c Foundation, Inc. @@ -902,7 +903,8 @@ starting and ending characters with a @samp{-} between them. Thus, @samp{[a-z]} matches any lower-case @acronym{ASCII} letter. Ranges may be intermixed freely with individual characters, as in @samp{[a-z$%.]}, which matches any lower-case @acronym{ASCII} letter or @samp{$}, @samp{%} or -period. +period. As another example, @samp{[α-ωί]} matches all lower-case +Greek letters. You can also include certain special @dfn{character classes} in a character set. A @samp{[:} and balancing @samp{:]} enclose a diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 7bf03b8558e..64b8c0a22fa 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -6966,14 +6966,16 @@ means to use the default for that slot, as stated below. @table @asis @item 0 The glyph for the end of a truncated screen line (the default for this -is @samp{$}). @xref{Glyphs}. On graphical terminals, Emacs uses -arrows in the fringes to indicate truncation, so the display table has -no effect. +is @samp{$}). @xref{Glyphs}. On graphical terminals, Emacs by +default uses arrows in the fringes to indicate truncation, so the +display table has no effect, unless you disable the fringes +(@pxref{Fringes,, Window Fringes, emacs, the Gnu Emacs Manual}). @item 1 The glyph for the end of a continued line (the default is @samp{\}). -On graphical terminals, Emacs uses curved arrows in the fringes to -indicate continuation, so the display table has no effect. +On graphical terminals, Emacs by default uses curved arrows in the +fringes to indicate continuation, so the display table has no effect, +unless you disable the fringes. @item 2 The glyph for indicating a character displayed as an octal character @@ -6988,9 +6990,12 @@ default is @samp{...}). @xref{Selective Display}. @item 5 The glyph used to draw the border between side-by-side windows (the -default is @samp{|}). @xref{Splitting Windows}. This takes effect only -when there are no scroll bars; if scroll bars are supported and in use, -a scroll bar separates the two windows. +default is @samp{|}). @xref{Splitting Windows}. This currently has +effect only on text terminals; on graphical terminals, if vertical +scroll bars are supported and in use, a scroll bar separates the two +windows, and if there are no vertical scroll bars and no dividers +(@pxref{Window Dividers}), Emacs uses a thin line to indicate the +border. @end table For example, here is how to construct a display table that mimics -- 2.39.2