[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: locate-file in Emacs
From: |
Stefan Monnier |
Subject: |
Re: locate-file in Emacs |
Date: |
Thu, 18 Apr 2002 11:27:15 -0400 |
> >> That would break backward compatibility, which is fairly important in
> >
> > I fail to see why:
> >
> > (defun locate-file (f p s predicate)
> > (cond
> > ((memq predicate '(executable writable ...)) ...)
>
> That's fine; I thought you wanted to disallow old-style MODE in favor
> of PREDICATE which you found easier to implement.
No, I'm quite aware of the fact that breaking backward compatibility
is not done so lightly ;-).
> > you should be able to keep backward compatibility just fine.
> > The question is whether or not you find the `predicate' interface
> > preferable.
>
> I find this "mixing" of interfaces far from elegant, but I'll agree
> that it's flexible.
I'd of course document the MODE-style arguments as obsolete, so
that the inelegance is "temporary".
> > PS: a grep through XEmacs packages seems to indicate that the MODE
> > argument is rarely used and that the few times it's used it's
> > only to check executablility but uses the integer 1 instead of
> > the `executable' symbol.
>
> That's the old interface, which XEmacs still supports. In it the MODE
> was a number equivalent to what access() accepts as the second arg,
> and the SUFFIXES were one colon-separated string.
That's what I figured.
> > So assuming that the core code is updated to the new interface,
> > I'm not even sure if `executable', `writable' and friends needs
> > to be supported
>
> Then you don't care about the compatibility with the existing XEmacs
> interface. I can understand that, because you don't have to support
> its uses; but I do. If it means something to you as a "proof", I've
> used it in my programs.
I have no doubt that it's been used, so do you happen to know if it
has been used in packages that are in active use ?
Based on the information here, I think I'll go ahead and implement
the functionality on top of `openp' with just a `predicate' argument
and without backward compatibility for `mode'.
But I have one question left: should the `file-directory-p' check be enforced
independently from `predicate' ?
I.e. can (locate-file f p s 'file-readable-p) return a directory ?
"Yes" is better since it allows the caller to choose whether directories
are considered or not but "no" is better because it allows
(locate-file file path suffixes 'file-executable-p) to behave like
your current (locate-file file path suffixes 'executable).
Or does the current XEmacs code always consider directories anyway ?
Stefan
- Re: locate-file in Emacs, (continued)
- Re: locate-file in Emacs, Stefan Monnier, 2002/04/17
- Re: locate-file in Emacs, Hrvoje Niksic, 2002/04/17
- Re: locate-file in Emacs, Stefan Monnier, 2002/04/17
- Re: locate-file in Emacs, Hrvoje Niksic, 2002/04/18
- Re: locate-file in Emacs, Miles Bader, 2002/04/18
- Re: locate-file in Emacs, Hrvoje Niksic, 2002/04/18
- Re: locate-file in Emacs, Miles Bader, 2002/04/18
- Re: locate-file in Emacs, Stefan Monnier, 2002/04/18
- Re: locate-file in Emacs, Hrvoje Niksic, 2002/04/18
- Re: locate-file in Emacs,
Stefan Monnier <=
- Re: locate-file in Emacs, Eli Zaretskii, 2002/04/18
- Re: locate-file in Emacs, Hrvoje Niksic, 2002/04/18
- Re: locate-file in Emacs, Hrvoje Niksic, 2002/04/18
- Re: locate-file in Emacs, Stefan Monnier, 2002/04/18
- Re: locate-file in Emacs, Hrvoje Niksic, 2002/04/25
- Re: locate-file in Emacs, Stefan Monnier, 2002/04/25
- Re: locate-file in Emacs, Richard Stallman, 2002/04/19
- Re: locate-file in Emacs, Miles Bader, 2002/04/18
- Re: locate-file in Emacs, Hrvoje Niksic, 2002/04/18
- Re: locate-file in Emacs, Miles Bader, 2002/04/18