[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Is / distinct from //?
From: |
Paul Eggert |
Subject: |
Re: Is / distinct from //? |
Date: |
Mon, 18 Dec 2006 10:07:24 -0800 |
User-agent: |
Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux) |
Eric Blake <address@hidden> writes:
> How about this larger patch instead?
Looks good. Some further changes: Jim and I should be on the maintainers
list, there's some incoherence about whether DOUBLE_SLASH_IS_DISTINCT_ROOT
is #defined to 0 or is left undefined by config.h. Here's what I installed:
2006-12-18 Paul Eggert <address@hidden>
and Eric Blake <address@hidden>
* lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
This is more consistent with the other defines here.
* m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
Port to z/OS. Problem reported by Paul Gilmartin.
Change local vars to use gl_ prefix rather than ac_.
Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
with other defines.
* modules/double-slash-root: New module.
* modules/dirname (Files): Remove m4/double-slash-root.m4.
(Depends-on): Add double-slash-root.
* MODULES.html.sh (File system functions): Mention new module.
Index: lib/dirname.h
===================================================================
RCS file: /cvsroot/gnulib/gnulib/lib/dirname.h,v
retrieving revision 1.12
diff -u -r1.12 dirname.h
--- lib/dirname.h 3 Jul 2006 08:32:46 -0000 1.12
+++ lib/dirname.h 18 Dec 2006 18:04:17 -0000
@@ -48,7 +48,7 @@
# endif
# ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT
-# define DOUBLE_SLASH_IS_DISTINCT_ROOT 1
+# define DOUBLE_SLASH_IS_DISTINCT_ROOT 0
# endif
# if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
Index: m4/double-slash-root.m4
===================================================================
RCS file: /cvsroot/gnulib/gnulib/m4/double-slash-root.m4,v
retrieving revision 1.1
diff -u -r1.1 double-slash-root.m4
--- m4/double-slash-root.m4 3 Jul 2006 08:32:46 -0000 1.1
+++ m4/double-slash-root.m4 18 Dec 2006 18:04:17 -0000
@@ -1,4 +1,4 @@
-#serial 1 -*- autoconf -*-
+# double-slash-root.m4 serial 2 -*- Autoconf -*-
dnl Copyright (C) 2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
@@ -7,37 +7,32 @@
AC_DEFUN([gl_DOUBLE_SLASH_ROOT],
[
AC_REQUIRE([AC_CANONICAL_HOST])
- AC_CACHE_CHECK([whether // is distinct from /], [ac_cv_double_slash_root],
+ AC_CACHE_CHECK([whether // is distinct from /], [gl_cv_double_slash_root],
[ if test x"$cross_compiling" = xyes ; then
# When cross-compiling, there is no way to tell whether // is special
# short of a list of hosts. However, the only known hosts to date
- # that have a distinct // are Apollo DomainOS (too old to port to)
- # and Cygwin. If anyone knows of another system for which // has
+ # that have a distinct // are Apollo DomainOS (too old to port to),
+ # Cygwin, and z/OS. If anyone knows of another system for which // has
# special semantics and is distinct from /, please report it to
- # <address@hidden>.
+ # <address@hidden>.
case $host in
- *-cygwin)
- ac_cv_double_slash_root=yes ;;
+ *-cygwin | i370-ibm-openedition)
+ gl_cv_double_slash_root=yes ;;
*)
# Be optimistic and assume that / and // are the same when we
# don't know.
- ac_cv_double_slash_root='unknown, assuming no' ;;
+ gl_cv_double_slash_root='unknown, assuming no' ;;
esac
else
set x `ls -di / //`
- if test $[2] = $[4]; then
- ac_cv_double_slash_root=no
+ if test $[2] = $[4] && wc //dev/null >/dev/null 2>&1; then
+ gl_cv_double_slash_root=no
else
- ac_cv_double_slash_root=yes
+ gl_cv_double_slash_root=yes
fi
fi])
- if test x"$ac_cv_double_slash_root" = xyes; then
- ac_double_slash_root=1
- else
- ac_double_slash_root=0
+ if test "$gl_cv_double_slash_root" = yes; then
+ AC_DEFINE([DOUBLE_SLASH_IS_DISTINCT_ROOT], 1,
+ [Define to 1 if // is a file system root distinct from /.])
fi
-
- AC_DEFINE_UNQUOTED([DOUBLE_SLASH_IS_DISTINCT_ROOT],
- $ac_double_slash_root,
- [Define to 1 if // is a file system root distinct from /.])
])
Index: modules/double-slash-root
===================================================================
RCS file: modules/double-slash-root
diff -N modules/double-slash-root
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ modules/double-slash-root 18 Dec 2006 18:04:17 -0000
@@ -0,0 +1,20 @@
+Description:
+Check whether // is distinct from /.
+
+Files:
+m4/double-slash-root.m4
+
+Depends-on:
+
+configure.ac:
+gl_DOUBLE_SLASH_ROOT
+
+Makefile.am:
+
+Include:
+
+License:
+LGPL
+
+Maintainer:
+Eric Blake, Paul Eggert, Jim Meyering
Index: modules/dirname
===================================================================
RCS file: /cvsroot/gnulib/gnulib/modules/dirname,v
retrieving revision 1.11
diff -u -r1.11 dirname
--- modules/dirname 13 Oct 2006 12:40:23 -0000 1.11
+++ modules/dirname 18 Dec 2006 18:04:17 -0000
@@ -6,11 +6,11 @@
lib/dirname.c
lib/basename.c
lib/stripslash.c
-m4/dos.m4
m4/dirname.m4
-m4/double-slash-root.m4
+m4/dos.m4
Depends-on:
+double-slash-root
stdbool
xalloc
xstrndup
Index: MODULES.html.sh
===================================================================
RCS file: /cvsroot/gnulib/gnulib/MODULES.html.sh,v
retrieving revision 1.161
diff -u -r1.161 MODULES.html.sh
--- MODULES.html.sh 20 Nov 2006 22:07:27 -0000 1.161
+++ MODULES.html.sh 18 Dec 2006 18:04:17 -0000
@@ -1978,6 +1978,7 @@
func_module cycle-check
func_module fsusage
func_module dirfd
+ func_module double-slash-root
func_module euidaccess
func_module file-type
func_module fileblocks