[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-26 9618e16: Better fix for bug#32550
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] emacs-26 9618e16: Better fix for bug#32550 |
Date: |
Tue, 4 Sep 2018 12:04:00 -0400 (EDT) |
branch: emacs-26
commit 9618e16efa5607664b794795fb80bdf5862fbe4b
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>
Better fix for bug#32550
* lisp/rfn-eshadow.el (rfn-eshadow-overlay): Give it a global default.
* lisp/net/tramp.el (rfn-eshadow-overlay): Declare it as dynamically scoped.
(tramp-rfn-eshadow-update-overlay): Revert the corresponding part of
last change.
---
lisp/net/tramp.el | 12 ++++++++++--
lisp/rfn-eshadow.el | 4 +---
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 22fcccb..452e70e 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -1923,6 +1923,13 @@ special handling of `substitute-in-file-name'."
(defun tramp-rfn-eshadow-update-overlay-regexp ()
(format "[^%s/~]*\\(/\\|~\\)" tramp-postfix-host-format))
+;; Package rfn-eshadow is preloaded in Emacs, but for some reason,
+;; it only did (defvar rfn-eshadow-overlay) without giving it a global
+;; value, so it was only declared as dynamically-scoped within the
+;; rfn-eshadow.el file. This is now fixed in Emacs>26.1 but we still need
+;; this defvar here for older releases.
+(defvar rfn-eshadow-overlay)
+
(defun tramp-rfn-eshadow-update-overlay ()
"Update `rfn-eshadow-overlay' to cover shadowed part of minibuffer input.
This is intended to be used as a minibuffer `post-command-hook' for
@@ -1944,8 +1951,9 @@ been set up by `rfn-eshadow-setup-minibuffer'."
(buffer-string) end)
end))
(point-max))
- (setq rfn-eshadow-overlay tramp-rfn-eshadow-overlay)
- (let (rfn-eshadow-update-overlay-hook file-name-handler-alist)
+ (let ((rfn-eshadow-overlay tramp-rfn-eshadow-overlay)
+ (rfn-eshadow-update-overlay-hook nil)
+ file-name-handler-alist)
(move-overlay rfn-eshadow-overlay (point-max) (point-max))
(rfn-eshadow-update-overlay)))))))
diff --git a/lisp/rfn-eshadow.el b/lisp/rfn-eshadow.el
index 847db68..cf71996 100644
--- a/lisp/rfn-eshadow.el
+++ b/lisp/rfn-eshadow.el
@@ -132,9 +132,7 @@ system, `file-name-shadow-properties' is used instead."
;; An overlay covering the shadowed part of the filename (local to the
;; minibuffer).
-(defvar rfn-eshadow-overlay)
-(make-variable-buffer-local 'rfn-eshadow-overlay)
-
+(defvar-local rfn-eshadow-overlay nil)
;;; Hook functions
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-26 9618e16: Better fix for bug#32550,
Stefan Monnier <=