summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2019-01-30 09:12:15 -0800
committerGlenn Morris <rgm@gnu.org>2019-01-30 09:12:15 -0800
commit08bc407a228796b64e321cb28b38b39062ab1732 (patch)
tree8e390c58a811f64a4f44c7f0e6934b3255155af2
parent49e253a0f803b497ee3177c1c346d4e0ac70fdae (diff)
parentb94d76752776cca4d1652cfe715a60f4a36f14a3 (diff)
downloademacs-08bc407a228796b64e321cb28b38b39062ab1732.tar.gz
Merge from origin/emacs-26
b94d767 (origin/emacs-26) Minor copyedits in last manual change 73508e6 Improve documentation of face numbers bf235ce * doc/emacs/custom.texi (Authentication): Refer to the "Help ... ceccb3c New node Authentication in the Emacs manual 9078f34 Fix a loop in c-fl-decl-start. This fixes bug #34186. a177fe7 Fix LaTeX output of month and day from cal-tex.el 90177d7 Avoid elisp crash for OpenPGP User IDs with no e-mail address 68e55a0 image-mode: Do not use default scaling (bug#33990) b6c762a create-image: Expand documentation (bug#33990) 928d342 Improve documentation of 'isearch-filter-predicate' 9034dd6 Fix cursor column positioning on Grep hits # Conflicts: # doc/emacs/custom.texi
-rw-r--r--doc/emacs/custom.texi39
-rw-r--r--doc/emacs/emacs.texi1
-rw-r--r--doc/lispref/display.texi7
-rw-r--r--lisp/calendar/cal-tex.el4
-rw-r--r--lisp/gnus/mml-sec.el2
-rw-r--r--lisp/image-mode.el6
-rw-r--r--lisp/image.el9
-rw-r--r--lisp/isearch.el24
-rw-r--r--lisp/progmodes/cc-mode.el3
-rw-r--r--lisp/progmodes/grep.el10
10 files changed, 86 insertions, 19 deletions
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index 618692e479f..474149fcae6 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -32,6 +32,8 @@ Reference Manual}.
By changing them, you can redefine keys.
* Init File:: How to write common customizations in the
initialization file.
+* Authentication:: Keeping persistent authentication information.
+
@end menu
@node Easy Customization
@@ -2639,3 +2641,40 @@ provided by the Emacs startup, such as @code{window-setup-hook} or
For more information on the early init file, @pxref{Init File,,,
elisp, The Emacs Lisp Reference Manual}.
+
+@node Authentication
+@section Keeping Persistent Authentication Information
+
+ Some Emacs packages, which connect to other services, require
+authentication (@pxref{Passwords}), e.g., see @ref{Top, Gnus,, gnus, The
+Gnus Manual}, or @ref{Top, Tramp,, tramp, The Tramp Manual}. Because
+it might be annoying to provide the same user name and password again
+and again, Emacs offers to keep this information persistent via the
+@file{auth-source} library.
+
+@cindex @file{~/.authinfo} file
+@cindex @file{~/.authinfo.gpg} file
+@cindex ~/.netrc file
+ By default, the authentication information is taken from the file
+@file{~/.authinfo} or @file{~/.authinfo.gpg} or @file{~/.netrc}.
+These files have a syntax similar to netrc files as known from the
+@command{ftp} program, like this:
+
+@example
+machine @var{mymachine} login @var{myloginname} password @var{mypassword} port @var{myport}
+@end example
+
+ Similarly, the @file{auth-source} library supports multiple storage
+backend, currently either the classic netrc backend, JSON files, the
+Secret Service API, and pass, the standard unix password manager.
+
+@vindex auth-sources
+ All these alternatives can be customized via the user option
+@code{auth-sources}, see @ref{Help for users, Emacs auth-source,,
+auth, Emacs auth-source}.
+
+@vindex auth-source-save-behavior
+ When a password is entered interactively, which is not found via the
+configured backend, some of the backends offer to save it
+persistently. This can be changed by customizing the user option
+@code{auth-source-save-behavior}.
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 54c20251ef7..950ddc01123 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -1114,6 +1114,7 @@ Customization
By changing them, you can redefine keys.
* Init File:: How to write common customizations in the
initialization file.
+* Authentication:: Keeping persistent authentication information.
Easy Customization Interface
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 350b3108715..95379b342b3 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -3079,10 +3079,17 @@ value, which inherits from @var{face}'s global definition.
This function returns a list of all defined face names.
@end defun
+@cindex face number
+@cindex face property of face symbols
@defun face-id face
This function returns the @dfn{face number} of face @var{face}. This
is a number that uniquely identifies a face at low levels within
Emacs. It is seldom necessary to refer to a face by its face number.
+However, functions that manipulate glyphs, such as
+@code{make-glyph-code} and @code{glyph-face} (@pxref{Glyphs}) access
+the face numbers internally. Note that the face number is stored as
+the value of the @code{face} property of the face symbol, so we
+recommend not to set that property of a face to any value of your own.
@end defun
@defun face-documentation face
diff --git a/lisp/calendar/cal-tex.el b/lisp/calendar/cal-tex.el
index 01793c27687..78ab0765952 100644
--- a/lisp/calendar/cal-tex.el
+++ b/lisp/calendar/cal-tex.el
@@ -925,7 +925,7 @@ argument EVENT specifies a different buffer position."
(cal-tex-large-bf (cal-tex-LaTeXify-string (calendar-day-name date)))
(insert ", ")
(cal-tex-large-bf (cal-tex-month-name month))
- (insert " ")
+ (insert "\\ ")
(cal-tex-large-bf (number-to-string day))
(unless (string-equal "" (setq s (cal-tex-latexify-list
holidays date "; ")))
@@ -976,7 +976,7 @@ shown are hard-coded to 8-12, 13-17."
(cal-tex-large-bf (cal-tex-LaTeXify-string (calendar-day-name date)))
(insert ", ")
(cal-tex-large-bf (cal-tex-month-name month))
- (insert " ")
+ (insert "\\ ")
(cal-tex-large-bf (number-to-string day))
(unless (string-equal "" (setq s (cal-tex-latexify-list
holidays date "; ")))
diff --git a/lisp/gnus/mml-sec.el b/lisp/gnus/mml-sec.el
index a6d989a45fd..db7489fbf1c 100644
--- a/lisp/gnus/mml-sec.el
+++ b/lisp/gnus/mml-sec.el
@@ -659,6 +659,8 @@ The passphrase is read and cached."
(catch 'break
(dolist (uid uids nil)
(if (and (stringp (epg-user-id-string uid))
+ (car (mail-header-parse-address
+ (epg-user-id-string uid)))
(equal (downcase (car (mail-header-parse-address
(epg-user-id-string uid))))
(downcase (car (mail-header-parse-address
diff --git a/lisp/image-mode.el b/lisp/image-mode.el
index 3be515d9143..fa1362c471b 100644
--- a/lisp/image-mode.el
+++ b/lisp/image-mode.el
@@ -741,9 +741,11 @@ was inserted."
(type (if (image--imagemagick-wanted-p filename)
'imagemagick
(image-type file-or-data nil data-p)))
+ ;; :scale 1: If we do not set this, create-image will apply
+ ;; default scaling based on font size.
(image (if (not edges)
- (create-image file-or-data type data-p)
- (create-image file-or-data type data-p
+ (create-image file-or-data type data-p :scale 1)
+ (create-image file-or-data type data-p :scale 1
:max-width (- (nth 2 edges) (nth 0 edges))
:max-height (- (nth 3 edges) (nth 1 edges)))))
(inhibit-read-only t)
diff --git a/lisp/image.el b/lisp/image.el
index 2e84e47b5c0..3aa3b0aa240 100644
--- a/lisp/image.el
+++ b/lisp/image.el
@@ -415,13 +415,20 @@ must be available."
(defun create-image (file-or-data &optional type data-p &rest props)
"Create an image.
FILE-OR-DATA is an image file name or image data.
+
Optional TYPE is a symbol describing the image type. If TYPE is omitted
or nil, try to determine the image type from its first few bytes
of image data. If that doesn't work, and FILE-OR-DATA is a file name,
use its file extension as image type.
+
Optional DATA-P non-nil means FILE-OR-DATA is a string containing image data.
+
Optional PROPS are additional image attributes to assign to the image,
-like, e.g. `:mask MASK'.
+like, e.g. `:mask MASK'. If the property `:scale' is not given and the
+display has a high resolution (more exactly, when the average width of a
+character in the default font is more than 10 pixels), the image is
+automatically scaled up in proportion to the default font.
+
Value is the image created, or nil if images of type TYPE are not supported.
Images should not be larger than specified by `max-image-size'.
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 91e7ef171fd..b9441336f9e 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -199,11 +199,14 @@ or to the end of the buffer for a backward search.")
to the search status stack.")
(defvar isearch-filter-predicate #'isearch-filter-visible
- "Predicate that filters the search hits that would normally be available.
-Search hits that dissatisfy the predicate are skipped. The function
-has two arguments: the positions of start and end of text matched by
-the search. If this function returns nil, continue searching without
-stopping at this match.
+ "Predicate to filter hits of Isearch and replace commands.
+Isearch hits that don't satisfy the predicate will be skipped.
+The value should be a function of two arguments; it will be
+called with the the positions of the start and the end of the
+text matched by Isearch and replace commands. If this function
+returns nil, Isearch and replace commands will continue searching
+without stopping at resp. replacing this match.
+
If you use `add-function' to modify this variable, you can use the
`isearch-message-prefix' advice property to specify the prefix string
displayed in the search message.")
@@ -3509,10 +3512,13 @@ Optional third argument, if t, means if fail just return nil (no error).
(setq isearch-hidden t)))))))
(defun isearch-filter-visible (beg end)
- "Test whether the current search hit is visible at least partially.
-Return non-nil if the text from BEG to END is visible to Isearch as
-determined by `isearch-range-invisible' unless invisible text can be
-searched too when `search-invisible' is t."
+ "Return non-nil if text between BEG and END is deemed visible by Isearch.
+This function is intended to be used as `isearch-filter-predicate'.
+It returns non-nil if the text between BEG and END is visible to
+Isearch, at least partially, as determined by `isearch-range-invisible'.
+If `search-invisible' is t, which allows Isearch matches inside
+invisible text, this function will always return non-nil, regardless
+of what `isearch-range-invisible' says."
(or (eq search-invisible t)
(not (isearch-range-invisible beg end))))
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 08d1d77c7be..a2ad07fddb0 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -1779,6 +1779,7 @@ Note that this is a strict tail, so won't match, e.g. \"0x....\".")
;; lock context (etc.) fontification.
(goto-char pos)
(let ((lit-start (c-literal-start))
+ old-pos
(new-pos pos)
capture-opener
bod-lim bo-decl)
@@ -1801,12 +1802,14 @@ Note that this is a strict tail, so won't match, e.g. \"0x....\".")
(while
;; Go to a less nested declaration each time round this loop.
(and
+ (setq old-pos (point))
(c-syntactic-skip-backward "^;{}" bod-lim t)
(> (point) bod-lim)
(progn (c-forward-syntactic-ws)
;; Have we got stuck in a comment at EOB?
(not (and (eobp)
(c-literal-start))))
+ (< (point) old-pos)
(progn (setq bo-decl (point))
(or (not (looking-at c-protection-key))
(c-forward-keyword-clause 1)))
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index ed8acf70fe0..3fd2a7e701c 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -361,6 +361,9 @@ A grep buffer becomes most recent when you select Grep mode in it.
Notice that using \\[next-error] or \\[compile-goto-error] modifies
`compilation-last-buffer' rather than `grep-last-buffer'.")
+(defvar grep-match-face 'match
+ "Face name to use for grep matches.")
+
;;;###autoload
(defconst grep-regexp-alist
`((,(concat "^\\(?:"
@@ -384,7 +387,7 @@ Notice that using \\[next-error] or \\[compile-goto-error] modifies
(when grep-highlight-matches
(let* ((beg (match-end 0))
(end (save-excursion (goto-char beg) (line-end-position)))
- (mbeg (text-property-any beg end 'font-lock-face 'grep-match-face)))
+ (mbeg (text-property-any beg end 'font-lock-face grep-match-face)))
(when mbeg
(- mbeg beg)))))
.
@@ -392,7 +395,7 @@ Notice that using \\[next-error] or \\[compile-goto-error] modifies
(when grep-highlight-matches
(let* ((beg (match-end 0))
(end (save-excursion (goto-char beg) (line-end-position)))
- (mbeg (text-property-any beg end 'font-lock-face 'grep-match-face))
+ (mbeg (text-property-any beg end 'font-lock-face grep-match-face))
(mend (and mbeg (next-single-property-change mbeg 'font-lock-face nil end))))
(when mend
(- mend beg))))))
@@ -416,9 +419,6 @@ See `compilation-error-regexp-alist' for format details.")
(defvar grep-error-face 'compilation-error
"Face name to use for grep error messages.")
-(defvar grep-match-face 'match
- "Face name to use for grep matches.")
-
(defvar grep-context-face 'shadow
"Face name to use for grep context lines.")