Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
36f13e16
Commit
36f13e16
authored
Feb 25, 2011
by
Paul Eggert
Browse files
Simplify symlink portability workaround.
parent
4394ee04
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
86 additions
and
201 deletions
+86
-201
ChangeLog
ChangeLog
+6
-0
aclocal.m4
aclocal.m4
+0
-1
configure
configure
+2
-97
lib/Makefile.in
lib/Makefile.in
+10
-10
lib/dosname.h
lib/dosname.h
+53
-0
lib/gnulib.mk
lib/gnulib.mk
+7
-0
lib/stat.c
lib/stat.c
+1
-0
m4/dos.m4
m4/dos.m4
+0
-71
m4/gl-comp.m4
m4/gl-comp.m4
+3
-1
m4/stat.m4
m4/stat.m4
+1
-2
src/ChangeLog
src/ChangeLog
+3
-0
src/config.in
src/config.in
+0
-19
No files found.
ChangeLog
View file @
36f13e16
2011-02-25 Paul Eggert <eggert@cs.ucla.edu>
Simplify symlink portability workaround.
* m4/dos.m4: Remove.
* aclocal.m4, configure, lib/Makefile.in, lib/gnulib.mk, lib/stat.c:
* m4/gl-comp.m4, m4/stat.m4, src/config.in: Regenerate from gnulib.
* lib/dosname.h: New file, regenerated from gnulib.
* configure, lib/Makefile.in, lib/getopt_int.h, lib/gnulib.mk:
* lib/stdlib.in.h, m4/stdlib_h.m4: Regenerate.
...
...
aclocal.m4
View file @
36f13e16
...
...
@@ -986,7 +986,6 @@ AC_SUBST([am__untar])
m4_include([m4/00gnulib.m4])
m4_include([m4/c-strtod.m4])
m4_include([m4/dos.m4])
m4_include([m4/extensions.m4])
m4_include([m4/filemode.m4])
m4_include([m4/getloadavg.m4])
...
...
configure
View file @
36f13e16
...
...
@@ -6128,6 +6128,7 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
# Code from module arg-nonnull:
# Code from module c++defs:
# Code from module crypto/md5:
# Code from module dosname:
# Code from module dtoastr:
# Code from module extensions:
...
...
@@ -14687,102 +14688,6 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether system is Windows or MSDOS" >&5
$as_echo_n "checking whether system is Windows or MSDOS... " >&6; }
if ${ac_cv_win_or_dos+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __CYGWIN__
neither MSDOS nor Windows
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_win_or_dos=yes
else
ac_cv_win_or_dos=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_win_or_dos" >&5
$as_echo "$ac_cv_win_or_dos" >&6; }
if test x"$ac_cv_win_or_dos" = xyes; then
ac_fs_accepts_drive_letter_prefix=1
ac_fs_backslash_is_file_name_separator=1
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether drive letter can start relative path" >&5
$as_echo_n "checking whether drive letter can start relative path... " >&6; }
if ${ac_cv_drive_letter_can_be_relative+:} false; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
#if defined __CYGWIN__
drive letters are always absolute
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_drive_letter_can_be_relative=yes
else
ac_cv_drive_letter_can_be_relative=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_drive_letter_can_be_relative" >&5
$as_echo "$ac_cv_drive_letter_can_be_relative" >&6; }
if test x"$ac_cv_drive_letter_can_be_relative" = xyes; then
ac_fs_drive_letter_can_be_relative=1
else
ac_fs_drive_letter_can_be_relative=0
fi
else
ac_fs_accepts_drive_letter_prefix=0
ac_fs_backslash_is_file_name_separator=0
ac_fs_drive_letter_can_be_relative=0
fi
cat >>confdefs.h <<_ACEOF
#define FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX $ac_fs_accepts_drive_letter_prefix
_ACEOF
cat >>confdefs.h <<_ACEOF
#define FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR $ac_fs_backslash_is_file_name_separator
_ACEOF
cat >>confdefs.h <<_ACEOF
#define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE $ac_fs_drive_letter_can_be_relative
_ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
if ${ac_cv_header_stdbool_h+:} false; then :
...
...
@@ -15347,6 +15252,7 @@ fi
:
# Code from module dosname:
# Code from module dtoastr:
# Code from module extensions:
...
...
@@ -16358,7 +16264,6 @@ $as_echo "#define READLINK_TRAILING_SLASH_BUG 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat handles trailing slashes on directories" >&5
$as_echo_n "checking whether stat handles trailing slashes on directories... " >&6; }
if ${gl_cv_func_stat_dir_slash+:} false; then :
...
...
lib/Makefile.in
View file @
36f13e16
...
...
@@ -50,10 +50,10 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
subdir
=
lib
ACLOCAL_M4
=
$(top_srcdir)
/aclocal.m4
am__aclocal_m4_deps
=
$(top_srcdir)
/m4/00gnulib.m4
\
$(top_srcdir)
/m4/c-strtod.m4
$(top_srcdir)
/m4/
do
s.m4
\
$(top_srcdir)
/m4/
extensions
.m4
$(top_srcdir)
/m4/
filemode
.m4
\
$(top_srcdir)
/m4/get
loadavg
.m4
$(top_srcdir)
/m4/g
etopt
.m4
\
$(top_srcdir)
/m4/gl-comp.m4
$(top_srcdir)
/m4/gnulib-common.m4
\
$(top_srcdir)
/m4/c-strtod.m4
$(top_srcdir)
/m4/
extension
s.m4
\
$(top_srcdir)
/m4/
filemode
.m4
$(top_srcdir)
/m4/
getloadavg
.m4
\
$(top_srcdir)
/m4/get
opt
.m4
$(top_srcdir)
/m4/g
l-comp
.m4
\
$(top_srcdir)
/m4/gnulib-common.m4
\
$(top_srcdir)
/m4/include_next.m4
$(top_srcdir)
/m4/longlong.m4
\
$(top_srcdir)
/m4/lstat.m4
$(top_srcdir)
/m4/md5.m4
\
$(top_srcdir)
/m4/mktime.m4
$(top_srcdir)
/m4/multiarch.m4
\
...
...
@@ -604,12 +604,12 @@ BUILT_SOURCES = arg-nonnull.h c++defs.h $(GETOPT_H) $(STDBOOL_H) \
$(STDDEF_H)
$(STDINT_H)
stdlib.h sys/stat.h time.h unistd.h
\
warn-on-use.h
EXTRA_DIST
=
$(top_srcdir)
/./arg-nonnull.h
$(top_srcdir)
/./c++defs.h
\
md5.c md5.h ftoastr.c ftoastr.h filemode.c
filemode.h
\
getloadavg.c getopt.c getopt.in.h getopt1.c
getopt_int.h
\
intprops.h lstat.c mktime-internal.h mktime.c
readlink.c
\
stat.c stdbool.in.h stddef.in.h stdint.in.h
stdlib.in.h
\
strftime.c strftime.h symlink.c sys_stat.in.h
time.in.h
\
time_r.c unistd.in.h
$(top_srcdir)
/./warn-on-use.h
md5.c md5.h
dosname.h
ftoastr.c ftoastr.h filemode.c
\
filemode.h
getloadavg.c getopt.c getopt.in.h getopt1.c
\
getopt_int.h
intprops.h lstat.c mktime-internal.h mktime.c
\
readlink.c
stat.c stdbool.in.h stddef.in.h stdint.in.h
\
stdlib.in.h
strftime.c strftime.h symlink.c sys_stat.in.h
\
time.in.h
time_r.c unistd.in.h
$(top_srcdir)
/./warn-on-use.h
MOSTLYCLEANDIRS
=
sys
MOSTLYCLEANFILES
=
core
*
.stackdump arg-nonnull.h arg-nonnull.h-t
\
c++defs.h c++defs.h-t getopt.h getopt.h-t stdbool.h
\
...
...
lib/dosname.h
0 → 100644
View file @
36f13e16
/* File names on MS-DOS/Windows systems.
Copyright (C) 2000-2001, 2004-2006, 2009-2011 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
From Paul Eggert and Jim Meyering. */
#ifndef _DOSNAME_H
#define _DOSNAME_H
#if (defined _WIN32 || defined __WIN32__ || \
defined __MSDOS__ || defined __CYGWIN__ || \
defined __EMX__ || defined __DJGPP__)
/* This internal macro assumes ASCII, but all hosts that support drive
letters use ASCII. */
# define _IS_DRIVE_LETTER(C) (((unsigned int) (C) | ('a' - 'A')) - 'a' \
<= 'z' - 'a')
# define FILE_SYSTEM_PREFIX_LEN(Filename) \
(_IS_DRIVE_LETTER ((Filename)[0]) && (Filename)[1] == ':' ? 2 : 0)
# ifndef __CYGWIN__
# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 1
# endif
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
#else
# define FILE_SYSTEM_PREFIX_LEN(Filename) 0
# define ISSLASH(C) ((C) == '/')
#endif
#ifndef FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
# define FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE 0
#endif
#if FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
# define IS_ABSOLUTE_FILE_NAME(F) ISSLASH ((F)[FILE_SYSTEM_PREFIX_LEN (F)])
# else
# define IS_ABSOLUTE_FILE_NAME(F) \
(ISSLASH ((F)[0]) || FILE_SYSTEM_PREFIX_LEN (F) != 0)
#endif
#define IS_RELATIVE_FILE_NAME(F) (! IS_ABSOLUTE_FILE_NAME (F))
#endif
/* DOSNAME_H_ */
lib/gnulib.mk
View file @
36f13e16
...
...
@@ -78,6 +78,13 @@ EXTRA_libgnu_a_SOURCES += md5.c
## end gnulib module crypto/md5
## begin gnulib module dosname
EXTRA_DIST
+=
dosname.h
## end gnulib module dosname
## begin gnulib module dtoastr
libgnu_a_SOURCES
+=
dtoastr.c
...
...
lib/stat.c
View file @
36f13e16
...
...
@@ -37,6 +37,7 @@ orig_stat (const char *filename, struct stat *buf)
#include <limits.h>
#include <stdbool.h>
#include <string.h>
#include "dosname.h"
/* Store information about NAME into ST. Work around bugs with
trailing slashes. Mingw has other bugs (such as st_ino always
...
...
m4/dos.m4
deleted
100644 → 0
View file @
4394ee04
#serial 11 -*- autoconf -*-
# Define some macros required for proper operation of code in lib/*.c
# on MSDOS/Windows systems.
# Copyright (C) 2000-2001, 2004-2006, 2009-2011 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# From Jim Meyering.
AC_DEFUN([gl_AC_DOS],
[
AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos],
[
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __CYGWIN__
neither MSDOS nor Windows
#endif]])],
[ac_cv_win_or_dos=yes],
[ac_cv_win_or_dos=no])
])
if test x"$ac_cv_win_or_dos" = xyes; then
ac_fs_accepts_drive_letter_prefix=1
ac_fs_backslash_is_file_name_separator=1
AC_CACHE_CHECK([whether drive letter can start relative path],
[ac_cv_drive_letter_can_be_relative],
[
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
#if defined __CYGWIN__
drive letters are always absolute
#endif]])],
[ac_cv_drive_letter_can_be_relative=yes],
[ac_cv_drive_letter_can_be_relative=no])
])
if test x"$ac_cv_drive_letter_can_be_relative" = xyes; then
ac_fs_drive_letter_can_be_relative=1
else
ac_fs_drive_letter_can_be_relative=0
fi
else
ac_fs_accepts_drive_letter_prefix=0
ac_fs_backslash_is_file_name_separator=0
ac_fs_drive_letter_can_be_relative=0
fi
AC_DEFINE_UNQUOTED([FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX],
$ac_fs_accepts_drive_letter_prefix,
[Define on systems for which file names may have a so-called
`drive letter' prefix, define this to compute the length of that
prefix, including the colon.])
AH_VERBATIM(ISSLASH,
[#if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
#else
# define ISSLASH(C) ((C) == '/')
#endif])
AC_DEFINE_UNQUOTED([FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR],
$ac_fs_backslash_is_file_name_separator,
[Define if the backslash character may also serve as a file name
component separator.])
AC_DEFINE_UNQUOTED([FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE],
$ac_fs_drive_letter_can_be_relative,
[Define if a drive letter prefix denotes a relative path if it is
not followed by a file name component separator.])
])
m4/gl-comp.m4
View file @
36f13e16
...
...
@@ -29,6 +29,7 @@ AC_DEFUN([gl_EARLY],
# Code from module arg-nonnull:
# Code from module c++defs:
# Code from module crypto/md5:
# Code from module dosname:
# Code from module dtoastr:
# Code from module extensions:
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
...
...
@@ -78,6 +79,7 @@ AC_DEFUN([gl_INIT],
# Code from module c++defs:
# Code from module crypto/md5:
gl_MD5
# Code from module dosname:
# Code from module dtoastr:
AC_REQUIRE([gl_C99_STRTOLD])
# Code from module extensions:
...
...
@@ -279,6 +281,7 @@ AC_DEFUN([gl_FILE_LIST], [
build-aux/arg-nonnull.h
build-aux/c++defs.h
build-aux/warn-on-use.h
lib/dosname.h
lib/dtoastr.c
lib/filemode.c
lib/filemode.h
...
...
@@ -312,7 +315,6 @@ AC_DEFUN([gl_FILE_LIST], [
lib/unistd.in.h
m4/00gnulib.m4
m4/c-strtod.m4
m4/dos.m4
m4/extensions.m4
m4/filemode.m4
m4/getloadavg.m4
...
...
m4/stat.m4
View file @
36f13e16
# serial
6
# serial
7
# Copyright (C) 2009-2011 Free Software Foundation, Inc.
#
...
...
@@ -9,7 +9,6 @@
AC_DEFUN([gl_FUNC_STAT],
[
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
AC_REQUIRE([gl_AC_DOS])
AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
AC_CHECK_FUNCS_ONCE([lstat])
dnl mingw is the only known platform where stat(".") and stat("./") differ
...
...
src/ChangeLog
View file @
36f13e16
2011-02-25 Paul Eggert <eggert@cs.ucla.edu>
Simplify symlink portability workaround.
* config.in: Regenerate.
* dired.c (Ffile_attributes): Increase size of modes from 10 to 12
as per recent filemodestring API change. Reported by Jonas Öster in
<http://lists.gnu.org/archive/html/emacs-devel/2011-02/msg01069.html>.
src/config.in
View file @
36f13e16
...
...
@@ -72,19 +72,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Enable expensive run-time checking of data types? */
#undef ENABLE_CHECKING
/* Define on systems for which file names may have a so-called `drive letter'
prefix, define this to compute the length of that prefix, including the
colon. */
#undef FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX
/* Define if the backslash character may also serve as a file name component
separator. */
#undef FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
/* Define if a drive letter prefix denotes a relative path if it is not
followed by a file name component separator. */
#undef FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE
/* Define this to check for errors in cons list. */
#undef GC_CHECK_CONS_LIST
...
...
@@ -907,12 +894,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to support using a Hesiod database to find the POP server. */
#undef HESIOD
#if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
#else
# define ISSLASH(C) ((C) == '/')
#endif
/* Define to support Kerberos-authenticated POP mail retrieval. */
#undef KERBEROS
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment