GNU bug report logs -
#20249
[PATCH] tramp: tramp-flush-directory-property loops infinitly.
Previous Next
Reported by: arakawa <at> pp.iij4u.or.jp
Date: Fri, 3 Apr 2015 01:53:02 UTC
Severity: normal
Tags: patch
Fixed in version 25.1
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#20249: [PATCH] tramp: tramp-flush-directory-property loops infinitly.
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 20249 <at> debbugs.gnu.org.
--
20249: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20249
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Version: 25.1
"Koichi Arakawa" <arakawa <at> pp.iij4u.or.jp> writes:
> Hi Michael,
Hi,
>> Thanks for the report. tramp-flush-file-property seems also be affected
>> (but it doesn't recurse indefinitely). I have committed a patch to the
>> master branch which shall fix all the cases. Could you, please, test it?
>
> Sure. I have tested it and it works fine. Thank you.
Thanks for testing. I'm closing the bug.
Best regards, Michael.
[Message part 3 (message/rfc822, inline)]
Hi,
When tramp-flush-directory-property called with 'directory' which ends
in slash, directory-file-name removes the trailing slash but
'file-truename' operation doesn't necessarily remove it. In that case,
directory and truename always differ and
tramp-flush-directory-property called infinitely.
Best regards,
Koichi Arakawa
---
lisp/ChangeLog | 5 +++++
lisp/net/tramp-cache.el | 3 ++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 38e45d0..3f86a43 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-03 Koichi Arakawa <arakawa <at> pp.iij4u.or.jp>
+
+ * net/tramp-cache.el (tramp-flush-directory-property): Fix an
+ infinite loop when 'directory' ends in slash.
+
2015-04-02 Stefan Monnier <monnier <at> iro.umontreal.ca>
* abbrev.el (define-abbrev-table): Treat a non-string "docstring" as
diff --git a/lisp/net/tramp-cache.el b/lisp/net/tramp-cache.el
index 1e24ea5..a418eb5 100644
--- a/lisp/net/tramp-cache.el
+++ b/lisp/net/tramp-cache.el
@@ -188,7 +188,8 @@ Remove also properties of all files in subdirectories."
(truename (tramp-get-file-property key directory "file-truename" nil)))
;; Remove file properties of symlinks.
(when (and (stringp truename)
- (not (string-equal directory truename)))
+ (not (string-equal directory truename))
+ (not (string-equal (concat directory "/") truename)))
(tramp-flush-directory-property key truename))
(tramp-message key 8 "%s" directory)
(maphash
--
2.3.4
This bug report was last modified 10 years and 111 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.