GNU bug report logs - #27982
25.1.50; expand-file-name docstring on how to traverse the filesystem

Previous Next

Package: emacs;

Reported by: Nicolas Richard <youngfrog <at> members.fsf.org>

Date: Sun, 6 Aug 2017 11:39:01 UTC

Severity: minor

Found in version 25.1.50

Done: Nicolas Richard <youngfrog <at> members.fsf.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Nicolas Richard <youngfrog <at> members.fsf.org>
To: 27982 <at> debbugs.gnu.org
Subject: bug#27982: 25.1.50; expand-file-name docstring on how to traverse the filesystem
Date: Sun, 06 Aug 2017 13:38:32 +0200
[Message part 1 (text/plain, inline)]
The docstring of expand-file-name suggest
(directory-file-name (file-name-directory dirname))
to traverse a directory

This looks wrong to me, e.g.
(list current-directory
      (directory-file-name (file-name-directory current-directory)))
 => ("/home/youngfrog/" "/home/youngfrog")

I think it should be (file-name-directory (directory-file-name dirname))
instead. Then the example becomes:

(list current-directory
      (file-name-directory (directory-file-name current-directory)))
 => ("/home/youngfrog/" "/home/")

Am I overlooking something ?
Is this patch ok to commit ?

In GNU Emacs 25.1.50.1 (x86_64-pc-linux-gnu)
 of 2016-11-15 built on phie-fixe
Repository revision: f994c2046588b168c1a4a900879cdffaf9d02f01
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
System Description:	Ubuntu 16.04.2 LTS

[0001-src-fileio.c-Fexpand_file_name-fix-suggestion-to-tra.patch (text/x-diff, inline)]
From 607e1445cfb1294c14af38cb4c39a93683e5671d Mon Sep 17 00:00:00 2001
From: Nicolas Richard <youngfrog <at> members.fsf.org>
Date: Sun, 6 Aug 2017 13:14:41 +0200
Subject: [PATCH] * src/fileio.c (Fexpand_file_name): fix suggestion to
 traverse the filesystem

---
 src/fileio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/fileio.c b/src/fileio.c
index c3b2be7..28d619c 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -776,7 +776,7 @@ See also the function `substitute-in-file-name'.
 For technical reasons, this function can return correct but
 non-intuitive results for the root directory; for instance,
 \(expand-file-name ".." "/") returns "/..".  For this reason, use
-\(directory-file-name (file-name-directory dirname)) to traverse a
+\(file-name-directory (directory-file-name dirname)) to traverse a
 filesystem tree, not (expand-file-name ".."  dirname).  */)
   (Lisp_Object name, Lisp_Object default_directory)
 {
-- 
2.7.4


This bug report was last modified 7 years and 322 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.