caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] RFC: basename, dirname, PR#4549
@ 2011-12-27 16:29 Damien Doligez
  2011-12-27 17:37 ` Daniel Bünzli
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Damien Doligez @ 2011-12-27 16:29 UTC (permalink / raw)
  To: caml users

Hello,

I would like to get some comments from the OCaml community at large about
the problem raised in http://caml.inria.fr/mantis/view.php?id=4549

In a nutshell, the problem is that our version of basename and dirname
are not exactly the same as the Open Group's definition.

We can easily implement the standard behaviour for basename and dirname,
and it seems desirable, but there is a catch: we will have to change
the specification of the standard library slightly.

Currently, we specify this:

   [concat (dirname name) (basename name)] returns a file name
   which is equivalent to [name]. Moreover, after setting the
   current directory to [dirname name] (with {!Sys.chdir}),
   references to [basename name] (which is a relative file name)
   designate the same file as [name] before the call to {!Sys.chdir}.

With the Open Group basename and dirname, this becomes false for
names that include some trailing slashes, because such slashes
are removed by basename.  This means that a name "foo/bar/"
becomes "foo/bar" when put through
  [concat (dirname name) (basename name)]
and opening "foo/bar" may succeed if it is a file, while
opening "foo/bar/" would fail.

I would like to know if anyone relies on the precise behaviour
documented in the standard library, and for everyone else, would
you prefer the old behaviour or the new (standard) behaviour?

-- Damien


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-12-28  4:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-27 16:29 [Caml-list] RFC: basename, dirname, PR#4549 Damien Doligez
2011-12-27 17:37 ` Daniel Bünzli
2011-12-27 18:36 ` Markus Mottl
2011-12-27 19:42 ` Gerd Stolpmann
2011-12-28  4:50   ` Till Varoquaux

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 NNTP newsgroup(s).