1
0
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 manual
e4a881b5cf Say that "gnus-cloud" is a parody name
13c59d0a83 More improvements for text.texi
7850b7620e 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 frame
9105c9aa34 Fix scrolling up in pixel-scroll.el
b882d4ef11 Fix problems with ligatures in PDF version of ELisp manual
289dd53bb3 (elisp-flymake-byte-compile): Handle killed buffer in sent...
cf36c82127 Avoid some overfull lines in PDF lispref
b07b56a351 Avoid some overfull lines in PDF manual
6b3118f025 * 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:
Glenn Morris 2017-12-27 10:00:16 -08:00
commit 08e1438a3b
23 changed files with 214 additions and 91 deletions

View File

@ -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.)

View File

@ -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]")

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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::

View File

@ -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

View File

@ -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))

View File

@ -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)

View File

@ -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)

View File

@ -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.

View File

@ -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

View File

@ -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.

View File

@ -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)

View File

@ -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);