aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/emacs/buffers.texi10
-rw-r--r--doc/emacs/frames.texi15
-rw-r--r--doc/emacs/haiku.texi10
-rw-r--r--doc/emacs/search.texi3
-rw-r--r--doc/lispref/display.texi15
-rw-r--r--doc/lispref/elisp.texi1
-rw-r--r--doc/lispref/frames.texi6
-rw-r--r--doc/lispref/text.texi87
-rw-r--r--doc/misc/ert.texi5
-rw-r--r--doc/misc/eshell.texi13
-rw-r--r--doc/misc/gnus.texi17
11 files changed, 142 insertions, 40 deletions
diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi
index 8a8584689fc..94e9d2760ec 100644
--- a/doc/emacs/buffers.texi
+++ b/doc/emacs/buffers.texi
@@ -629,7 +629,6 @@ buffer, but killing an indirect buffer has no effect on its base buffer.
629 One way to use indirect buffers is to display multiple views of an 629 One way to use indirect buffers is to display multiple views of an
630outline. @xref{Outline Views}. 630outline. @xref{Outline Views}.
631 631
632@vindex clone-indirect-buffer-hook
633 A quick and handy way to make an indirect buffer is with the command 632 A quick and handy way to make an indirect buffer is with the command
634@kbd{M-x clone-indirect-buffer}. It creates and selects an indirect 633@kbd{M-x clone-indirect-buffer}. It creates and selects an indirect
635buffer whose base buffer is the current buffer. With a numeric 634buffer whose base buffer is the current buffer. With a numeric
@@ -637,14 +636,19 @@ argument, it prompts for the name of the indirect buffer; otherwise it
637uses the name of the current buffer, with a @samp{<@var{n}>} suffix 636uses the name of the current buffer, with a @samp{<@var{n}>} suffix
638added. @kbd{C-x 4 c} (@code{clone-indirect-buffer-other-window}) 637added. @kbd{C-x 4 c} (@code{clone-indirect-buffer-other-window})
639works like @kbd{M-x clone-indirect-buffer}, but it selects the new 638works like @kbd{M-x clone-indirect-buffer}, but it selects the new
640buffer in another window. These functions run the hook 639buffer in another window.
641@code{clone-indirect-buffer-hook} after creating the indirect buffer.
642 640
643 The more general way to make an indirect buffer is with the command 641 The more general way to make an indirect buffer is with the command
644@kbd{M-x make-indirect-buffer}. It creates an indirect buffer 642@kbd{M-x make-indirect-buffer}. It creates an indirect buffer
645named @var{indirect-name} from a buffer @var{base-buffer}, prompting for 643named @var{indirect-name} from a buffer @var{base-buffer}, prompting for
646both using the minibuffer. 644both using the minibuffer.
647 645
646@vindex clone-indirect-buffer-hook
647 The functions that create indirect buffers run the hook
648@code{clone-indirect-buffer-hook} after creating the indirect buffer.
649When this hook runs, the newly created indirect buffer is the current
650buffer.
651
648@node Buffer Convenience 652@node Buffer Convenience
649@section Convenience Features and Customization of Buffer Handling 653@section Convenience Features and Customization of Buffer Handling
650 654
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index c641b8ccb14..29edbe98633 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -1633,13 +1633,14 @@ Parameters,,, elisp, The Emacs Lisp Reference Manual}, and also
1633For additional customization options for displaying tooltips, use 1633For additional customization options for displaying tooltips, use
1634@kbd{M-x customize-group @key{RET} tooltip @key{RET}}. 1634@kbd{M-x customize-group @key{RET} tooltip @key{RET}}.
1635 1635
1636@vindex x-gtk-use-system-tooltips 1636@vindex use-system-tooltips
1637 If Emacs is built with GTK+ support, it displays tooltips via GTK+, 1637 If Emacs is built with the GTK+ toolkit or Haiku windowing support,
1638using the default appearance of GTK+ tooltips. To disable this, 1638it displays tooltips via the toolkit, using the default appearance of
1639change the variable @code{x-gtk-use-system-tooltips} to @code{nil}. 1639the toolkit's tooltips. To disable this, change the variable
1640If you do this, or if Emacs is built without GTK+ support, most 1640@code{use-system-tooltips} to @code{nil}. If you do this, or if Emacs
1641attributes of the tooltip text are specified by the @code{tooltip} 1641is built without GTK+ or Haiku windowing support, most attributes of
1642face, and by X resources (@pxref{X Resources}). 1642the tooltip text are specified by the @code{tooltip} face, and by X
1643resources (@pxref{X Resources}).
1643 1644
1644 @dfn{GUD tooltips} are special tooltips that show the values of 1645 @dfn{GUD tooltips} are special tooltips that show the values of
1645variables when debugging a program with GUD@. @xref{Debugger 1646variables when debugging a program with GUD@. @xref{Debugger
diff --git a/doc/emacs/haiku.texi b/doc/emacs/haiku.texi
index eeae379e06a..ac631a39a69 100644
--- a/doc/emacs/haiku.texi
+++ b/doc/emacs/haiku.texi
@@ -85,16 +85,12 @@ instead.
85 85
86@cindex tooltips (haiku) 86@cindex tooltips (haiku)
87@cindex haiku tooltips 87@cindex haiku tooltips
88@vindex haiku-use-system-tooltips
89 On Haiku, Emacs defaults to using the system tooltip mechanism. 88 On Haiku, Emacs defaults to using the system tooltip mechanism.
90This usually leads to more responsive tooltips, but the tooltips will 89This usually leads to more responsive tooltips, but the tooltips will
91not be able to display text properties or faces. If you need those 90not be able to display text properties or faces. If you need those
92features, customize the variable @code{haiku-use-system-tooltips} to 91features, customize the variable @code{use-system-tooltips} to the
93the nil value, and Emacs will use its own implementation of tooltips. 92@code{nil} value, and Emacs will use its own implementation of
94 93tooltips.
95 Both system tooltips and Emacs's own tooltips cannot display above
96the menu bar, so help text in the menu bar will display in the echo
97area instead.
98 94
99@cindex X resources on Haiku 95@cindex X resources on Haiku
100 Unlike the X window system, Haiku does not have a system-wide 96 Unlike the X window system, Haiku does not have a system-wide
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index fa1b0eee7c3..a57cfac8daf 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -463,14 +463,15 @@ transient input method (@pxref{transient input method}) with
463@kbd{C-x \} (@code{isearch-transient-input-method}) to insert a single 463@kbd{C-x \} (@code{isearch-transient-input-method}) to insert a single
464character to the search string using an input method, and 464character to the search string using an input method, and
465automatically disable the input method afterwards. 465automatically disable the input method afterwards.
466@end itemize
467 466
467@item
468@findex isearch-char-by-name 468@findex isearch-char-by-name
469@kindex C-x 8 RET @r{(Incremental Search)} 469@kindex C-x 8 RET @r{(Incremental Search)}
470Type @kbd{C-x 8 @key{RET}} (@code{isearch-char-by-name}), followed by 470Type @kbd{C-x 8 @key{RET}} (@code{isearch-char-by-name}), followed by
471a Unicode name or code-point in hex. This adds the specified 471a Unicode name or code-point in hex. This adds the specified
472character into the search string, similar to the usual 472character into the search string, similar to the usual
473@code{insert-char} command (@pxref{Inserting Text}). 473@code{insert-char} command (@pxref{Inserting Text}).
474@end itemize
474 475
475@findex isearch-emoji-by-name 476@findex isearch-emoji-by-name
476@kindex C-x 8 e RET @r{(Incremental Search)} 477@kindex C-x 8 e RET @r{(Incremental Search)}
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 12e19efab0e..9020b98a1eb 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -8438,13 +8438,14 @@ displayed in the echo area.
8438@end defun 8438@end defun
8439 8439
8440@cindex system tooltips 8440@cindex system tooltips
8441@vindex x-gtk-use-system-tooltips 8441@vindex use-system-tooltips
8442When Emacs is built with GTK+ support, it by default displays tooltips 8442When Emacs is built with the GTK+ toolkit or Haiku windowing support,
8443using GTK+ functions, and the appearance of the tooltips is then 8443it by default displays tooltips using toolkit functions, and the
8444controlled by GTK+ settings. GTK+ tooltips can be disabled by 8444appearance of the tooltips is then controlled by by the toolkit's
8445changing the value of the variable @code{x-gtk-use-system-tooltips} to 8445settings. Toolkit-provided tooltips can be disabled by changing the
8446@code{nil}. The rest of this subsection describes how to control 8446value of the variable @code{use-system-tooltips} to @code{nil}. The
8447non-GTK+ tooltips, which are presented by Emacs itself. 8447rest of this subsection describes how to control non-toolkit tooltips,
8448which are presented by Emacs itself.
8448 8449
8449@cindex tooltip frames 8450@cindex tooltip frames
8450Tooltips are displayed in special frames called tooltip frames, which 8451Tooltips are displayed in special frames called tooltip frames, which
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index 91926e05794..426bb6d0176 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -1231,6 +1231,7 @@ Text
1231* Decompression:: Dealing with compressed data. 1231* Decompression:: Dealing with compressed data.
1232* Base 64:: Conversion to or from base 64 encoding. 1232* Base 64:: Conversion to or from base 64 encoding.
1233* Checksum/Hash:: Computing cryptographic hashes. 1233* Checksum/Hash:: Computing cryptographic hashes.
1234* Suspicious Text:: Determining whether a string is suspicious.
1234* GnuTLS Cryptography:: Cryptographic algorithms imported from GnuTLS. 1235* GnuTLS Cryptography:: Cryptographic algorithms imported from GnuTLS.
1235* Database:: Interacting with an SQL database. 1236* Database:: Interacting with an SQL database.
1236* Parsing HTML/XML:: Parsing HTML and XML. 1237* Parsing HTML/XML:: Parsing HTML and XML.
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index ca7d9ada0ba..2eeb8b7ed74 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -3154,10 +3154,8 @@ raises @var{frame} above all other child frames of its parent.
3154@deffn Command lower-frame &optional frame 3154@deffn Command lower-frame &optional frame
3155This function lowers frame @var{frame} (default, the selected frame) 3155This function lowers frame @var{frame} (default, the selected frame)
3156below all other frames belonging to the same or a higher z-group as 3156below all other frames belonging to the same or a higher z-group as
3157@var{frame}.@footnote{Lowering frames is not supported on Haiku, due 3157@var{frame}. If @var{frame} is a child frame (@pxref{Child Frames}),
3158to limitations imposed by the system.} If @var{frame} is a child 3158this lowers @var{frame} below all other child frames of its parent.
3159frame (@pxref{Child Frames}), this lowers @var{frame} below all other
3160child frames of its parent.
3161@end deffn 3159@end deffn
3162 3160
3163@defun frame-restack frame1 frame2 &optional above 3161@defun frame-restack frame1 frame2 &optional above
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index b9df66dbdb4..37cf376bd53 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -59,6 +59,7 @@ the character after point.
59* Decompression:: Dealing with compressed data. 59* Decompression:: Dealing with compressed data.
60* Base 64:: Conversion to or from base 64 encoding. 60* Base 64:: Conversion to or from base 64 encoding.
61* Checksum/Hash:: Computing cryptographic hashes. 61* Checksum/Hash:: Computing cryptographic hashes.
62* Suspicious Text:: Determining whether a string is suspicious.
62* GnuTLS Cryptography:: Cryptographic algorithms imported from GnuTLS. 63* GnuTLS Cryptography:: Cryptographic algorithms imported from GnuTLS.
63* Database:: Interacting with an SQL database. 64* Database:: Interacting with an SQL database.
64* Parsing HTML/XML:: Parsing HTML and XML. 65* Parsing HTML/XML:: Parsing HTML and XML.
@@ -4943,6 +4944,92 @@ It should be somewhat more efficient on larger buffers than
4943@c according to what we find useful. 4944@c according to what we find useful.
4944@end defun 4945@end defun
4945 4946
4947@node Suspicious Text
4948@section Suspicious Text
4949@cindex suspicious text
4950@cindex insecure text
4951@cindex security vulnerabilities in text
4952
4953 Emacs can display text from many external sources, like email and Web
4954sites. Attackers may attempt to confuse the user reading this text by
4955using obfuscated @acronym{URL}s or email addresses, and tricking the
4956user into visiting a web page they didn't intend to visit, or sending
4957an email to the wrong address.
4958
4959This usually involves using characters from scripts that visually look
4960like @acronym{ASCII} characters (i.e., are homoglyphs), but there are
4961also other techniques used, like using bidirectional overrides, or
4962having an @acronym{HTML} link text that says one thing, while the
4963underlying @acronym{URL} points somewhere else.
4964
4965@cindex suspicious text strings
4966To help identify these @dfn{suspicious text strings}, Emacs provides a
4967library to do a number of checks on text. (See
4968@url{https://www.unicode.org/reports/tr39/, UTS #39: Unicode Security
4969Mechanisms} for the rationale behind the checks that are available and
4970more details about them.) Packages that present data that might be
4971suspicious should use this library to flag suspicious text on display.
4972
4973@vindex textsec-check
4974@defun textsec-suspicious-p object type
4975This function is the high-level interface function that packages
4976should use. It respects the @code{textsec-check} user option, which
4977allows the user to disable the checks.
4978
4979This function checks @var{object} (whose data type depends on
4980@var{type}) to see if it looks suspicious when interpreted as a thing
4981of @var{type}. The available types and the corresponding @var{object}
4982data types are:
4983
4984@table @code
4985@item domain
4986Check whether a domain (e.g., @samp{www.gnu.org} looks suspicious.
4987@var{object} should be a string, the domain name.
4988
4989@item url
4990Check whether an @acronym{URL} (e.g., @samp{http://gnu.org/foo/bar})
4991looks suspicious. @var{object} should be a string, the @acronym{URL}
4992to check.
4993
4994@item link
4995Check whether an @acronym{HTML} link (e.g., @samp{<a
4996href='http://gnu.org'>fsf.org</a>} looks suspicious. In this case,
4997@var{object} should be a @code{cons} cell where the @code{car} is the
4998@acronym{URL} string, and the @code{cdr} is the link text. The link
4999is deemed suspicious if the link text contains a domain name, and that
5000domain name points to something other than the @acronym{URL}.
5001
5002@item email-address
5003Check whether an email address (e.g., @samp{foo@@example.org}) looks
5004suspicious. @var{object} should be a string.
5005
5006@item local-address
5007Check whether the local part of an email address (the bit before the
5008@samp{@@} sign) looks suspicious. @var{object} should be a string.
5009
5010@item name
5011Check whether a name (used in an email address header) looks
5012suspicious. @var{object} should be a string.
5013
5014@item email-address-header
5015Check whether a full RFC2822 email address header (e.g.,
5016@samp{=?utf-8?Q?=C3=81?= <foo@@example.com>}) looks suspicious.
5017@var{object} should be a string.
5018@end table
5019
5020If @var{object} is suspicious, this function returns a string that
5021explains why it is suspicious. If @var{object} is not suspicious, the
5022function returns @code{nil}.
5023@end defun
5024
5025@vindex textsec-suspicious@r{ (face)}
5026If the text is suspicious, the application should mark the suspicious
5027text with the @code{textsec-suspicious} face, and make the explanation
5028returned by @code{textsec-suspicious-p} available to the user in some way
5029(for example, in a tooltip). The application might also prompt the
5030user for confirmation before taking any action on a suspicious string
5031(like sending an email to a suspicious email address).
5032
4946@node GnuTLS Cryptography 5033@node GnuTLS Cryptography
4947@section GnuTLS Cryptography 5034@section GnuTLS Cryptography
4948@cindex MD5 checksum 5035@cindex MD5 checksum
diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi
index 0d01efb0355..91288db45a2 100644
--- a/doc/misc/ert.texi
+++ b/doc/misc/ert.texi
@@ -444,8 +444,9 @@ emacs -batch -l ert -l my-tests.el \
444@vindex EMACS_TEST_VERBOSE@r{, environment variable} 444@vindex EMACS_TEST_VERBOSE@r{, environment variable}
445By default, ERT test failure summaries are quite brief in batch 445By default, ERT test failure summaries are quite brief in batch
446mode---only the names of the failed tests are listed. If the 446mode---only the names of the failed tests are listed. If the
447@env{EMACS_TEST_VERBOSE} environment variable is set, the failure 447@env{EMACS_TEST_VERBOSE} environment variable is set and is non-empty,
448summaries will also include the data from the failing test. 448the failure summaries will also include the data from the failing
449test.
449 450
450@vindex EMACS_TEST_JUNIT_REPORT@r{, environment variable} 451@vindex EMACS_TEST_JUNIT_REPORT@r{, environment variable}
451ERT can produce JUnit test reports in batch mode. If the environment 452ERT can produce JUnit test reports in batch mode. If the environment
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi
index f1d7c638056..df6e3b861e4 100644
--- a/doc/misc/eshell.texi
+++ b/doc/misc/eshell.texi
@@ -407,9 +407,16 @@ Summarize disk usage for each file.
407 407
408@item echo 408@item echo
409@cmindex echo 409@cmindex echo
410Echoes its input. If @code{eshell-plain-echo-behavior} is 410Echoes its input. By default, this prints in a Lisp-friendly fashion
411non-@code{nil}, @command{echo} will try to behave more like a plain 411(so that the value is useful to a Lisp command using the result of
412shell's @command{echo}. 412@command{echo} as an argument). If a single argument is passed,
413@command{echo} prints that; if multiple arguments are passed, it
414prints a list of all the arguments; otherwise, it prints the empty
415string.
416
417If @code{eshell-plain-echo-behavior} is non-@code{nil}, @command{echo}
418will try to behave more like a plain shell's @command{echo}, printing
419each argument as a string, separated by a space.
413 420
414@item env 421@item env
415@cmindex env 422@cmindex env
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index b3efdfbacba..306d66de64e 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -14838,12 +14838,17 @@ mail belongs in that group.
14838The last of these groups should always be a general one, and the regular 14838The last of these groups should always be a general one, and the regular
14839expression should @emph{always} be @samp{""} so that it matches any mails 14839expression should @emph{always} be @samp{""} so that it matches any mails
14840that haven't been matched by any of the other regexps. (These rules are 14840that haven't been matched by any of the other regexps. (These rules are
14841processed from the beginning of the alist toward the end. The first rule 14841processed from the beginning of the alist toward the end.
14842to make a match will ``win'', unless you have crossposting enabled. In 14842
14843that case, all matching rules will ``win''.) If no rule matched, the mail 14843If multiple rules match (excluding the general @samp{""} group), mail
14844will end up in the @samp{bogus} group. When new groups are created by 14844is crossposted to all these groups. However, if
14845splitting mail, you may want to run @code{gnus-group-find-new-groups} to 14845@code{nnmail-crosspost} is set to @code{nil}, the first rule to make a
14846see the new groups. This also applies to the @samp{bogus} group. 14846match will ``win''.
14847
14848If no rule matched, the mail will end up in the @samp{bogus} group.
14849When new groups are created by splitting mail, you may want to run
14850@code{gnus-group-find-new-groups} to see the new groups. This also
14851applies to the @samp{bogus} group.
14847 14852
14848If you like to tinker with this yourself, you can set this variable to a 14853If you like to tinker with this yourself, you can set this variable to a
14849function of your choice. This function will be called without any 14854function of your choice. This function will be called without any