mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-27 07:37:33 +00:00
Merge from origin/emacs-26
fd35804971
(origin/emacs-26) * doc/lispref/strings.texi (Case Convers...89e257d71b
* doc/misc/speedbar.texi (Top): Fix grammar.a31ab5ffb5
* lisp/subr.el (with-silent-modifications): Doc fixes.2ebc8dc3b6
Fix curved quotes in printed manuale4a881b5cf
Say that "gnus-cloud" is a parody name13c59d0a83
More improvements for text.texi7850b7620e
Adjudicate review comments for the "Text" chapter of user ...d7d3b14a99
* lisp/url/url-http.el (url-http-wait-for-headers-change-f...f3819ad13e
In C-h k <mouse-n>, alert user to existence of any matchin...99054fbef9
* net/eww.el (eww): Handle URLs without host part.de89c0b641
Make C-h c/k S-mouse-1 display message for mouse-appearanc...720ed0b533
Avoid crashes when ':eval' deletes our frame9105c9aa34
Fix scrolling up in pixel-scroll.elb882d4ef11
Fix problems with ligatures in PDF version of ELisp manual289dd53bb3
(elisp-flymake-byte-compile): Handle killed buffer in sent...cf36c82127
Avoid some overfull lines in PDF lisprefb07b56a351
Avoid some overfull lines in PDF manual6b3118f025
* doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer M...7ffb7b1e01
; lispref nil/t markup fixes # Conflicts: # doc/emacs/text.texi
This commit is contained in:
commit
08e1438a3b
@ -47,7 +47,13 @@ explained in the corresponding sections.
|
||||
@subsection Auto Reverting the Buffer Menu
|
||||
|
||||
If auto-reverting of non-file buffers is enabled, the Buffer Menu
|
||||
(@pxref{Several Buffers}) automatically reverts every
|
||||
@iftex
|
||||
(@pxref{Several Buffers,,, emacs, the Emacs Manual})
|
||||
@end iftex
|
||||
@ifnottex
|
||||
(@pxref{Several Buffers})
|
||||
@end ifnottex
|
||||
automatically reverts every
|
||||
@code{auto-revert-interval} seconds, whether there is a need for it or
|
||||
not. (It would probably take longer to check whether there is a need
|
||||
than to actually revert.)
|
||||
|
@ -495,6 +495,7 @@ must absolutely not match more than a portion of the first word of the
|
||||
diary entry. For example, the default value of
|
||||
@code{diary-european-date-forms} is:
|
||||
|
||||
@c backup line is a fraction too wide in PDF, but it looks ok.
|
||||
@example
|
||||
((day "/" month "[^/0-9]")
|
||||
(day "/" month "/" year "[^0-9]")
|
||||
|
@ -1763,8 +1763,8 @@ Any other non-@code{nil} value is treated as @code{t}.
|
||||
@findex display-line-numbers-mode
|
||||
@findex global-display-line-numbers-mode
|
||||
@vindex display-line-numbers-type
|
||||
A convenient way of turning on display of line numbers is @w{@kbd{M-x
|
||||
display-line-numbers-mode @key{RET}}}. This mode has a globalized
|
||||
The command @kbd{M-x display-line-numbers-mode} provides a
|
||||
convenient way to turn on display of line numbers. This mode has a globalized
|
||||
variant, @code{global-display-line-numbers-mode}. The user option
|
||||
@code{display-line-numbers-type} controls which sub-mode of
|
||||
line-number display, described above, will these modes activate.
|
||||
|
@ -1735,7 +1735,8 @@ a multi-file incremental search is activated automatically.
|
||||
@cindex match (face name)
|
||||
@vindex list-matching-lines-default-context-lines
|
||||
@vindex list-matching-lines-jump-to-current-line
|
||||
@cindex list-matching-lines-current-line-face (face name)
|
||||
@c Too long.
|
||||
@c @cindex list-matching-lines-current-line-face (face name)
|
||||
@kindex M-s o
|
||||
@findex occur
|
||||
@item M-x occur
|
||||
|
@ -22,13 +22,17 @@ are also often useful for editing programs.
|
||||
the file contains ordinary text, use Text mode, which customizes Emacs
|
||||
in small ways for the syntactic conventions of text. Outline mode
|
||||
provides special commands for operating on text with an outline
|
||||
structure. Org mode extends Outline mode and turn Emacs into a
|
||||
full-fledged organizer: you can manage TODO lists, store notes and
|
||||
publish them in many formats.
|
||||
structure. @xref{Outline Mode}.
|
||||
|
||||
@iftex
|
||||
@xref{Outline Mode}.
|
||||
@end iftex
|
||||
Org mode extends Outline mode and turns Emacs into a full-fledged
|
||||
organizer: you can manage TODO lists, store notes and publish them in
|
||||
many formats.
|
||||
@ifinfo
|
||||
@xref{Top, The Org Manual,,org, The Org Manual}.
|
||||
@end ifinfo
|
||||
@ifnotinfo
|
||||
See the Org Info manual, which is distributed with Emacs.
|
||||
@end ifnotinfo
|
||||
|
||||
@cindex nXML mode
|
||||
@cindex mode, XML
|
||||
@ -324,6 +328,12 @@ that start a new paragraph and are contained in it must match only
|
||||
in Fundamental mode, @code{paragraph-start} is @w{@code{"\f\\|[
|
||||
\t]*$"}}, and @code{paragraph-separate} is @w{@code{"[ \t\f]*$"}}.
|
||||
|
||||
Note that @code{paragraph-start} and @code{paragraph-separate} are
|
||||
matched against the text at the left margin, which is not necessarily
|
||||
the beginning of the line, so these regexps should not use @samp{^} as
|
||||
an anchor, to ensure that the paragraph functions will work equally
|
||||
within a region of text indented by a margin setting.
|
||||
|
||||
@node Pages
|
||||
@section Pages
|
||||
|
||||
@ -414,22 +424,31 @@ beginning of a line.
|
||||
@cindex curved quotes
|
||||
@cindex guillemets
|
||||
@findex electric-quote-mode
|
||||
@c The funny quoting below is to make the printed version look
|
||||
@c correct. FIXME.
|
||||
One common way to quote is the typewriter convention, which quotes
|
||||
using straight apostrophes @t{'like this'} or double-quotes @t{"like
|
||||
this"}. Another common way is the curved quote convention, which uses
|
||||
left and right single or double quotation marks @t{‘like this’} or
|
||||
@t{“like this”}. In text files, typewriter quotes are simple and
|
||||
left and right single or double quotation marks `@t{like this}' or
|
||||
``@t{like this}''@footnote{
|
||||
The curved single quote characters are U+2018 LEFT SINGLE QUOTATION
|
||||
MARK and U+2018 RIGHT SINGLE QUOTATION MARK; the curved double quotes
|
||||
are U+201C LEFT DOUBLE QUOTATION MARK and U+201D RIGHT DOUBLE
|
||||
QUOTATION MARK. On text terminals which cannot display these
|
||||
characters, the Info reader might show them as the typewriter ASCII
|
||||
quote characters.
|
||||
}. In text files, typewriter quotes are simple and
|
||||
portable; curved quotes are less ambiguous and typically look nicer.
|
||||
|
||||
@vindex electric-quote-chars
|
||||
Electric Quote mode makes it easier to type curved quotes. As you
|
||||
type characters it optionally converts @t{`} to @t{‘}, @t{'} to @t{’},
|
||||
@t{``} to @t{“}, and @t{''} to @t{”}. It's possible to change the
|
||||
type characters it optionally converts @t{`} to ‘, @t{'} to ',
|
||||
@t{``} to ``, and @t{''} to ''. It's possible to change the
|
||||
default quotes listed above, by customizing the variable
|
||||
@code{electric-quote-chars}, a list of four characters, where the
|
||||
items correspond to the left single quote, the right single quote, the
|
||||
left double quote and the right double quote, respectively, whose
|
||||
default value is @code{'(?‘ ?’ ?“ ?”)}.
|
||||
default value is @code{'(?@r{`} ?@r{'} ?@r{``} ?@r{''})}.
|
||||
|
||||
@vindex electric-quote-paragraph
|
||||
@vindex electric-quote-comment
|
||||
@ -450,13 +469,14 @@ curved double quote depending on context: @t{“} at the beginning of
|
||||
the buffer or after a line break, whitespace, opening parenthesis, or
|
||||
quote character, and @t{”} otherwise.
|
||||
|
||||
Electric Quote mode is disabled by default. To toggle it, type
|
||||
@kbd{M-x electric-quote-mode}. To toggle it in a single buffer, use
|
||||
@kbd{M-x electric-quote-local-mode}. To suppress it for a single use,
|
||||
Electric Quote mode is disabled by default. To toggle it in a
|
||||
single buffer, use @kbd{M-x electric-quote-local-mode}.
|
||||
To toggle it globally, type
|
||||
@kbd{M-x electric-quote-mode}. To suppress it for a single use,
|
||||
type @kbd{C-q `} or @kbd{C-q '} instead of @kbd{`} or @kbd{'}. To
|
||||
insert a curved quote even when Electric Quote is disabled or
|
||||
inactive, you can type @kbd{C-x 8 [} for @t{‘}, @kbd{C-x 8 ]} for
|
||||
@t{’}, @kbd{C-x 8 @{} for @t{“}, and @kbd{C-x 8 @}} for @t{”}.
|
||||
@t{’}, @kbd{C-x 8 @{} for ``, and @kbd{C-x 8 @}} for ''.
|
||||
@xref{Inserting Text}. Note that the value of
|
||||
@code{electric-quote-chars} does not affect these keybindings, they
|
||||
are not keybindings of @code{electric-quote-mode} but bound in
|
||||
@ -485,8 +505,8 @@ text.
|
||||
@cindex mode, Auto Fill
|
||||
|
||||
@dfn{Auto Fill} mode is a buffer-local minor mode (@pxref{Minor
|
||||
Modes}) in which lines are broken automatically when they become too
|
||||
wide. Breaking happens only when you type a @key{SPC} or @key{RET}.
|
||||
Modes}) in which lines are broken automatically at spaces when the
|
||||
line becomes too wide.
|
||||
|
||||
@table @kbd
|
||||
@item M-x auto-fill-mode
|
||||
@ -498,14 +518,12 @@ In Auto Fill mode, break lines when appropriate.
|
||||
|
||||
@findex auto-fill-mode
|
||||
The mode command @kbd{M-x auto-fill-mode} toggles Auto Fill mode in
|
||||
the current buffer. With a positive numeric argument, it enables Auto
|
||||
Fill mode, and with a negative argument it disables it. If
|
||||
@code{auto-fill-mode} is called from Lisp with an omitted or
|
||||
@code{nil} argument, it enables Auto Fill mode. To enable Auto Fill
|
||||
mode automatically in certain major modes, add @code{auto-fill-mode}
|
||||
to the mode hooks (@pxref{Major Modes}). When Auto Fill mode is
|
||||
enabled, the mode indicator @samp{Fill} appears in the mode line
|
||||
(@pxref{Mode Line}).
|
||||
the current buffer. Like any other minor mode, with a positive
|
||||
numeric argument, it enables Auto Fill mode, and with a negative
|
||||
argument it disables it. To enable Auto Fill mode automatically in
|
||||
certain major modes, add @code{auto-fill-mode} to the mode hooks
|
||||
(@pxref{Major Modes}). When Auto Fill mode is enabled, the mode
|
||||
indicator @samp{Fill} appears in the mode line (@pxref{Mode Line}).
|
||||
|
||||
Auto Fill mode breaks lines automatically at spaces whenever they
|
||||
get longer than the desired width. This line breaking occurs only
|
||||
@ -1043,42 +1061,36 @@ forward to heading lines.
|
||||
|
||||
@table @kbd
|
||||
@item C-c C-n
|
||||
@findex outline-next-visible-heading
|
||||
@kindex C-c C-n @r{(Outline mode)}
|
||||
Move point to the next visible heading line
|
||||
(@code{outline-next-visible-heading}).
|
||||
@item C-c C-p
|
||||
@findex outline-previous-visible-heading
|
||||
@kindex C-c C-p @r{(Outline mode)}
|
||||
Move point to the previous visible heading line
|
||||
(@code{outline-previous-visible-heading}).
|
||||
@item C-c C-f
|
||||
@findex outline-forward-same-level
|
||||
@kindex C-c C-f @r{(Outline mode)}
|
||||
Move point to the next visible heading line at the same level
|
||||
as the one point is on (@code{outline-forward-same-level}).
|
||||
@item C-c C-b
|
||||
@findex outline-backward-same-level
|
||||
@kindex C-c C-b @r{(Outline mode)}
|
||||
Move point to the previous visible heading line at the same level
|
||||
(@code{outline-backward-same-level}).
|
||||
@item C-c C-u
|
||||
@findex outline-up-heading
|
||||
@kindex C-c C-u @r{(Outline mode)}
|
||||
Move point up to a lower-level (more inclusive) visible heading line
|
||||
(@code{outline-up-heading}).
|
||||
@end table
|
||||
|
||||
@findex outline-next-visible-heading
|
||||
@findex outline-previous-visible-heading
|
||||
@kindex C-c C-n @r{(Outline mode)}
|
||||
@kindex C-c C-p @r{(Outline mode)}
|
||||
@kbd{C-c C-n} (@code{outline-next-visible-heading}) moves down to
|
||||
the next heading line. @kbd{C-c C-p}
|
||||
(@code{outline-previous-visible-heading}) moves similarly backward.
|
||||
Both accept numeric arguments as repeat counts.
|
||||
|
||||
@findex outline-up-heading
|
||||
@findex outline-forward-same-level
|
||||
@findex outline-backward-same-level
|
||||
@kindex C-c C-f @r{(Outline mode)}
|
||||
@kindex C-c C-b @r{(Outline mode)}
|
||||
@kindex C-c C-u @r{(Outline mode)}
|
||||
@kbd{C-c C-f} (@code{outline-forward-same-level}) and @kbd{C-c C-b}
|
||||
(@code{outline-backward-same-level}) move from one heading line to
|
||||
another visible heading at the same depth in the outline. @kbd{C-c
|
||||
C-u} (@code{outline-up-heading}) moves backward to another heading
|
||||
that is less deeply nested.
|
||||
All of the above commands accept numeric arguments as repeat counts.
|
||||
For example, @kbd{C-c C-f}, when given an argument, moves forward that
|
||||
many visible heading lines on the same level, and @kbd{C-c C-u} with
|
||||
an argument moves out of that many nested levels.
|
||||
|
||||
@node Outline Visibility
|
||||
@subsection Outline Visibility Commands
|
||||
|
@ -2634,9 +2634,9 @@ The return value is the matching value from @var{choices}.
|
||||
@lisp
|
||||
(read-multiple-choice
|
||||
"Continue connecting?"
|
||||
'((?a "always" "Accept this certificate this session and for all future sessions.")
|
||||
(?s "session only" "Accept this certificate this session only.")
|
||||
(?n "no" "Refuse to use this certificate, and close the connection.")))
|
||||
'((?a "always" "Accept certificate for this and future sessions.")
|
||||
(?s "session only" "Accept certificate this session only.")
|
||||
(?n "no" "Refuse to use certificate, close connection.")))
|
||||
@end lisp
|
||||
|
||||
The @code{read-multiple-choice-face} face is used to highlight the
|
||||
|
@ -50,7 +50,7 @@ screen is corrupted.
|
||||
|
||||
@defun redraw-frame &optional frame
|
||||
This function clears and redisplays frame @var{frame}. If @var{frame}
|
||||
is omitted or nil, it redraws the selected frame.
|
||||
is omitted or @code{nil}, it redraws the selected frame.
|
||||
@end defun
|
||||
|
||||
Even more powerful is @code{redraw-display}:
|
||||
@ -1994,7 +1994,7 @@ defaults to the selected one.
|
||||
If the optional argument @var{first} is an integer, it denotes the index
|
||||
(starting with 0) of the first line of @var{window}'s glyph matrix to be
|
||||
returned. Note that if @var{window} has a header line, the line with
|
||||
index 0 is that header line. If @var{first} is nil, the first line to
|
||||
index 0 is that header line. If @var{first} is @code{nil}, the first line to
|
||||
be considered is determined by the value of the optional argument
|
||||
@var{body}: If @var{body} is non-@code{nil}, this means to start with
|
||||
the first line of @var{window}'s body, skipping any header line, if
|
||||
@ -2003,7 +2003,7 @@ present. Otherwise, this function will start with the first line of
|
||||
|
||||
If the optional argument @var{last} is an integer, it denotes the index
|
||||
of the last line of @var{window}'s glyph matrix that shall be returned.
|
||||
If @var{last} is nil, the last line to be considered is determined by
|
||||
If @var{last} is @code{nil}, the last line to be considered is determined by
|
||||
the value of @var{body}: If @var{body} is non-@code{nil}, this means to
|
||||
use the last line of @var{window}'s body, omitting @var{window}'s mode
|
||||
line, if present. Otherwise, this means to use the last line of
|
||||
@ -5543,7 +5543,8 @@ inserts an image with a circle:
|
||||
@lisp
|
||||
(let ((svg (svg-create 400 400 :stroke-width 10)))
|
||||
(svg-gradient svg "gradient1" 'linear '((0 . "red") (100 . "blue")))
|
||||
(svg-circle svg 200 200 100 :gradient "gradient1" :stroke-color "green")
|
||||
(svg-circle svg 200 200 100 :gradient "gradient1"
|
||||
:stroke-color "green")
|
||||
(insert-image (svg-image svg)))
|
||||
@end lisp
|
||||
|
||||
|
@ -1569,7 +1569,7 @@ window-system window in the stacking (Z-) order of the frame's display.
|
||||
|
||||
If this is @code{above}, the frame's window-system window is displayed
|
||||
above all other window-system windows that do not have the @code{above}
|
||||
property set. If this is nil, the frame's window is displayed below all
|
||||
property set. If this is @code{nil}, the frame's window is displayed below all
|
||||
windows that have the @code{above} property set and above all windows
|
||||
that have the @code{below} property set. If this is @code{below}, the
|
||||
frame's window is displayed below all windows that do not have the
|
||||
@ -1716,7 +1716,8 @@ file as, for example
|
||||
|
||||
@example
|
||||
(setq default-frame-alist
|
||||
'((fullscreen . fullboth) (fullscreen-restore . fullheight)))
|
||||
'((fullscreen . fullboth)
|
||||
(fullscreen-restore . fullheight)))
|
||||
@end example
|
||||
|
||||
This will give a new frame full height after typing in it @key{F11} for
|
||||
@ -1898,7 +1899,7 @@ These parameters supply forms of interactions between different frames.
|
||||
@item parent-frame
|
||||
If non-@code{nil}, this means that this frame is a child frame
|
||||
(@pxref{Child Frames}), and this parameter specifies its parent frame.
|
||||
If nil, this means that this frame is a normal, top-level frame.
|
||||
If @code{nil}, this means that this frame is a normal, top-level frame.
|
||||
|
||||
@vindex delete-before, a frame parameter
|
||||
@item delete-before
|
||||
@ -2120,7 +2121,7 @@ this parameter.
|
||||
If non-@code{nil}, this frame's window-system window is drawn without
|
||||
decorations, like the title, minimize/maximize boxes and external
|
||||
borders. This usually means that the window cannot be dragged, resized,
|
||||
iconified, maximized or deleted with the mouse. If nil, the frame's
|
||||
iconified, maximized or deleted with the mouse. If @code{nil}, the frame's
|
||||
window is usually drawn with all the elements listed above unless their
|
||||
display has been suspended via window manager settings.
|
||||
|
||||
|
@ -1634,7 +1634,7 @@ argument @var{b} is given, the result of this operation is stored into
|
||||
@end defun
|
||||
|
||||
@defun bool-vector-subsetp a b
|
||||
Return @code{t} if every @code{t} value in @var{a} is also t in
|
||||
Return @code{t} if every @code{t} value in @var{a} is also @code{t} in
|
||||
@var{b}, @code{nil} otherwise. All arguments should be bool vectors of the
|
||||
same length.
|
||||
@end defun
|
||||
|
@ -1204,6 +1204,7 @@ a character, functions are unable to perform proper substitution and
|
||||
result may differ compared to treating a one-character string. For
|
||||
example:
|
||||
|
||||
@ifnottex
|
||||
@example
|
||||
@group
|
||||
(upcase "fi") ; note: single character, ligature "fi"
|
||||
@ -1214,6 +1215,19 @@ example:
|
||||
@result{} 64257 ; i.e. ?fi
|
||||
@end group
|
||||
@end example
|
||||
@end ifnottex
|
||||
@iftex
|
||||
@example
|
||||
@group
|
||||
(upcase "@r{fi}") ; note: single character, ligature "fi"
|
||||
@result{} "FI"
|
||||
@end group
|
||||
@group
|
||||
(upcase ?@r{fi})
|
||||
@result{} 64257 ; i.e. ?@r{fi}
|
||||
@end group
|
||||
@end example
|
||||
@end iftex
|
||||
|
||||
To avoid this, a character must first be converted into a string,
|
||||
using @code{string} function, before being passed to one of the casing
|
||||
|
@ -1099,12 +1099,13 @@ bidi-class}).
|
||||
(let ((category-table (make-category-table))
|
||||
;; Create a char-table which gives the 'bidi-class' Unicode
|
||||
;; property for each character.
|
||||
(uniprop-table (unicode-property-table-internal 'bidi-class)))
|
||||
(uniprop-table
|
||||
(unicode-property-table-internal 'bidi-class)))
|
||||
(define-category ?R "Characters of bidi-class R, AL, or RLO"
|
||||
category-table)
|
||||
;; Modify the category entry of each character whose 'bidi-class'
|
||||
;; Unicode property is R, AL, or RLO -- these have a
|
||||
;; right-to-left directionality.
|
||||
;; Modify the category entry of each character whose
|
||||
;; 'bidi-class' Unicode property is R, AL, or RLO --
|
||||
;; these have a right-to-left directionality.
|
||||
(map-char-table
|
||||
#'(lambda (key val)
|
||||
(if (memq val '(R AL RLO))
|
||||
|
@ -825,7 +825,7 @@ This function arranges for @var{watch-function} to be called whenever
|
||||
@var{operation} is a symbol representing the kind of change, one of:
|
||||
`set', `let', `unlet', `makunbound', and `defvaralias'.
|
||||
@var{where} is a buffer if the buffer-local value of the variable is
|
||||
being changed, nil otherwise.
|
||||
being changed, @code{nil} otherwise.
|
||||
@end defun
|
||||
|
||||
@defun remove-variable-watch symbol watch-function
|
||||
@ -2061,7 +2061,7 @@ identifying a connection and the application using this connection.
|
||||
Property names might be @code{:application}, @code{:protocol},
|
||||
@code{:user} and @code{:machine}. The property value of
|
||||
@code{:application} is a symbol, all other property values are
|
||||
strings. All properties are optional; if @var{criteria} is nil, it
|
||||
strings. All properties are optional; if @var{criteria} is @code{nil}, it
|
||||
always applies. Example:
|
||||
|
||||
@example
|
||||
@ -2079,7 +2079,7 @@ always applies. Example:
|
||||
@end group
|
||||
@end example
|
||||
|
||||
If @var{criteria} is nil, it applies for all remote connections.
|
||||
If @var{criteria} is @code{nil}, it applies for all remote connections.
|
||||
Therefore, the example above would be equivalent to
|
||||
|
||||
@example
|
||||
|
@ -3391,7 +3391,8 @@ producing the frame layout sketched above.
|
||||
@example
|
||||
@group
|
||||
(defvar parameters
|
||||
'(window-parameters . ((no-other-window . t) (no-delete-other-windows . t))))
|
||||
'(window-parameters . ((no-other-window . t)
|
||||
(no-delete-other-windows . t))))
|
||||
|
||||
(setq fit-window-to-buffer-horizontally t)
|
||||
(setq window-resize-pixelwise t)
|
||||
@ -3404,10 +3405,13 @@ producing the frame layout sketched above.
|
||||
("\\*Tags List\\*" display-buffer-in-side-window
|
||||
(side . right) (slot . 0) (window-width . fit-window-to-buffer)
|
||||
(preserve-size . (t . nil)) ,parameters)
|
||||
("\\*\\(?:help\\|grep\\|Completions\\)\\*" display-buffer-in-side-window
|
||||
(side . bottom) (slot . -1) (preserve-size . (nil . t)) ,parameters)
|
||||
("\\*\\(?:help\\|grep\\|Completions\\)\\*"
|
||||
display-buffer-in-side-window
|
||||
(side . bottom) (slot . -1) (preserve-size . (nil . t))
|
||||
,parameters)
|
||||
("\\*\\(?:shell\\|compilation\\)\\*" display-buffer-in-side-window
|
||||
(side . bottom) (slot . 1) (preserve-size . (nil . t)) ,parameters)))
|
||||
(side . bottom) (slot . 1) (preserve-size . (nil . t))
|
||||
,parameters)))
|
||||
@end group
|
||||
@end example
|
||||
|
||||
|
@ -26202,7 +26202,10 @@ 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
|
||||
DropTorrentSyncBoxOakTree(TM).
|
||||
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,
|
||||
misleading term normally best avoided}.}
|
||||
|
||||
@menu
|
||||
* Gnus Cloud Setup::
|
||||
|
@ -49,7 +49,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
|
||||
list the files within itself. Each file or tag can be jumped to
|
||||
list the files within them. Each file or tag can be jumped to
|
||||
immediately.
|
||||
|
||||
Speedbar expands upon ``explorer'' windows by maintaining context with the
|
||||
|
@ -22,6 +22,10 @@
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; The name gnus-cloud parodizes but otherwise has little to do with
|
||||
;; "cloud computing", a misleading term normally best avoided. See:
|
||||
;; https://www.gnu.org/philosophy/words-to-avoid.html#CloudComputing
|
||||
|
||||
;;; Code:
|
||||
|
||||
(eval-when-compile (require 'cl))
|
||||
|
70
lisp/help.el
70
lisp/help.el
@ -717,7 +717,7 @@ with `mouse-movement' events."
|
||||
(cursor-in-echo-area t)
|
||||
saved-yank-menu)
|
||||
(unwind-protect
|
||||
(let (key down-ev)
|
||||
(let (key keys down-ev discarded-up)
|
||||
;; If yank-menu is empty, populate it temporarily, so that
|
||||
;; "Select and Paste" menu can generate a complete event.
|
||||
(when (null (cdr yank-menu))
|
||||
@ -731,6 +731,7 @@ Describe the following key, mouse click, or menu item: "))
|
||||
(or
|
||||
(and no-mouse-movement
|
||||
(string-match "mouse-movement" keyname))
|
||||
(progn (push key keys) nil)
|
||||
(and (string-match "\\(mouse\\|down\\|click\\|drag\\)"
|
||||
keyname)
|
||||
(progn
|
||||
@ -738,14 +739,36 @@ Describe the following key, mouse click, or menu item: "))
|
||||
;; spuriously trigger the `sit-for'.
|
||||
(sleep-for 0.01)
|
||||
(while (read-event nil nil 0.01))
|
||||
(not (sit-for (/ double-click-time 1000.0) t))))))))
|
||||
(not (sit-for
|
||||
(if (numberp double-click-time)
|
||||
(/ double-click-time 1000.0)
|
||||
3.0)
|
||||
t))))))))
|
||||
;; When we have a sequence of mouse events, discard the most
|
||||
;; recent ones till we find one with a binding.
|
||||
(let ((keys-1 keys))
|
||||
(while (and keys-1
|
||||
(not (key-binding (car keys-1))))
|
||||
;; If we discard the last event, and this was a mouse
|
||||
;; up, remember this.
|
||||
(if (and (eq keys-1 keys)
|
||||
(vectorp (car keys-1))
|
||||
(let* ((last-idx (1- (length (car keys-1))))
|
||||
(last (aref (car keys-1) last-idx)))
|
||||
(and (eventp last)
|
||||
(memq 'click (event-modifiers last)))))
|
||||
(setq discarded-up t))
|
||||
(setq keys-1 (cdr keys-1)))
|
||||
(if keys-1
|
||||
(setq key (car keys-1))))
|
||||
(list
|
||||
key
|
||||
;; If KEY is a down-event, read and include the
|
||||
;; corresponding up-event. Note that there are also
|
||||
;; down-events on scroll bars and mode lines: the actual
|
||||
;; event then is in the second element of the vector.
|
||||
(and (vectorp key)
|
||||
(and (not discarded-up) ; Don't attempt to ignore the up-event twice.
|
||||
(vectorp key)
|
||||
(let ((last-idx (1- (length key))))
|
||||
(and (eventp (aref key last-idx))
|
||||
(memq 'down (event-modifiers (aref key last-idx)))))
|
||||
@ -769,6 +792,28 @@ Describe the following key, mouse click, or menu item: "))
|
||||
(setq yank-menu (copy-sequence saved-yank-menu))
|
||||
(fset 'yank-menu (cons 'keymap yank-menu))))))
|
||||
|
||||
(defun help-downify-mouse-event-type (base)
|
||||
"Add \"down-\" to BASE if it is not already there.
|
||||
BASE is a symbol, a mouse event type. If the modification is done,
|
||||
return the new symbol. Otherwise return nil."
|
||||
(let ((base-s (symbol-name base)))
|
||||
;; Note: the order of the components in the following string is
|
||||
;; determined by `apply_modifiers_uncached' in src/keyboard.c.
|
||||
(string-match "\\(A-\\)?\
|
||||
\\(C-\\)?\
|
||||
\\(H-\\)?\
|
||||
\\(M-\\)?\
|
||||
\\(S-\\)?\
|
||||
\\(s-\\)?\
|
||||
\\(double-\\)?\
|
||||
\\(triple-\\)?\
|
||||
\\(up-\\)?\
|
||||
\\(\\(down-\\)?\\)\
|
||||
\\(drag-\\)?" base-s)
|
||||
(when (and (null (match-beginning 11)) ; "down-"
|
||||
(null (match-beginning 12))) ; "drag-"
|
||||
(intern (replace-match "down-" t t base-s 10)) )))
|
||||
|
||||
(defun describe-key (&optional key untranslated up-event)
|
||||
"Display documentation of the function invoked by KEY.
|
||||
KEY can be any kind of a key sequence; it can include keyboard events,
|
||||
@ -828,6 +873,25 @@ temporarily enables it to allow getting help on disabled items and buttons."
|
||||
(princ (format " (found in %s)" key-locus))))
|
||||
(princ ", which is ")
|
||||
(describe-function-1 defn)
|
||||
(when (vectorp key)
|
||||
(let* ((last (1- (length key)))
|
||||
(elt (aref key last))
|
||||
(elt-1 (copy-sequence elt))
|
||||
key-1 down-event-type)
|
||||
(when (and (listp elt-1)
|
||||
(symbolp (car elt-1))
|
||||
(setq down-event-type (help-downify-mouse-event-type
|
||||
(car elt-1))))
|
||||
(setcar elt-1 down-event-type)
|
||||
(setq key-1 (vector elt-1))
|
||||
(when (key-binding key-1)
|
||||
(princ (format "
|
||||
|
||||
For documentation of the corresponding mouse down event <%s>,
|
||||
click and hold the mouse button longer than %s second(s)."
|
||||
down-event-type (if (numberp double-click-time)
|
||||
(/ double-click-time 1000.0)
|
||||
3)))))))
|
||||
(when up-event
|
||||
(unless (or (null defn-up)
|
||||
(integerp defn-up)
|
||||
|
@ -261,9 +261,10 @@ word(s) will be searched for via `eww-search-prefix'."
|
||||
;; IDNA characters. If not, transform to punycode to indicate that
|
||||
;; there may be funny business going on.
|
||||
(let ((parsed (url-generic-parse-url url)))
|
||||
(unless (puny-highly-restrictive-domain-p (url-host parsed))
|
||||
(setf (url-host parsed) (puny-encode-domain (url-host parsed)))
|
||||
(setq url (url-recreate-url parsed))))
|
||||
(when (url-host parsed)
|
||||
(unless (puny-highly-restrictive-domain-p (url-host parsed))
|
||||
(setf (url-host parsed) (puny-encode-domain (url-host parsed)))
|
||||
(setq url (url-recreate-url parsed)))))
|
||||
(plist-put eww-data :url url)
|
||||
(plist-put eww-data :title "")
|
||||
(eww-update-header-line-format)
|
||||
|
@ -110,11 +110,11 @@ This is an alternative of `scroll-up'. Scope moves downward."
|
||||
pixel-resolution-fine-flag
|
||||
(frame-char-height))
|
||||
(pixel-line-height))))
|
||||
(while (pixel-point-at-top-p amt) ; prevent too late (multi tries)
|
||||
(vertical-motion 1)) ; move point downward
|
||||
(if (pixel-eob-at-top-p) ; when end-of-the-buffer is close
|
||||
(scroll-up 1) ; relay on robust method
|
||||
(pixel-scroll-pixel-up amt))))) ; move scope downward
|
||||
(if (pixel-eob-at-top-p) ; when end-of-the-buffer is close
|
||||
(scroll-up 1) ; relay on robust method
|
||||
(while (pixel-point-at-top-p amt) ; prevent too late (multi tries)
|
||||
(vertical-motion 1)) ; move point downward
|
||||
(pixel-scroll-pixel-up amt))))) ; move scope downward
|
||||
|
||||
(defun pixel-scroll-down (&optional arg)
|
||||
"Scroll text of selected window down ARG lines.
|
||||
|
@ -1700,9 +1700,11 @@ current buffer state and calls REPORT-FN when done."
|
||||
(when (eq (process-status proc) 'exit)
|
||||
(unwind-protect
|
||||
(cond
|
||||
((not (eq proc (with-current-buffer source-buffer
|
||||
elisp-flymake--byte-compile-process)))
|
||||
(flymake-log :warning "byte-compile process %s obsolete" proc))
|
||||
((not (and (buffer-live-p source-buffer)
|
||||
(eq proc (with-current-buffer source-buffer
|
||||
elisp-flymake--byte-compile-process))))
|
||||
(flymake-log :warning
|
||||
"byte-compile process %s obsolete" proc))
|
||||
((zerop (process-exit-status proc))
|
||||
(elisp-flymake--byte-compile-done report-fn
|
||||
source-buffer
|
||||
|
@ -3478,8 +3478,8 @@ See also `with-temp-file' and `with-output-to-string'."
|
||||
|
||||
(defmacro with-silent-modifications (&rest body)
|
||||
"Execute BODY, pretending it does not modify the buffer.
|
||||
This macro is Typically used around modifications of
|
||||
text-properties which do not really affect the buffer's content.
|
||||
This macro is typically used around modifications of
|
||||
text properties which do not really affect the buffer's content.
|
||||
If BODY performs real modifications to the buffer's text, other
|
||||
than cosmetic ones, undo data may become corrupted.
|
||||
|
||||
|
@ -1384,7 +1384,7 @@ The return value of this function is the retrieval buffer."
|
||||
(error "error: %s" e)))
|
||||
(error "error: gnutls support needed!")))
|
||||
(t
|
||||
(message "error response: %d" url-http-response-status)
|
||||
(url-http-debug "error response: %d" url-http-response-status)
|
||||
(url-http-activate-callback))))))
|
||||
|
||||
(defun url-http-async-sentinel (proc why)
|
||||
|
@ -23685,6 +23685,14 @@ display_mode_element (struct it *it, int depth, int field_width, int precision,
|
||||
{
|
||||
Lisp_Object spec;
|
||||
spec = safe__eval (true, XCAR (XCDR (elt)));
|
||||
/* The :eval form could delete the frame stored in the
|
||||
iterator, which will cause a crash if we try to
|
||||
access faces and other fields (e.g., FRAME_KBOARD)
|
||||
on that frame. This is a nonsensical thing to do,
|
||||
and signaling an error from redisplay might be
|
||||
dangerous, but we cannot continue with an invalid frame. */
|
||||
if (!FRAME_LIVE_P (it->f))
|
||||
signal_error (":eval deleted the frame being displayed", elt);
|
||||
n += display_mode_element (it, depth, field_width - n,
|
||||
precision - n, spec, props,
|
||||
risky);
|
||||
|
Loading…
Reference in New Issue
Block a user