mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-21 06:55:39 +00:00
Merge from savannah/emacs-30
c66bda1a19
Improve treesit-node-child-by-field-name docstring85773ab977
Minor copyedits in tree-sitter starting guide2dacec1609
Update tag for prebuilt tree-sitter grammars68615a3866
Fix punctuation and doc style in treesit.c00adee897a
; Fix punctuation in docsab29b28d4b
Fix DocView with PostScript files
This commit is contained in:
commit
6d22bd4d3a
@ -34,10 +34,9 @@ merged) and rebuild Emacs.
|
||||
|
||||
* Install language definitions
|
||||
|
||||
Tree-sitter by itself doesn’t know how to parse any particular
|
||||
language. We need to install language definitions (or “grammars”) for
|
||||
a language to be able to parse it. There are a couple of ways to get
|
||||
them.
|
||||
Tree-sitter by itself doesn’t know how to parse any particular language.
|
||||
We need to install language definitions (or “grammars”) for a language
|
||||
to be able to parse it. There are a couple of ways to get them.
|
||||
|
||||
You can use this script that I put together here:
|
||||
|
||||
@ -48,9 +47,9 @@ C++, Rust, JSON, Go, HTML, JavaScript, CSS, Python, Typescript,
|
||||
C#, etc. Better yet, I pre-built these language definitions for
|
||||
GNU/Linux and macOS, they can be downloaded here:
|
||||
|
||||
https://github.com/casouri/tree-sitter-module/releases/tag/v2.1
|
||||
https://github.com/casouri/tree-sitter-module/releases/tag/v2.4
|
||||
|
||||
To build them yourself, run
|
||||
To build them yourself, run:
|
||||
|
||||
git clone git@github.com:casouri/tree-sitter-module.git
|
||||
cd tree-sitter-module
|
||||
@ -73,26 +72,25 @@ automatically download and compile the language grammar for you.
|
||||
|
||||
* Setting up for adding major mode features
|
||||
|
||||
Start Emacs and load tree-sitter with
|
||||
Start Emacs and load tree-sitter with:
|
||||
|
||||
(require 'treesit)
|
||||
|
||||
Now check if Emacs is built with tree-sitter library
|
||||
Now check if Emacs is built with tree-sitter library:
|
||||
|
||||
(treesit-available-p)
|
||||
|
||||
Make sure Emacs can find the language grammar you want to use
|
||||
Make sure Emacs can find the language grammar you want to use:
|
||||
|
||||
(treesit-language-available-p 'lang)
|
||||
|
||||
* Tree-sitter major modes
|
||||
|
||||
Tree-sitter modes should be separate major modes, so other modes
|
||||
inheriting from the original mode don't break if tree-sitter is
|
||||
enabled. For example js2-mode inherits js-mode, we can't enable
|
||||
tree-sitter in js-mode, lest js-mode would not setup things that
|
||||
js2-mode expects to inherit from. So it's best to use separate major
|
||||
modes.
|
||||
inheriting from the original mode don't break if tree-sitter is enabled.
|
||||
For example js2-mode inherits js-mode, we can't enable tree-sitter in
|
||||
js-mode, lest js-mode would not setup things that js2-mode expects to
|
||||
inherit from. So it's best to use separate major modes.
|
||||
|
||||
If the tree-sitter variant and the "native" variant could share some
|
||||
setup, you can create a "base mode", which only contains the common
|
||||
@ -119,19 +117,18 @@ you. The query function returns a list of (capture-name . node). For
|
||||
font-lock, we use face names as capture names. And the captured node
|
||||
will be fontified in their capture name.
|
||||
|
||||
The capture name could also be a function, in which case (NODE
|
||||
OVERRIDE START END) is passed to the function for fontification. START
|
||||
and END are the start and end of the region to be fontified. The
|
||||
function should only fontify within that region. The function should
|
||||
also allow more optional arguments with (&rest _), for future
|
||||
extensibility. For OVERRIDE check out the docstring of
|
||||
treesit-font-lock-rules.
|
||||
The capture name could also be a function, in which case (NODE OVERRIDE
|
||||
START END) is passed to the function for fontification. START and END
|
||||
are the start and end of the region to be fontified. The function
|
||||
should only fontify within that region. The function should also allow
|
||||
more optional arguments with (&rest _), for future extensibility. For
|
||||
OVERRIDE check out the docstring of treesit-font-lock-rules.
|
||||
|
||||
** Query syntax
|
||||
|
||||
There are two types of nodes, named, like (identifier),
|
||||
(function_definition), and anonymous, like "return", "def", "(",
|
||||
"}". Parent-child relationship is expressed as
|
||||
"}". Parent-child relationship is expressed as:
|
||||
|
||||
(parent (child) (child) (child (grand_child)))
|
||||
|
||||
@ -155,8 +152,7 @@ The query above captures both parent and child.
|
||||
|
||||
["return" "continue" "break"] @keyword
|
||||
|
||||
The query above captures all the keywords with capture name
|
||||
"keyword".
|
||||
The query above captures all the keywords with capture name "keyword".
|
||||
|
||||
These are the common syntax, see all of them in the manual
|
||||
("Parsing Program Source" section).
|
||||
@ -168,7 +164,7 @@ open any python source file, type M-x treesit-explore-mode RET. Now
|
||||
you should see the parse-tree in a separate window, automatically
|
||||
updated as you select text or edit the buffer. Besides this, you can
|
||||
consult the grammar of the language definition. For example, Python’s
|
||||
grammar file is at
|
||||
grammar file is at:
|
||||
|
||||
https://github.com/tree-sitter/tree-sitter-python/blob/master/grammar.js
|
||||
|
||||
@ -262,7 +258,7 @@ Concretely, something like this:
|
||||
|
||||
* Indent
|
||||
|
||||
Indent works like this: We have a bunch of rules that look like
|
||||
Indent works like this: We have a bunch of rules that look like:
|
||||
|
||||
(MATCHER ANCHOR OFFSET)
|
||||
|
||||
@ -354,9 +350,8 @@ Set ‘treesit-simple-imenu-settings’ and call
|
||||
|
||||
* Navigation
|
||||
|
||||
Set ‘treesit-defun-type-regexp’ and call
|
||||
‘treesit-major-mode-setup’. You can additionally set
|
||||
‘treesit-defun-name-function’.
|
||||
Set ‘treesit-defun-type-regexp’ and call ‘treesit-major-mode-setup’.
|
||||
You can additionally set ‘treesit-defun-name-function’.
|
||||
|
||||
* Which-func
|
||||
|
||||
@ -404,13 +399,12 @@ BTW ‘treesit-node-string’ does different things.
|
||||
* Manual
|
||||
|
||||
I suggest you read the manual section for tree-sitter in Info. The
|
||||
section is Parsing Program Source. Typing
|
||||
section is Parsing Program Source. Typing:
|
||||
|
||||
C-h i d m elisp RET g Parsing Program Source RET
|
||||
|
||||
will bring you to that section. You don’t need to read through every
|
||||
sentence, just read the text paragraphs and glance over function
|
||||
names.
|
||||
sentence, just read the text paragraphs and glance over function names.
|
||||
|
||||
* Appendix 1
|
||||
|
||||
|
@ -2044,7 +2044,7 @@ sequences. For example, to bind @kbd{C-c h} to the string
|
||||
@end example
|
||||
|
||||
Non-@acronym{ASCII} characters can be specified directly in the
|
||||
string. To bind to e.g. @samp{ol@'a}, use:
|
||||
string. To bind to e.g. @samp{ol@'a}, use:
|
||||
|
||||
@example
|
||||
(keymap-global-set "C-c h" (key-description "ol@'a"))
|
||||
|
@ -2198,7 +2198,7 @@ The line numbers are displayed in a special face @code{line-number}.
|
||||
The current line number is displayed in a different face,
|
||||
@code{line-number-current-line}, so you can make the current line's
|
||||
number have a distinct appearance, which will help locating the line
|
||||
showing point. Additional faces @code{line-number-major-tick} and
|
||||
showing point. Additional faces @code{line-number-major-tick} and
|
||||
@code{line-number-minor-tick} can be used to highlight the line numbers
|
||||
of lines which are a multiple of certain numbers. Customize
|
||||
@code{display-line-numbers-major-tick} and
|
||||
|
@ -124,7 +124,7 @@ check the outermost block since that may be incomplete.
|
||||
@findex f90-beginning-of-block
|
||||
@item C-M-p
|
||||
Move to the start of the current code block
|
||||
(@code{fortran-beginning-of-block}/@code{f90-beginning-of-block}). This
|
||||
(@code{fortran-beginning-of-block}/@code{f90-beginning-of-block}). This
|
||||
is like @code{fortran-end-of-block}, but moves backwards.
|
||||
@end table
|
||||
|
||||
|
@ -1543,7 +1543,7 @@ After customizing the variable @code{tab-bar-select-tab-modifiers} to
|
||||
specify one or more @var{modifier} keys, you can select a tab by its
|
||||
ordinal number using one of the specified modifiers in combination
|
||||
with the tab number to select. The number 9 can be used to select the
|
||||
last tab. You can select any modifiers supported by Emacs,
|
||||
last tab. You can select any modifiers supported by Emacs,
|
||||
@pxref{Modifier Keys}. To display the tab number alongside the tab
|
||||
name, you can customize another variable @code{tab-bar-tab-hints}.
|
||||
This will help you decide which numerical key to press to select the
|
||||
|
@ -1488,7 +1488,7 @@ the Emacs Lisp Reference Manual
|
||||
@cindex coding standards for Emacs submissions
|
||||
|
||||
Contributed code should follow the GNU Coding Standards
|
||||
@url{https://www.gnu.org/prep/standards/}. This may also be available
|
||||
@url{https://www.gnu.org/prep/standards/}. This may also be available
|
||||
in info on your system.
|
||||
|
||||
If it doesn't, we'll need to find someone to fix the code before we
|
||||
|
@ -177,7 +177,7 @@ current directory as a tag named @var{name}
|
||||
@findex vc-retrieve-tag
|
||||
@item C-x v r @var{name} @key{RET}
|
||||
For all registered files at or below the current directory level,
|
||||
retrieve the tagged revision @var{name}. This command will switch to a
|
||||
retrieve the tagged revision @var{name}. This command will switch to a
|
||||
branch if @var{name} is a branch name and your VCS distinguishes
|
||||
branches from tags. (@code{vc-retrieve-tag}).
|
||||
|
||||
|
@ -130,7 +130,7 @@ Boston, MA 02110-1301 USA
|
||||
@end iftex
|
||||
|
||||
@ifnottex
|
||||
Printed copies available from @uref{https://shop.fsf.org/}. Published by:
|
||||
Printed copies available from @uref{https://shop.fsf.org/}. Published by:
|
||||
|
||||
@example
|
||||
GNU Press, https://www.fsf.org/licensing/gnu-press/
|
||||
@ -1969,7 +1969,7 @@ argument is the string of characters, the second and third arguments
|
||||
are numbers that indicate the beginning (inclusive) and end
|
||||
(exclusive) of the substring. The numbers are a count of the number
|
||||
of characters (including spaces and punctuation) from the beginning of
|
||||
the string. Note that the characters in a string are numbered from
|
||||
the string. Note that the characters in a string are numbered from
|
||||
zero, not one.
|
||||
|
||||
@need 800
|
||||
@ -5314,7 +5314,7 @@ Looking at the @code{let*} expression in @code{append-to-buffer}:
|
||||
|
||||
@noindent
|
||||
we see that @code{append-to} is bound to the value returned by the
|
||||
@w{@code{(get-buffer-create buffer)}}. On the next line,
|
||||
@w{@code{(get-buffer-create buffer)}}. On the next line,
|
||||
@code{append-to} is used as an argument to
|
||||
@code{get-buffer-window-list}; this would not be possible with the
|
||||
@code{let} expression. Note that @code{point} is automatically bound
|
||||
@ -16099,7 +16099,7 @@ placing point somewhere in the buffer, typing @kbd{M-:}, typing the
|
||||
and then typing @key{RET}. This causes Emacs to evaluate the
|
||||
expression in the minibuffer, but to use as the value of point the
|
||||
position of point in the @file{*scratch*} buffer. (@kbd{M-:} is the
|
||||
key binding for @code{eval-expression}. Also, @code{nil} does not
|
||||
key binding for @code{eval-expression}. Also, @code{nil} does not
|
||||
appear in the @file{*scratch*} buffer since the expression is
|
||||
evaluated in the minibuffer.)
|
||||
|
||||
|
@ -1741,7 +1741,7 @@ this is @code{nil}.
|
||||
@item @var{dx}, @var{dy}
|
||||
These are the pixel offsets of the click relative to the top left
|
||||
corner of the @var{object}'s glyph that is the nearest one to the
|
||||
click. The relevant @var{object}s can be either a buffer, or a string,
|
||||
click. The relevant @var{object}s can be either a buffer, or a string,
|
||||
or an image, see above. If @var{object} is @code{nil} or a string,
|
||||
the coordinates are relative to the top left corner of the character
|
||||
glyph clicked on. Note that the offsets are always zero on text-mode
|
||||
|
@ -2771,7 +2771,7 @@ width of the vertical and horizontal lines to draw; they default to (1
|
||||
. 1). A negative horizontal or vertical width @minus{}@var{n} means
|
||||
to draw a line of width @var{n} that occupies the space of the
|
||||
underlying text, thus avoiding any increase in the character height or
|
||||
width. For simplification the width could be specified with only a
|
||||
width. For simplification the width could be specified with only a
|
||||
single number @var{n} instead of a list, such case is equivalent to
|
||||
@code{((abs @var{n}) . @var{n})}.
|
||||
|
||||
|
@ -2708,7 +2708,7 @@ file names (@pxref{Magic File Names}).
|
||||
|
||||
@defmac file-name-unquote name
|
||||
This macro removes the quotation prefix @samp{/:} from the file
|
||||
@var{name}, if any. If @var{name} is a remote file name, the local
|
||||
@var{name}, if any. If @var{name} is a remote file name, the local
|
||||
part of @var{name} is unquoted.
|
||||
@end defmac
|
||||
|
||||
@ -2740,7 +2740,7 @@ This function creates a temporary file and returns its name. Emacs
|
||||
creates the temporary file's name by adding to @var{prefix} some
|
||||
random characters that are different in each Emacs job. The result is
|
||||
guaranteed to be a newly created file, containing @var{text} if that's
|
||||
given as a string and empty otherwise. On MS-DOS, this function can
|
||||
given as a string and empty otherwise. On MS-DOS, this function can
|
||||
truncate @var{prefix} to fit into the 8+3 file-name limits. If
|
||||
@var{prefix} is a relative file name, it is expanded against
|
||||
@code{temporary-file-directory}.
|
||||
|
@ -4530,7 +4530,7 @@ and a few other such modes) has been made more generic over the years,
|
||||
so if your language seems somewhat similar to one of those languages,
|
||||
you might try to use that engine. @c FIXME: documentation?
|
||||
Another one is SMIE which takes an approach in the spirit
|
||||
of Lisp sexps and adapts it to non-Lisp languages. Yet another one is
|
||||
of Lisp sexps and adapts it to non-Lisp languages. Yet another one is
|
||||
to rely on a full-blown parser, for example, the tree-sitter library.
|
||||
|
||||
@menu
|
||||
|
@ -387,7 +387,7 @@ following queries:
|
||||
|
||||
@table @asis
|
||||
@item archive-contents
|
||||
Return a lisp form describing the archive contents. The form is a list
|
||||
Return a lisp form describing the archive contents. The form is a list
|
||||
of 'package-desc' structures (see @file{package.el}), except the first
|
||||
element of the list is the archive version.
|
||||
|
||||
@ -398,7 +398,7 @@ Return the long description of the package.
|
||||
Return the signature for the file.
|
||||
|
||||
@item <file name>
|
||||
Return the file. This will be the tarball for a multi-file
|
||||
Return the file. This will be the tarball for a multi-file
|
||||
package, or the single file for a simple package.
|
||||
|
||||
@end table
|
||||
|
@ -450,7 +450,7 @@ in the buffer, or in the region if the region is active.
|
||||
@cindex line number
|
||||
This function returns the line number in the current buffer
|
||||
corresponding to the buffer position @var{pos}. If @var{pos} is
|
||||
@code{nil} or omitted, the current buffer position is used. If
|
||||
@code{nil} or omitted, the current buffer position is used. If
|
||||
@var{absolute} is @code{nil}, the default, counting starts at
|
||||
@code{(point-min)}, so the value refers to the contents of the
|
||||
accessible portion of the (potentially narrowed) buffer. If
|
||||
|
@ -135,7 +135,7 @@ stream to a different destination.
|
||||
|
||||
@cindex program arguments
|
||||
All three of the subprocess-creating functions allow specifying
|
||||
command-line arguments for the process to run. For @code{call-process}
|
||||
command-line arguments for the process to run. For @code{call-process}
|
||||
and @code{call-process-region}, these come in the form of a
|
||||
@code{&rest} argument, @var{args}. For @code{make-process}, both the
|
||||
program to run and its command-line arguments are specified as a list
|
||||
|
@ -1771,7 +1771,7 @@ required for @code{rx-to-string} to work. Example:
|
||||
|
||||
Another difference from @code{rx-let} is that the @var{bindings} are
|
||||
dynamically scoped, and thus also available in functions called from
|
||||
@var{body}. However, they are not visible inside functions defined in
|
||||
@var{body}. However, they are not visible inside functions defined in
|
||||
@var{body}.
|
||||
@end defmac
|
||||
|
||||
@ -1919,7 +1919,7 @@ symptoms less likely and help alleviate problems that do arise.
|
||||
@itemize
|
||||
@item
|
||||
Anchor regexps at the beginning of a line, string or buffer using
|
||||
zero-width assertions (@samp{^} and @code{\`}). This takes advantage
|
||||
zero-width assertions (@samp{^} and @code{\`}). This takes advantage
|
||||
of fast paths in the implementation and can avoid futile matching
|
||||
attempts. Other zero-width assertions may also bring benefits by
|
||||
causing a match to fail early.
|
||||
|
@ -937,7 +937,7 @@ use instead of the default @code{equal}.
|
||||
|
||||
@defun seq-set-equal-p sequence1 sequence2 &optional testfn
|
||||
This function checks whether @var{sequence1} and @var{sequence2}
|
||||
contain the same elements, regardless of the order. If the optional
|
||||
contain the same elements, regardless of the order. If the optional
|
||||
argument @var{testfn} is non-@code{nil}, it is a function of two
|
||||
arguments to use instead of the default @code{equal}.
|
||||
|
||||
|
@ -970,7 +970,7 @@ you can use, see the variable's documentation string.
|
||||
@defvar print-integers-as-characters
|
||||
When this variable is non-@code{nil}, integers that represent
|
||||
graphic base characters will be printed using Lisp character syntax
|
||||
(@pxref{Basic Char Syntax}). Other numbers are printed the usual way.
|
||||
(@pxref{Basic Char Syntax}). Other numbers are printed the usual way.
|
||||
For example, the list @code{(4 65 -1 10)} would be printed as
|
||||
@samp{(4 ?A -1 ?\n)}.
|
||||
|
||||
|
@ -2613,7 +2613,7 @@ compatibility. You can do this with @code{defvaralias}.
|
||||
|
||||
@defun defvaralias new-alias base-variable &optional docstring
|
||||
This function defines the symbol @var{new-alias} as a variable alias
|
||||
for symbol @var{base-variable}. This means that retrieving the value
|
||||
for symbol @var{base-variable}. This means that retrieving the value
|
||||
of @var{new-alias} returns the value of @var{base-variable}, and
|
||||
changing the value of @var{new-alias} changes the value of
|
||||
@var{base-variable}. The two aliased variable names always share the
|
||||
|
@ -171,7 +171,7 @@ of \- means standard output; overrides default \fBTAGS\fP or \fBtags\fP.
|
||||
|
||||
Make tags based on regexp matching for the files following this option,
|
||||
in addition to the tags made with the standard parsing based on
|
||||
language. May be freely intermixed with filenames and the \fB\-R\fP
|
||||
language. May be freely intermixed with filenames and the \fB\-R\fP
|
||||
option. The regexps are cumulative, i.e., each such option will add to
|
||||
the previous ones. The regexps are of one of the forms:
|
||||
.br
|
||||
|
@ -136,12 +136,12 @@ You can use spaces inside a password or other token by surrounding the
|
||||
token with either single or double quotes.
|
||||
|
||||
You can use apostrophes inside a password or other token by
|
||||
surrounding it with double quotes, e.g., @code{"he'llo"}. Similarly you
|
||||
surrounding it with double quotes, e.g., @code{"he'llo"}. Similarly you
|
||||
can use double quotes inside a password or other token by surrounding
|
||||
it with apostrophes, e.g., @code{'he"llo'}. You can't mix both (so a
|
||||
it with apostrophes, e.g., @code{'he"llo'}. You can't mix both (so a
|
||||
password or other token can't have both apostrophes and double quotes).
|
||||
|
||||
All this is optional. You could just say (but we don't recommend it,
|
||||
All this is optional. You could just say (but we don't recommend it,
|
||||
we're just showing that it's possible)
|
||||
|
||||
@example
|
||||
@ -267,7 +267,7 @@ earlier. Since Tramp has about 88 connection methods, this may be
|
||||
necessary if you have an unusual (see earlier comment on those) setup.
|
||||
|
||||
The netrc format is directly translated into JSON, if you are into
|
||||
that sort of thing. Just point to a JSON file with entries like this:
|
||||
that sort of thing. Just point to a JSON file with entries like this:
|
||||
|
||||
@example
|
||||
[
|
||||
@ -501,7 +501,9 @@ The username can also be expressed as a prefix, separated from the
|
||||
host with an at-sign (@code{@@}).
|
||||
|
||||
@item gnu.org:22.gpg
|
||||
The port (aka. service) to match can only be expressed after the host and separated with a colon (@code{:}). The separator can be changed through the @code{auth-source-pass-port-separator} variable.
|
||||
The port (aka. service) to match can only be expressed after the host
|
||||
and separated with a colon (@code{:}). The separator can be changed
|
||||
through the @code{auth-source-pass-port-separator} variable.
|
||||
|
||||
@item gnu.org:22/rms.gpg
|
||||
|
||||
|
@ -290,7 +290,7 @@ be inserted.
|
||||
It can also be a function, which allows doing various things. The function
|
||||
can simply insert some text, indeed, it can be skeleton command (@pxref{Using
|
||||
Skeletons}). It can be a lambda function which will for example conditionally
|
||||
call another function. Or it can even reset the mode for the buffer. If you
|
||||
call another function. Or it can even reset the mode for the buffer. If you
|
||||
want to perform several such actions in order, you use a vector, i.e., several
|
||||
of the above elements between square brackets (@samp{[@r{@dots{}}]}).
|
||||
|
||||
|
@ -346,7 +346,7 @@ semantic list.
|
||||
@item (EXPANDFULL @var{$1} @var{nonterminal} @var{depth})
|
||||
Is like @code{EXPAND}, except that the parser will iterate over
|
||||
@var{nonterminal} until there are no more matches. (The same way the
|
||||
parser iterates over the starting rule (@pxref{Starting Rules}). This
|
||||
parser iterates over the starting rule (@pxref{Starting Rules}). This
|
||||
lets you have much simpler rules in this specific case, and also lets
|
||||
you have positional information in the returned tokens, and error
|
||||
skipping.
|
||||
|
@ -355,7 +355,7 @@ To print the Calc manual in one huge tome, you will need the
|
||||
Emacs source, which contains the source code to this manual,
|
||||
@file{calc.texi}. Change to the @file{doc/misc} subdirectory of the
|
||||
Emacs source distribution, which contains source code for this manual,
|
||||
and type @kbd{make calc.pdf}. (Don't worry if you get some ``overfull
|
||||
and type @kbd{make calc.pdf}. (Don't worry if you get some ``overfull
|
||||
box'' warnings while @TeX{} runs.) The result will be this entire
|
||||
manual as a pdf file.
|
||||
@end ifnottex
|
||||
@ -524,7 +524,7 @@ matrix into a
|
||||
@infoline 2x3
|
||||
matrix. Type @w{@kbd{v u}} to unpack the rows into two separate
|
||||
vectors. Now type @w{@kbd{V R + @key{TAB} V R +}} to compute the sums
|
||||
of the two original columns. (There is also a special
|
||||
of the two original columns. (There is also a special
|
||||
grab-and-sum-columns command, @kbd{C-x * :}.)
|
||||
|
||||
@strong{Units conversion.} Units are entered algebraically.
|
||||
@ -929,7 +929,7 @@ is
|
||||
Calc has added annotations to the file to help it remember the modes
|
||||
that were used for this formula. They are formatted like comments
|
||||
in the @TeX{} typesetting language, just in case you are using @TeX{} or
|
||||
@LaTeX{}. (In this example @TeX{} is not being used, so you might want
|
||||
@LaTeX{}. (In this example @TeX{} is not being used, so you might want
|
||||
to move these comments up to the top of the file or otherwise put them
|
||||
out of the way.)
|
||||
|
||||
@ -1174,7 +1174,7 @@ that arbitrary-size integers were just as easy as large integers.
|
||||
Arbitrary floating-point precision was the logical next step. Also,
|
||||
since the large integer arithmetic was there anyway it seemed only
|
||||
fair to give the user direct access to it, which in turn made it
|
||||
practical to support fractions as well as floats. All these features
|
||||
practical to support fractions as well as floats. All these features
|
||||
inspired me to look around for other data types that might be worth
|
||||
having.
|
||||
|
||||
@ -5762,7 +5762,7 @@ which in algebraic notation is written like @samp{ninteg(f(t), t, 0, x)}
|
||||
with any integrand @samp{f(t)}. Define a @kbd{z s} command and
|
||||
@code{Si} function that implement this. You will need to edit the
|
||||
default argument list a bit. As a test, @samp{Si(1)} should return
|
||||
0.946083. (If you don't get this answer, you might want to check that
|
||||
0.946083. (If you don't get this answer, you might want to check that
|
||||
Calc is in Radians mode. Also, @code{ninteg} will run a lot faster if
|
||||
you reduce the precision to, say, six digits beforehand.)
|
||||
@xref{Programming Answer 1, 1}. (@bullet{})
|
||||
@ -9758,7 +9758,7 @@ by a zero) resets the Calculator to its initial state. This clears
|
||||
the stack, resets all the modes to their initial values (the values
|
||||
that were saved with @kbd{m m} (@code{calc-save-modes})), clears the
|
||||
caches (@pxref{Caches}), and so on. (It does @emph{not} erase the
|
||||
values of any variables.) With an argument of 0, Calc will be reset to
|
||||
values of any variables.) With an argument of 0, Calc will be reset to
|
||||
its default state; namely, the modes will be given their default values.
|
||||
With a positive prefix argument, @kbd{C-x * 0} preserves the contents of
|
||||
the stack but resets everything else to its initial state; with a
|
||||
@ -10254,7 +10254,7 @@ specified number of operations. When the Calculator is quit, as with
|
||||
the @kbd{q} (@code{calc-quit}) command, the undo history will be
|
||||
truncated to the length of the customizable variable
|
||||
@code{calc-undo-length} (@pxref{Customizing Calc}), which by default
|
||||
is @expr{100}. (Recall that @kbd{C-x * c} is synonymous with
|
||||
is @expr{100}. (Recall that @kbd{C-x * c} is synonymous with
|
||||
@code{calc-quit} while inside the Calculator; this also truncates the
|
||||
undo history.)
|
||||
|
||||
@ -11050,8 +11050,8 @@ calendar.
|
||||
|
||||
Some calendars attempt to mimic the historical situation by using the
|
||||
Gregorian calendar for recent dates and the Julian calendar for older
|
||||
dates. The @code{cal} program in most Unix implementations does this,
|
||||
for example. While January 1 wasn't always the beginning of a calendar
|
||||
dates. The @code{cal} program in most Unix implementations does this,
|
||||
for example. While January 1 wasn't always the beginning of a calendar
|
||||
year, these hybrid calendars still use January 1 as the beginning of
|
||||
the year even for older dates. The customizable variable
|
||||
@code{calc-gregorian-switch} (@pxref{Customizing Calc}) can be set to
|
||||
@ -11405,7 +11405,7 @@ means a variable is random, and its value could
|
||||
be anything but is ``probably'' within one
|
||||
@texline @math{\sigma}
|
||||
@infoline @var{sigma}
|
||||
of the mean value @expr{x}. An interval
|
||||
of the mean value @expr{x}. An interval
|
||||
`@tfn{[}@var{a} @tfn{..@:} @var{b}@tfn{]}' means a
|
||||
variable's value is unknown, but guaranteed to lie in the specified
|
||||
range. Error forms are statistical or ``average case'' approximations;
|
||||
@ -11862,7 +11862,7 @@ any portion of a vector or formula on the stack.
|
||||
@cindex Moving stack entries
|
||||
The command @kbd{C-x C-t} (@code{calc-transpose-lines}) will transpose
|
||||
the stack object determined by the point with the stack object at the
|
||||
next higher level. For example, with @samp{10 20 30 40 50} on the
|
||||
next higher level. For example, with @samp{10 20 30 40 50} on the
|
||||
stack and the point on the line containing @samp{30}, @kbd{C-x C-t}
|
||||
creates @samp{10 20 40 30 50}. More generally, @kbd{C-x C-t} acts on
|
||||
the stack objects determined by the current point (and mark) similar
|
||||
@ -11871,7 +11871,7 @@ lines. With argument @var{n}, @kbd{C-x C-t} will move the stack object
|
||||
at the level above the current point and move it past N other objects;
|
||||
for example, with @samp{10 20 30 40 50} on the stack and the point on
|
||||
the line containing @samp{30}, @kbd{C-u 2 C-x C-t} creates
|
||||
@samp{10 40 20 30 50}. With an argument of 0, @kbd{C-x C-t} will switch
|
||||
@samp{10 40 20 30 50}. With an argument of 0, @kbd{C-x C-t} will switch
|
||||
the stack objects at the levels determined by the point and the mark.
|
||||
|
||||
@node Editing Stack Entries
|
||||
@ -12062,14 +12062,14 @@ the stack contains the sole number 5, but after @kbd{2 @key{RET} 3 K +},
|
||||
the stack contains the arguments and the result: @samp{2 3 5}.
|
||||
|
||||
With the exception of keyboard macros, this works for all commands that
|
||||
take arguments off the stack. (To avoid potentially unpleasant behavior,
|
||||
take arguments off the stack. (To avoid potentially unpleasant behavior,
|
||||
a @kbd{K} prefix before a keyboard macro will be ignored. A @kbd{K}
|
||||
prefix called @emph{within} the keyboard macro will still take effect.)
|
||||
As another example, @kbd{K a s} simplifies a formula, pushing the
|
||||
simplified version of the formula onto the stack after the original
|
||||
formula (rather than replacing the original formula). Note that you
|
||||
could get the same effect by typing @kbd{@key{RET} a s}, copying the
|
||||
formula and then simplifying the copy. One difference is that for a very
|
||||
formula and then simplifying the copy. One difference is that for a very
|
||||
large formula the time taken to format the intermediate copy in
|
||||
@kbd{@key{RET} a s} could be noticeable; @kbd{K a s} would avoid this
|
||||
extra work.
|
||||
@ -13171,7 +13171,7 @@ Calc can display @expr{w}-bit integers using two's complement
|
||||
notation, although this is most useful with the binary, octal and
|
||||
hexadecimal display modes. This option is selected by using the
|
||||
@kbd{O} option prefix before setting the display radix, and a negative word
|
||||
size might be appropriate (@pxref{Binary Functions}). In two's
|
||||
size might be appropriate (@pxref{Binary Functions}). In two's
|
||||
complement notation, the integers in the (nearly) symmetric interval
|
||||
from
|
||||
@texline @math{-2^{w-1}}
|
||||
@ -13502,7 +13502,7 @@ date representation, this week goes from 2013-W01-1 (December 31,
|
||||
All three ISO 8601 representations arrange the numbers from most
|
||||
significant to least significant; as well as being unambiguous
|
||||
representations, they are easy to sort since chronological order in
|
||||
this formats corresponds to lexicographical order. The hyphens are
|
||||
this formats corresponds to lexicographical order. The hyphens are
|
||||
sometimes omitted.
|
||||
|
||||
The ISO 8601 standard uses a 24 hour clock; a particular time is
|
||||
@ -13744,7 +13744,7 @@ order), then all other characters are ignored and this information
|
||||
determines the date. Otherwise, all words and numbers are isolated
|
||||
from the string; other characters are ignored. All words must be
|
||||
either month names or day-of-week names (the latter of which are
|
||||
ignored). Names can be written in full or as three-letter
|
||||
ignored). Names can be written in full or as three-letter
|
||||
abbreviations.
|
||||
|
||||
Large numbers, or numbers with @samp{+} or @samp{-} signs,
|
||||
@ -14205,9 +14205,9 @@ quotients are written using @code{\over} in @TeX{} mode (as in
|
||||
@code{\choose} in @TeX{} mode (as in @code{@{a \choose b@}}) and
|
||||
@code{\binom} in @LaTeX{} mode (as in @code{\binom@{a@}@{b@}}).
|
||||
Interval forms are written with @code{\ldots}, and error forms are
|
||||
written with @code{\pm}. Absolute values are written as in
|
||||
written with @code{\pm}. Absolute values are written as in
|
||||
@samp{|x + 1|}, and the floor and ceiling functions are written with
|
||||
@code{\lfloor}, @code{\rfloor}, etc. The words @code{\left} and
|
||||
@code{\lfloor}, @code{\rfloor}, etc. The words @code{\left} and
|
||||
@code{\right} are ignored when reading formulas in @TeX{} and @LaTeX{}
|
||||
modes. Both @code{inf} and @code{uinf} are written as @code{\infty};
|
||||
when read, @code{\infty} always translates to @code{inf}.
|
||||
@ -16290,7 +16290,7 @@ interpretations; the expression @samp{a/b*c} should be written
|
||||
@samp{(a/b)*c} or @samp{a/(b*c)}, as appropriate. Without the
|
||||
parentheses, Calc will interpret @samp{a/b*c} as @samp{a/(b*c)}, since
|
||||
in algebraic entry Calc gives division a lower precedence than
|
||||
multiplication. (This is not standard across all computer languages, and
|
||||
multiplication. (This is not standard across all computer languages, and
|
||||
Calc may change the precedence depending on the language mode being used.
|
||||
@xref{Language Modes}.) This default ordering can be changed by setting
|
||||
the customizable variable @code{calc-multiplication-has-precedence} to
|
||||
@ -17456,7 +17456,7 @@ converting into a generalized time zone (see below).
|
||||
The Lisp function @code{math-prev-weekday-in-month} is useful for
|
||||
daylight saving computations. This is an internal version of
|
||||
the user-level @code{pwday} function described in the previous
|
||||
section. It takes four arguments: The floating-point date value,
|
||||
section. It takes four arguments: The floating-point date value,
|
||||
the corresponding six-element date list, the day-of-month number,
|
||||
and the weekday number (0--6).
|
||||
|
||||
@ -20150,7 +20150,7 @@ that the counts in the result vector don't add up to the length of the
|
||||
input vector.)
|
||||
|
||||
If no prefix is given, then you will be prompted for a vector which
|
||||
will be used to determine the bins. (If a positive integer is given at
|
||||
will be used to determine the bins. (If a positive integer is given at
|
||||
this prompt, it will be still treated as if it were given as a
|
||||
prefix.) Each bin will consist of the interval of numbers closest to
|
||||
the corresponding number of this new vector; if the vector
|
||||
@ -21636,7 +21636,7 @@ to
|
||||
|
||||
@noindent
|
||||
Every character not part of the sub-formula @samp{b} has been changed
|
||||
to a dot. (If the customizable variable
|
||||
to a dot. (If the customizable variable
|
||||
@code{calc-highlight-selections-with-faces} is non-@code{nil}, then the characters
|
||||
not part of the sub-formula are de-emphasized by using a less
|
||||
noticeable face instead of using dots. @pxref{Displaying Selections}.)
|
||||
@ -22837,12 +22837,12 @@ suitable numbers.
|
||||
This section describes all simplifications that are performed by
|
||||
the algebraic simplification mode, which is the default simplification
|
||||
mode. If you have switched to a different simplification mode, you can
|
||||
switch back with the @kbd{m A} command. Even in other simplification
|
||||
switch back with the @kbd{m A} command. Even in other simplification
|
||||
modes, the @kbd{a s} command will use these algebraic simplifications to
|
||||
simplify the formula.
|
||||
|
||||
There is a variable, @code{AlgSimpRules}, in which you can put rewrites
|
||||
to be applied. Its use is analogous to @code{EvalRules},
|
||||
to be applied. Its use is analogous to @code{EvalRules},
|
||||
but without the special restrictions. Basically, the simplifier does
|
||||
@samp{@w{a r} AlgSimpRules} with an infinite repeat count on the whole
|
||||
expression being simplified, then it traverses the expression applying
|
||||
@ -22991,7 +22991,7 @@ function; for example, @expr{1/@tfn{sec}(x)} is simplified to
|
||||
hyperbolic functions are also handled.
|
||||
|
||||
Trigonometric functions of their inverse functions are
|
||||
simplified. The expression @expr{@tfn{sin}(@tfn{arcsin}(x))} is
|
||||
simplified. The expression @expr{@tfn{sin}(@tfn{arcsin}(x))} is
|
||||
simplified to @expr{x}, and similarly for @code{cos} and @code{tan}.
|
||||
Trigonometric functions of inverses of different trigonometric
|
||||
functions can also be simplified, as in @expr{@tfn{sin}(@tfn{arccos}(x))}
|
||||
@ -27646,7 +27646,7 @@ simplifications.
|
||||
Most of the special limitations for @code{EvalRules} don't apply to
|
||||
@code{AlgSimpRules}. Calc simply does an @kbd{a r AlgSimpRules}
|
||||
command with an infinite repeat count as the first step of algebraic
|
||||
simplifications. It then applies its own built-in simplifications
|
||||
simplifications. It then applies its own built-in simplifications
|
||||
throughout the formula, and then repeats these two steps (along with
|
||||
applying the default simplifications) until no further changes are
|
||||
possible.
|
||||
@ -27883,7 +27883,7 @@ while typing @kbd{u c au/yr @key{RET}} produces
|
||||
If the units you request are inconsistent with the original units, the
|
||||
number will be converted into your units times whatever ``remainder''
|
||||
units are left over. For example, converting @samp{55 mph} into acres
|
||||
produces @samp{6.08e-3 acre / (m s)}. Remainder units are expressed in terms of
|
||||
produces @samp{6.08e-3 acre / (m s)}. Remainder units are expressed in terms of
|
||||
``fundamental'' units like @samp{m} and @samp{s}, regardless of the
|
||||
input units.
|
||||
|
||||
@ -28257,7 +28257,7 @@ is defined to be
|
||||
@infoline @math{10 log10(P1/P0) dB}.
|
||||
@texline @math{10 \log_{10}(P_{1}/P_{0}) {\rm dB}}.
|
||||
(The factor of 10 is because a decibel, as its name implies, is
|
||||
one-tenth of a bel. The bel, named after Alexander Graham Bell, was
|
||||
one-tenth of a bel. The bel, named after Alexander Graham Bell, was
|
||||
considered to be too large of a unit and was effectively replaced by
|
||||
the decibel.) If @math{F} is a field quantity with power
|
||||
@math{P=k F^2}, then a reference quantity of
|
||||
@ -28353,10 +28353,10 @@ capital @kbd{O} prefix is used.
|
||||
@tindex lufquant
|
||||
The @kbd{l q} (@code{calc-lu-quant}) [@code{lupquant}]
|
||||
command computes the power quantity corresponding to a given number of
|
||||
logarithmic units. With the capital @kbd{O} prefix, @kbd{O l q}, the
|
||||
reference level will be read from the top of the stack. (In an
|
||||
logarithmic units. With the capital @kbd{O} prefix, @kbd{O l q}, the
|
||||
reference level will be read from the top of the stack. (In an
|
||||
algebraic formula, @code{lupquant} can be given an optional second
|
||||
argument which will be used for the reference level.) For example,
|
||||
argument which will be used for the reference level.) For example,
|
||||
@code{20 dB @key{RET} l q} will return @code{100 mW};
|
||||
@code{20 dB @key{RET} 4 W @key{RET} O l q} will return @code{400 W}.
|
||||
The @kbd{H l q} [@code{lufquant}] command behaves like @kbd{l q} but
|
||||
@ -28469,7 +28469,7 @@ The @kbd{l *} (@code{calc-lu-times}) [@code{lupmul}] and @kbd{H l *}
|
||||
[@code{lufmul}] commands will ``multiply'' a logarithmic unit by a
|
||||
number; the @kbd{l /} (@code{calc-lu-divide}) [@code{lupdiv}] and
|
||||
@kbd{H l /} [@code{lufdiv}] commands will ``divide'' a logarithmic
|
||||
unit by a number. Note that the reference quantities don't play a role
|
||||
unit by a number. Note that the reference quantities don't play a role
|
||||
in this arithmetic.
|
||||
|
||||
@node Musical Notes
|
||||
@ -28528,7 +28528,7 @@ example, @code{500 Hz} gets converted to
|
||||
@tindex midi
|
||||
The @kbd{l m} (@code{calc-midi}) [@code{midi}] command converts either
|
||||
a frequency or a note given in scientific pitch notation to the
|
||||
corresponding midi number. For example, @code{C_6} gets converted to 84
|
||||
corresponding midi number. For example, @code{C_6} gets converted to 84
|
||||
and @code{440 Hz} to 69.
|
||||
|
||||
@kindex l f
|
||||
@ -28536,7 +28536,7 @@ and @code{440 Hz} to 69.
|
||||
@tindex freq
|
||||
The @kbd{l f} (@code{calc-freq}) [@code{freq}] command converts either
|
||||
either a midi number or a note given in scientific pitch notation to
|
||||
the corresponding frequency. For example, @code{Asharp_2 + 30 cents}
|
||||
the corresponding frequency. For example, @code{Asharp_2 + 30 cents}
|
||||
gets converted to @code{118.578040134 Hz} and @code{55} to
|
||||
@code{195.99771799 Hz}.
|
||||
|
||||
@ -29530,7 +29530,7 @@ will be computed for the surface.
|
||||
|
||||
Data values in the graph of a function are normally computed to a
|
||||
precision of five digits, regardless of the current precision at the
|
||||
time. This is usually more than adequate, but there are cases where
|
||||
time. This is usually more than adequate, but there are cases where
|
||||
it will not be. For example, plotting @expr{1 + x} with @expr{x} in the
|
||||
interval @samp{[0 ..@: 1e-6]} will round all the data points down
|
||||
to 1.0! Putting the command @samp{set precision @var{n}} in the
|
||||
@ -29975,7 +29975,7 @@ register will be deleted from the Calc buffer.
|
||||
It is possible to add additional stack entries to a register. The
|
||||
command @kbd{M-x calc-append-to-register} will prompt for a register,
|
||||
then add the stack entries in the region to the end of the register
|
||||
contents. The command @kbd{M-x calc-prepend-to-register} will
|
||||
contents. The command @kbd{M-x calc-prepend-to-register} will
|
||||
similarly prompt for a register and add the stack entries in the
|
||||
region to the beginning of the register contents. Both commands take
|
||||
@kbd{C-u} arguments, which will cause the region to be deleted after being
|
||||
@ -30620,7 +30620,7 @@ like most Calc commands, but rather in regular editing buffers that
|
||||
are visiting your own files.
|
||||
|
||||
Calc will try to guess an appropriate language based on the major mode
|
||||
of the editing buffer. (@xref{Language Modes}.) If the current buffer is
|
||||
of the editing buffer. (@xref{Language Modes}.) If the current buffer is
|
||||
in @code{latex-mode}, for example, Calc will set its language to @LaTeX{}.
|
||||
Similarly, Calc will use @TeX{} language for @code{tex-mode},
|
||||
@code{plain-tex-mode} and @code{context-mode}, C language for
|
||||
@ -30657,7 +30657,7 @@ on their own separate lines or in-line with the formula.
|
||||
If you give a positive or negative numeric prefix argument, Calc
|
||||
instead uses the current point as one end of the formula, and includes
|
||||
that many lines forward or backward (respectively, including the current
|
||||
line). Explicit delimiters are not necessary in this case.
|
||||
line). Explicit delimiters are not necessary in this case.
|
||||
|
||||
With a prefix argument of zero, Calc uses the current region (delimited
|
||||
by point and mark) instead of formula delimiters. With a prefix
|
||||
@ -31189,7 +31189,7 @@ use @kbd{C-x * u} to update the buffer by hand.
|
||||
@noindent
|
||||
The mode settings can be changed while Calc is in embedded mode, but
|
||||
by default they will revert to their original values when embedded mode
|
||||
is ended. However, the modes saved when the mode-recording mode is
|
||||
is ended. However, the modes saved when the mode-recording mode is
|
||||
@code{Save} (see below) and the modes in effect when the @kbd{m e}
|
||||
(@code{calc-embedded-preserve-modes}) command is given
|
||||
will be preserved when embedded mode is ended.
|
||||
@ -31315,7 +31315,7 @@ on it in order to get it to notice the new annotation.
|
||||
|
||||
Two more mode-recording modes selectable by @kbd{m R} are available
|
||||
which are also available outside of Embedded mode.
|
||||
(@pxref{General Mode Commands}.) They are @code{Save}, in which mode
|
||||
(@pxref{General Mode Commands}.) They are @code{Save}, in which mode
|
||||
settings are recorded permanently in your Calc init file (the file given
|
||||
by the variable @code{calc-settings-file}, typically @file{~/.emacs.d/calc.el})
|
||||
rather than by annotating the current document, and no-recording
|
||||
@ -35645,7 +35645,7 @@ formulas in normal language modes. If
|
||||
@code{calc-multiplication-has-precedence} is non-@code{nil}, then
|
||||
multiplication has precedence (and, for certain obscure reasons, is
|
||||
right associative), and so for example @samp{a/b*c} will be interpreted
|
||||
as @samp{a/(b*c)}. If @code{calc-multiplication-has-precedence} is
|
||||
as @samp{a/(b*c)}. If @code{calc-multiplication-has-precedence} is
|
||||
@code{nil}, then multiplication has the same precedence as division
|
||||
(and, like division, is left associative), and so for example
|
||||
@samp{a/b*c} will be interpreted as @samp{(a/b)*c}. The default value
|
||||
|
@ -182,7 +182,7 @@ modify this GNU manual.''
|
||||
@end quotation
|
||||
@end copying
|
||||
|
||||
@comment Info directory entry for use by install-info. The indentation
|
||||
@comment Info directory entry for use by install-info. The indentation
|
||||
@comment here is by request from the FSF folks.
|
||||
@dircategory Emacs editing modes
|
||||
@direntry
|
||||
@ -1429,7 +1429,7 @@ continuation of the preceding @code{if}.
|
||||
@findex abbrev-mode
|
||||
@cindex Abbrev mode
|
||||
@ccmode{} uses Abbrev mode (@pxref{Abbrevs,,,@emacsman{}, @emacsmantitle{}})
|
||||
to accomplish this. It's therefore turned on by default in all language
|
||||
to accomplish this. It's therefore turned on by default in all language
|
||||
modes except IDL mode, since CORBA IDL doesn't have any statements.
|
||||
@end deffn
|
||||
|
||||
@ -2704,7 +2704,7 @@ for C code in GNU programs.
|
||||
|
||||
@item k&r
|
||||
@cindex K&R style
|
||||
The classic Kernighan and Ritchie style for C code. If you're looking
|
||||
The classic Kernighan and Ritchie style for C code. If you're looking
|
||||
for the style used in the 2nd edition of their book ``The C
|
||||
Programming Language'', then check out the @code{stroustrup} style.
|
||||
|
||||
@ -7591,7 +7591,7 @@ Started}.
|
||||
@kindex C-M-\
|
||||
@emph{How do I reindent the whole file?}
|
||||
|
||||
Visit the file and hit @kbd{C-x h} to mark the whole buffer. Then hit
|
||||
Visit the file and hit @kbd{C-x h} to mark the whole buffer. Then hit
|
||||
@kbd{C-M-\}. @xref{Indentation Commands}.
|
||||
|
||||
@item
|
||||
|
@ -860,7 +860,7 @@ Thus @code{(cl-typep @var{object} 'null)} is equivalent to
|
||||
|
||||
@item
|
||||
The type symbol @code{atom} represents all objects that are not cons
|
||||
cells. Thus @code{(cl-typep @var{object} 'atom)} is equivalent to
|
||||
cells. Thus @code{(cl-typep @var{object} 'atom)} is equivalent to
|
||||
@code{(atom @var{object})}.
|
||||
|
||||
@item
|
||||
@ -2191,7 +2191,7 @@ term restricts the search to just the specified property. The
|
||||
Properties,,,elisp}.
|
||||
|
||||
@item for @var{var} being the frames
|
||||
This clause iterates over all Emacs frames. The clause @code{screens} is
|
||||
This clause iterates over all Emacs frames. The clause @code{screens} is
|
||||
a synonym for @code{frames}. The frames are visited in
|
||||
@code{next-frame} order starting from @code{selected-frame}.
|
||||
|
||||
|
@ -1259,7 +1259,7 @@ object. Example:
|
||||
@end lisp
|
||||
|
||||
With the @code{dbus-introspect} function it is possible to explore the
|
||||
interfaces of @samp{org.freedesktop.Hal} service. It offers the
|
||||
interfaces of @samp{org.freedesktop.Hal} service. It offers the
|
||||
interfaces @samp{org.freedesktop.Hal.Manager} for the object at the
|
||||
path @samp{/org/freedesktop/Hal/Manager} as well as the interface
|
||||
@samp{org.freedesktop.Hal.Device} for all objects prefixed with the
|
||||
@ -1978,7 +1978,7 @@ If this variable is non-@code{nil}, D-Bus specific debug messages are raised.
|
||||
Input parameters of @code{dbus-call-method},
|
||||
@code{dbus-call-method-asynchronously}, @code{dbus-send-signal},
|
||||
@code{dbus-register-method}, @code{dbus-register-property} and
|
||||
@code{dbus-register-signal} are checked for correct D-Bus types. If
|
||||
@code{dbus-register-signal} are checked for correct D-Bus types. If
|
||||
there is a type mismatch, the Lisp error @code{wrong-type-argument}
|
||||
@code{D-Bus @var{arg}} is raised.
|
||||
|
||||
|
@ -513,8 +513,8 @@ practical than to clutter up the buffer list with dozens of member
|
||||
buffers.
|
||||
|
||||
If you want to display more than one member list at a time you can
|
||||
@dfn{freeze} its member buffer. Freezing a member buffer prevents it
|
||||
from being overwritten the next time you display a member list. You can
|
||||
@dfn{freeze} its member buffer. Freezing a member buffer prevents it
|
||||
from being overwritten the next time you display a member list. You can
|
||||
toggle this buffer status at any time.
|
||||
|
||||
Every member list display command in the tree buffer can be used with a
|
||||
@ -747,7 +747,7 @@ menu.
|
||||
@cindex unmark all
|
||||
@item M a
|
||||
Unmark all classes. With prefix argument @kbd{C-u}, mark all classes in
|
||||
the tree. Since this command operates on the whole buffer, it can also be
|
||||
the tree. Since this command operates on the whole buffer, it can also be
|
||||
found in the buffer's object menu.
|
||||
@end table
|
||||
|
||||
|
@ -1120,7 +1120,7 @@ number. It also holds a list of @code{ede-target} objects and a list
|
||||
of sub projects, or more @code{ede-project} objects.
|
||||
|
||||
New project types must subclass @code{ede-project} to add special
|
||||
behavior. New project types also need to subclass @code{ede-target} to
|
||||
behavior. New project types also need to subclass @code{ede-target} to
|
||||
add specialty behavior.
|
||||
|
||||
In this way, the common @ede{} interface is designed to work against
|
||||
|
@ -135,10 +135,10 @@ The architecture and the interface are, of course, drastically different.
|
||||
|
||||
When Ediff starts up, it displays a small control window, which accepts the
|
||||
Ediff commands, and two or three windows displaying the files to be compared
|
||||
or merged. The control window can be in its own small frame or it can be
|
||||
part of a bigger frame that displays other buffers. In any case, it is
|
||||
or merged. The control window can be in its own small frame or it can be
|
||||
part of a bigger frame that displays other buffers. In any case, it is
|
||||
important that the control window be active (i.e., be the one receiving the
|
||||
keystrokes) when you use Ediff. You can switch to other Emacs buffers at
|
||||
keystrokes) when you use Ediff. You can switch to other Emacs buffers at
|
||||
will and even edit the files currently being compared with Ediff and then
|
||||
switch back to Ediff at any time by activating the appropriate Emacs windows.
|
||||
|
||||
@ -156,13 +156,13 @@ Compare two files.
|
||||
|
||||
@item ediff-backup
|
||||
@findex ediff-backup
|
||||
Compare a file with its backup. If there are several numerical backups, use
|
||||
the latest. If the file is itself a backup, then compare it with its
|
||||
Compare a file with its backup. If there are several numerical backups, use
|
||||
the latest. If the file is itself a backup, then compare it with its
|
||||
original.
|
||||
|
||||
@item ediff-current-file
|
||||
@findex ediff-current-file
|
||||
Compare the buffer with its file on disk. This function can be used as a
|
||||
Compare the buffer with its file on disk. This function can be used as a
|
||||
safe version of @code{revert-buffer}.
|
||||
|
||||
@item ediff-buffers
|
||||
@ -220,14 +220,14 @@ Compare text visible in 2 windows line-by-line.
|
||||
@findex ediff-regions-wordwise
|
||||
Compare regions word-by-word. The regions can come from the same buffer
|
||||
and they can even overlap. You will be asked to specify the buffers that
|
||||
contain the regions, which you want to compare. For each buffer, you will
|
||||
also be asked to mark the regions to be compared. Pay attention to the
|
||||
contain the regions, which you want to compare. For each buffer, you will
|
||||
also be asked to mark the regions to be compared. Pay attention to the
|
||||
messages that appear in the minibuffer.
|
||||
|
||||
@item ediff-regions-linewise
|
||||
@findex ediff-regions-linewise
|
||||
Similar to @code{ediff-windows-linewise}, but compares the regions
|
||||
line-by-line. See @code{ediff-windows-linewise} for more details.
|
||||
line-by-line. See @code{ediff-windows-linewise} for more details.
|
||||
|
||||
@item ediff-revision
|
||||
@findex ediff-revision
|
||||
@ -246,7 +246,7 @@ will be able to patch the files selectively. @xref{Session Groups}, for
|
||||
more details.
|
||||
|
||||
Since the patch might be in a buffer or a file, you will be asked which is
|
||||
the case. To avoid this extra prompt, you can invoke this command with a
|
||||
the case. To avoid this extra prompt, you can invoke this command with a
|
||||
prefix argument. With an odd prefix argument, Ediff assumes the patch
|
||||
is in a file; with an even argument, a buffer is assumed.
|
||||
|
||||
@ -280,7 +280,7 @@ This function would refuse to apply a multifile patch to a buffer. Use
|
||||
modified by the @code{patch} utility).
|
||||
|
||||
Since the patch might be in a buffer or a file, you will be asked which is
|
||||
the case. To avoid this extra prompt, you can invoke this command with a
|
||||
the case. To avoid this extra prompt, you can invoke this command with a
|
||||
prefix argument. With an odd prefix argument, Ediff assumes the patch
|
||||
is in a file; with an even argument, a buffer is assumed.
|
||||
|
||||
@ -683,7 +683,7 @@ again puts Ediff back in the original state.
|
||||
@vindex ediff-ignore-case-option
|
||||
@vindex ediff-ignore-case-option3
|
||||
@vindex ediff-ignore-case
|
||||
Toggle case sensitivity in the diff program. All diffs are recomputed.
|
||||
Toggle case sensitivity in the diff program. All diffs are recomputed.
|
||||
Case sensitivity is controlled by the variables
|
||||
@code{ediff-ignore-case-option}, @code{ediff-ignore-case-option3},
|
||||
and @code{ediff-ignore-case}, which are explained elsewhere.
|
||||
@ -814,7 +814,7 @@ it. Typing @kbd{$$} again undoes this setting.
|
||||
@kindex $*
|
||||
When merging files with large number of differences, it is sometimes
|
||||
convenient to be able to skip the difference regions for which you already
|
||||
decided which variant is most appropriate. Typing @kbd{$*} will accomplish
|
||||
decided which variant is most appropriate. Typing @kbd{$*} will accomplish
|
||||
precisely this.
|
||||
|
||||
To be more precise, this toggles the check for whether the current merge is
|
||||
@ -898,9 +898,9 @@ child Ediff session for comparing regions in buffers A, B, or
|
||||
C as follows.
|
||||
|
||||
First, you will be asked whether you want to compare the fine differences
|
||||
between the currently highlighted buffers on a word-by-word basis. If you
|
||||
between the currently highlighted buffers on a word-by-word basis. If you
|
||||
accept, a child Ediff session will start using the currently highlighted
|
||||
regions. Ediff will let you step over the differences word-wise.
|
||||
regions. Ediff will let you step over the differences word-wise.
|
||||
|
||||
If you reject the offer, you will be asked to select regions of your choice.
|
||||
|
||||
@ -1054,9 +1054,9 @@ directories.
|
||||
|
||||
@cindex Directory difference buffer
|
||||
Sometimes it is desirable to copy some files from one directory to another
|
||||
without exiting Ediff. The @emph{directory difference buffer}, which is
|
||||
without exiting Ediff. The @emph{directory difference buffer}, which is
|
||||
displayed by typing @kbd{D} as discussed above, can be used for this
|
||||
purpose. If a file is, say, in Ediff's Directory A, but is missing in
|
||||
purpose. If a file is, say, in Ediff's Directory A, but is missing in
|
||||
Ediff's Directory B (Ediff will refuse to override existing files), then
|
||||
typing @kbd{C} or clicking mouse button 2 over that file (which must be
|
||||
displayed in directory difference buffer) will copy that file from
|
||||
@ -1130,7 +1130,7 @@ for hiding or, with @kbd{=m}, for further operations.
|
||||
|
||||
The comparison operations @kbd{==}, @kbd{=h}, and @kbd{=m} can recurse into
|
||||
subdirectories to see if they have identical contents (so the user will not
|
||||
need to descend into those subdirectories manually). These commands ask the
|
||||
need to descend into those subdirectories manually). These commands ask the
|
||||
user whether or not to do a recursive descent.
|
||||
|
||||
|
||||
@ -1221,7 +1221,7 @@ of Ediff.
|
||||
@vindex ediff-after-setup-windows-hook
|
||||
These two hooks are called before and after Ediff sets up its window
|
||||
configuration. These hooks are run each time Ediff rearranges windows to
|
||||
its liking. This happens whenever it detects that the user changed the
|
||||
its liking. This happens whenever it detects that the user changed the
|
||||
windows setup.
|
||||
|
||||
@item ediff-suspend-hook
|
||||
@ -1323,7 +1323,7 @@ Hooks run after setting up the registry for all active Ediff session.
|
||||
@item ediff-before-session-group-setup-hook
|
||||
@vindex ediff-before-session-group-setup-hook
|
||||
Hooks run before setting up a control panel for a group of related Ediff
|
||||
sessions. Can be used, for example, to save window configuration to restore
|
||||
sessions. Can be used, for example, to save window configuration to restore
|
||||
later.
|
||||
@item ediff-after-session-group-setup-hook
|
||||
@vindex ediff-after-session-group-setup-hook
|
||||
@ -1598,21 +1598,21 @@ problem.
|
||||
@vindex ediff-ignore-case-option
|
||||
@vindex ediff-ignore-case-option3
|
||||
@vindex ediff-ignore-case
|
||||
Finally, Ediff can be told to ignore the case of the letters. This behavior
|
||||
Finally, Ediff can be told to ignore the case of the letters. This behavior
|
||||
can be toggled with @kbd{#c} and it is controlled with three variables:
|
||||
@code{ediff-ignore-case-option}, @code{ediff-ignore-case-option3}, and
|
||||
@code{ediff-ignore-case}.
|
||||
|
||||
The variable @code{ediff-ignore-case-option} specifies the option to pass
|
||||
to the diff program for comparing two files or buffers. For GNU
|
||||
@code{diff}, this option is @code{"-i"}. The variable
|
||||
to the diff program for comparing two files or buffers. For GNU
|
||||
@code{diff}, this option is @code{"-i"}. The variable
|
||||
@code{ediff-ignore-case-option3} specifies the option to pass to the
|
||||
@code{diff3} program in order to make it case-insensitive. GNU @code{diff3}
|
||||
@code{diff3} program in order to make it case-insensitive. GNU @code{diff3}
|
||||
does not have such an option, so when merging or comparing three files with
|
||||
this program, ignoring the letter case is not supported.
|
||||
|
||||
The variable @code{ediff-ignore-case} controls whether Ediff starts out by
|
||||
ignoring letter case or not. It can be set in @file{.emacs} using
|
||||
ignoring letter case or not. It can be set in @file{.emacs} using
|
||||
@code{setq-default}.
|
||||
|
||||
When case sensitivity is toggled, all difference
|
||||
@ -1875,11 +1875,11 @@ Customize interface instead of using @code{setq} directly.)
|
||||
@item ediff-coding-system-for-read
|
||||
@vindex ediff-coding-system-for-read
|
||||
This variable specifies the coding system to use when reading the output
|
||||
that the programs @code{diff3} and @code{diff} send to Emacs. The default
|
||||
that the programs @code{diff3} and @code{diff} send to Emacs. The default
|
||||
is @code{raw-text}, and this should work fine in Unix and in most
|
||||
cases under Windows NT/98/2000. There are @code{diff} programs
|
||||
for which the default option doesn't work under Windows. In such cases,
|
||||
@code{raw-text-dos} might work. If not, you will have to experiment with
|
||||
cases under Windows NT/98/2000. There are @code{diff} programs
|
||||
for which the default option doesn't work under Windows. In such cases,
|
||||
@code{raw-text-dos} might work. If not, you will have to experiment with
|
||||
other coding systems or use GNU diff.
|
||||
|
||||
@item ediff-patch-program
|
||||
@ -1992,7 +1992,7 @@ the difference region from the ancestor buffer, if available
|
||||
======= end
|
||||
@end example
|
||||
|
||||
The above is the default template for the combined region. The user can
|
||||
The above is the default template for the combined region. The user can
|
||||
customize this template using the variable
|
||||
@code{ediff-combination-pattern}.
|
||||
|
||||
@ -2000,11 +2000,11 @@ customize this template using the variable
|
||||
The variable @code{ediff-combination-pattern} specifies the template that
|
||||
determines how the combined merged region looks like. The template is
|
||||
represented as a list of the form @code{(STRING1 Symbol1 STRING2 Symbol2
|
||||
STRING3 Symbol3 STRING4)}. The symbols here must be atoms of the form
|
||||
@code{A}, @code{B}, or @code{Ancestor}. They determine the order in which
|
||||
STRING3 Symbol3 STRING4)}. The symbols here must be atoms of the form
|
||||
@code{A}, @code{B}, or @code{Ancestor}. They determine the order in which
|
||||
the corresponding difference regions (from buffers A, B, and the ancestor
|
||||
buffer) are displayed in the merged region of buffer C@. The strings in the
|
||||
template determine the text that separates the aforesaid regions. The
|
||||
template determine the text that separates the aforesaid regions. The
|
||||
default template is
|
||||
|
||||
@smallexample
|
||||
@ -2014,8 +2014,8 @@ default template is
|
||||
|
||||
@noindent
|
||||
(this is one long line) and the corresponding combined region is shown
|
||||
above. The order in which the regions are shown (and the separator
|
||||
strings) can be changed by changing the above template. It is even
|
||||
above. The order in which the regions are shown (and the separator
|
||||
strings) can be changed by changing the above template. It is even
|
||||
possible to add or delete region specifiers in this template (although
|
||||
the only possibly useful such modification seems to be the deletion of
|
||||
the ancestor).
|
||||
@ -2154,7 +2154,7 @@ change this variable.
|
||||
@vindex ediff-merge-filename-prefix
|
||||
When merge buffers are saved automatically as directed by
|
||||
@code{ediff-autostore-merges}, Ediff attaches a prefix to each file, as
|
||||
specified by the variable @code{ediff-merge-filename-prefix}. The default
|
||||
specified by the variable @code{ediff-merge-filename-prefix}. The default
|
||||
is @code{merge_}, but this can be changed by the user.
|
||||
|
||||
@node Support for Version Control
|
||||
@ -2318,9 +2318,9 @@ unconditionally (e.g., by making @code{ediff-janitor} into one of these hooks).
|
||||
|
||||
@item ediff-keep-tmp-versions
|
||||
@vindex ediff-keep-tmp-versions
|
||||
Default is @code{nil}. If @code{t}, the versions of the files being
|
||||
Default is @code{nil}. If @code{t}, the versions of the files being
|
||||
compared or merged using operations such as @code{ediff-revision} or
|
||||
@code{ediff-merge-revisions} are not deleted on exit. The normal action is
|
||||
@code{ediff-merge-revisions} are not deleted on exit. The normal action is
|
||||
to clean up and delete these version files.
|
||||
|
||||
@item ediff-grab-mouse
|
||||
|
@ -773,7 +773,7 @@ corrupted while unpacking and Emacs will not start.
|
||||
|
||||
If it is still not working, send mail to the
|
||||
@email{help-gnu-emacs@@gnu.org} mailing list, describing what you've
|
||||
done, and what you are seeing. (The more information you send the more
|
||||
done, and what you are seeing. (The more information you send the more
|
||||
likely it is that you'll receive a helpful response.)
|
||||
|
||||
@node Virus
|
||||
@ -1592,7 +1592,7 @@ smtpmail is loaded, then you'll need to change
|
||||
@code{smtpmail-smtp-server}.
|
||||
|
||||
If you are experiencing problems with sending large messages, check
|
||||
the value of the variable @code{smtpmail-debug-info}. If it is
|
||||
the value of the variable @code{smtpmail-debug-info}. If it is
|
||||
non-@code{nil}, you should set it to @code{nil}:
|
||||
|
||||
@node Incoming mail with Rmail
|
||||
@ -1908,9 +1908,9 @@ See the following two URLs for details:
|
||||
@cindex MSVC++, compiling within Emacs
|
||||
@findex compile
|
||||
|
||||
This is an app note on how to use Microsoft Visual C++ with Emacs. The
|
||||
This is an app note on how to use Microsoft Visual C++ with Emacs. The
|
||||
experiments done below were done with Emacs 19.34.1 on Windows 95,
|
||||
using Visual C++ 4.0 Standard Edition. Your mileage may vary.
|
||||
using Visual C++ 4.0 Standard Edition. Your mileage may vary.
|
||||
|
||||
This writeup assumes minimal knowledge of Emacs hacking on the part of
|
||||
the reader.
|
||||
@ -1939,14 +1939,14 @@ For all versions of Windows you can alternatively set the variables
|
||||
just inside Emacs by using @code{setenv} calls in your init file.
|
||||
@xref{Installing Emacs,,Where do I put my init file?}.
|
||||
|
||||
You should now be able to compile from Emacs. Load a source file from
|
||||
a VC++ project. Type @kbd{M-x compile}. Replace the proposed command line
|
||||
You should now be able to compile from Emacs. Load a source file from
|
||||
a VC++ project. Type @kbd{M-x compile}. Replace the proposed command line
|
||||
with:
|
||||
@example
|
||||
nmake -f @var{ProjectName}.mak
|
||||
@end example
|
||||
|
||||
You will find that this defaults to a debug build. You can change it
|
||||
You will find that this defaults to a debug build. You can change it
|
||||
to a release build with:
|
||||
@example
|
||||
nmake -f @var{ProjectName}.mak CFG="@var{ProjectName} - Win32 Release"
|
||||
@ -2018,21 +2018,21 @@ click on @code{Customize...}. In the @code{Tools} tab, click on
|
||||
@file{emacsclientw.exe} file in your Emacs bin directory, and
|
||||
select it. For arguments, use @option{+$(CurLine)}
|
||||
@option{"$(FilePath)"} and for the directory use the @code{$(WkspDir)}
|
||||
(the quotes around FilePath handle paths with spaces in them). Set the
|
||||
Menu Text to say "Em&acs". The @option{+$(CurLine)} will set point in
|
||||
Emacs to the same line as the cursor position in VC++. The ampersand
|
||||
(the quotes around FilePath handle paths with spaces in them). Set the
|
||||
Menu Text to say "Em&acs". The @option{+$(CurLine)} will set point in
|
||||
Emacs to the same line as the cursor position in VC++. The ampersand
|
||||
in the word @code{Em&acs} allows you to select emacs from the keyboard.
|
||||
(E is already used for the OLE control test container.)
|
||||
|
||||
You should now be able to go to any source file in your project. Then,
|
||||
use the pull-down menu @code{Tools->Emacs}. The active file in your
|
||||
You should now be able to go to any source file in your project. Then,
|
||||
use the pull-down menu @code{Tools->Emacs}. The active file in your
|
||||
VC++ IDE should now be front and center in Emacs, all ready to edit as
|
||||
you wish. If you use keystrokes to work the menus, try @kbd{Alt-T A} to
|
||||
move the file into Emacs. Binding this tool to a keystroke will be
|
||||
you wish. If you use keystrokes to work the menus, try @kbd{Alt-T A} to
|
||||
move the file into Emacs. Binding this tool to a keystroke will be
|
||||
left as an exercise for the student.
|
||||
|
||||
If you have the option of saving files before running tools, make sure
|
||||
this option is set. (I don't see it on VC++ 4.0.)
|
||||
this option is set. (I don't see it on VC++ 4.0.)
|
||||
|
||||
@node Borland C++ Builder
|
||||
@section Emacs and Borland C++ Builder
|
||||
@ -2072,8 +2072,8 @@ Free native Windows binaries. For those that don't Cygwin may be an option.
|
||||
From Jay Rogers:
|
||||
|
||||
Some versions of the perl debugger itself need to be patched to work
|
||||
with emacs. They are perl versions 5.001 and less, and version
|
||||
5.004_01. To fix, locate and change the code similar to the following
|
||||
with emacs. They are perl versions 5.001 and less, and version
|
||||
5.004_01. To fix, locate and change the code similar to the following
|
||||
code in lib/perl5db.pl
|
||||
@example
|
||||
if (-e "/dev/tty") @{
|
||||
@ -2273,7 +2273,7 @@ If you have general questions about Emacs, the best places to start
|
||||
looking are @ref{Top,,, emacs, The GNU Emacs Manual}, and
|
||||
@ref{Top,,, efaq, the standard Emacs FAQ}.
|
||||
In Emacs, you can browse the manual using Info by typing @kbd{C-h r},
|
||||
and you can view the FAQ by typing @kbd{C-h C-f}. Other resources include:
|
||||
and you can view the FAQ by typing @kbd{C-h C-f}. Other resources include:
|
||||
|
||||
@itemize
|
||||
@item @uref{https://www.gnu.org/software/emacs/, The Emacs website}
|
||||
|
@ -3692,7 +3692,7 @@ feature.
|
||||
|
||||
Emacs has a list of local variables that are known to be safe to set.
|
||||
If a file tries to set any variable outside this list, it asks the
|
||||
user to confirm whether the variables should be set. You can also tell
|
||||
user to confirm whether the variables should be set. You can also tell
|
||||
Emacs whether to allow the evaluation of Emacs Lisp code found at the
|
||||
bottom of files by setting the variable @code{enable-local-eval}.
|
||||
|
||||
@ -3835,7 +3835,7 @@ in the distribution.
|
||||
To build Emacs from source for MS-DOS, see the instructions in the file
|
||||
@file{msdos/INSTALL} in the distribution. The DOS port builds and runs
|
||||
on plain DOS, and also on all versions of MS-Windows from version 3.X
|
||||
onwards, including Windows XP and Vista. Pre-built binaries may be
|
||||
onwards, including Windows XP and Vista. Pre-built binaries may be
|
||||
available at
|
||||
@uref{https://www.delorie.com/pub/djgpp/current/v2gnu/emacs.README}
|
||||
|
||||
@ -4761,14 +4761,14 @@ these systems, you should configure @code{movemail} to use @code{flock}.
|
||||
Ron Isaacson says: When you hit
|
||||
@kbd{r} to reply in Rmail, by default it Ccs all of the original
|
||||
recipients (everyone on the original @samp{To} and @samp{CC}
|
||||
lists). With a prefix argument (i.e., typing @kbd{C-u} before @kbd{r}),
|
||||
lists). With a prefix argument (i.e., typing @kbd{C-u} before @kbd{r}),
|
||||
it replies only to the sender. However, going through the whole
|
||||
@kbd{C-u} business every time you want to reply is a pain. This is the
|
||||
best fix I've been able to come up with:
|
||||
|
||||
@lisp
|
||||
(defun rmail-reply-t ()
|
||||
"Reply only to the sender of the current message. (See rmail-reply.)"
|
||||
"Reply only to the sender of the current message. (See rmail-reply.)"
|
||||
(interactive)
|
||||
(rmail-reply t))
|
||||
|
||||
|
@ -1313,7 +1313,7 @@ based on compile-time information.
|
||||
|
||||
The language server reports the regions by periodically sending a
|
||||
@code{textDocument/inactiveRegions} notification for each managed
|
||||
buffer (@pxref{Eglot and Buffers}). Normally, unknown server
|
||||
buffer (@pxref{Eglot and Buffers}). Normally, unknown server
|
||||
notifications are ignored by Eglot, but we're going change that.
|
||||
|
||||
Both the announcement of the client capability and the handling of the
|
||||
@ -1353,7 +1353,7 @@ called @code{eglot-clangd}, so that the method would be simplified:
|
||||
However, this would require that users tweak
|
||||
@code{eglot-server-program} to tell Eglot instantiate such sub-classes
|
||||
instead of the generic @code{eglot-lsp-server} (@pxref{Setting Up LSP
|
||||
Servers}). For the purposes of this particular demonstration, we're
|
||||
Servers}). For the purposes of this particular demonstration, we're
|
||||
going to use the more hacky regexp route which doesn't require that.
|
||||
|
||||
Note, however, that detecting server versions before announcing new
|
||||
|
@ -379,7 +379,7 @@ This variable is @code{resize} by default, which means that images
|
||||
that are bigger than the Emacs window are resized so that they fit.
|
||||
If you set this to @code{nil}, large images are not displayed in
|
||||
Emacs, but can instead be displayed externally (e.g., with
|
||||
@samp{ImageMagick} or @samp{xv}). Setting this variable to @code{t}
|
||||
@samp{ImageMagick} or @samp{xv}). Setting this variable to @code{t}
|
||||
disables this check and makes the library display all inline images as
|
||||
inline, regardless of their size.
|
||||
|
||||
|
@ -203,11 +203,11 @@ different Emacs versions.
|
||||
@cindex interactive testing
|
||||
|
||||
@findex ert
|
||||
You can run the tests that are currently defined in your Emacs with
|
||||
the command @kbd{M-x ert @key{RET} t @key{RET}}. (For an
|
||||
explanation of the @code{t} argument, @pxref{Test Selectors}.) ERT will pop
|
||||
up a new buffer, the ERT results buffer, showing the results of the
|
||||
tests run. It looks like this:
|
||||
You can run the tests that are currently defined in your Emacs with the
|
||||
command @kbd{M-x ert @key{RET} t @key{RET}}. (For an explanation of the
|
||||
@code{t} argument, @pxref{Test Selectors}.) ERT will pop up a new
|
||||
buffer, the ERT results buffer, showing the results of the tests run.
|
||||
It looks like this:
|
||||
|
||||
@example
|
||||
Selector: t
|
||||
|
@ -344,7 +344,7 @@ form} or in @dfn{Lisp form}.
|
||||
|
||||
You can use the semicolon (@code{;}) to separate multiple command
|
||||
invocations on a single line, executing each in turn. You can also
|
||||
separate commands with @code{&&} or @code{||}. When using @code{&&},
|
||||
separate commands with @code{&&} or @code{||}. When using @code{&&},
|
||||
Eshell will execute the second command only if the first succeeds
|
||||
(i.e.@: has an exit status of 0); with @code{||}, Eshell will execute
|
||||
the second command only if the first fails.
|
||||
@ -1995,7 +1995,7 @@ Matches one or more copies of the glob pattern @var{x}. Thus,
|
||||
etc.
|
||||
|
||||
@item @var{x}~@var{y}
|
||||
Matches anything that matches the pattern @var{x} but not @var{y}. For
|
||||
Matches anything that matches the pattern @var{x} but not @var{y}. For
|
||||
example, @samp{[[:digit:]]#~4?} matches @file{1} and @file{12}, but
|
||||
not @file{42}. Note that unlike in Zsh, only a single @samp{~}
|
||||
operator can be used in a pattern, and it cannot be inside of a group
|
||||
@ -2416,9 +2416,9 @@ Adds the text passed to it to the clipboard.
|
||||
@findex eshell-close-target
|
||||
You can, of course, define your own virtual targets. These are entries
|
||||
in @code{eshell-virtual-targets} with the form @samp{(@var{filename}
|
||||
@var{output-function} @var{pass-mode})}. The first element,
|
||||
@var{output-function} @var{pass-mode})}. The first element,
|
||||
@var{filename}, is the device name, usually of the form
|
||||
@samp{"/dev/@var{name}"}. The second, @var{output-function}, should be a
|
||||
@samp{"/dev/@var{name}"}. The second, @var{output-function}, should be a
|
||||
function: Eshell will repeatedly call it with the redirected output.
|
||||
This argument can also be an @code{eshell-generic-target} instance. In
|
||||
this case, Eshell will repeatedly call the generic function
|
||||
@ -2547,7 +2547,7 @@ for the built-in functions and some common external commands, and you
|
||||
can define your own for any command.
|
||||
|
||||
@kindex TAB
|
||||
Eshell completion also works for Lisp forms and glob patterns. If the
|
||||
Eshell completion also works for Lisp forms and glob patterns. If the
|
||||
point is on a Lisp form, then @key{TAB} will behave similarly to
|
||||
completion in @code{elisp-mode} and @code{lisp-interaction-mode}. For
|
||||
glob patterns, the pattern will be removed from the input line, and
|
||||
@ -2985,7 +2985,7 @@ Also a new @command{less} buffer was created with nothing in it@dots{}
|
||||
If @command{less.exe} is invoked from the Eshell command line, the
|
||||
expected output is written to the buffer.
|
||||
|
||||
Note that this happens on NT-Emacs 20.6.1 on Windows 2000. The term.el
|
||||
Note that this happens on NT-Emacs 20.6.1 on Windows 2000. The term.el
|
||||
package and the supplied shell both use the @command{cmdproxy} program
|
||||
for running shells.
|
||||
|
||||
|
@ -131,7 +131,7 @@ Quoted from RFC 1777:
|
||||
@quotation
|
||||
[LDAP] is designed to provide access to the X.500 Directory while not
|
||||
incurring the resource requirements of the Directory Access Protocol
|
||||
(DAP). This protocol is specifically targeted at simple management
|
||||
(DAP). This protocol is specifically targeted at simple management
|
||||
applications and browser applications that provide simple read/write
|
||||
interactive access to the X.500 Directory, and is intended to be a
|
||||
complement to the DAP itself.
|
||||
@ -564,7 +564,7 @@ to customize in this process.
|
||||
|
||||
Before doing any query you will need to set the directory server. You
|
||||
need to specify the name of the host machine running the server software
|
||||
and the protocol to use. If you do not set the server in any fashion,
|
||||
and the protocol to use. If you do not set the server in any fashion,
|
||||
EUDC will ask you for one when you make your first query.
|
||||
|
||||
You can set the server by selecting one from your hotlist of servers
|
||||
@ -579,9 +579,9 @@ buffer will be displayed where you can edit the search base and other
|
||||
parameters for the server.
|
||||
|
||||
@defvar eudc-server
|
||||
The name or IP address of the remote directory server. A TCP port number
|
||||
The name or IP address of the remote directory server. A TCP port number
|
||||
may be specified by appending a colon and a number to the name of the
|
||||
server. You will not need this unless your server runs on a port other
|
||||
server. You will not need this unless your server runs on a port other
|
||||
than the default (which depends on the protocol).
|
||||
If the directory server resides on your own computer (which is the case
|
||||
if you use the BBDB back end) then @samp{localhost} is a reasonable value but
|
||||
@ -609,12 +609,12 @@ attributes you want to see, if different from the server defaults.
|
||||
@defvar eudc-default-return-attributes
|
||||
A list of the default attributes to extract from directory entries. If
|
||||
set to the symbol @code{all} then all available attributes are
|
||||
returned. A value of @code{nil}, the default, means to return the
|
||||
returned. A value of @code{nil}, the default, means to return the
|
||||
default attributes as configured in the server.
|
||||
@end defvar
|
||||
|
||||
The server may return several matching records to a query. Some of the
|
||||
records may however not contain all the attributes you requested. You can
|
||||
The server may return several matching records to a query. Some of the
|
||||
records may however not contain all the attributes you requested. You can
|
||||
discard those records.
|
||||
|
||||
@defopt eudc-strict-return-matches
|
||||
@ -626,32 +626,32 @@ attributes are ignored. Default is @code{t}.
|
||||
@subsection Duplicate Attributes
|
||||
|
||||
Directory standards may authorize different instances of the same
|
||||
attribute in a record. For instance the record of a person may contain
|
||||
attribute in a record. For instance the record of a person may contain
|
||||
several email fields containing different email addresses, in which
|
||||
case EUDC will consider the attribute duplicated.
|
||||
|
||||
EUDC has several methods to deal with duplicated attributes. The
|
||||
EUDC has several methods to deal with duplicated attributes. The
|
||||
available methods are:
|
||||
|
||||
@table @code
|
||||
@item list
|
||||
Makes a list with the different values of the duplicate attribute. The
|
||||
Makes a list with the different values of the duplicate attribute. The
|
||||
record is returned with only one instance of the attribute with a list
|
||||
of all the different values as a value. This is the default method that
|
||||
of all the different values as a value. This is the default method that
|
||||
is used to handle duplicate fields for which no other method has been
|
||||
specified.
|
||||
@item first
|
||||
Discards all the duplicate values of the field keeping only the first
|
||||
one.
|
||||
@item concat
|
||||
Concatenates the different values using a newline as a separator. The
|
||||
Concatenates the different values using a newline as a separator. The
|
||||
record keeps only one instance of the field the value of which is a
|
||||
single multi-line string.
|
||||
@item duplicate
|
||||
Duplicates the whole record into as many instances as there are different
|
||||
values for the field. This is the default for the email field. Thus a
|
||||
values for the field. This is the default for the email field. Thus a
|
||||
record containing 3 different email addresses is duplicated into three
|
||||
different records each having a single email address. This is
|
||||
different records each having a single email address. This is
|
||||
particularly useful in combination with @code{select} as the method to
|
||||
handle multiple matches in inline expansion queries (@pxref{Inline Query
|
||||
Expansion}) because you are presented with the 3 addresses in a
|
||||
@ -667,7 +667,7 @@ A method to handle entries containing duplicate attributes. This is
|
||||
either an alist of elements @code{(@var{attr} . @var{method})}, or a symbol
|
||||
@var{method}. The alist form of the variable associates a method to an
|
||||
individual attribute name; the second form specifies a method applicable
|
||||
to all attribute names. Available methods are: @code{list},
|
||||
to all attribute names. Available methods are: @code{list},
|
||||
@code{first}, @code{concat}, and @code{duplicate} (see above). The default is
|
||||
@code{list}.
|
||||
@end defvar
|
||||
@ -678,8 +678,8 @@ to all attribute names. Available methods are: @code{list},
|
||||
@section Query Form
|
||||
|
||||
The simplest way to query your directory server is to use the query
|
||||
form. You display the query form with the @samp{Query with Form} menu
|
||||
item or by invoking the command @kbd{M-x eudc-query-form}. The attribute
|
||||
form. You display the query form with the @samp{Query with Form} menu
|
||||
item or by invoking the command @kbd{M-x eudc-query-form}. The attribute
|
||||
names presented in this form are defined by the
|
||||
@code{eudc-query-form-attributes} variable (unless a non-@code{nil}
|
||||
argument is supplied to @code{eudc-query-form}).
|
||||
@ -717,7 +717,7 @@ names for directory attribute names. This variable is ignored if
|
||||
|
||||
@defvar eudc-user-attribute-names-alist
|
||||
This is an alist of user-defined names for the directory attributes used in
|
||||
query/response forms. Prompt strings for attributes that are not in this
|
||||
query/response forms. Prompt strings for attributes that are not in this
|
||||
alist are derived by splitting the attribute name at underscores and
|
||||
capitalizing the individual words.
|
||||
@end defvar
|
||||
@ -893,7 +893,7 @@ against the @code{cn} attribute of LDAP servers:
|
||||
|
||||
@defvar eudc-inline-expansion-format
|
||||
This variable lets you control exactly what is inserted into the
|
||||
buffer upon an inline expansion request. It can be set to @code{nil},
|
||||
buffer upon an inline expansion request. It can be set to @code{nil},
|
||||
to a function, or to a list. Default is @code{nil}.
|
||||
|
||||
When the value is a list, the first element is a string passed to
|
||||
@ -926,7 +926,7 @@ any of the formats:
|
||||
|
||||
Email address specifications, as are generated by inline expansion,
|
||||
need to comply with RFC 5322 in order to be useful in email
|
||||
messages. When an invalid address specification is present in an email
|
||||
messages. When an invalid address specification is present in an email
|
||||
message header, the message is likely to be rejected by a receiving
|
||||
MTA. It is hence recommended to switch old configurations, which use
|
||||
a list value, to the new @code{nil}, or function value type since it
|
||||
|
@ -194,7 +194,7 @@ The following statuses are defined:
|
||||
@item [@var{nerrors} @var{nwarnings} ...]
|
||||
@tab Normal operation. @var{nerrors} and @var{nwarnings} are, respectively,
|
||||
the total number of errors and warnings found during the last buffer
|
||||
check, for all backends. They may be followed by other totals for
|
||||
check, for all backends. They may be followed by other totals for
|
||||
other types of diagnostics (@pxref{Flymake error types}).
|
||||
|
||||
@item @code{Wait}
|
||||
|
@ -298,9 +298,9 @@ Similar to @code{forms-next-field} but moves backwards.
|
||||
@item M-x forms-save-buffer
|
||||
@kindex C-x C-s
|
||||
@itemx C-x C-s
|
||||
Forms mode replacement for @code{save-buffer}. When executed in the
|
||||
Forms mode replacement for @code{save-buffer}. When executed in the
|
||||
forms buffer it will save the contents of the (modified) data buffer
|
||||
instead. In Forms mode this function will be bound to @kbd{C-x C-s}.
|
||||
instead. In Forms mode this function will be bound to @kbd{C-x C-s}.
|
||||
|
||||
@findex forms-print
|
||||
@item M-x forms-print
|
||||
@ -374,10 +374,10 @@ string @code{forms-field-sep}, which is @code{"\t"} (a Tab) by default.
|
||||
If the format of the data file is not suitable enough you can define the
|
||||
filter functions @code{forms-read-file-filter} and
|
||||
@code{forms-write-file-filter}. @code{forms-read-file-filter} is called
|
||||
when the data file is read from disk into the data buffer. It operates
|
||||
on the data buffer, ignoring read-only protections. When the data file
|
||||
when the data file is read from disk into the data buffer. It operates
|
||||
on the data buffer, ignoring read-only protections. When the data file
|
||||
is saved to disk @code{forms-write-file-filter} is called to cancel the
|
||||
effects of @code{forms-read-file-filter}. After being saved,
|
||||
effects of @code{forms-read-file-filter}. After being saved,
|
||||
@code{forms-read-file-filter} is called again to prepare the data buffer
|
||||
for further processing.
|
||||
|
||||
@ -488,7 +488,7 @@ The default value is @code{"\^k"}, the character Control-K@. Example:
|
||||
@findex forms-read-file-filter
|
||||
@item forms-read-file-filter
|
||||
This variable holds the name of a function to be called after the data
|
||||
file has been read in. This can be used to transform the contents of the
|
||||
file has been read in. This can be used to transform the contents of the
|
||||
data file into a format more suitable for forms processing.
|
||||
If it is @code{nil}, no function is called. For example, to maintain a
|
||||
gzipped database:
|
||||
@ -533,7 +533,7 @@ modified, just before updating the Forms data file. If it is
|
||||
@findex forms-insert-after
|
||||
@item forms-insert-after
|
||||
If this variable is not @code{nil}, new records are created @emph{after} the
|
||||
current record. Also, upon visiting a file, the initial position will be
|
||||
current record. Also, upon visiting a file, the initial position will be
|
||||
at the last record instead of the first one.
|
||||
|
||||
@findex forms-check-number-of-fields
|
||||
@ -798,8 +798,8 @@ newline in a field, while @code{forms-multi-line} was @code{nil}.
|
||||
|
||||
@item Field separator occurs in record - update refused!
|
||||
The current record contains the field separator string inside one of the
|
||||
fields. It can not be written back to the data file, for it would
|
||||
corrupt it. Probably you inserted the field separator string in a field.
|
||||
fields. It can not be written back to the data file, for it would
|
||||
corrupt it. Probably you inserted the field separator string in a field.
|
||||
|
||||
@item Record number @var{xx} out of range 1..@var{yy}
|
||||
A jump was made to non-existing record @var{xx}. @var{yy} denotes the
|
||||
@ -813,7 +813,7 @@ An attempt was made to enable edit mode on a file that has been write
|
||||
protected.
|
||||
|
||||
@item Search failed: @var{regexp}
|
||||
The @var{regexp} could not be found in the data file. Forward searching
|
||||
The @var{regexp} could not be found in the data file. Forward searching
|
||||
is done from the current location until the end of the file, then
|
||||
retrying from the beginning of the file until the current location.
|
||||
Backward searching is done from the current location until the beginning
|
||||
@ -828,7 +828,7 @@ Forms mode's idea of the number of records has been adjusted to the
|
||||
number of records actually present in the data file.
|
||||
|
||||
@item Problem saving buffers?
|
||||
An error occurred while saving the data file buffer. Most likely, Emacs
|
||||
An error occurred while saving the data file buffer. Most likely, Emacs
|
||||
did ask to confirm deleting the buffer because it had been modified, and
|
||||
you said ``no''.
|
||||
@end table
|
||||
|
@ -115,7 +115,7 @@ development version that became Gnus 5.12.
|
||||
* FAQ 2-4:: My group buffer becomes a bit crowded, is there a way to
|
||||
sort my groups into categories so I can easier browse through
|
||||
them?
|
||||
* FAQ 2-5:: How to manually sort the groups in Group buffer? How to
|
||||
* FAQ 2-5:: How to manually sort the groups in Group buffer? How to
|
||||
sort the groups in a topic?
|
||||
@end menu
|
||||
|
||||
@ -146,7 +146,7 @@ what's this?
|
||||
@subsubheading Answer
|
||||
|
||||
You get the message described in the q/a pair above while
|
||||
starting Gnus, right? It's another symptom for the same
|
||||
starting Gnus, right? It's another symptom for the same
|
||||
problem, so read the answer above.
|
||||
|
||||
@node FAQ 2-3
|
||||
@ -190,7 +190,7 @@ groups nicely indented.
|
||||
@node FAQ 2-5
|
||||
@subsubheading Question 2.5
|
||||
|
||||
How to manually sort the groups in Group buffer? How to
|
||||
How to manually sort the groups in Group buffer? How to
|
||||
sort the groups in a topic?
|
||||
|
||||
@subsubheading Answer
|
||||
@ -583,7 +583,7 @@ each POP3 mail source. @xref{Mail Source Specifiers}, for details on
|
||||
* FAQ 4-8:: Is there anything I can do to make poorly formatted
|
||||
mails more readable?
|
||||
* FAQ 4-9:: Is there a way to automatically ignore posts by specific
|
||||
authors or with specific words in the subject? And can I
|
||||
authors or with specific words in the subject? And can I
|
||||
highlight more interesting ones in some way?
|
||||
* FAQ 4-10:: How can I disable threading in some (e.g., mail-) groups,
|
||||
or set other variables specific for some groups?
|
||||
@ -593,7 +593,7 @@ each POP3 mail source. @xref{Mail Source Specifiers}, for details on
|
||||
displays in group buffer is by far to high, especially in mail
|
||||
groups. Is this a bug?
|
||||
* FAQ 4-13:: I don't like the layout of summary and article buffer,
|
||||
how to change it? Perhaps even a three pane display?
|
||||
how to change it? Perhaps even a three pane display?
|
||||
* FAQ 4-14:: I don't like the way the Summary buffer looks, how to
|
||||
tweak it?
|
||||
* FAQ 4-15:: How to split incoming mails in several groups?
|
||||
@ -750,7 +750,7 @@ other deuglifications).
|
||||
@subsubheading Question 4.9
|
||||
|
||||
Is there a way to automatically ignore posts by specific
|
||||
authors or with specific words in the subject? And can I
|
||||
authors or with specific words in the subject? And can I
|
||||
highlight more interesting ones in some way?
|
||||
|
||||
@subsubheading Answer
|
||||
@ -876,7 +876,7 @@ groups again).
|
||||
@subsubheading Question 4.13
|
||||
|
||||
I don't like the layout of summary and article buffer, how
|
||||
to change it? Perhaps even a three pane display?
|
||||
to change it? Perhaps even a three pane display?
|
||||
|
||||
@subsubheading Answer
|
||||
|
||||
@ -1056,7 +1056,7 @@ of the variables @code{shr-color-visible-distance-min} and
|
||||
signature...?
|
||||
* FAQ 5-4:: Can I set things like From, Signature etc. group based on
|
||||
the group I post too?
|
||||
* FAQ 5-5:: Is there a spell-checker? Perhaps even on-the-fly
|
||||
* FAQ 5-5:: Is there a spell-checker? Perhaps even on-the-fly
|
||||
spell-checking?
|
||||
* FAQ 5-6:: Can I set the dictionary based on the group I'm posting
|
||||
to?
|
||||
@ -1212,7 +1212,7 @@ at the bottom.
|
||||
@node FAQ 5-5
|
||||
@subsubheading Question 5.5
|
||||
|
||||
Is there a spell-checker? Perhaps even on-the-fly spell-checking?
|
||||
Is there a spell-checker? Perhaps even on-the-fly spell-checking?
|
||||
|
||||
@subsubheading Answer
|
||||
|
||||
@ -1562,7 +1562,7 @@ gnu.emacs.gnus and want to archive it there are several
|
||||
solutions. The first and easiest is to save it to a file
|
||||
by saying @kbd{O f}. However, wouldn't
|
||||
it be much more convenient to have more direct access to
|
||||
the archived message from Gnus? If you say yes, put this
|
||||
the archived message from Gnus? If you say yes, put this
|
||||
snippet by Frank Haun <pille3003@@fhaun.de> in
|
||||
@file{~/.gnus.el}:
|
||||
|
||||
@ -1584,7 +1584,7 @@ more then one article."
|
||||
@noindent
|
||||
|
||||
You can now say @kbd{M-x my-archive-article} in summary buffer to
|
||||
archive the article under the cursor in a nnml group. (Change nnml to
|
||||
archive the article under the cursor in a nnml group. (Change nnml to
|
||||
your preferred back end.)
|
||||
|
||||
Of course you can also make sure the cache is enabled by saying
|
||||
@ -1664,7 +1664,7 @@ follows a slightly different approach, here all article
|
||||
where the read mark is set are expirable.
|
||||
|
||||
To activate auto-expire, include auto-expire in the
|
||||
Group parameters for the group. (Hit @kbd{G
|
||||
Group parameters for the group. (Hit @kbd{G
|
||||
c} in summary buffer with point over the
|
||||
group to change group parameters). For total-expire add
|
||||
total-expire to the group-parameters.
|
||||
@ -1808,7 +1808,7 @@ other possibility is to set, again in the summary
|
||||
buffer, downloadable (%) marks for the articles you
|
||||
want by typing @kbd{@@} with point over
|
||||
the article and then typing @kbd{J u}.
|
||||
What's the difference? Well, process marks are erased as
|
||||
What's the difference? Well, process marks are erased as
|
||||
soon as you exit the summary buffer while downloadable
|
||||
marks are permanent. You can actually set downloadable
|
||||
marks in several groups then use fetch session ('J s' in
|
||||
|
@ -5837,7 +5837,7 @@ Mail a very wide reply to the author of the current article
|
||||
(@code{gnus-summary-very-wide-reply}). A @dfn{very wide reply} is a
|
||||
reply that goes out to all people listed in the @code{To}, @code{From}
|
||||
(or @code{Reply-To}) and @code{Cc} headers in all the process/prefixed
|
||||
articles. This command uses the process/prefix convention. If given a
|
||||
articles. This command uses the process/prefix convention. If given a
|
||||
prefix argument, the body of the current article will also be yanked.
|
||||
|
||||
@item S V
|
||||
@ -7424,7 +7424,7 @@ meaningful. Here's one example:
|
||||
@end lisp
|
||||
|
||||
And another example: the protonmail bridge adds fake message-ids to
|
||||
@code{References} in message headers, which can confuse threading. To
|
||||
@code{References} in message headers, which can confuse threading. To
|
||||
remove these spurious ids
|
||||
|
||||
@lisp
|
||||
@ -10558,7 +10558,7 @@ course, it'll make group entry somewhat slow.
|
||||
|
||||
@vindex gnus-refer-thread-use-search
|
||||
If @code{gnus-refer-thread-use-search} is @code{nil} (the default)
|
||||
then thread-referral only looks for articles in the current group. If
|
||||
then thread-referral only looks for articles in the current group. If
|
||||
this variable is @code{t} the server to which the current group
|
||||
belongs is searched (provided that searching is available for the
|
||||
server's backend). If this variable is a list of servers, each server
|
||||
@ -14706,7 +14706,7 @@ Here's a complete example @code{nnimap} backend with a client-side
|
||||
|
||||
If you're using Google's Gmail, you may want to see your Gmail labels
|
||||
when reading your mail. Gnus can give you this information if you ask
|
||||
for @samp{X-GM-LABELS} in the variable @code{gnus-extra-headers}. For
|
||||
for @samp{X-GM-LABELS} in the variable @code{gnus-extra-headers}. For
|
||||
example:
|
||||
|
||||
@example
|
||||
@ -15387,7 +15387,7 @@ corresponding keywords.
|
||||
|
||||
@item :mailbox
|
||||
The name of the mailbox to get mail from. The default is @samp{INBOX}
|
||||
which normally is the mailbox which receives incoming mail. Instead of
|
||||
which normally is the mailbox which receives incoming mail. Instead of
|
||||
a single mailbox, this can be a list of mailboxes to fetch mail from.
|
||||
|
||||
@item :predicate
|
||||
@ -20602,7 +20602,7 @@ key will lead to creation of @file{ADAPT} files.)
|
||||
@cindex score file atoms
|
||||
@item score-fn
|
||||
The value of this entry should be one or more user-defined function
|
||||
names in parentheses. Each function will be called in order and the
|
||||
names in parentheses. Each function will be called in order and the
|
||||
returned value is required to be an integer.
|
||||
|
||||
@example
|
||||
@ -22355,7 +22355,7 @@ calling @code{nnmairix-search} with @samp{f:From}.
|
||||
@item G G o
|
||||
@kindex G G o @r{(Summary)}
|
||||
@findex nnmairix-goto-original-article
|
||||
(Only in @code{nnmairix} groups!) Tries determine the group this article
|
||||
(Only in @code{nnmairix} groups!) Tries determine the group this article
|
||||
originally came from and displays the article in this group, so that,
|
||||
e.g., replying to this article the correct posting styles/group
|
||||
parameters are applied (@code{nnmairix-goto-original-article}). This
|
||||
@ -26641,13 +26641,13 @@ data across multiple machines.
|
||||
|
||||
Very often, you want all your marks (what articles you've read, which
|
||||
ones were important, and so on) to be synchronized between several
|
||||
machines. With IMAP, that's built into the protocol, so you can read
|
||||
machines. With IMAP, that's built into the protocol, so you can read
|
||||
nnimap groups from many machines and they are automatically
|
||||
synchronized. But NNTP, nnrss, and many other backends do not store
|
||||
synchronized. But NNTP, nnrss, and many other backends do not store
|
||||
marks, so you have to do it locally.
|
||||
|
||||
The Gnus Cloud package stores the marks, plus any files you choose, on
|
||||
an IMAP server in a special folder. It's like a
|
||||
an IMAP server in a special folder. It's like a
|
||||
DropTorrentSyncBoxOakTree(TM).@footnote{The name ``Gnus Cloud''
|
||||
parodizes but otherwise has little to do with ``cloud computing'', a
|
||||
@url{https://www.gnu.org/philosophy/words-to-avoid.html#CloudComputing,
|
||||
@ -26661,17 +26661,17 @@ misleading term normally best avoided}.}
|
||||
@node Gnus Cloud Setup
|
||||
@subsection Gnus Cloud Setup
|
||||
|
||||
Setting up the Gnus Cloud takes less than a minute. From the Group
|
||||
Setting up the Gnus Cloud takes less than a minute. From the Group
|
||||
buffer:
|
||||
|
||||
Press @kbd{^} to go to the Server buffer. Here you'll see all the
|
||||
Press @kbd{^} to go to the Server buffer. Here you'll see all the
|
||||
servers that Gnus knows. @xref{Server Buffer}.
|
||||
|
||||
Then press @kbd{i} to mark any servers as cloud-synchronized (their marks are synchronized).
|
||||
|
||||
Then press @kbd{I} to mark a single server as the cloud host (it must
|
||||
be an IMAP server, and will host a special IMAP folder with all the
|
||||
synchronization data). This will set the variable
|
||||
synchronization data). This will set the variable
|
||||
@code{gnus-cloud-method} (using the Customize facilities), then ask
|
||||
you to optionally upload your first CloudSynchronizationDataPack(TM).
|
||||
|
||||
@ -26691,37 +26691,37 @@ Download the latest Gnus Cloud data.
|
||||
@item ~ ~
|
||||
@findex gnus-cloud-upload-all-data
|
||||
@cindex cloud, download
|
||||
Upload the local Gnus Cloud data. Creates a new
|
||||
Upload the local Gnus Cloud data. Creates a new
|
||||
CloudSynchronizationDataPack(TM).
|
||||
|
||||
@end table
|
||||
|
||||
But wait, there's more. Of course there's more. So much more. You can
|
||||
But wait, there's more. Of course there's more. So much more. You can
|
||||
customize all of the following.
|
||||
|
||||
@defvar gnus-cloud-synced-files
|
||||
These are the files that will be part of every
|
||||
CloudSynchronizationDataPack(TM). They are included in every upload,
|
||||
so don't synchronize a lot of large files. Files under 100Kb are best.
|
||||
CloudSynchronizationDataPack(TM). They are included in every upload,
|
||||
so don't synchronize a lot of large files. Files under 100Kb are best.
|
||||
@end defvar
|
||||
|
||||
@defvar gnus-cloud-storage-method
|
||||
This is a choice from several storage methods. It's highly recommended
|
||||
to use the EPG facilities. It will be automatic if have GnuPG
|
||||
installed and EPG loaded. Otherwise, you could use Base64+gzip,
|
||||
This is a choice from several storage methods. It's highly recommended
|
||||
to use the EPG facilities. It will be automatic if have GnuPG
|
||||
installed and EPG loaded. Otherwise, you could use Base64+gzip,
|
||||
Base64, or no encoding.
|
||||
@end defvar
|
||||
|
||||
@defvar gnus-cloud-interactive
|
||||
When this is set, and by default it is, the Gnus Cloud package will
|
||||
ask you for confirmation here and there. Leave it on until you're
|
||||
ask you for confirmation here and there. Leave it on until you're
|
||||
comfortable with the package.
|
||||
@end defvar
|
||||
|
||||
|
||||
@defvar gnus-cloud-method
|
||||
The name of the IMAP server to store the
|
||||
CloudSynchronizationDataPack(TM)s. It's easiest to set this from the
|
||||
CloudSynchronizationDataPack(TM)s. It's easiest to set this from the
|
||||
Server buffer (@pxref{Gnus Cloud Setup}).
|
||||
@end defvar
|
||||
|
||||
|
@ -1167,7 +1167,7 @@ An assoc of @code{(point . @var{face-symbol})} or
|
||||
. end)} elements, in descending order of point value (i.e., from the
|
||||
file's end to its beginning). The map is in reverse order because
|
||||
inserting a @samp{<style>} tag (or any other string) at @var{point}
|
||||
invalidates the map for all entries with a greater value of point. By
|
||||
invalidates the map for all entries with a greater value of point. By
|
||||
traversing the map from greatest to least @var{point}, we still
|
||||
invalidate the map as we go, but only those points we have already
|
||||
dealt with (and therefore no longer care about) will be invalid at any
|
||||
|
@ -189,7 +189,7 @@ IDLWAVE consists of two main parts: a major mode for editing IDL
|
||||
source files (@code{idlwave-mode}) and a mode for running the IDL
|
||||
program as an inferior shell (@code{idlwave-shell-mode}). Although
|
||||
one mode can be used without the other, both work together closely to
|
||||
form a complete development environment. Here is a brief summary of
|
||||
form a complete development environment. Here is a brief summary of
|
||||
what IDLWAVE does:
|
||||
|
||||
@itemize @bullet
|
||||
@ -504,7 +504,7 @@ keywords again? Go back to the source window and put the cursor into
|
||||
the ``plot'' line and press @kbd{C-c ?}. This shows the routine info
|
||||
window for the plot routine, which contains a list of keywords, along
|
||||
with the argument list. Oh, we wanted @code{YTITLE}. Fix that up.
|
||||
Recompile with @kbd{C-c C-d C-c}. Jump back into the shell with
|
||||
Recompile with @kbd{C-c C-d C-c}. Jump back into the shell with
|
||||
@kbd{C-c C-s}, press the @key{UP} arrow to recall the previous command
|
||||
and execute again.
|
||||
|
||||
@ -566,7 +566,7 @@ directory---but do not be dismayed; for the most part, you can just
|
||||
copy and work from the examples given here.
|
||||
|
||||
Let's first use a boolean variable. These are variables which you turn
|
||||
on or off, much like a checkbox. A value of @samp{t} means on, a value
|
||||
on or off, much like a checkbox. A value of @samp{t} means on, a value
|
||||
of @samp{nil} means off. Copy the following line into your
|
||||
@file{.emacs} file, exit and restart Emacs.
|
||||
|
||||
@ -604,7 +604,7 @@ If you cannot seem to master this Lisp customization in @file{.emacs},
|
||||
there is another, more user-friendly way to customize all the IDLWAVE
|
||||
variables. You can access it through the IDLWAVE menu in one of the
|
||||
@file{.pro} buffers, menu item @code{Customize->Browse IDLWAVE
|
||||
Group}. Here you'll be presented with all the various variables grouped
|
||||
Group}. Here you'll be presented with all the various variables grouped
|
||||
into categories. You can navigate the hierarchy (e.g., @samp{IDLWAVE
|
||||
Code Formatting->Idlwave Abbrev And Indent Action->Idlwave Expand
|
||||
Generic End} to turn on @code{END} expansion), read about the variables,
|
||||
@ -1899,7 +1899,7 @@ commands. Emacs abbreviations are expanded by typing text into the
|
||||
buffer and pressing @key{SPC} or @key{RET}. The special abbreviations
|
||||
used to insert code templates all start with a @samp{\} (the backslash),
|
||||
or, optionally, any other character set in
|
||||
@code{idlwave-abbrev-start-char}. IDLWAVE ensures that abbreviations are
|
||||
@code{idlwave-abbrev-start-char}. IDLWAVE ensures that abbreviations are
|
||||
only expanded where they should be (i.e., not in a string or comment),
|
||||
and permits the point to be moved after an abbreviation expansion:
|
||||
very useful for positioning the mark inside of parentheses, etc.
|
||||
@ -2659,7 +2659,7 @@ setting and clearing commands, and @code{debug} for other debug,
|
||||
stepping, and continue commands. In addition, if the variable is set to
|
||||
the single symbol @code{'everything}, all the copious shell input is
|
||||
displayed (which is probably only useful for debugging purposes).
|
||||
N.B. For hidden commands which produce output by side-effect, that
|
||||
N.B. For hidden commands which produce output by side-effect, that
|
||||
output remains hidden (e.g., stepping through a @code{print} command).
|
||||
As a special case, any error message in the output will be displayed
|
||||
(e.g., stepping to an error).
|
||||
@ -3429,7 +3429,7 @@ the file @file{idlw-rinfo.el}.
|
||||
IDLWAVE @emph{scans} all its @emph{buffers} in the current Emacs session
|
||||
for routine definitions. This is done automatically when routine
|
||||
information or completion is first requested by the user. Each new
|
||||
buffer and each buffer saved after making changes is also scanned. The
|
||||
buffer and each buffer saved after making changes is also scanned. The
|
||||
command @kbd{C-c C-i} (@code{idlwave-update-routine-info}) can be used
|
||||
at any time to rescan all buffers.
|
||||
|
||||
@ -3786,7 +3786,7 @@ itself.
|
||||
|
||||
There are a wide variety of possible browsers to use for displaying
|
||||
the online HTML help available with IDLWAVE (starting with version
|
||||
5.0). Since IDL v6.2, a single cross-platform HTML help browser, the
|
||||
5.0). Since IDL v6.2, a single cross-platform HTML help browser, the
|
||||
@emph{IDL Assistant} is distributed with IDL@. If this help browser is
|
||||
available, it is the preferred choice, and the default. The variable
|
||||
@code{idlwave-help-use-assistant}, enabled by default, controls
|
||||
|
@ -473,7 +473,7 @@ depends on the Info reader you use.) This is because @kbd{n} and
|
||||
level}. The present node is contained in a menu (see next) of the
|
||||
node you came from, and hence is considered to be at a lower level.
|
||||
It is the only node in the previous node's menu (even though it was
|
||||
listed three times). Hence it has no next or previous node that
|
||||
listed three times). Hence it has no next or previous node that
|
||||
@kbd{n} or @kbd{p} could move to.
|
||||
|
||||
If you systematically move through a manual by typing @kbd{n}, you run
|
||||
|
@ -1338,8 +1338,8 @@ your PGP implementation, so we refer to it.
|
||||
|
||||
If you have imported your old PGP 2.x key into GnuPG, and want to send
|
||||
signed and encrypted messages to your fellow PGP 2.x users, you'll
|
||||
discover that the receiver cannot understand what you send. One
|
||||
solution is to use PGP 2.x instead. You could also convince your
|
||||
discover that the receiver cannot understand what you send. One
|
||||
solution is to use PGP 2.x instead. You could also convince your
|
||||
fellow PGP 2.x users to convert to GnuPG@.
|
||||
@vindex mml-signencrypt-style-alist
|
||||
As a final workaround, you can make the sign and encryption work in
|
||||
@ -1687,8 +1687,8 @@ Allegedly.
|
||||
@item message-default-headers
|
||||
@vindex message-default-headers
|
||||
Header lines to be inserted in outgoing messages before you edit the
|
||||
message, so you can edit or delete their lines. If set to a string, it
|
||||
is directly inserted. If set to a function, it is called and its
|
||||
message, so you can edit or delete their lines. If set to a string, it
|
||||
is directly inserted. If set to a function, it is called and its
|
||||
result is inserted.
|
||||
|
||||
@item message-subject-re-regexp
|
||||
@ -2190,7 +2190,7 @@ posting a prepared news message.
|
||||
@table @code
|
||||
@item message-cite-style
|
||||
@vindex message-cite-style
|
||||
The overall style to be used when replying to messages. This controls
|
||||
The overall style to be used when replying to messages. This controls
|
||||
things like where the reply should be put relative to the original,
|
||||
how the citation is formatted, where the signature goes, etc.
|
||||
|
||||
@ -2198,12 +2198,12 @@ Value is either @code{nil} (no variable overrides) or a let-style list
|
||||
of pairs @code{(VARIABLE VALUE)} to override default values.
|
||||
|
||||
See @code{gnus-posting-styles} to set this variable for specific
|
||||
groups. Presets to impersonate popular mail agents are available in the
|
||||
groups. Presets to impersonate popular mail agents are available in the
|
||||
@code{message-cite-style-*} variables.
|
||||
|
||||
@item message-cite-reply-position
|
||||
@vindex message-cite-reply-position
|
||||
Where the reply should be positioned. Available styles are
|
||||
Where the reply should be positioned. Available styles are
|
||||
@code{traditional} to reply inline, @code{above} for top-posting, and
|
||||
@code{below} for bottom-posting
|
||||
|
||||
|
@ -1237,7 +1237,7 @@ and ==*modus-operandi-list-mappings*= for the semantic color mappings.
|
||||
:END:
|
||||
|
||||
The Modus themes provide the means to access the palette of (i) the
|
||||
active theme or (ii) any theme in the Modus collection. These are
|
||||
active theme or (ii) any theme in the Modus collection. These are
|
||||
useful for Do-It-Yourself customizations ([[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization]]),
|
||||
though it can also be helpful in other cases, such as to reuse a color
|
||||
value in some other application.
|
||||
@ -1252,8 +1252,8 @@ value in some other application.
|
||||
|
||||
#+findex: modus-themes-get-color-value
|
||||
The function ~modus-themes-get-color-value~ can be called from Lisp to
|
||||
return the value of a color from the active Modus theme palette. It
|
||||
takea a =COLOR= argument and an optional =OVERRIDES=. It also accepts
|
||||
return the value of a color from the active Modus theme palette. It
|
||||
takea a =COLOR= argument and an optional =OVERRIDES=. It also accepts
|
||||
a third =THEME= argument, to get the color from the given theme.
|
||||
|
||||
=COLOR= is a symbol that represents a named color entry in the
|
||||
@ -1264,7 +1264,7 @@ mapping), this function recurs until it finds the underlying color
|
||||
value.
|
||||
|
||||
With an optional =OVERRIDES= argument as a non-~nil~ value, it
|
||||
accounts for palette overrides. Else it reads only the default palette
|
||||
accounts for palette overrides. Else it reads only the default palette
|
||||
([[#h:34c7a691-19bb-4037-8d2f-67a07edab150][Option for palette overrides]])
|
||||
|
||||
With an optional =THEME= as a symbol among the ~modus-themes-items~
|
||||
@ -1309,12 +1309,12 @@ with/without overrides and when recursive mappings are introduced.
|
||||
|
||||
#+findex: modus-themes-with-colors
|
||||
Advanced users may want to apply many colors from the palette of the
|
||||
active Modus theme in their custom code. In such a case, retrieving
|
||||
active Modus theme in their custom code. In such a case, retrieving
|
||||
each value with the function ~modus-themes-get-color-value~ is
|
||||
inefficient ([[#h:1cc552c1-5f5f-4a56-ae78-7b69e8512c4e][Get a single color from the palette]]). The Lisp macro
|
||||
~modus-themes-with-colors~ provides the requisite functionality. It
|
||||
inefficient ([[#h:1cc552c1-5f5f-4a56-ae78-7b69e8512c4e][Get a single color from the palette]]). The Lisp macro
|
||||
~modus-themes-with-colors~ provides the requisite functionality. It
|
||||
supplies the current theme's palette to the code called from inside of
|
||||
it. For example:
|
||||
it. For example:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(modus-themes-with-colors
|
||||
@ -1323,9 +1323,9 @@ it. For example:
|
||||
#+end_src
|
||||
|
||||
The above return value is for ~modus-operandi~ when that is the active
|
||||
theme. Switching to another theme and evaluating this code anew will
|
||||
theme. Switching to another theme and evaluating this code anew will
|
||||
return the relevant results for that theme (remember that since
|
||||
version 4, the Modus themes consist of many items ([[#h:f0f3dbcb-602d-40cf-b918-8f929c441baf][Overview]])). The
|
||||
version 4, the Modus themes consist of many items ([[#h:f0f3dbcb-602d-40cf-b918-8f929c441baf][Overview]])). The
|
||||
same with ~modus-vivendi~ as the active theme:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
@ -1340,7 +1340,7 @@ like =blue-warmer= and (ii) semantic color mappings like =warning=.
|
||||
We provide commands to inspect those ([[#h:f4d4b71b-2ca5-4c3d-b0b4-9bfd7aa7fb4d][Preview theme colors]]).
|
||||
|
||||
Others sections in this manual show how to use the aforementioned
|
||||
macro ([[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization]]). In practice, the use of a hook will
|
||||
macro ([[#h:f4651d55-8c07-46aa-b52b-bed1e53463bb][Advanced customization]]). In practice, the use of a hook will
|
||||
also be needed ([[#h:d87673fe-2ce1-4c80-a4b8-be36ca9f2d24][DIY Use a hook at the post-load-theme phase]]).
|
||||
|
||||
* Advanced customization
|
||||
@ -1355,7 +1355,7 @@ mechanism to control things with precision ([[#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd
|
||||
|
||||
This section is of interest only to users who are prepared to maintain
|
||||
their own local tweaks and who are willing to deal with any possible
|
||||
incompatibilities between versioned releases of the themes. As such,
|
||||
incompatibilities between versioned releases of the themes. As such,
|
||||
they are labeled as "do-it-yourself" or "DIY".
|
||||
|
||||
** DIY Palette override presets
|
||||
@ -2076,14 +2076,14 @@ Reload the theme for changes to take effect.
|
||||
:end:
|
||||
|
||||
This is one of our practical examples to override the semantic colors
|
||||
of the Modus themes ([[#h:df1199d8-eaba-47db-805d-6b568a577bf3][Stylistic variants using palette overrides]]). Here
|
||||
of the Modus themes ([[#h:df1199d8-eaba-47db-805d-6b568a577bf3][Stylistic variants using palette overrides]]). Here
|
||||
we show how to change the presentation of Org blocks (and other such
|
||||
blocks like Markdown fenced code sections, though the exact
|
||||
presentation depends on each major mode).
|
||||
|
||||
The default style of Org blocks is a subtle gray background for the
|
||||
contents and for the delimiter lines (the =#+begin_= and =#+end_=
|
||||
parts). The text of the delimiter lines is a subtle gray foreground
|
||||
parts). The text of the delimiter lines is a subtle gray foreground
|
||||
color.
|
||||
|
||||
[[#h:bb5b396f-5532-4d52-ab13-149ca24854f1][Make inline code in prose use alternative styles]].
|
||||
@ -2123,8 +2123,8 @@ color.
|
||||
#+end_src
|
||||
|
||||
The previous examples differentiate the delimiter lines from the
|
||||
block's contents. Though we can mimic the default aesthetic of a
|
||||
uniform background, while changing the applicable colors. Here are
|
||||
block's contents. Though we can mimic the default aesthetic of a
|
||||
uniform background, while changing the applicable colors. Here are
|
||||
some nice combinations:
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
@ -2152,7 +2152,7 @@ some nice combinations:
|
||||
|
||||
Finally, the following makes code blocks have no distinct background.
|
||||
The minimal styles are applied to the delimiter lines, which only use
|
||||
a subtle gray foreground. This was the default for the Modus themes up
|
||||
a subtle gray foreground. This was the default for the Modus themes up
|
||||
until version 4.3.0.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
@ -3280,11 +3280,11 @@ invoke {{{kbd(M-x org-mode-restart)}}}.
|
||||
|
||||
In versions of the Modus themes before =4.4.0= there was an option to
|
||||
change the coloration of Org source blocks so that certain languages
|
||||
would have a distinctly colored background. This was not flexible
|
||||
would have a distinctly colored background. This was not flexible
|
||||
enough, because (i) we cannot cover all languages effectively and (ii)
|
||||
the user had no choice over the =language --> color= mapping.
|
||||
|
||||
As such, the old user option is no more. Users can use the following
|
||||
As such, the old user option is no more. Users can use the following
|
||||
to achieve what they want:
|
||||
|
||||
[ All this is done by setting the Org user option ~org-src-block-faces~,
|
||||
@ -3323,9 +3323,9 @@ to achieve what they want:
|
||||
[[#h:d87673fe-2ce1-4c80-a4b8-be36ca9f2d24][DIY Use a hook at the post-load-theme phase]].
|
||||
|
||||
Note that the ~org-src-block-faces~ accepts a named face, as shown
|
||||
above, as well as a list of face attributes. The latter approach is
|
||||
above, as well as a list of face attributes. The latter approach is
|
||||
not good enough because it hardcodes values in such a way that an
|
||||
~org-mode-restart~ is necessary. Whereas the indirection of the named
|
||||
~org-mode-restart~ is necessary. Whereas the indirection of the named
|
||||
face lets the theme change the values while Org buffers continue to
|
||||
show the right colors.
|
||||
|
||||
@ -3768,7 +3768,7 @@ Reload the theme for changes to take effect.
|
||||
:END:
|
||||
|
||||
Many of the Do-It-Yourself (DIY) snippets provided herein make use of
|
||||
a hook to apply the desired changes. In most examples, this hook is
|
||||
a hook to apply the desired changes. In most examples, this hook is
|
||||
the ~modus-themes-after-load-theme-hook~ (alias ~modus-themes-post-load-hook~).
|
||||
This hook is provided by the Modus themes and is called at the end of
|
||||
one the following:
|
||||
@ -3786,7 +3786,7 @@ one the following:
|
||||
|
||||
Users who switch between themes that are not limited to the Modus
|
||||
collection cannot benefit from the aforementioned hook: it only works
|
||||
with the Modus themes. A theme-agnostic hook is needed in such a case.
|
||||
with the Modus themes. A theme-agnostic hook is needed in such a case.
|
||||
Before Emacs 29, this had to be set up manually ([[#h:86f6906b-f090-46cc-9816-1fe8aeb38776][DIY A theme-agnostic hook for theme loading]]).
|
||||
Starting with Emacs 29, the special hook ~enable-theme-functions~
|
||||
works with anything that uses the basic ~enable-theme~ function.
|
||||
@ -3799,7 +3799,7 @@ the way it is done with every hook:
|
||||
#+end_src
|
||||
|
||||
Functions added to ~enable-theme-functions~ accept a single =THEME=
|
||||
argument. The examples shown in this manual use the pattern =(&rest
|
||||
argument. The examples shown in this manual use the pattern =(&rest
|
||||
_)=, which is how a function accepts one or more arguments but
|
||||
declares it will not use them (in plain terms, the code works with or
|
||||
without ~enable-theme-functions~).
|
||||
@ -3809,7 +3809,7 @@ without ~enable-theme-functions~).
|
||||
:custom_id: h:86f6906b-f090-46cc-9816-1fe8aeb38776
|
||||
:end:
|
||||
|
||||
[ NOTE: The following is for versions of Emacs before 29. For Emacs 29
|
||||
[ NOTE: The following is for versions of Emacs before 29. For Emacs 29
|
||||
or higher, users can rely on the built-in ~enable-theme-functions~
|
||||
([[#h:d87673fe-2ce1-4c80-a4b8-be36ca9f2d24][Using a hook at the post-load-theme phase]]). ]
|
||||
|
||||
|
@ -73,12 +73,12 @@ modify this GNU manual.''
|
||||
|
||||
Newsticker provides a @b{Feed Reader} for Emacs. It retrieves
|
||||
headlines from a list of news sites, processes them, and provides
|
||||
frontends for reading and managing them. (Standard headline formats
|
||||
frontends for reading and managing them. (Standard headline formats
|
||||
are RSS and Atom which makes Newsticker an ``RSS Reader'', ``Atom
|
||||
Reader'' or ``Feed Aggregator''.)
|
||||
|
||||
Headlines (or news items) consist of a title, (mostly) a description,
|
||||
and a link to the full story. The description may be a brief summary
|
||||
and a link to the full story. The description may be a brief summary
|
||||
in plain text or a full HTML-formatted article. A headline may carry
|
||||
enclosed data such as images, audio or video files, typically in the
|
||||
case of so ``podcast feeds''.
|
||||
@ -95,7 +95,7 @@ customized to your liking.
|
||||
As Newsticker is part of GNU Emacs there is no need to perform any
|
||||
installation steps in order to use it.
|
||||
|
||||
Newsticker is highly customizable. All options have reasonable default
|
||||
Newsticker is highly customizable. All options have reasonable default
|
||||
values, so that (in most cases) it is not necessary to customize
|
||||
anything before you start Newsticker for the first time.
|
||||
|
||||
@ -186,7 +186,7 @@ it is retrieved a second time.
|
||||
@chapter Reading News
|
||||
|
||||
@findex newsticker-show-news
|
||||
Start Newsticker with the command @kbd{M-x newsticker-show-news}. This
|
||||
Start Newsticker with the command @kbd{M-x newsticker-show-news}. This
|
||||
will start the asynchronous news download and displays all available
|
||||
headlines.
|
||||
|
||||
@ -224,13 +224,13 @@ subtree. The following commands allow for managing groups.
|
||||
@item M-a
|
||||
@kindex M-a
|
||||
@findex newsticker-group-add-group
|
||||
Add a new feed group. Name of the new group and of the parent group
|
||||
Add a new feed group. Name of the new group and of the parent group
|
||||
must be entered. If The name of the parent group is the new group
|
||||
becomes a top-level group. (@code{newsticker-group-add-group})
|
||||
@item M-m
|
||||
@kindex M-m
|
||||
@findex newsticker-group-move-feed
|
||||
Moves a feed into a group. The name of the group must be
|
||||
Moves a feed into a group. The name of the group must be
|
||||
entered. (@code{newsticker-group-move-feed})
|
||||
@end table
|
||||
|
||||
@ -269,18 +269,18 @@ The Treeview is updated automatically as soon as new headlines have
|
||||
arrived.
|
||||
|
||||
The Treeview is used when the variable @code{newsticker-frontend} is
|
||||
set to the value @code{newsticker-treeview}. (Alternatively it can be
|
||||
set to the value @code{newsticker-treeview}. (Alternatively it can be
|
||||
started with the command @code{newsticker-treeview}.)
|
||||
|
||||
@subheading Plainview
|
||||
@cindex Plainview
|
||||
|
||||
In this view all headlines of all feeds are displayed in a single
|
||||
buffer (@file{*newsticker*}). The modeline in the @file{*newsticker*}
|
||||
buffer (@file{*newsticker*}). The modeline in the @file{*newsticker*}
|
||||
buffer informs you whenever new headlines have arrived.
|
||||
|
||||
You may want to use imenu with Plainview, which allows for navigating
|
||||
with the help of a menu. In this case add the following to your Emacs
|
||||
with the help of a menu. In this case add the following to your Emacs
|
||||
startup file (@file{~/.emacs}).
|
||||
|
||||
@lisp
|
||||
@ -296,7 +296,7 @@ subscribed to a large amount of feeds you may want to give the
|
||||
Treeview a try.)
|
||||
|
||||
The Plainview is used when the variable @code{newsticker-frontend} is
|
||||
set to the value @code{newsticker-plainview}. (Alternatively it can be
|
||||
set to the value @code{newsticker-plainview}. (Alternatively it can be
|
||||
started with the command @code{newsticker-plainview}.)
|
||||
|
||||
@subheading Ticker
|
||||
|
@ -134,8 +134,8 @@ type @kbd{C-M-i} or @kbd{@key{ESC} @key{TAB}} for completion, or bind
|
||||
the following, I will assume that you type @kbd{C-M-i}.
|
||||
|
||||
nXML mode completion works by examining the symbol preceding point.
|
||||
This is the symbol to be completed. The symbol to be completed may be
|
||||
the empty. Completion considers what symbols starting with the symbol
|
||||
This is the symbol to be completed. The symbol to be completed may be
|
||||
the empty. Completion considers what symbols starting with the symbol
|
||||
to be completed would be valid replacements for the symbol to be
|
||||
completed, given the schema and the contents of the buffer before
|
||||
point. These symbols are the possible completions. An example may
|
||||
@ -182,7 +182,7 @@ happens.
|
||||
@item
|
||||
If there is one possible completion, then that completion is
|
||||
inserted, together with any following characters that are
|
||||
required. For example, in this case:
|
||||
required. For example, in this case:
|
||||
|
||||
@example
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
@ -199,14 +199,14 @@ required. For example, in this case:
|
||||
@item
|
||||
If there is more than one possible completion, but all
|
||||
possible completions share a common non-empty prefix, then that prefix
|
||||
is inserted. For example, suppose the buffer is:
|
||||
is inserted. For example, suppose the buffer is:
|
||||
|
||||
@example
|
||||
<html x@point{}
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
The symbol to be completed is @samp{x}. The possible completions are
|
||||
The symbol to be completed is @samp{x}. The possible completions are
|
||||
@samp{xmlns} and @samp{xml:lang}. These share a common prefix of
|
||||
@samp{xml}. Thus, @kbd{C-M-i} will yield:
|
||||
|
||||
@ -255,7 +255,7 @@ If you input @kbd{xmlns}, the result will be:
|
||||
|
||||
@noindent
|
||||
(If you do @kbd{C-M-i} again, the namespace URI will be
|
||||
inserted. Should that happen automatically?)
|
||||
inserted. Should that happen automatically?)
|
||||
@end itemize
|
||||
|
||||
@node Inserting end-tags
|
||||
@ -269,17 +269,17 @@ You can use @kbd{C-M-i} after @samp{</} to complete the rest of the
|
||||
end-tag.
|
||||
|
||||
@kbd{C-c C-f} inserts an end-tag for the element containing
|
||||
point. This command is useful when you want to input the start-tag,
|
||||
then input the content and finally input the end-tag. The @samp{f}
|
||||
point. This command is useful when you want to input the start-tag,
|
||||
then input the content and finally input the end-tag. The @samp{f}
|
||||
is mnemonic for finish.
|
||||
|
||||
If you want to keep tags balanced and input the end-tag at the
|
||||
same time as the start-tag, before inputting the content, then you can
|
||||
use @kbd{C-c C-i}. This inserts a @samp{>}, then inserts
|
||||
use @kbd{C-c C-i}. This inserts a @samp{>}, then inserts
|
||||
the end-tag and leaves point before the end-tag. @kbd{C-c C-b}
|
||||
is similar but more convenient for block-level elements: it puts the
|
||||
start-tag, point and the end-tag on successive lines, appropriately
|
||||
indented. The @samp{i} is mnemonic for inline and the
|
||||
indented. The @samp{i} is mnemonic for inline and the
|
||||
@samp{b} is mnemonic for block.
|
||||
|
||||
Finally, you can customize nXML mode so that @kbd{/} automatically
|
||||
@ -312,7 +312,7 @@ then those lines will not be included in any paragraph.
|
||||
|
||||
A start-tag at the beginning of the line (possibly indented) may
|
||||
be treated as starting a paragraph. Similarly, an end-tag at the end
|
||||
of the line may be treated as ending a paragraph. The following rules
|
||||
of the line may be treated as ending a paragraph. The following rules
|
||||
are used to determine whether such a tag is in fact treated as a
|
||||
paragraph boundary:
|
||||
|
||||
@ -324,7 +324,7 @@ is a paragraph boundary.
|
||||
If the end-tag corresponding to the start-tag is not at
|
||||
the end of its line, or the start-tag corresponding to the end-tag is
|
||||
not at the beginning of its line, then it is not a paragraph
|
||||
boundary. For example, in
|
||||
boundary. For example, in
|
||||
|
||||
@example
|
||||
<p>This is a paragraph with an
|
||||
@ -374,9 +374,9 @@ in a future version.
|
||||
|
||||
The variable @code{nxml-section-element-name-regexp} gives
|
||||
a regexp for the local names (i.e., the part of the name following any
|
||||
prefix) of section elements. The variable
|
||||
prefix) of section elements. The variable
|
||||
@code{nxml-heading-element-name-regexp} gives a regexp for the
|
||||
local names of heading elements. For an element to be recognized
|
||||
local names of heading elements. For an element to be recognized
|
||||
as a section
|
||||
|
||||
@itemize @bullet
|
||||
@ -415,7 +415,7 @@ that subsection.
|
||||
@end itemize
|
||||
|
||||
In the last two states, where the text content is hidden, the
|
||||
heading is displayed specially, in an abbreviated form. An element
|
||||
heading is displayed specially, in an abbreviated form. An element
|
||||
like this:
|
||||
|
||||
@example
|
||||
@ -515,7 +515,7 @@ displayed start-tag toggles the display of subheadings on and
|
||||
off.
|
||||
|
||||
The outline state for each section is stored with the first
|
||||
character of the section (as a text property). Every command that
|
||||
character of the section (as a text property). Every command that
|
||||
changes the outline state of any section updates the display of the
|
||||
buffer so that each section is displayed correctly according to its
|
||||
outline state. If the section structure is subsequently changed, then
|
||||
@ -536,10 +536,10 @@ should use. The order of the list is significant: when file
|
||||
@var{x} occurs in the list before file @var{y} then rules
|
||||
from file @var{x} have precedence over rules from file
|
||||
@var{y}. A filename specified in
|
||||
@samp{rng-schema-locating-files} may be relative. If so, it will
|
||||
@samp{rng-schema-locating-files} may be relative. If so, it will
|
||||
be resolved relative to the document for which a schema is being
|
||||
located. It is not an error if relative file-names in
|
||||
@samp{rng-schema-locating-files} do not exist. You can use
|
||||
located. It is not an error if relative file-names in
|
||||
@samp{rng-schema-locating-files} do not exist. You can use
|
||||
@kbd{M-x customize-variable @key{RET} rng-schema-locating-files
|
||||
@key{RET}} to customize the list of schema locating
|
||||
files.
|
||||
@ -548,7 +548,7 @@ By default, @samp{rng-schema-locating-files} list has two
|
||||
members: @samp{schemas.xml}, and
|
||||
@samp{@var{dist-dir}/schema/schemas.xml} where
|
||||
@samp{@var{dist-dir}} is the directory containing the nXML
|
||||
distribution. The first member will cause nXML mode to use a file
|
||||
distribution. The first member will cause nXML mode to use a file
|
||||
@samp{schemas.xml} in the same directory as the document being
|
||||
edited if such a file exist. The second member contains rules for the
|
||||
schemas that are included with the nXML distribution.
|
||||
@ -565,7 +565,7 @@ The command @kbd{C-c C-s C-w} will tell you what schema
|
||||
is currently being used.
|
||||
|
||||
The rules for locating a schema are applied automatically when
|
||||
you visit a file in nXML mode. However, if you have just created a new
|
||||
you visit a file in nXML mode. However, if you have just created a new
|
||||
file and the schema cannot be inferred from the file-name, then this
|
||||
will not locate the right schema. In this case, you should insert the
|
||||
start-tag of the root element and then use the command @kbd{C-c C-s
|
||||
@ -578,12 +578,12 @@ If you want to use a schema that has not yet been added to the
|
||||
schema locating files, you can use the command @kbd{C-c C-s C-f}
|
||||
to manually select the file containing the schema for the document in
|
||||
current buffer. Emacs will read the file-name of the schema from the
|
||||
minibuffer. After reading the file-name, Emacs will ask whether you
|
||||
minibuffer. After reading the file-name, Emacs will ask whether you
|
||||
wish to add a rule to a schema locating file that persistently
|
||||
associates the document with the selected schema. The rule will be
|
||||
added to the first file in the list specified
|
||||
@samp{rng-schema-locating-files}; it will create the file if
|
||||
necessary, but will not create a directory. If the variable
|
||||
necessary, but will not create a directory. If the variable
|
||||
@samp{rng-schema-locating-files} has not been customized, this
|
||||
means that the rule will be added to the file @samp{schemas.xml}
|
||||
in the same directory as the document being edited.
|
||||
@ -591,14 +591,14 @@ in the same directory as the document being edited.
|
||||
The command @kbd{C-c C-s C-t} allows you to select a schema by
|
||||
specifying an identifier for the type of the document. The schema
|
||||
locating files determine the available type identifiers and what
|
||||
schema is used for each type identifier. This is useful when it is
|
||||
schema is used for each type identifier. This is useful when it is
|
||||
impossible to infer the right schema from either the file-name or the
|
||||
content of the document, even though the schema is already in the
|
||||
schema locating file. A situation in which this can occur is when
|
||||
there are multiple variants of a schema where all valid documents have
|
||||
the same document element. For example, XHTML has Strict and
|
||||
Transitional variants. In a situation like this, a schema locating file
|
||||
can define a type identifier for each variant. As with @kbd{C-c
|
||||
can define a type identifier for each variant. As with @kbd{C-c
|
||||
C-s C-f}, Emacs will ask whether you wish to add a rule to a schema
|
||||
locating file that persistently associates the document with the
|
||||
specified type identifier.
|
||||
@ -611,12 +611,12 @@ the schema that is currently being used.
|
||||
@section Schema locating files
|
||||
|
||||
Each schema locating file specifies a list of rules. The rules
|
||||
from each file are appended in order. To locate a schema each rule is
|
||||
from each file are appended in order. To locate a schema each rule is
|
||||
applied in turn until a rule matches. The first matching rule is then
|
||||
used to determine the schema.
|
||||
|
||||
Schema locating files are designed to be useful for other
|
||||
applications that need to locate a schema for a document. In fact,
|
||||
applications that need to locate a schema for a document. In fact,
|
||||
there is nothing specific to locating schemas in the design; it could
|
||||
equally well be used for locating a stylesheet.
|
||||
|
||||
@ -638,7 +638,7 @@ files must be valid with respect to this schema.
|
||||
The document element of a schema locating file must be
|
||||
@samp{locatingRules} and the namespace URI must be
|
||||
@samp{http://thaiopensource.com/ns/locating-rules/1.0}. The
|
||||
children of the document element specify rules. The order of the
|
||||
children of the document element specify rules. The order of the
|
||||
children is the same as the order of the rules. Here's a complete
|
||||
example of a schema locating file:
|
||||
|
||||
@ -665,7 +665,7 @@ As usual with XML-related technologies, resources are identified
|
||||
by URIs. The @samp{uri} attribute identifies the schema by
|
||||
specifying the URI@. The URI may be relative. If so, it is resolved
|
||||
relative to the URI of the schema locating file that contains
|
||||
attribute. This means that if the value of @samp{uri} attribute
|
||||
attribute. This means that if the value of @samp{uri} attribute
|
||||
does not contain a @samp{/}, then it will refer to a filename in
|
||||
the same directory as the schema locating file.
|
||||
|
||||
@ -696,7 +696,7 @@ relative URI in the @samp{resource} attribute is resolved into a
|
||||
particular absolute URI using the base URI of the schema locating
|
||||
file, a relative URI pattern matches if it matches some number of
|
||||
complete path segments of the document's URI ending with the last path
|
||||
segment of the document's URI@. For example,
|
||||
segment of the document's URI@. For example,
|
||||
|
||||
@example
|
||||
<uri pattern="*.xsl" uri="xslt.rnc"/>
|
||||
@ -707,7 +707,7 @@ specifies that the schema for documents with a URI whose path ends
|
||||
with @samp{.xsl} is @samp{xslt.rnc}.
|
||||
|
||||
A @samp{transformURI} rule locates a schema by
|
||||
transforming the URI of the document. The @samp{fromPattern}
|
||||
transforming the URI of the document. The @samp{fromPattern}
|
||||
attribute specifies a URI pattern with the same meaning as the
|
||||
@samp{pattern} attribute of the @samp{uri} element. The
|
||||
@samp{toPattern} attribute is a URI pattern that is used to
|
||||
@ -736,7 +736,7 @@ schema.
|
||||
@subsection Using the document element to locate a schema
|
||||
|
||||
A @samp{documentElement} rule locates a schema based on
|
||||
the local name and prefix of the document element. For example, a rule
|
||||
the local name and prefix of the document element. For example, a rule
|
||||
|
||||
@example
|
||||
<documentElement prefix="xsl" localName="stylesheet" uri="xslt.rnc"/>
|
||||
@ -745,12 +745,12 @@ the local name and prefix of the document element. For example, a rule
|
||||
@noindent
|
||||
specifies that when the name of the document element is
|
||||
@samp{xsl:stylesheet}, then @samp{xslt.rnc} should be used
|
||||
as the schema. Either the @samp{prefix} or
|
||||
as the schema. Either the @samp{prefix} or
|
||||
@samp{localName} attribute may be omitted to allow any prefix or
|
||||
local name.
|
||||
|
||||
A @samp{namespace} rule locates a schema based on the
|
||||
namespace URI of the document element. For example, a rule
|
||||
namespace URI of the document element. For example, a rule
|
||||
|
||||
@example
|
||||
<namespace ns="http://www.w3.org/1999/XSL/Transform" uri="xslt.rnc"/>
|
||||
@ -780,7 +780,7 @@ Each of the rules described in previous sections that uses a
|
||||
@samp{uri} attribute to specify a schema, can instead use a
|
||||
@samp{typeId} attribute to specify a type identifier. The type
|
||||
identifier can be associated with a URI using a @samp{typeId}
|
||||
element. For example,
|
||||
element. For example,
|
||||
|
||||
@example
|
||||
<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
|
||||
@ -805,7 +805,7 @@ more flexible than a schema locating file that simply specified
|
||||
|
||||
@noindent
|
||||
A user can easily use @kbd{C-c C-s C-t} to select between XHTML
|
||||
Strict and XHTML Transitional. Also, a user can easily add a catalog
|
||||
Strict and XHTML Transitional. Also, a user can easily add a catalog
|
||||
|
||||
@example
|
||||
<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
|
||||
@ -823,7 +823,7 @@ The @samp{include} element includes rules from another
|
||||
schema locating file. The behavior is exactly as if the rules from
|
||||
that file were included in place of the @samp{include} element.
|
||||
Relative URIs are resolved into absolute URIs before the inclusion is
|
||||
performed. For example,
|
||||
performed. For example,
|
||||
|
||||
@example
|
||||
<include rules="../rules.xml"/>
|
||||
@ -875,7 +875,7 @@ nXML mode is designed to support the creation of standalone XML
|
||||
documents that do not depend on a DTD@. Although it is common practice
|
||||
to insert a DOCTYPE declaration referencing an external DTD, this has
|
||||
undesirable side-effects. It means that the document is no longer
|
||||
self-contained. It also means that different XML parsers may interpret
|
||||
self-contained. It also means that different XML parsers may interpret
|
||||
the document in different ways, since the XML Recommendation does not
|
||||
require XML parsers to read the DTD@. With DTDs, it was impractical to
|
||||
get validation without using an external DTD or reference to an
|
||||
@ -884,9 +884,9 @@ simultaneously get the benefits of validation and standalone XML
|
||||
documents. Therefore, I recommend that you do not reference an
|
||||
external DOCTYPE in your XML documents.
|
||||
|
||||
One problem is entities for characters. Typically, as well as
|
||||
One problem is entities for characters. Typically, as well as
|
||||
providing validation, DTDs also provide a set of character entities
|
||||
for documents to use. Schemas cannot provide this functionality,
|
||||
for documents to use. Schemas cannot provide this functionality,
|
||||
because schema validation happens after XML parsing. The recommended
|
||||
solution is to either use the Unicode characters directly, or, if this
|
||||
is impractical, use character references. nXML mode supports this by
|
||||
@ -903,7 +903,7 @@ nXML mode has some limitations:
|
||||
@item
|
||||
DTD support is limited. Internal parsed general entities declared
|
||||
in the internal subset are supported provided they do not contain
|
||||
elements. Other usage of DTDs is ignored.
|
||||
elements. Other usage of DTDs is ignored.
|
||||
@item
|
||||
The restrictions on RELAX NG schemas in section 7 of the RELAX NG
|
||||
specification are not enforced.
|
||||
|
@ -27,7 +27,7 @@ Authoring Org files is best supported by Emacs, but you can view,
|
||||
understand, and change them with any text editor.
|
||||
|
||||
As an authoring tool, Org helps you write structured documents and
|
||||
provides exporting facilities. Org files can also be used for literate
|
||||
provides exporting facilities. Org files can also be used for literate
|
||||
programming and reproducible research. As a TODO lists manager, Org
|
||||
helps you organize your tasks in a flexible way, from daily needs to
|
||||
detailed project-planning, allowing logging, multiple views on your
|
||||
@ -16552,7 +16552,7 @@ BACKEND is the export backend being used, as a symbol."
|
||||
(lambda ()
|
||||
(delete-region (point) (line-beginning-position 2))
|
||||
;; We need to tell `org-map-entries' to not skip over heading at
|
||||
;; point. Otherwise, it would continue from _next_ heading. See
|
||||
;; point. Otherwise, it would continue from _next_ heading. See
|
||||
;; the docstring of `org-map-entries' for details.
|
||||
(setq org-map-continue-from (point)))))
|
||||
|
||||
@ -17661,7 +17661,7 @@ Org currently includes the following export processors:
|
||||
- bibtex :: this export processor uses BibTeX, the historical
|
||||
bibliographic processor used with LaTeX, thus allowing the use of
|
||||
data and style files compatible with this processor (including a
|
||||
large number of publishers' styles). It only supports LaTeX's
|
||||
large number of publishers' styles). It only supports LaTeX's
|
||||
=\cite= and =\nocite= commands.
|
||||
|
||||
- natbib :: as with the bibtex processor, but using the LaTeX
|
||||
@ -17706,15 +17706,15 @@ your LaTeX installation, it won't export to anything but PDF.
|
||||
#+vindex: org-cite-biblatex-options
|
||||
#+texinfo: @noindent
|
||||
specifies the =biblatex= export processor with the default =numeric=
|
||||
style and the =bibtex= backend. Always define the style first and then
|
||||
style and the =bibtex= backend. Always define the style first and then
|
||||
the rest of load-time options for the =biblatex=
|
||||
package. Alternatively, you can use the ~key=val,key=val~ format for
|
||||
package. Alternatively, you can use the ~key=val,key=val~ format for
|
||||
the options as documented in the =biblatex= package documentation:
|
||||
|
||||
: #+cite_export: biblatex backend=bibtex,style=numeric
|
||||
|
||||
The ~org-cite-biblatex-options~ variable in your Emacs configuration
|
||||
uses this format. It will only export to PDF, since it relies on the
|
||||
uses this format. It will only export to PDF, since it relies on the
|
||||
~biblatex~ processor of your LaTeX installation.
|
||||
|
||||
** Bibliography printing
|
||||
@ -19425,10 +19425,10 @@ the tangled file's executable permission.
|
||||
The =tangle-mode= header argument specifies what permissions to set
|
||||
for tangled files by ~set-file-modes~. Permissions are given by an
|
||||
octal value, which can be provided calling the ~identity~ function on
|
||||
an elisp octal value. For instance, to create a read-only file one may
|
||||
use =:tangle-mode (identity #o444)=. To reduce the verbosity required,
|
||||
a octal shorthand is defined, =oXXX= (=o= for octal). Using this, our
|
||||
read-only example is =:tangle-mode o444=. Omitting the =o= prefix will
|
||||
an elisp octal value. For instance, to create a read-only file one may
|
||||
use =:tangle-mode (identity #o444)=. To reduce the verbosity required,
|
||||
a octal shorthand is defined, =oXXX= (=o= for octal). Using this, our
|
||||
read-only example is =:tangle-mode o444=. Omitting the =o= prefix will
|
||||
cause the argument to be interpreted as an integer, which can lead to
|
||||
unexpected results (=444= is the same as =o674=).
|
||||
Two other shorthands are recognized, ls-style strings like
|
||||
@ -19437,7 +19437,7 @@ Note that chmod-style permissions are based on
|
||||
~org-babel-tangle-default-file-mode~, which is =#o544= by default.
|
||||
|
||||
When =:tangle-mode= and =:shebang= are both specified, the give
|
||||
=:tangle-mode= will override the permissions from =:shebang=. When
|
||||
=:tangle-mode= will override the permissions from =:shebang=. When
|
||||
multiple source code blocks tangle to a single file with conflicting
|
||||
=:tangle-mode= header arguments, Org's behavior is undefined.
|
||||
|
||||
|
@ -730,7 +730,7 @@ positioned on a directory all files in that directory are marked
|
||||
(@code{cvs-mode-mark}).
|
||||
|
||||
@item u
|
||||
Unmark the file that the cursor is positioned on. If the cursor is on a
|
||||
Unmark the file that the cursor is positioned on. If the cursor is on a
|
||||
directory, all files in that directory are unmarked
|
||||
(@code{cvs-mode-unmark}).
|
||||
|
||||
|
@ -835,7 +835,7 @@ window @code{rcirc} considers is controlled by the
|
||||
|
||||
@vindex rcirc-omit-unless-requested
|
||||
Certain messages can be omitted by default, unless the user manual
|
||||
requests them. For example, if you don't want to display @code{TOPIC}
|
||||
requests them. For example, if you don't want to display @code{TOPIC}
|
||||
and @code{NAMES} messages, after reconnecting, you can configure
|
||||
@code{rcirc-omit-unless-requested} to hide:
|
||||
|
||||
|
@ -1371,7 +1371,7 @@ the context.
|
||||
@end lisp
|
||||
|
||||
The empty pairs of brackets indicate the different arguments of the
|
||||
@code{\myfig} macro. The @samp{*} marks the label argument. @code{?f}
|
||||
@code{\myfig} macro. The @samp{*} marks the label argument. @code{?f}
|
||||
indicates that this is a figure label which will be listed together with
|
||||
labels from normal figure environments. The @code{nil} entries for
|
||||
prefix and reference format mean to use the defaults for figure labels.
|
||||
@ -1748,7 +1748,7 @@ selection process similar to that for selecting labels
|
||||
(@pxref{Referencing Labels}).
|
||||
|
||||
The regular expression uses an extended syntax: @samp{&&} defines a
|
||||
logic @code{and} for regular expressions. For example
|
||||
logic @code{and} for regular expressions. For example
|
||||
@samp{Einstein&&Bose} will match all articles which mention
|
||||
Bose-Einstein condensation, or which are co-authored by Bose and
|
||||
Einstein. When entering the regular expression, you can complete on
|
||||
@ -2708,7 +2708,7 @@ display.
|
||||
|
||||
@item @code{\bibitem}
|
||||
@cindex @code{\bibitem}
|
||||
Display a document location which cites this article. Pressing
|
||||
Display a document location which cites this article. Pressing
|
||||
@kbd{C-c &} several times moves through the entire document and finds
|
||||
all locations.
|
||||
|
||||
@ -2955,7 +2955,7 @@ path specified in the variables @code{BIBINPUTS} and @code{TEXBIB} for
|
||||
When searching, @RefTeX{} will also expand recursive path
|
||||
definitions (directories ending in @samp{//} or @samp{!!}). But it will
|
||||
only search and expand directories @emph{explicitly} given in these
|
||||
variables. This may cause problems under the following circumstances:
|
||||
variables. This may cause problems under the following circumstances:
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
@ -3288,7 +3288,7 @@ Labels}).
|
||||
@findex TeX-add-style-hook@r{, AUCTeX}
|
||||
Style files are Emacs Lisp files which are evaluated by @AUCTeX{} in
|
||||
association with the @code{\documentclass} and @code{\usepackage}
|
||||
commands of a document (@pxref{Style Files,,,auctex}). Support for
|
||||
commands of a document (@pxref{Style Files,,,auctex}). Support for
|
||||
@RefTeX{} in such a style file is useful when the @LaTeX{} style
|
||||
defines macros or environments connected with labels, citations, or the
|
||||
index. Many style files (e.g., @file{amsmath.el} or @file{natbib.el})
|
||||
@ -4132,7 +4132,7 @@ Prefixes for section labels. When the label prefix given in an entry in
|
||||
@code{reftex-label-alist} contains @samp{%S}, this list is used to
|
||||
determine the correct prefix string depending on the current section
|
||||
level. The list is an alist, with each entry of the form
|
||||
@w{@code{(@var{key} . @var{prefix})}}. Possible keys are sectioning macro
|
||||
@w{@code{(@var{key} . @var{prefix})}}. Possible keys are sectioning macro
|
||||
names like @samp{chapter}, integer section levels (as given in
|
||||
@code{reftex-section-levels}), and @code{t} for the default.
|
||||
@end defopt
|
||||
@ -4298,7 +4298,7 @@ Character class after abbrev point in word.
|
||||
@cindex Referencing labels, options
|
||||
|
||||
@defopt reftex-label-menu-flags
|
||||
List of flags governing the label menu makeup. The flags are:
|
||||
List of flags governing the label menu makeup. The flags are:
|
||||
@table @asis
|
||||
@item @var{table-of-contents}
|
||||
Show the labels embedded in a table of context.
|
||||
@ -4764,7 +4764,7 @@ phrase and its index command will always end up on a single line.
|
||||
|
||||
@defopt reftex-index-phrases-sort-prefers-entry
|
||||
Non-@code{nil} means when sorting phrase lines, the explicit index entry
|
||||
is used. Phrase lines in the phrases buffer contain a search phrase, and
|
||||
is used. Phrase lines in the phrases buffer contain a search phrase, and
|
||||
sorting is normally based on these. Some phrase lines also have
|
||||
an explicit index argument specified. When this variable is
|
||||
non-@code{nil}, the index argument will be used for sorting.
|
||||
@ -4993,7 +4993,7 @@ lookup.
|
||||
@end table
|
||||
|
||||
If a buffer is to be kept, the file is visited normally (which is
|
||||
potentially slow but will happen only once). If a buffer is to be thrown
|
||||
potentially slow but will happen only once). If a buffer is to be thrown
|
||||
away, the initialization of the buffer depends upon the variable
|
||||
@code{reftex-initialize-temporary-buffers}.
|
||||
@end defopt
|
||||
@ -5001,7 +5001,7 @@ away, the initialization of the buffer depends upon the variable
|
||||
@defopt reftex-initialize-temporary-buffers
|
||||
Non-@code{nil} means do initializations even when visiting file
|
||||
temporarily. When @code{nil}, @RefTeX{} may turn off find-file hooks and
|
||||
other stuff to briefly visit a file. When @code{t}, the full default
|
||||
other stuff to briefly visit a file. When @code{t}, the full default
|
||||
initializations are done (@code{find-file-hook} etc.). Instead of
|
||||
@code{t} or @code{nil}, this variable may also be a list of hook
|
||||
functions to do a minimal initialization.
|
||||
@ -5107,7 +5107,7 @@ Non-@code{nil} means, highlight selected text in selection and
|
||||
@emph{selected} text, and it is highlighted. This is the entry most
|
||||
keys in the selection and @file{*toc*} buffers act on. However, if you
|
||||
mainly use the mouse to select an item, you may find it nice to have
|
||||
mouse-triggered highlighting @emph{instead} or @emph{as well}. The
|
||||
mouse-triggered highlighting @emph{instead} or @emph{as well}. The
|
||||
variable may have one of these values:
|
||||
|
||||
@example
|
||||
@ -5719,7 +5719,7 @@ Fixed bug with empty context strings.
|
||||
@noindent @b{Version 3.21}
|
||||
@itemize @bullet
|
||||
@item
|
||||
New options for all faces used by @RefTeX{}. They're in the
|
||||
New options for all faces used by @RefTeX{}. They're in the
|
||||
customization group @code{reftex-fontification-configurations}.
|
||||
@end itemize
|
||||
|
||||
|
@ -620,7 +620,7 @@ time, it just goes ahead and inserts the reference header indexed by
|
||||
different reference headers based on the type of reply or forwarding
|
||||
you are doing. You may also want to preview the reference header
|
||||
before deciding whether to insert it into the reply buffer or
|
||||
not. Supercite provides an optional @dfn{electric reference} mode
|
||||
not. Supercite provides an optional @dfn{electric reference} mode
|
||||
which you can drop into to give you this functionality.
|
||||
|
||||
@vindex sc-electric-references-p
|
||||
|
@ -162,7 +162,7 @@ A B
|
||||
By default, the cell value print-out is right aligned, that is the
|
||||
reason for such an alignment for the notes in column @samp{B}. To
|
||||
change that, you can enter a printer function for the whole column,
|
||||
using e.g., @kbd{M-p ("%s")}. Enclosing @code{"%s"} into a list tells
|
||||
using e.g., @kbd{M-p ("%s")}. Enclosing @code{"%s"} into a list tells
|
||||
@acronym{SES} to align left. You can override a column's printer
|
||||
function in any individual cell using @kbd{p}.
|
||||
|
||||
@ -203,7 +203,7 @@ remove blank cells from the returned list, which enables using
|
||||
|
||||
Actually, both options are not exactly equivalent as the former makes
|
||||
the summing in reversed order of argument, and the latter in the same
|
||||
order. You can also reverse the order of arguments returned by
|
||||
order. You can also reverse the order of arguments returned by
|
||||
@code{ses-range} with the @code{<} modifier.
|
||||
|
||||
@c ===================================================================
|
||||
@ -226,16 +226,16 @@ with @file{.ses}. For example, @kbd{C-x C-f test.ses @key{RET}}.
|
||||
A @dfn{cell identifier} is a symbol with a column letter and a row
|
||||
number. Cell B7 is the 2nd column of the 7th row. For very wide
|
||||
spreadsheets, there are two column letters: cell AB7 is the 28th
|
||||
column of the 7th row. Super wide spreadsheets get AAA1, etc.
|
||||
column of the 7th row. Super wide spreadsheets get AAA1, etc.
|
||||
You move around with the regular Emacs movement commands.
|
||||
|
||||
@table @kbd
|
||||
@item j
|
||||
Moves point to cell, specified by identifier (@code{ses-jump}). Unless
|
||||
the cell is a renamed cell, the identifier is case-insensitive. A
|
||||
Moves point to cell, specified by identifier (@code{ses-jump}). Unless
|
||||
the cell is a renamed cell, the identifier is case-insensitive. A
|
||||
prefix argument @math{n} move to cell with coordinates @math{(n\div R,
|
||||
n \% C)} for a spreadsheet of @math{R} rows and @math{C} columns, and
|
||||
@samp{A1} being of coordinates @math{(0,0)}. The way the identifier or
|
||||
@samp{A1} being of coordinates @math{(0,0)}. The way the identifier or
|
||||
the command prefix argument are interpreted can be customized through
|
||||
variables @code{ses-jump-cell-name-function} and
|
||||
@code{ses-jump-prefix-function}.
|
||||
@ -434,7 +434,7 @@ use parentheses: @samp{("$%.2f")}.
|
||||
@item
|
||||
A printer can also be a one-argument function, the result of which is
|
||||
a string (to get right alignment) or list of one string (to get left
|
||||
alignment). Such a function can be in turn configured as:
|
||||
alignment). Such a function can be in turn configured as:
|
||||
@itemize
|
||||
@item
|
||||
A lambda expression, for instance:
|
||||
@ -543,11 +543,11 @@ printer function. Then, if you call again
|
||||
reprinted accordingly.
|
||||
|
||||
Sometimes there are local printers that you want to define or
|
||||
re-define automatically every time you open a sheet. For instance
|
||||
re-define automatically every time you open a sheet. For instance
|
||||
imagine that you want to define/re-define automatically a local
|
||||
printer @code{euro} to display a number like an amount of euros, that
|
||||
is to say number @code{3.1} would be displayed as
|
||||
@code{3.10@dmn{}@euro{}}. To do so in any non read-only SES buffer,
|
||||
@code{3.10@dmn{}@euro{}}. To do so in any non read-only SES buffer,
|
||||
you can add some code like this to your @file{.emacs} init file:
|
||||
|
||||
@lisp
|
||||
@ -586,7 +586,7 @@ when you define a local printer function with command
|
||||
|
||||
When doing so, please take care that the returned value is a string,
|
||||
or a list containing a string, even when the input argument has an
|
||||
unexpected value. Here is an example:
|
||||
unexpected value. Here is an example:
|
||||
|
||||
@example
|
||||
(lambda (val)
|
||||
@ -769,24 +769,24 @@ list.
|
||||
|
||||
@vindex ses-jump-cell-name-function
|
||||
@code{ses-jump-cell-name-function} is a customizable variable by
|
||||
default set to the @code{upcase} function. This function is called
|
||||
default set to the @code{upcase} function. This function is called
|
||||
when you pass a cell name to the @command{ses-jump} command (@kbd{j}),
|
||||
@c TODO : propagate extra explanation from the French version.
|
||||
it changes the entered cell name to that where to jump. The default
|
||||
it changes the entered cell name to that where to jump. The default
|
||||
setting @code{upcase} allows you to enter the cell name in low
|
||||
case. Another use of @code{ses-jump-cell-name-function} could be some
|
||||
case. Another use of @code{ses-jump-cell-name-function} could be some
|
||||
internationalization to convert non latin characters into latin
|
||||
equivalents to name the cell. Instead of a cell name, the function may
|
||||
equivalents to name the cell. Instead of a cell name, the function may
|
||||
return cell coordinates in the form of a cons, for instance @code{(0
|
||||
. 0)} for cell @code{A1}, @code{(1 . 0)} for cell @code{A2}, etc.
|
||||
|
||||
@vindex ses-jump-prefix-function
|
||||
@code{ses-jump-prefix-function} is a customizable variable by default
|
||||
set to the @code{ses-jump-prefix} function. This function is called
|
||||
set to the @code{ses-jump-prefix} function. This function is called
|
||||
when you give a prefix argument to the @command{ses-jump} command
|
||||
(@kbd{j}). It returns a cell name or cell coordinates corresponding to
|
||||
the prefix argument. Cell coordinates are in the form of a cons, for
|
||||
instance @code{(1 . 0)} for cell @code{A2}. The default setting
|
||||
(@kbd{j}). It returns a cell name or cell coordinates corresponding to
|
||||
the prefix argument. Cell coordinates are in the form of a cons, for
|
||||
instance @code{(1 . 0)} for cell @code{A2}. The default setting
|
||||
@code{ses-jump-prefix} will number cells left to right and then top
|
||||
down, so assuming a 4x3 spreadsheet prefix argument @samp{0} jumps to
|
||||
cell @samp{A1}, prefix argument @samp{2} jumps to @samp{C1}, prefix
|
||||
@ -841,7 +841,7 @@ valid local variable name (See also @ref{Nonrelocatable references}).
|
||||
@findex ses-repair-cell-reference-all
|
||||
When you interrupt a cell formula update by typing @kbd{C-g}, then
|
||||
the cell reference link may be broken, which will jeopardize automatic
|
||||
cell update when any other cell on which it depends is changed. To
|
||||
cell update when any other cell on which it depends is changed. To
|
||||
repair that use function @code{ses-repair-cell-reference-all}
|
||||
@end table
|
||||
|
||||
@ -946,21 +946,21 @@ Flags can be added to @code{ses-range} immediately after the @var{to}
|
||||
cell.
|
||||
@table @code
|
||||
@item !
|
||||
Empty cells in range can be removed by adding the @code{!} flag. An
|
||||
Empty cells in range can be removed by adding the @code{!} flag. An
|
||||
empty cell is a cell the value of which is one of symbols @code{nil}
|
||||
or @code{*skip*}. For instance @code{(ses-range A1 A4 !)} will do the
|
||||
or @code{*skip*}. For instance @code{(ses-range A1 A4 !)} will do the
|
||||
same as @code{(list A1 A3)} when cells @code{A2} and @code{A4} are
|
||||
empty.
|
||||
@item _
|
||||
Empty cell values are replaced by the argument following flag
|
||||
@code{_}, or @code{0} when flag @code{_} is last in argument list. For
|
||||
@code{_}, or @code{0} when flag @code{_} is last in argument list. For
|
||||
instance @code{(ses-range A1 A4 _ "empty")} will do the same as
|
||||
@code{(list A1 "empty" A3 "empty")} when cells @code{A2} and @code{A4}
|
||||
are empty. Similarly, @code{(ses-range A1 A4 _ )} will do the same as
|
||||
are empty. Similarly, @code{(ses-range A1 A4 _ )} will do the same as
|
||||
@code{(list A1 0 A3 0)}.
|
||||
@item >v
|
||||
When order matters, list cells by reading cells row-wise from top left
|
||||
to bottom right. This flag is provided for completeness only as it is
|
||||
to bottom right. This flag is provided for completeness only as it is
|
||||
the default reading order.
|
||||
@item <v
|
||||
List cells by reading cells row-wise from top right to bottom left.
|
||||
@ -978,7 +978,7 @@ A short hand for @code{>v}.
|
||||
A short hand for @code{>^}.
|
||||
@item *
|
||||
Instead of listing cells, it makes a Calc vector or matrix of it
|
||||
(@pxref{Top,,,calc,GNU Emacs Calc Manual}). If the range contains only
|
||||
(@pxref{Top,,,calc,GNU Emacs Calc Manual}). If the range contains only
|
||||
one row or one column a vector is made, otherwise a matrix is made.
|
||||
@item *2
|
||||
Same as @code{*} except that a matrix is always made even when there
|
||||
@ -1033,7 +1033,7 @@ are some useful functions to call from your formulas:
|
||||
@table @code
|
||||
@item (ses-delete-blanks &rest @var{args})
|
||||
Returns a list from which all blank cells (value is either @code{nil}
|
||||
or '*skip*) have been deleted. Order of args is reverted. Please note
|
||||
or '*skip*) have been deleted. Order of args is reverted. Please note
|
||||
that @code{ses-range} has a @code{!} modifier that enables removing
|
||||
blanks, so it is possible to write:
|
||||
@lisp
|
||||
@ -1250,8 +1250,8 @@ The best way is to rename cells that you do @emph{not} want to be
|
||||
relocatable by using @code{ses-rename-cell}.
|
||||
@findex ses-rename-cell
|
||||
Cells that do not have an A1-like name style are not relocated on
|
||||
yank. Using this method, the concerned cells won't be relocated
|
||||
whatever formula they appear in. Please note however that when a
|
||||
yank. Using this method, the concerned cells won't be relocated
|
||||
whatever formula they appear in. Please note however that when a
|
||||
formula contains some range @code{(ses-range @var{cell1} @var{cell2})}
|
||||
then in the yanked formula each range bound @var{cell1} and
|
||||
@var{cell2} are relocated, or not, independently, depending on whether
|
||||
|
@ -48,7 +48,7 @@ packages, and web browsers.
|
||||
|
||||
Speedbar displays a narrow frame in which a tree view is shown. This
|
||||
tree view defaults to containing a list of files and directories. Files
|
||||
can be ``expanded'' to list tags inside. Directories can be expanded to
|
||||
can be ``expanded'' to list tags inside. Directories can be expanded to
|
||||
list the files within them. Each file or tag can be jumped to
|
||||
immediately.
|
||||
|
||||
|
@ -812,7 +812,7 @@ or by removing it if present.
|
||||
|
||||
@samp{nonmarking} (@kbd{k}): Change the current item's calendar
|
||||
marking status by adding @code{diary-nonmarking-symbol} if the item
|
||||
lacks this, or by removing it if present. Since this symbol only
|
||||
lacks this, or by removing it if present. Since this symbol only
|
||||
applies to diary items, the item is automatically marked as such,
|
||||
i.e., if @code{todo-nondiary-marker} is present, it is removed.
|
||||
|
||||
@ -1799,7 +1799,7 @@ current file:
|
||||
Hide the item headers if visible, or show them if they are hidden.
|
||||
With done items, only the done header (i.e., the done tag and date-time
|
||||
string inserted when the item was marked done) is hidden, the original
|
||||
date-time string is not. With filtered items, the category (or
|
||||
date-time string is not. With filtered items, the category (or
|
||||
category-file) tag is not hidden.
|
||||
|
||||
@item F H
|
||||
|
@ -165,9 +165,9 @@ commands even have so many options that they introduce @emph{subcommands}
|
||||
@anchor{Using Transient for composing interactive commands}
|
||||
@heading Using Transient for composing interactive commands
|
||||
|
||||
What about Emacs commands used interactively? How do these handle
|
||||
What about Emacs commands used interactively? How do these handle
|
||||
options? One solution is to make many versions of the same command,
|
||||
so you don't need to! Consider: @samp{delete-other-windows} vs.
|
||||
so you don't need to! Consider: @samp{delete-other-windows} vs.
|
||||
@samp{delete-other-windows-vertically} (among many similar examples).
|
||||
|
||||
Some Emacs commands will simply prompt you for the next "argument"
|
||||
@ -1019,7 +1019,7 @@ independently. See @ref{Using History}.
|
||||
After a transient prefix command is invoked, @kbd{C-h @var{KEY}} can be used to
|
||||
show the documentation for the infix or suffix command that @kbd{@var{KEY}} is
|
||||
bound to (see @ref{Getting Help for Suffix Commands}), and infixes and
|
||||
suffixes can be removed from the transient using @kbd{C-x l @var{KEY}}. Infixes
|
||||
suffixes can be removed from the transient using @kbd{C-x l @var{KEY}}. Infixes
|
||||
and suffixes that are disabled by default can be enabled the same way.
|
||||
See @ref{Enabling and Disabling Suffixes}.
|
||||
|
||||
@ -1287,7 +1287,7 @@ individual suffix command.
|
||||
The same form is also used when later binding additional commands
|
||||
using functions such as @code{transient-insert-suffix}, see @ref{Modifying Existing Transients}.
|
||||
|
||||
Note that an infix is a special kind of suffix. Depending on context
|
||||
Note that an infix is a special kind of suffix. Depending on context
|
||||
``suffixes'' means ``suffixes (including infixes)'' or ``non-infix
|
||||
suffixes''. Here it means the former.
|
||||
|
||||
@ -1382,7 +1382,7 @@ argument supported by the constructor of that class. See @ref{Suffix Slots}.
|
||||
@cindex defining suffix commands
|
||||
@cindex defining infix commands
|
||||
|
||||
Note that an infix is a special kind of suffix. Depending on context
|
||||
Note that an infix is a special kind of suffix. Depending on context
|
||||
``suffixes'' means ``suffixes (including infixes)'' or ``non-infix
|
||||
suffixes''.
|
||||
|
||||
|
@ -1612,8 +1612,8 @@ You can override the above setting for a single package by adding
|
||||
|
||||
@findex :vc
|
||||
The @code{:vc} keyword can be used to control how packages are
|
||||
downloaded and/or installed. More specifically, it allows one to fetch
|
||||
and update packages directly from a version control system. This is
|
||||
downloaded and/or installed. More specifically, it allows one to fetch
|
||||
and update packages directly from a version control system. This is
|
||||
especially convenient when wanting to install a package that is not on
|
||||
any package archive.
|
||||
|
||||
|
@ -79,7 +79,7 @@ modify this GNU manual.''
|
||||
@chapter Introduction
|
||||
@cindex Introduction
|
||||
|
||||
Welcome to VHDL Mode. This is a GNU Emacs mode for editing files
|
||||
Welcome to VHDL Mode. This is a GNU Emacs mode for editing files
|
||||
containing VHDL code.
|
||||
|
||||
This manual will describe the following:
|
||||
@ -99,18 +99,18 @@ How to customize the indentation engine.
|
||||
@findex vhdl-version
|
||||
The major version number was incremented to 3 with the addition of
|
||||
many new features for editing VHDL code to the new indentation engine,
|
||||
which was introduced in major version 2. To find the minor revision
|
||||
which was introduced in major version 2. To find the minor revision
|
||||
number of this release, use @kbd{M-x vhdl-version @key{RET}}.
|
||||
|
||||
A special word of thanks goes to Rod Whitby, who wrote the
|
||||
VHDL Mode indentation engine, and to Barry Warsaw, who wrote
|
||||
the CC Mode indentation engine that formed the basis
|
||||
thereof. Their manuals were also the basis for this manual.
|
||||
thereof. Their manuals were also the basis for this manual.
|
||||
|
||||
This manual is not very up-to-date. It basically contains the
|
||||
This manual is not very up-to-date. It basically contains the
|
||||
indentation machine documentation by Rod Whitby with only minor
|
||||
adaptions. A short documentation of the entire VHDL Mode is available
|
||||
within the mode itself by typing @kbd{C-c C-h}. Also, all commands and
|
||||
adaptions. A short documentation of the entire VHDL Mode is available
|
||||
within the mode itself by typing @kbd{C-c C-h}. Also, all commands and
|
||||
customization of most variables are available through the menu, which
|
||||
makes everything highly self-explaining.
|
||||
|
||||
@ -126,14 +126,14 @@ To get started, simply visit a @file{.vhd} file in Emacs; or type
|
||||
@cindex New Indentation Engine
|
||||
|
||||
VHDL Mode has a new indentation engine, providing a simplified, yet
|
||||
flexible and general mechanism for customizing indentation. It breaks
|
||||
indentation calculation into two steps. First for the line of code being
|
||||
flexible and general mechanism for customizing indentation. It breaks
|
||||
indentation calculation into two steps. First for the line of code being
|
||||
indented, VHDL Mode analyzes what kind of language construct it's
|
||||
looking at, then it applies user defined offsets to the current line
|
||||
based on this analysis.
|
||||
|
||||
This section will briefly cover how indentation is calculated in
|
||||
VHDL Mode. It is important to understand the indentation model
|
||||
VHDL Mode. It is important to understand the indentation model
|
||||
being used so that you will know how to customize VHDL Mode for
|
||||
your personal coding style.
|
||||
|
||||
@ -169,7 +169,7 @@ Conceptually, a line of VHDL code is always indented relative to the
|
||||
indentation of some line higher up in the buffer. This is represented
|
||||
by the relative buffer position in the syntactic component.
|
||||
|
||||
It might help to see an example. Suppose we had the following code as
|
||||
It might help to see an example. Suppose we had the following code as
|
||||
the only thing in a VHDL Mode buffer @footnote{The line numbers
|
||||
in this and future examples don't actually appear in the buffer.}:
|
||||
@example
|
||||
@ -652,7 +652,7 @@ one of the syntactic symbol offsets will need to be tweaked slightly, or
|
||||
perhaps @code{vhdl-basic-offset} will need to be changed. However, some
|
||||
styles require a more advanced ability for customization, and one of the
|
||||
real strengths of VHDL Mode is that the syntactic analysis model
|
||||
provides a very flexible framework for customizing indentation. This
|
||||
provides a very flexible framework for customizing indentation. This
|
||||
allows you to perform special indentation calculations for situations
|
||||
not handled by the mode directly.
|
||||
|
||||
@ -833,13 +833,13 @@ symbol currently recognized}
|
||||
@strong{Q.} @emph{How do I re-indent the whole file?}
|
||||
|
||||
@strong{A.} Visit the file and hit @kbd{C-x h} to mark the whole
|
||||
buffer. Then hit @kbd{@key{ESC} C-\} to re-indent the entire region
|
||||
which you've just marked. Or just enter @kbd{M-x vhdl-indent-buffer}.
|
||||
buffer. Then hit @kbd{@key{ESC} C-\} to re-indent the entire region
|
||||
which you've just marked. Or just enter @kbd{M-x vhdl-indent-buffer}.
|
||||
@sp 2
|
||||
|
||||
@strong{Q.} @emph{How do I re-indent the entire function?}
|
||||
|
||||
@strong{A.} Hit @kbd{@key{ESC} C-h} to mark the entire function. Then
|
||||
@strong{A.} Hit @kbd{@key{ESC} C-h} to mark the entire function. Then
|
||||
hit @kbd{@key{ESC} C-\} to re-indent the entire region which you've just
|
||||
marked.
|
||||
@sp 2
|
||||
|
@ -190,7 +190,7 @@ M-x vip-mode
|
||||
@kindex 0301 C-x C-z @r{(}@code{suspend-emacs}@r{)}
|
||||
|
||||
Loading VIP has the effect of globally binding @kbd{C-z} (@kbd{Control-z})
|
||||
to the function @code{vip-change-mode-to-vi}. The default binding of @kbd{C-z}
|
||||
to the function @code{vip-change-mode-to-vi}. The default binding of @kbd{C-z}
|
||||
in GNU Emacs is @code{suspend-emacs}, but, you can also call
|
||||
@code{suspend-emacs} by typing @kbd{C-x C-z}. Other than this, all the
|
||||
key bindings of Emacs remain the same after loading VIP.
|
||||
@ -400,7 +400,7 @@ Given counts, text will be yanked (in Vi's sense) that many times. Thus
|
||||
@itemx O
|
||||
@kindex 157 o @r{(}@code{vip-open-line}@r{)}
|
||||
@kindex 117 O @r{(}@code{vip-Open-line}@r{)}
|
||||
Given counts, that many copies of text will be inserted. Thus
|
||||
Given counts, that many copies of text will be inserted. Thus
|
||||
@kbd{o a b c @key{ESC}} will insert 3 lines of @samp{abc} below the current
|
||||
line.
|
||||
@item /
|
||||
@ -474,7 +474,7 @@ Forward incremental search.
|
||||
@kindex 033 ESC @r{(}@code{vip-ESC}@r{)}
|
||||
These keys will exit from vi mode and return to emacs mode temporarily. If
|
||||
you hit one of these keys, Emacs will be in emacs mode and will believe
|
||||
that you hit that key in emacs mode. For example, if you hit @kbd{C-x}
|
||||
that you hit that key in emacs mode. For example, if you hit @kbd{C-x}
|
||||
followed by @kbd{2}, then the current window will be split into 2 and you
|
||||
will be in vi mode again.
|
||||
@item \
|
||||
@ -517,7 +517,7 @@ Change upper-case characters in the region to lower case
|
||||
(@code{downcase-region}).
|
||||
@item # C
|
||||
@kindex 0431 # C @r{(}@code{upcase-region}@r{)}
|
||||
Change lower-case characters in the region to upper case. For instance,
|
||||
Change lower-case characters in the region to upper case. For instance,
|
||||
@kbd{# C 3 w} will capitalize 3 words from the current point
|
||||
(@code{upcase-region}).
|
||||
@item # g
|
||||
@ -574,14 +574,14 @@ in the current window, while @kbd{S} selects buffer in another window.
|
||||
@kindex 1300 X @r{(}@code{vip-ctl-x-equivalent}@r{)}
|
||||
These keys will exit from vi mode and return to emacs mode temporarily.
|
||||
If you type @kbd{C} (@kbd{X}), Emacs will be in emacs mode and will believe
|
||||
that you have typed @kbd{C-c} (@kbd{C-x}) in emacs mode. Moreover,
|
||||
that you have typed @kbd{C-c} (@kbd{C-x}) in emacs mode. Moreover,
|
||||
if the following character you type is an upper-case letter, then Emacs
|
||||
will believe that you have typed the corresponding control character.
|
||||
You will be in vi mode again after the command is executed. For example,
|
||||
typing @kbd{X S} in vi mode is the same as typing @kbd{C-x C-s} in emacs
|
||||
mode. You get the same effect by typing @kbd{C-x C-s} in vi mode, but
|
||||
the idea here is that you can execute useful Emacs commands without typing
|
||||
control characters. For example, if you hit @kbd{X} (or @kbd{C-x}) followed
|
||||
control characters. For example, if you hit @kbd{X} (or @kbd{C-x}) followed
|
||||
by @kbd{2}, then the current window will be split into 2 and you will be in
|
||||
vi mode again.
|
||||
@end table
|
||||
@ -1307,7 +1307,7 @@ The line commands are as follows:
|
||||
@cindex expanding (region)
|
||||
If a point command is given as an argument to a modifying command, the
|
||||
region determined by the point command will be affected by the modifying
|
||||
command. On the other hand, if a line command is given as an argument to a
|
||||
command. On the other hand, if a line command is given as an argument to a
|
||||
modifying command, the region determined by the line command will be
|
||||
enlarged so that it will become the smallest region properly containing the
|
||||
region and consisting of whole lines (we call this process @dfn{expanding
|
||||
@ -1418,9 +1418,9 @@ below.
|
||||
@item p
|
||||
@kindex 160 p @r{(}@code{vip-put-back}@r{)}
|
||||
Insert, after the character point is looking at, most recently
|
||||
deleted/yanked text from anonymous register. Given a register name
|
||||
deleted/yanked text from anonymous register. Given a register name
|
||||
argument, the content of the named register will be put back. Given a
|
||||
count, the command will be repeated that many times. This command also
|
||||
count, the command will be repeated that many times. This command also
|
||||
checks if the text to put back ends with a new line character, and if so
|
||||
the text will be put below the current line (@code{vip-put-back}).
|
||||
@item P
|
||||
|
@ -163,10 +163,10 @@ some incompatibilities.
|
||||
|
||||
This manual is written with the assumption that you are an experienced Vi
|
||||
user who wants to switch to Emacs while retaining the ability to edit files
|
||||
Vi style. Incredible as it might seem, there are experienced Emacs users
|
||||
Vi style. Incredible as it might seem, there are experienced Emacs users
|
||||
who use Viper as a backdoor into the superior (as every Vi user already knows)
|
||||
world of Vi! These users are well familiar with Emacs bindings and prefer them
|
||||
in some cases, especially in the Vi Insert state. John Hawkins
|
||||
world of Vi! These users are well familiar with Emacs bindings and prefer them
|
||||
in some cases, especially in the Vi Insert state. John Hawkins
|
||||
<jshawkin@@eecs.umich.edu> has provided a set of customizations, which
|
||||
enables additional Emacs bindings under Viper. These customizations can be
|
||||
included in your @file{~/.emacs.d/viper} file and are found at the
|
||||
@ -335,7 +335,7 @@ Viper.
|
||||
|
||||
The latest versions of Emacs have an interactive customization facility,
|
||||
which allows you to (mostly) bypass the use of the @file{.emacs} and
|
||||
@code{viper-custom-file-name} files. You can reach this customization
|
||||
@code{viper-custom-file-name} files. You can reach this customization
|
||||
facility from within Viper's VI state by executing the Ex command
|
||||
@kbd{:customize}.
|
||||
|
||||
@ -1589,10 +1589,10 @@ you are doing. Only two variables, @code{viper-mode} and
|
||||
prior to loading Viper (i.e., prior to @code{(require 'viper)} command.
|
||||
@item
|
||||
@cindex Ex customize
|
||||
By executing the @kbd{:customize} Ex command. This takes you to the Emacs
|
||||
By executing the @kbd{:customize} Ex command. This takes you to the Emacs
|
||||
customization widget, which lets you change the values of Viper
|
||||
customizable variables easily. This method is good for novice and
|
||||
experts alike. The customization code in the form of Lisp commands will be
|
||||
customizable variables easily. This method is good for novice and
|
||||
experts alike. The customization code in the form of Lisp commands will be
|
||||
placed in @file{~/.emacs} or some other customization file depending on the
|
||||
version of Emacs that you use. Still, it is recommended to separate
|
||||
Viper-related customization produced by the Emacs customization widget
|
||||
@ -1766,7 +1766,7 @@ have to set it as a string inside double quotes.
|
||||
Function used by the command @kbd{#c<move>} to spell.
|
||||
@item viper-glob-function
|
||||
The value of this variable is the function symbol used to expand wildcard
|
||||
symbols. This is platform-dependent. The default tries to set this variable
|
||||
symbols. This is platform-dependent. The default tries to set this variable
|
||||
to work with most shells, MS Windows, etc. However, if it
|
||||
doesn't work the way you expect, you should write your own.
|
||||
Use @code{viper-glob-unix-files} and @code{viper-glob-mswindows-files} in
|
||||
@ -2298,7 +2298,7 @@ suspicion is wrong, no harm is done if you harness a minor mode that
|
||||
doesn't need to be harnessed.
|
||||
|
||||
It is recommended to harness even those minor modes that don't override
|
||||
Viper keys, but still have their own keymaps. A general way to
|
||||
Viper keys, but still have their own keymaps. A general way to
|
||||
make a minor mode, @code{my-mode},
|
||||
compatible with Viper is to have the file @file{my-mode.el} include the following code:
|
||||
|
||||
@ -3099,7 +3099,7 @@ lines.
|
||||
@cindex % (Current file)
|
||||
Note that @samp{%} is used in Ex commands @kbd{:e} and @kbd{:r <shell-cmd>}
|
||||
to mean current file. If you want a @samp{%} in your command, it must be
|
||||
escaped as @samp{\%}. Note that @kbd{:w} and the regular @kbd{:r <file>}
|
||||
escaped as @samp{\%}. Note that @kbd{:w} and the regular @kbd{:r <file>}
|
||||
command doesn't support the meta symbols @samp{%} and @samp{#}, because
|
||||
file history is a better mechanism.
|
||||
@cindex # (Previous file)
|
||||
@ -3452,7 +3452,7 @@ Mark the current file and position with the specified letter.
|
||||
Set the Emacs mark (@pxref{Emacs Preliminaries}) at point.
|
||||
@item m ^
|
||||
Set the Emacs mark (@pxref{Emacs Preliminaries}) back to where it was last
|
||||
set with the @kbd{m.} command. This is useful when you set the mark with
|
||||
set with the @kbd{m.} command. This is useful when you set the mark with
|
||||
@kbd{m.}, but then some other command (such as @kbd{L} or @kbd{G}) changes
|
||||
it in a way that you didn't like.
|
||||
@item m <
|
||||
@ -3701,9 +3701,9 @@ Repeat latest Ex substitute command, e.g.,
|
||||
@itemx :g/Pat/p
|
||||
@itemx :v/Pat/p
|
||||
The above commands display certain buffer lines in a
|
||||
temporary buffer. The first form above displays the buffer lines between
|
||||
@kbd{x} and @kbd{y}. The second displays the lines of the buffer, which
|
||||
match a given pattern. The third form displays the lines that do @emph{not}
|
||||
temporary buffer. The first form above displays the buffer lines between
|
||||
@kbd{x} and @kbd{y}. The second displays the lines of the buffer, which
|
||||
match a given pattern. The third form displays the lines that do @emph{not}
|
||||
match the given pattern.
|
||||
@item #c<move>
|
||||
Change upper-case characters in the region to lower-case.
|
||||
@ -3765,7 +3765,7 @@ found there (e.g., @samp{~} is not expanded to the result of the previous
|
||||
substitution).
|
||||
|
||||
After typing @kbd{/} or @kbd{?} all the usual Emacs minibuffer commands, such as
|
||||
@kbd{M-p} and @kbd{M-n} are available. In addition, typing @kbd{C-s} will
|
||||
@kbd{M-p} and @kbd{M-n} are available. In addition, typing @kbd{C-s} will
|
||||
insert the last search string used by the Emacs incremental search command
|
||||
(which is bound to @kbd{C-s} everywhere except in this case).
|
||||
|
||||
@ -3970,8 +3970,8 @@ In all file handling commands, space should be typed before entering the file
|
||||
name. If you need to type a modifier, such as @kbd{>>} or @kbd{!}, don't
|
||||
put any space between the command and the modifier.
|
||||
|
||||
Note that many Ex commands, e.g., @kbd{:w}, accept command arguments. The
|
||||
effect is that the command would start acting on the current region. For
|
||||
Note that many Ex commands, e.g., @kbd{:w}, accept command arguments. The
|
||||
effect is that the command would start acting on the current region. For
|
||||
instance, if the current region spans the lines 11 through 22, then if you
|
||||
type @kbd{1:w} you would see @samp{:11,22w} in the minibuffer.
|
||||
|
||||
@ -4028,7 +4028,7 @@ Preserve the file---autosave buffers.
|
||||
Recover file from autosave.
|
||||
@item :f [<file>]
|
||||
without the argument, prints file name and character/line information afout
|
||||
the currently visited file. With an argument, sets the currently visited
|
||||
the currently visited file. With an argument, sets the currently visited
|
||||
filename to @file{file}.
|
||||
@item :cd [<dir>]
|
||||
Set the working directory to <dir> (default home directory).
|
||||
@ -4062,7 +4062,7 @@ Like @kbd{:n}, but the meaning of the variable
|
||||
Switch to another buffer. If @code{ex-cycle-other-window} is @code{t},
|
||||
switch in another window. Buffer completion is supported.
|
||||
The variable @code{viper-read-buffer-function} controls which function is
|
||||
actually used to read the buffer name. The default is @code{read-buffer},
|
||||
actually used to read the buffer name. The default is @code{read-buffer},
|
||||
but better alternatives are also available in Emacs (e.g.,
|
||||
@code{ido-read-buffer}).
|
||||
@vindex viper-read-buffer-function
|
||||
@ -4459,7 +4459,7 @@ VIP 4.4, by Aamod Sane. This manual is an adaptation of the manual for VIP
|
||||
4.4, which, in turn, was based on Sato's manual for VIP 3.5.
|
||||
|
||||
Many contributors on the Net pointed out bugs and suggested a number of
|
||||
useful features. Scott Bronson and Samuel Padgett contributed patches that
|
||||
useful features. Scott Bronson and Samuel Padgett contributed patches that
|
||||
were incorporated in this code. Here is a hopefully complete list of
|
||||
contributors:
|
||||
|
||||
|
@ -150,7 +150,7 @@ Widget library will also use the new graphic features automatically.
|
||||
A form consists of read only text for documentation and some fields,
|
||||
where each field contains two parts, a tag and a value. The tags are
|
||||
used to identify the fields, so the documentation can refer to the
|
||||
@samp{foo field}, meaning the field tagged with @samp{Foo}. Here is an
|
||||
@samp{foo field}, meaning the field tagged with @samp{Foo}. Here is an
|
||||
example form:
|
||||
|
||||
@example
|
||||
@ -865,7 +865,7 @@ the @code{:mouse-down-action} property.
|
||||
All widgets can be created from a type specification. The general
|
||||
syntax of a type specification is:
|
||||
|
||||
@c FIXME: Add BNF reference here? If yes, what reference?
|
||||
@c FIXME: Add BNF reference here? If yes, what reference?
|
||||
@example
|
||||
@var{name} ::= (@var{name} [@var{keyword} @var{argument}]... @var{args})
|
||||
| @var{name}
|
||||
|
@ -109,7 +109,7 @@ described in the @ref{Top, Semantic Manual, Semantic Manual, semantic}.
|
||||
@chapter Wisent Overview
|
||||
|
||||
@dfn{Wisent} (the European Bison) is an implementation in Emacs Lisp
|
||||
of the GNU Compiler Compiler Bison. Its code is a port of the C code
|
||||
of the GNU Compiler Compiler Bison. Its code is a port of the C code
|
||||
of GNU Bison 1.28 & 1.31.
|
||||
|
||||
For more details on the basic concepts for understanding Wisent, it is
|
||||
@ -1795,7 +1795,7 @@ environment.
|
||||
@samp{grammar} rule. The semantic action uses the @code{TAG} macro to
|
||||
produce a raw tag, automagically expanded by @semantic{}.
|
||||
|
||||
But @samp{rules} part is parsed in Bison style! Why?
|
||||
But @samp{rules} part is parsed in Bison style! Why?
|
||||
|
||||
Rule delimiters are the colon (@code{:}), that follows the nonterminal
|
||||
name, and a final semicolon (@code{;}). Unfortunately these
|
||||
|
@ -2151,6 +2151,8 @@ GOTO-PAGE-FN other than `doc-view-goto-page'."
|
||||
(pcase-let ((`(,conv-function ,type ,extension)
|
||||
(pcase doc-view-doc-type
|
||||
('djvu (list #'doc-view-djvu->tiff-converter-ddjvu 'tiff "tif"))
|
||||
((or 'ps 'postscript 'eps)
|
||||
(list #'doc-view-ps->png-converter-ghostscript 'png "png"))
|
||||
(_ (if (and (eq doc-view-pdf->png-converter-function
|
||||
#'doc-view-pdf->png-converter-mupdf)
|
||||
doc-view-mupdf-use-svg)
|
||||
|
@ -404,7 +404,7 @@ init_treesit_functions (void)
|
||||
buffer's parser list. The discussion can be found in bug#59693. */
|
||||
|
||||
|
||||
/*** Initialization */
|
||||
/*** Initialization */
|
||||
|
||||
static Lisp_Object Vtreesit_str_libtree_sitter;
|
||||
static Lisp_Object Vtreesit_str_tree_sitter;
|
||||
@ -431,7 +431,7 @@ static Lisp_Object Vtreesit_str_pred;
|
||||
functions. Remember to update docstrings when changing this value.
|
||||
|
||||
If we think of programs and AST, it is very rare for any program to
|
||||
have a very deep AST. For example, you would need 1000+ levels of
|
||||
have a very deep AST. For example, you would need 1000+ levels of
|
||||
nested if-statements, or a struct somehow nested for 1000+ levels.
|
||||
It's hard for me to imagine any hand-written or machine generated
|
||||
program to be like that. So I think 1000 is already generous. If
|
||||
@ -485,10 +485,9 @@ treesit_initialize (void)
|
||||
}
|
||||
|
||||
|
||||
/*** Loading language library */
|
||||
/*** Loading language library */
|
||||
|
||||
/* Translates a symbol treesit-<lang> to a C name
|
||||
treesit_<lang>. */
|
||||
/* Translate a symbol treesit-<lang> to a C name treesit_<lang>. */
|
||||
static void
|
||||
treesit_symbol_to_c_name (char *symbol_name)
|
||||
{
|
||||
@ -758,7 +757,7 @@ Return nil if a grammar library for LANGUAGE is not available. */)
|
||||
}
|
||||
|
||||
|
||||
/*** Parsing functions */
|
||||
/*** Parsing functions */
|
||||
|
||||
static void
|
||||
treesit_check_parser (Lisp_Object obj)
|
||||
@ -873,7 +872,7 @@ treesit_record_change (ptrdiff_t start_byte, ptrdiff_t old_end_byte,
|
||||
}
|
||||
}
|
||||
|
||||
/* Comment (ref:visible-beg-null) The purpose of visible_beg/end is to
|
||||
/* Comment (ref:visible-beg-null) The purpose of visible_beg/end is to
|
||||
keep track of "which part of the buffer does the tree-sitter tree
|
||||
see", in order to update the tree correctly. Visible_beg/end have
|
||||
two purposes: they "clip" buffer changes within them, and they
|
||||
@ -1150,7 +1149,7 @@ treesit_read_buffer (void *parser, uint32_t byte_index,
|
||||
}
|
||||
|
||||
|
||||
/*** Functions for parser and node object */
|
||||
/*** Functions for parser and node object */
|
||||
|
||||
/* Wrap the parser in a Lisp_Object to be used in the Lisp
|
||||
machine. */
|
||||
@ -1575,7 +1574,7 @@ treesit_parser_live_p (Lisp_Object parser)
|
||||
}
|
||||
|
||||
|
||||
/*** Parser API */
|
||||
/*** Parser API */
|
||||
|
||||
DEFUN ("treesit-parser-root-node",
|
||||
Ftreesit_parser_root_node, Streesit_parser_root_node,
|
||||
@ -1748,7 +1747,7 @@ See also `treesit-parser-set-included-ranges'. */)
|
||||
|
||||
/* When the parser doesn't have a range set and we call
|
||||
ts_parser_included_ranges on it, it doesn't return an empty list,
|
||||
but rather return DEFAULT_RANGE. (A single range where start_byte
|
||||
but rather return DEFAULT_RANGE. (A single range where start_byte
|
||||
= 0, end_byte = UINT32_MAX). So we need to track whether the
|
||||
parser is ranged ourselves. */
|
||||
if (NILP (XTS_PARSER (parser)->last_set_ranges))
|
||||
@ -1851,8 +1850,8 @@ treesit_check_node (Lisp_Object obj)
|
||||
xsignal1 (Qtreesit_node_buffer_killed, obj);
|
||||
}
|
||||
|
||||
/* Checks that OBJ is a positive integer and it is within the visible
|
||||
portion of BUF. */
|
||||
/* Check that OBJ is a positive integer and it is within the visible
|
||||
portion of BUF. */
|
||||
static void
|
||||
treesit_check_position (Lisp_Object obj, struct buffer *buf)
|
||||
{
|
||||
@ -2147,7 +2146,7 @@ nil. If NODE is nil, return nil. */)
|
||||
DEFUN ("treesit-node-child-by-field-name",
|
||||
Ftreesit_node_child_by_field_name,
|
||||
Streesit_node_child_by_field_name, 2, 2, 0,
|
||||
doc: /* Return the child of NODE with FIELD-NAME.
|
||||
doc: /* Return the child of NODE with FIELD-NAME (a string).
|
||||
Return nil if there is no such child. If NODE is nil, return nil. */)
|
||||
(Lisp_Object node, Lisp_Object field_name)
|
||||
{
|
||||
@ -2368,7 +2367,7 @@ produced by tree-sitter. */)
|
||||
}
|
||||
|
||||
|
||||
/*** Query functions */
|
||||
/*** Query functions */
|
||||
|
||||
/* Convert a Lisp string to its printed representation in the tree-sitter
|
||||
query syntax. */
|
||||
@ -3005,7 +3004,7 @@ the query. */)
|
||||
test for predicates. If predicates pass, then all good, if
|
||||
predicates don't pass, revert the result back to the result
|
||||
before this loop (PREV_RESULT). (Predicates control the entire
|
||||
match.) This way we don't need to create a list of captures in
|
||||
match.) This way we don't need to create a list of captures in
|
||||
every for loop and nconc it to RESULT every time. That is indeed
|
||||
the initial implementation in which Yoav found nconc being the
|
||||
bottleneck (98.4% of the running time spent on nconc). */
|
||||
@ -3083,7 +3082,7 @@ the query. */)
|
||||
}
|
||||
|
||||
|
||||
/*** Navigation */
|
||||
/*** Navigation */
|
||||
|
||||
static inline void
|
||||
treesit_assume_true (bool val)
|
||||
@ -3200,7 +3199,7 @@ treesit_traverse_sibling_helper (TSTreeCursor *cursor,
|
||||
if (ts_node_eq (first_child, start))
|
||||
return false;
|
||||
|
||||
/* PROBE is always DELTA siblings ahead of CURSOR. */
|
||||
/* PROBE is always DELTA siblings ahead of CURSOR. */
|
||||
TSTreeCursor probe = ts_tree_cursor_copy (cursor);
|
||||
/* This is position of PROBE minus position of CURSOR. */
|
||||
ptrdiff_t delta = 0;
|
||||
@ -3484,7 +3483,7 @@ treesit_traverse_match_predicate (TSTreeCursor *cursor, Lisp_Object pred,
|
||||
return true;
|
||||
}
|
||||
}
|
||||
/* Returning false is better than UB. */
|
||||
/* Returning false is better than UB. */
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -3997,7 +3996,7 @@ DEFUN ("treesit-available-p", Ftreesit_available_p,
|
||||
}
|
||||
|
||||
|
||||
/*** Initialization */
|
||||
/*** Initialization */
|
||||
|
||||
/* Initialize the tree-sitter routines. */
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user