unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: David Engster <deng@randomsample.de>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: "Eric S. Raymond" <esr@thyrsus.com>, emacs-devel@gnu.org
Subject: Re: [Emacs-diffs] master e820f16: Added file-tree-walk to files.el.
Date: Wed, 03 Dec 2014 20:32:35 +0100	[thread overview]
Message-ID: <87wq687cmk.fsf@engster.org> (raw)
In-Reply-To: <jwvsigwhi4a.fsf-monnier+emacsdiffs@gnu.org> (Stefan Monnier's message of "Wed, 03 Dec 2014 10:31:00 -0500")

Stefan Monnier writes:
>> +before descending into it, and if nil is returned at that point
>> +the descent will be prevented.  Directory entries are sorted with
>> +string-lessp"
>              ^^^
> Don't forget to punctuate your docstrings.

And string-lessp should be quoted, but it doesn't matter since AFAICS
that sentence isn't true anyway.

>> +  (cond ((file-directory-p dir)
>> +	 (or (char-equal ?/ (aref dir (1- (length dir))))
>> +	     (setq dir (file-name-as-directory dir)))
>> +	 (let ((lst (directory-files dir nil nil t))
>
> Experience taught me that file-name-all-completions followed by testing
> the presence of a trailing "/" is *much* faster because calling
> file-directory-p on each entry ends up costly.
>
> I got this trick from Eshell's code for ** globbing, where the speed
> difference was a factor 10 when I tested it.

Apart from that, I find this function confusing. Why not simply call
ACTION with the full filename instead of splitting in into DIR and the
filename sans the directory part (where the latter might actually be a
subdirectory)?

-David



  parent reply	other threads:[~2014-12-03 19:32 UTC|newest]

Thread overview: 249+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20141203142859.24393.98673@vcs.savannah.gnu.org>
     [not found] ` <E1XwAvL-0006M3-CA@vcs.savannah.gnu.org>
2014-12-03 15:31   ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Stefan Monnier
2014-12-03 19:31     ` Eric S. Raymond
2014-12-03 21:19       ` Stefan Monnier
2014-12-03 21:54         ` Metaproblem, part 3 Eric S. Raymond
2014-12-03 22:13           ` Stefan Monnier
2014-12-04  6:30           ` Eli Zaretskii
2014-12-04  6:32           ` Paul Eggert
2014-12-04 15:37             ` Stefan Monnier
2014-12-04 16:06               ` Lars Magne Ingebrigtsen
2014-12-04 17:53                 ` Stefan Monnier
2014-12-04 21:48                   ` Lars Magne Ingebrigtsen
2014-12-04 22:53                   ` Paul Eggert
2014-12-05  4:40                     ` Stefan Monnier
2014-12-05  7:20                       ` Stephen J. Turnbull
2014-12-05  8:06                       ` Glenn Morris
2014-12-05 11:24                         ` andres.ramirez
2014-12-05 14:26                       ` Stefan Monnier
2014-12-05 14:46                         ` David Kastrup
2014-12-05 14:47                       ` Lars Magne Ingebrigtsen
2014-12-05 18:38                         ` Stefan Monnier
2014-12-06 17:29                           ` Lars Magne Ingebrigtsen
2014-12-06 18:05                             ` Lars Magne Ingebrigtsen
2014-12-13 22:03                       ` Alan Mackenzie
2014-12-04 15:40             ` Generate ChangeLogs (was: Metaproblem, part 3) Lars Magne Ingebrigtsen
2014-12-04 17:23               ` Generate ChangeLogs Karl Fogel
2014-12-04 17:28                 ` Eric S. Raymond
2014-12-04 17:40               ` Paul Eggert
2014-12-04 19:09                 ` Achim Gratz
2014-12-05  8:07                 ` Glenn Morris
2014-12-06  2:24                   ` Paul Eggert
2014-12-04 18:18               ` Ted Zlatanov
2014-12-04 13:58           ` Metaproblem, part 3 Phillip Lord
2014-12-04 14:32             ` João Távora
2014-12-04 17:40               ` Eli Zaretskii
2014-12-05 10:27                 ` João Távora
2014-12-05 10:45                   ` Eli Zaretskii
2014-12-05 11:21                     ` João Távora
2014-12-05 11:31                       ` Eli Zaretskii
2014-12-05 12:20                         ` João Távora
2014-12-05 13:16                           ` Kelvin White
2014-12-05 14:52                           ` Eli Zaretskii
2014-12-06  5:38                             ` Stephen J. Turnbull
2014-12-06  7:07                               ` João Távora
2014-12-06  8:03                                 ` Eli Zaretskii
2014-12-08 11:40                                   ` [mentor-request] a darkroom/writeroom mode for Emacs João Távora
2014-12-08 12:15                                     ` joakim
2014-12-09 11:46                                       ` João Távora
2014-12-09 12:45                                         ` joakim
2014-12-10  2:39                                         ` Stephen J. Turnbull
2014-12-08 12:40                                     ` Rasmus
2014-12-09 11:28                                       ` [mentoring] " João Távora
2014-12-09 12:20                                         ` Rasmus
2014-12-09 13:11                                           ` João Távora
2014-12-09 14:56                                             ` Rasmus
2014-12-10  0:54                                               ` Stefan Monnier
2014-12-10  1:22                                                 ` Rasmus
2014-12-09 22:25                                             ` Rasmus
2014-12-11 11:22                                               ` João Távora
2014-12-11 17:15                                                 ` Stefan Monnier
2014-12-12 11:19                                                   ` João Távora
2014-12-11 18:33                                                 ` Rasmus
2014-12-12 11:16                                                   ` João Távora
2014-12-12 12:09                                                     ` Rasmus
2014-12-15 12:01                                                       ` [mentoring-done] " João Távora
2014-12-15 13:06                                                         ` Dmitry Gutov
2014-12-15 13:20                                                           ` João Távora
2014-12-15 13:47                                                             ` Dmitry Gutov
2014-12-15 13:55                                                               ` João Távora
2014-12-15 14:38                                                             ` Stefan Monnier
2014-12-15 13:19                                                         ` martin rudalics
2014-12-15 13:37                                                           ` João Távora
2014-12-15 14:15                                                             ` martin rudalics
2014-12-15 14:54                                                               ` João Távora
2014-12-15 15:28                                                                 ` martin rudalics
2014-12-15 22:10                                                                   ` João Távora
2014-12-12 14:27                                                     ` [mentoring] " Drew Adams
2014-12-12 14:38                                                     ` Stefan Monnier
2014-12-09 16:32                                         ` Phillip Lord
2014-12-08 11:46                                   ` [mentor-request] Ecco - a literate programming documentation generator João Távora
2014-12-21 20:17                                   ` Results of the "mentoring" experiment Re: Metaproblem, part 3 João Távora
2014-12-21 21:22                                     ` Rasmus
2014-12-22 14:14                                     ` Results of the "mentoring" experiment Stephen Leake
2014-12-22 16:01                                       ` João Távora
2014-12-22 16:03                                       ` João Távora
2014-12-05 12:16                       ` Metaproblem, part 3 Phillip Lord
2014-12-05 13:20                     ` Eric Abrahamsen
2014-12-05 14:59                       ` Eli Zaretskii
2014-12-06  5:45                       ` Stephen J. Turnbull
2014-12-06  6:18                         ` Eric S. Raymond
2014-12-06  8:01                           ` Eli Zaretskii
2014-12-06 16:32                           ` Stephen J. Turnbull
2014-12-06  8:29                         ` Eric Abrahamsen
2014-12-06 10:11                           ` Eli Zaretskii
2014-12-06 10:40                             ` Eric Abrahamsen
2014-12-06 10:47                               ` Eli Zaretskii
2014-12-06 11:04                           ` David Kastrup
2014-12-06 12:52                             ` Ivan Shmakov
2014-12-07  1:41                             ` Eric Abrahamsen
2014-12-09 12:29                               ` João Távora
2014-12-06 14:18                           ` Stephen J. Turnbull
2014-12-07  1:38                             ` Eric Abrahamsen
2014-12-06 10:51                         ` David Kastrup
2014-12-07  9:19                           ` Richard Stallman
2014-12-05 10:56                 ` Phillip Lord
2014-12-05 11:15                   ` Eli Zaretskii
2014-12-05 12:09                     ` Phillip Lord
2014-12-05 14:50                       ` Eli Zaretskii
2014-12-03 19:32     ` David Engster [this message]
2014-12-03 19:53       ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Eric S. Raymond
2014-12-03 19:58         ` David Engster
2014-12-03 20:08           ` Eric S. Raymond
2014-12-03 20:28             ` David Engster
2014-12-03 20:58               ` Eric S. Raymond
2014-12-04 20:28                 ` David Engster
2014-12-04 20:46                   ` Eli Zaretskii
2014-12-05  2:16                   ` Stefan Monnier
2014-12-05  8:06                     ` Glenn Morris
2014-12-03 15:34   ` Stefan Monnier
2014-12-03 16:41     ` Thien-Thi Nguyen
2014-12-03 18:08       ` Eli Zaretskii
2014-12-03 18:36         ` Tom
2014-12-03 19:21           ` Paul Eggert
2014-12-03 19:27             ` Tom
2014-12-03 18:58         ` Lars Magne Ingebrigtsen
2014-12-03 19:26           ` Eric S. Raymond
2014-12-03 19:11         ` Thien-Thi Nguyen
2014-12-03 19:27     ` Eric S. Raymond
2014-12-03 19:41       ` Paul Eggert
2014-12-03 20:03         ` Commit comment rules - and a metaproblem Eric S. Raymond
2014-12-03 20:26         ` [Emacs-diffs] master e820f16: Added file-tree-walk to files.el Eli Zaretskii
2014-12-03 21:14           ` More metaproblem Eric S. Raymond
2014-12-03 22:13             ` Karl Fogel
2014-12-04  6:38               ` Eli Zaretskii
2014-12-04  8:38                 ` Stephen Leake
2014-12-04 10:11                   ` Eli Zaretskii
2014-12-04 10:23                   ` David Kastrup
2014-12-04 15:35                   ` Stefan Monnier
2014-12-04 16:33                     ` Stephen Leake
2014-12-04 17:37                     ` Eli Zaretskii
2014-12-04 20:43                       ` Stefan Monnier
2014-12-04 21:26                         ` Eli Zaretskii
2014-12-05 23:03                     ` chad
2014-12-04  9:08                 ` Stephen Leake
2014-12-04 10:01                   ` Eli Zaretskii
2014-12-04 10:11                     ` David Kastrup
2014-12-04 10:27                     ` Eric S. Raymond
2014-12-04 10:35                       ` David Kastrup
2014-12-04 11:01                         ` Eli Zaretskii
2014-12-04 11:07                           ` Eric S. Raymond
2014-12-05  1:23                       ` Stephen J. Turnbull
2014-12-05  6:53                         ` Eli Zaretskii
2014-12-04 18:33                 ` Karl Fogel
2014-12-04 21:21                   ` Eli Zaretskii
2014-12-04 22:01                     ` Jorgen Schaefer
2014-12-05  7:08                       ` Eli Zaretskii
2014-12-05  7:55                         ` Aurélien Aptel
2014-12-05  8:44                           ` Eli Zaretskii
2014-12-06 10:41                           ` the Emacs wiki Stephen Leake
2014-12-06 10:58                             ` Eli Zaretskii
2014-12-06 21:28                             ` Nic Ferrier
2014-12-07 22:47                               ` Stephen Leake
2014-12-09  8:04                                 ` Nic Ferrier
2014-12-09 22:28                                   ` Alexis
2014-12-10 21:32                                     ` Nic Ferrier
2014-12-06  5:11                         ` More metaproblem Stephen J. Turnbull
2014-12-06  7:47                           ` Eli Zaretskii
2014-12-05 11:52                       ` Nicolas Richard
2014-12-05 22:43                         ` Richard Stallman
2014-12-05 16:51                     ` Karl Fogel
2014-12-05 16:57                       ` Lars Magne Ingebrigtsen
2014-12-05 18:24                         ` Eric S. Raymond
2014-12-05 21:16                           ` Karl Fogel
2014-12-05 18:56                         ` Stefan Monnier
2014-12-05 17:27                       ` Eli Zaretskii
2014-12-05 17:52                         ` Karl Fogel
2014-12-05 18:39                           ` Glenn Morris
2014-12-05 21:23                             ` Karl Fogel
2014-12-05 22:24                               ` Eric S. Raymond
2014-12-05 22:41                                 ` Ted Zlatanov
2014-12-05 23:02                                   ` Eli Zaretskii
2014-12-05 23:12                                 ` Eli Zaretskii
2014-12-06  4:58                                   ` Eric S. Raymond
2014-12-06  7:42                                     ` Eli Zaretskii
2014-12-06 11:35                                       ` Eric S. Raymond
2014-12-06 11:58                                         ` David Kastrup
2014-12-06 12:35                                         ` Eli Zaretskii
2014-12-06 14:10                                           ` Werner LEMBERG
2014-12-06  9:27                           ` Stephen Leake
2014-12-06 10:20                             ` Eli Zaretskii
2014-12-06 11:41                             ` Eric S. Raymond
2014-12-06 12:37                               ` Eli Zaretskii
2014-12-06 13:16                                 ` David Kastrup
2014-12-06 14:22                                   ` Eli Zaretskii
2014-12-05 18:19                       ` Eric S. Raymond
2014-12-05 21:14                         ` Karl Fogel
2014-12-05 21:23                           ` Eric S. Raymond
2014-12-05 18:20                       ` Glenn Morris
2014-12-05 18:56                         ` Eric S. Raymond
2014-12-05 20:11                           ` Eli Zaretskii
2014-12-08 17:16                             ` Glenn Morris
2014-12-09 11:00                               ` Richard Stallman
2014-12-06  9:41                           ` Stephen Leake
2014-12-06  9:10                       ` maintaining FSF Emacs web page Stephen Leake
2014-12-06 17:57                         ` Karl Fogel
2014-12-07  9:20                         ` Richard Stallman
2014-12-09 12:30                           ` Alex Schroeder
2014-12-10  8:24                             ` Richard Stallman
2014-12-06  9:19                       ` More metaproblem Stephen Leake
2014-12-06 16:44                         ` Drew Adams
2014-12-06 18:41                           ` Stephen Leake
2014-12-06 19:24                             ` Drew Adams
2014-12-07 22:07                               ` Stephen Leake
2014-12-07 23:00                                 ` Drew Adams
2014-12-08 15:57                                   ` Eli Zaretskii
2014-12-08 21:23                                 ` Przemysław Wojnowski
2014-12-09 16:54                                   ` Eli Zaretskii
2014-12-10  9:16                                     ` Stephen Leake
2014-12-10 19:46                                     ` Przemysław Wojnowski
2014-12-10 20:48                                       ` Eli Zaretskii
2014-12-10 22:10                                         ` Stefan Monnier
2014-12-10 20:09                                   ` Przemysław Wojnowski
2014-12-10 20:28                                     ` Stefan Monnier
2014-12-05  9:58                   ` Stephen Leake
2014-12-05 15:44                     ` Stefan Monnier
2014-12-05 17:37                       ` Karl Fogel
2014-12-05 19:36                         ` Stefan Monnier
2014-12-05 17:34                     ` Karl Fogel
2014-12-05 17:40                       ` Lars Magne Ingebrigtsen
2014-12-05 17:54                         ` Karl Fogel
2014-12-06 12:04                         ` Richard Stallman
2014-12-06 18:56                           ` publicizing Emacs contribute Stephen Leake
2014-12-06 19:29                             ` Óscar Fuentes
2014-12-07  1:00                               ` Dmitry Gutov
2014-12-07  1:33                                 ` Óscar Fuentes
2014-12-08  0:23                               ` Richard Stallman
2014-12-07  9:21                             ` Richard Stallman
2014-12-07 23:06                               ` Stephen Leake
2014-12-05 18:04                       ` More metaproblem Eric S. Raymond
2014-12-06 10:19                       ` Stephen Leake
2014-12-05 11:45                   ` Phillip Lord
2014-12-06  5:17                     ` Stephen J. Turnbull
2014-12-06 10:17                       ` David Kastrup
2014-12-06 16:45                         ` Drew Adams
2014-12-06 10:30                       ` Stephen Leake
2014-12-03 22:14             ` Stefan Monnier
2014-12-04  3:32             ` Stephen Leake
2014-12-04  6:25             ` Eli Zaretskii
2014-12-05 18:37   ` master e820f16: Added file-tree-walk to files.el Michael Heerdegen
2014-12-05 18:57     ` Eric S. Raymond

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wq687cmk.fsf@engster.org \
    --to=deng@randomsample.de \
    --cc=emacs-devel@gnu.org \
    --cc=esr@thyrsus.com \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).