Compare commits

...

69 Commits

Author SHA1 Message Date
Jim Meyering
3ac192dc18 *** empty log message *** 2000-11-11 13:42:17 +00:00
Jim Meyering
39d746aace (GZIP_ENV): Define to --no-name, so the timestamp
is not included in the .tar.gz file.
2000-11-11 13:42:07 +00:00
Jim Meyering
a4aa31ab26 *** empty log message *** 2000-11-11 13:35:39 +00:00
Jim Meyering
fc27d7356d (tests): Use `empty' (instead of just blanks) to
indicate no `-m' option.  Using just blanks wasn't portable to
Solaris2.5.1's /bin/sh.
2000-11-11 13:34:51 +00:00
Jim Meyering
427694451d *** empty log message *** 2000-11-11 10:21:51 +00:00
Jim Meyering
81655756c2 Don't put newline in IFS; that's not portable to
NetBSD's /bin/sh.  Instead, filter newlines and leading/trailing blanks
out of `tests' before the `set -'.
2000-11-11 10:21:42 +00:00
Jim Meyering
2cd2cfc95c Back out Paul's changes while we wait for him and Bruno to reach agreement. 2000-11-11 09:10:33 +00:00
Jim Meyering
dd55ac2967 Remove Paul's entries for unicodeio.c: then I don't have to justify
backing out the nov8/9 changes.
2000-11-11 09:09:55 +00:00
Jim Meyering
0a8f8a7f96 *** empty log message *** 2000-11-11 08:32:16 +00:00
Jim Meyering
8fdb4073cb (announcement): Limit depth of ChangeLog `find' to 2. 2000-11-11 08:32:10 +00:00
Jim Meyering
6a3804bceb *** empty log message *** 2000-11-11 08:29:21 +00:00
Jim Meyering
7a23da6e17 *** empty log message *** 2000-11-11 08:11:20 +00:00
Jim Meyering
403470bdfb *** empty log message *** 2000-11-11 07:52:09 +00:00
Jim Meyering
565c193a23 *** empty log message *** 2000-11-11 07:51:25 +00:00
Jim Meyering
cd7e157b45 (print_long_format): Wrap the --full-time' date format
string in _(...), so it too may be internationalized.
Suggestion from Jungshik Shin.
2000-11-11 07:51:07 +00:00
Jim Meyering
bac81b8dd0 *** empty log message *** 2000-11-11 07:50:38 +00:00
Jim Meyering
6e92f27548 . 2000-11-10 18:54:40 +00:00
Jim Meyering
b3324ca196 (main): Interpret a lone numeric argument of 8 or 10
digits as a file name, rather than as a date/time in the obsolescent
`MMDDhhmm[YY]' format.  Reported by Wenjun Zheng.
2000-11-10 18:54:19 +00:00
Jim Meyering
c90aa4af6c *** empty log message *** 2000-11-10 16:37:20 +00:00
Jim Meyering
2dcd72c77e *** empty log message *** 2000-11-10 16:30:37 +00:00
Jim Meyering
4aba36bd9a (TESTS): Add obsolescent. 2000-11-10 16:30:28 +00:00
Jim Meyering
2ee35792a0 *** empty log message *** 2000-11-10 16:29:12 +00:00
Jim Meyering
782e6319e5 *** empty log message *** 2000-11-10 16:24:24 +00:00
Jim Meyering
95bbe7a4e1 *** empty log message *** 2000-11-10 16:23:14 +00:00
Jim Meyering
5631658518 *** empty log message *** 2000-11-10 11:14:03 +00:00
Jim Meyering
64e75882f4 Update from GNU libc. 2000-11-10 11:13:32 +00:00
Jim Meyering
151c87c3df Update from GNU libc. 2000-11-10 11:10:39 +00:00
Jim Meyering
0e12cbe0e2 fix typo 2000-11-10 09:02:29 +00:00
Jim Meyering
6165d7114f *** empty log message *** 2000-11-10 08:46:34 +00:00
Jim Meyering
2edf3e95db (ENOTSUP): Define to EINVAL if not defined. 2000-11-10 08:46:19 +00:00
Jim Meyering
b2a6e3f614 don't back them out 2000-11-10 08:44:51 +00:00
Jim Meyering
be1e26b2e5 Back out the last two changes, at least for now. 2000-11-10 08:43:46 +00:00
Jim Meyering
185ee08979 . 2000-11-09 22:29:57 +00:00
Jim Meyering
020235e167 *** empty log message *** 2000-11-09 22:22:41 +00:00
Jim Meyering
445485d9b8 Do not set the permissions of the final directory
component if it was not just created.
Based on a patch from Volker Borchert.
2000-11-09 22:21:59 +00:00
Jim Meyering
0fd7aaf38c *** empty log message *** 2000-11-09 08:33:01 +00:00
Jim Meyering
48a83af35c (MB_LEN_MAX): Make sure it's at least 6, to avoid buggy C libraries. 2000-11-09 08:32:52 +00:00
Jim Meyering
bb73f9b20e (<wchar.h>): Do not include; no longer needed, since we no longer use wcrtomb.
(<limits.h>): Include if HAVE_LIMITS_H.
(MB_LEN_MAX): Define if limits.h doesn't.
(convert_unicode_char): New function, with the conversion part of the
old print_unicode_char.  Use wctomb, not wcrtomb.  Depend on
HAVE_WCTOMB, not HAVE_WCRTOMB.
(print_unicode_char): Use convert_unicode_char to do the conversion.
2000-11-09 08:30:00 +00:00
Jim Meyering
611fadd9e8 *** empty log message *** 2000-11-09 08:28:13 +00:00
Jim Meyering
f95b33a519 *** empty log message *** 2000-11-08 14:46:43 +00:00
Jim Meyering
73771cb380 (jm_MACROS): Add test for wcrtomb. 2000-11-08 14:46:35 +00:00
Jim Meyering
48da137f84 *** empty log message *** 2000-11-08 14:46:20 +00:00
Jim Meyering
4e378387d0 Include wchar.h.
(wcrtomb): Provide fallback definition for broken platforms.
(print_unicode_char): New alternative definition for platforms where
wchar_t is Unicode.
2000-11-08 14:46:13 +00:00
Jim Meyering
830edd4985 . 2000-11-07 15:36:04 +00:00
Jim Meyering
770c39a710 *** empty log message *** 2000-11-07 15:35:25 +00:00
Jim Meyering
4e2bc789ab (setusershell): Use rewind rather than
fseek/fseeko, to avoid configuration hassles with fseeko.
Don't bother opening SHELLS_FILE if shellstream is NULL;
it's not necessary.
2000-11-07 15:35:15 +00:00
Jim Meyering
da0732da37 tweak 2000-11-07 14:57:41 +00:00
Jim Meyering
b3edfeaeee *** empty log message *** 2000-11-07 14:22:54 +00:00
Jim Meyering
e1d09fbef3 (TESTS): Add parents.
(TESTS_ENVIRONMENT): Define srcdir=$(srcdir).
2000-11-07 14:22:11 +00:00
Jim Meyering
4d73de7228 *** empty log message *** 2000-11-07 14:20:43 +00:00
Jim Meyering
97a165c61f handle special bits, too 2000-11-07 14:20:06 +00:00
Jim Meyering
57ebb8d808 *** empty log message *** 2000-11-06 21:53:08 +00:00
Jim Meyering
0aa5a0d85e *** empty log message *** 2000-11-06 21:52:12 +00:00
Jim Meyering
c49c23e608 (TESTS_ENVIRONMENT): Define srcdir=$(srcdir). 2000-11-06 20:57:04 +00:00
Jim Meyering
1a6f58ae67 Move mkdir tests into ../mkdir. 2000-11-06 20:53:58 +00:00
Jim Meyering
49a11aa4d4 add Paul here, too. 2000-11-06 18:41:25 +00:00
Jim Meyering
ebecb3f230 *** empty log message *** 2000-11-06 17:42:19 +00:00
Jim Meyering
be34aaaa35 Update from master repository. 2000-11-06 17:42:11 +00:00
Jim Meyering
939977073e *** empty log message *** 2000-11-06 17:38:13 +00:00
Jim Meyering
17d7e0206d Update from latest version: 1.23. 2000-11-06 17:38:07 +00:00
Jim Meyering
c968981077 *** empty log message *** 2000-11-06 13:12:57 +00:00
Jim Meyering
23357a490e *** empty log message *** 2000-11-06 13:10:38 +00:00
Jim Meyering
c08ca675ac (print_header): Mark strings for translation. 2000-11-06 13:10:33 +00:00
Jim Meyering
25353ae5a7 *** empty log message *** 2000-11-06 10:24:36 +00:00
Jim Meyering
0e4c958fb8 (skip): st_size is not defined for directories. 2000-11-06 10:24:21 +00:00
Jim Meyering
8b6603f085 *** empty log message *** 2000-11-06 09:03:22 +00:00
Jim Meyering
a3dcaf6a83 *** empty log message *** 2000-11-06 09:02:21 +00:00
Jim Meyering
f00f8f6a9c *** empty log message *** 2000-11-06 08:55:34 +00:00
Jim Meyering
f472159d99 *** empty log message *** 2000-11-06 08:46:01 +00:00
30 changed files with 341 additions and 183 deletions

View File

@@ -30,6 +30,9 @@ po-check:
diff -u $@-1 $@-2
rm -f $@-1 $@-2
# Do not save the original name or timestamp in the .tar.gz file.
GZIP_ENV = --no-name
# Tag before making distribution. Also, don't make a distribution if
# checks fail. Also, make sure the NEWS file is up-to-date.
# FIXME: use dist-hook/my-dist like distcheck-hook/my-distcheck.
@@ -125,7 +128,7 @@ announcement: NEWS ChangeLog $(distdir).tar.gz
| grep -v '^\['; \
echo; \
echo ChangeLog entries:; \
find . -name ChangeLog \
find . -name ChangeLog -maxdepth 2 \
| xargs cvs diff -up -r$(prev-cvs-tag) -rHEAD \
| sed -n 's/^+//p' \
| perl -ne 'm!^\+\+ (\./)?! or print,next;' \

5
THANKS
View File

@@ -150,8 +150,9 @@ John Salmon johns@mullet.anu.edu.au
John Summerfield summer@OS2.ami.com.au
Joost van Baal joostvb@xs4all.nl
Joseph S. Myers jsm28@cam.ac.uk
jvogel jvogel@linkny.com
Jungshik Shin jshin@pantheon.yale.edu
Jürgen Fluk louis@dachau.marco.de
jvogel jvogel@linkny.com
Kai-Uwe Rommel rommel@informatik.tu-muenchen.de
Kalle Olavi Niemitalo tosi@stekt.oulu.fi
Kamal Paul Nigam Kamal_Paul_Nigam@gs35.sp.cs.cmu.edu
@@ -279,10 +280,12 @@ Vesselin Atanasov vesselin@bgnet.bg
Vin Shelton acs@alumni.princeton.edu
Volker Borchert bt@teknon.de
Wayne Stewart wstewa@atl.com
Wenjun Zheng zwj@yahoo.com
Wichert Akkerman wichert@cistron.nl
Will Edgington wedgingt@acm.org
William Bader william@nscs.fast.net
William Dowling will@franklin.com
William Lewis wiml@omnigroup.com
Wolfram Kleff kleff@cs.uni-bonn.de
Won-kyu Park wkpark@chem.skku.ac.kr
Zvi Har'El rl@math.technion.ac.il

View File

@@ -55,7 +55,7 @@ lifetime of the universe.
* Day of week items:: Monday and others.
* Relative items in date strings:: next tuesday, 2 years ago.
* Pure numbers in date strings:: 19931219, 1440.
* Authors of getdate:: Bellovin, Salz, Berets, et al.
* Authors of getdate:: Bellovin, Eggert, Salz, Berets, et al.
@end menu

View File

@@ -3,7 +3,7 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
\def\texinfoversion{2000-10-18.06}
\def\texinfoversion{2000-10-27.17}
%
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000
% Free Software Foundation, Inc.
@@ -2602,42 +2602,48 @@ width0pt\relax} \fi
}
% @defindex foo == \newindex{foo}
%
\def\defindex{\parsearg\newindex}
% Define @defcodeindex, like @defindex except put all entries in @code.
%
\def\defcodeindex{\parsearg\newcodeindex}
%
\def\newcodeindex#1{%
\iflinks
\expandafter\newwrite \csname#1indfile\endcsname
\openout \csname#1indfile\endcsname \jobname.#1
\fi
\expandafter\xdef\csname#1index\endcsname{%
\noexpand\docodeindex{#1}}
\noexpand\docodeindex{#1}}%
}
\def\defcodeindex{\parsearg\newcodeindex}
% @synindex foo bar makes index foo feed into index bar.
% Do this instead of @defindex foo if you don't want it as a separate index.
% The \closeout helps reduce unnecessary open files; the limit on the
% Acorn RISC OS is a mere 16 files.
\def\synindex#1 #2 {%
\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
\expandafter\closeout\csname#1indfile\endcsname
\expandafter\let\csname#1indfile\endcsname=\synindexfoo
\expandafter\xdef\csname#1index\endcsname{% define \xxxindex
\noexpand\doindex{#2}}%
}
%
% @syncodeindex foo bar similar, but put all entries made for index foo
% inside @code.
\def\syncodeindex#1 #2 {%
\expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
\expandafter\closeout\csname#1indfile\endcsname
\expandafter\let\csname#1indfile\endcsname=\synindexfoo
\expandafter\xdef\csname#1index\endcsname{% define \xxxindex
\noexpand\docodeindex{#2}}%
%
\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
% #3 the target index (bar).
\def\dosynindex#1#2#3{%
% Only do \closeout if we haven't already done it, else we'll end up
% closing the target index.
\expandafter \ifx\csname donesynindex#2\endcsname \undefined
% The \closeout helps reduce unnecessary open files; the limit on the
% Acorn RISC OS is a mere 16 files.
\expandafter\closeout\csname#2indfile\endcsname
\expandafter\let\csname\donesynindex#2\endcsname = 1
\fi
% redefine \fooindfile:
\expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
\expandafter\let\csname#2indfile\endcsname=\temp
% redefine \fooindex:
\expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
}
% Define \doindex, the driver for all \fooindex macros.

View File

@@ -1,3 +1,22 @@
2000-11-10 Jim Meyering <meyering@lucent.com>
* obstack.h: Update from GNU libc.
* obstack.c: Likewise.
2000-11-03 Bruno Haible <haible@clisp.cons.org>
* unicodeio.c: Include wchar.h.
(wcrtomb): Provide fallback definition for broken platforms.
(print_unicode_char): New alternative definition for platforms where
wchar_t is Unicode.
2000-11-06 Paul Eggert <eggert@twinsun.com>
* getusershell.c (setusershell): Use rewind rather than
fseek/fseeko, to avoid configuration hassles with fseeko.
Don't bother opening SHELLS_FILE if shellstream is NULL;
it's not necessary.
2000-11-05 Jim Meyering <meyering@lucent.com>
* makepath.h (make_dir): Declare.
@@ -11,22 +30,22 @@
2000-11-02 Vesselin Atanasov <vesselin@bgnet.bg>
* lib/fnmatch.c: Do not comment out all the code if we are using
* fnmatch.c: Do not comment out all the code if we are using
the GNU C library, because in some cases we are replacing buggy
code in the GNU C library itself.
2000-10-30 Paul Eggert <eggert@twinsun.com>
* lib/error.h, lib/getline.h, lib/modechange.h:
* error.h, getline.h, modechange.h:
Remove "2000" from Copyright line, as the file hasn't been
changed this year other than in the copyright notice.
* lib/xalloc.h: Add "2000" to Copyright line, as this file
* xalloc.h: Add "2000" to Copyright line, as this file
was changed this year.
2000-10-30 Paul Eggert <eggert@twinsun.com>
* lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
* fnmatch.c (FOLD): Do not assume that characters are unsigned.
(fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
@@ -55,6 +74,7 @@
* memcmp.c: Likewise.
* getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
Avoid using fseek, when possible -- it's broken by design.
Patch by Ulrich Drepper.
2000-10-26 Jim Meyering <meyering@lucent.com>

View File

@@ -100,16 +100,8 @@ void
setusershell ()
{
default_index = 0;
if (shellstream == NULL)
shellstream = fopen (SHELLS_FILE, "r");
else
{
#ifdef HAVE_FSEEKO
fseeko (shellstream, 0, 0);
#else
fseek (shellstream, 0L, 0);
#endif
}
if (shellstream)
rewind (shellstream);
}
/* Close the shells file. */

View File

@@ -524,20 +524,20 @@ int (obstack_make_room) (obstack, length)
return obstack_make_room (obstack, length);
}
void (obstack_grow) (obstack, pointer, length)
void (obstack_grow) (obstack, data, length)
struct obstack *obstack;
POINTER pointer;
const POINTER data;
int length;
{
obstack_grow (obstack, pointer, length);
obstack_grow (obstack, data, length);
}
void (obstack_grow0) (obstack, pointer, length)
void (obstack_grow0) (obstack, data, length)
struct obstack *obstack;
POINTER pointer;
const POINTER data;
int length;
{
obstack_grow0 (obstack, pointer, length);
obstack_grow0 (obstack, data, length);
}
void (obstack_1grow) (obstack, character)
@@ -581,20 +581,20 @@ POINTER (obstack_alloc) (obstack, length)
return obstack_alloc (obstack, length);
}
POINTER (obstack_copy) (obstack, pointer, length)
POINTER (obstack_copy) (obstack, address, length)
struct obstack *obstack;
POINTER pointer;
const POINTER address;
int length;
{
return obstack_copy (obstack, pointer, length);
return obstack_copy (obstack, address, length);
}
POINTER (obstack_copy0) (obstack, pointer, length)
POINTER (obstack_copy0) (obstack, address, length)
struct obstack *obstack;
POINTER pointer;
const POINTER address;
int length;
{
return obstack_copy0 (obstack, pointer, length);
return obstack_copy0 (obstack, address, length);
}
# endif /* __STDC__ */

View File

@@ -13,11 +13,11 @@
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.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
@@ -219,18 +219,18 @@ void obstack_init (struct obstack *obstack);
void * obstack_alloc (struct obstack *obstack, int size);
void * obstack_copy (struct obstack *obstack, void *address, int size);
void * obstack_copy0 (struct obstack *obstack, void *address, int size);
void * obstack_copy (struct obstack *obstack, const void *address, int size);
void * obstack_copy0 (struct obstack *obstack, const void *address, int size);
void obstack_free (struct obstack *obstack, void *block);
void obstack_blank (struct obstack *obstack, int size);
void obstack_grow (struct obstack *obstack, void *data, int size);
void obstack_grow0 (struct obstack *obstack, void *data, int size);
void obstack_grow (struct obstack *obstack, const void *data, int size);
void obstack_grow0 (struct obstack *obstack, const void *data, int size);
void obstack_1grow (struct obstack *obstack, int data_char);
void obstack_ptr_grow (struct obstack *obstack, void *data);
void obstack_ptr_grow (struct obstack *obstack, const void *data);
void obstack_int_grow (struct obstack *obstack, int data);
void * obstack_finish (struct obstack *obstack);
@@ -240,7 +240,7 @@ int obstack_object_size (struct obstack *obstack);
int obstack_room (struct obstack *obstack);
void obstack_make_room (struct obstack *obstack, int size);
void obstack_1grow_fast (struct obstack *obstack, int data_char);
void obstack_ptr_grow_fast (struct obstack *obstack, void *data);
void obstack_ptr_grow_fast (struct obstack *obstack, const void *data);
void obstack_int_grow_fast (struct obstack *obstack, int data);
void obstack_blank_fast (struct obstack *obstack, int size);
@@ -387,7 +387,7 @@ __extension__ \
int __len = (length); \
if (__o->next_free + __len > __o->chunk_limit) \
_obstack_newchunk (__o, __len); \
_obstack_memcpy (__o->next_free, (char *) (where), __len); \
_obstack_memcpy (__o->next_free, (const char *) (where), __len); \
__o->next_free += __len; \
(void) 0; })
@@ -397,7 +397,7 @@ __extension__ \
int __len = (length); \
if (__o->next_free + __len + 1 > __o->chunk_limit) \
_obstack_newchunk (__o, __len + 1); \
_obstack_memcpy (__o->next_free, (char *) (where), __len); \
_obstack_memcpy (__o->next_free, (const char *) (where), __len); \
__o->next_free += __len; \
*(__o->next_free)++ = 0; \
(void) 0; })
@@ -419,7 +419,7 @@ __extension__ \
({ struct obstack *__o = (OBSTACK); \
if (__o->next_free + sizeof (void *) > __o->chunk_limit) \
_obstack_newchunk (__o, sizeof (void *)); \
*((void **)__o->next_free)++ = ((void *)datum); \
*((void **)__o->next_free)++ = ((const void *)datum); \
(void) 0; })
# define obstack_int_grow(OBSTACK,datum) \

View File

@@ -1,70 +0,0 @@
/* Derived from the example in the OSF1 knlist manpage.
OSF1 spe154.testdrive.compaq.com V5.0 1094 alpha
aka (w/my private hostname compaq-tru64-50a) */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <nlist.h>
#ifndef FD_CLOEXEC
# define FD_CLOEXEC 1
#endif
#ifndef LDAV_SYMBOL
# define LDAV_SYMBOL "_avenrun"
#endif
int
main ()
{
struct nlist nl[2];
int retval;
long offset;
nl[0].n_name = LDAV_SYMBOL;
nl[1].n_name = "";
/*******************************************************/
/* Call the knlist routine */
retval = knlist (nl);
/******************************************************/
/* Display addresses if returned. Otherwise, display */
/* the appropriate error message. */
if (retval < 0)
{
printf ("No kernel symbol addresses returned.\n");
exit (1);
}
if (nl[0].n_type == 0)
{
printf ("Unable to return address of symbol %s\n", nl[0].n_name);
exit (1);
}
offset = nl[0].n_value;
printf ("The address of symbol %s is %lx\n", nl[0].n_name, offset);
{
double load_ave[3];
int channel = open ("/dev/kmem", 0);
if (channel < 0)
{
printf ("open failed\n");
exit (1);
}
#ifdef FD_SETFD
(void) fcntl (channel, F_SETFD, FD_CLOEXEC);
#endif
if (lseek (channel, offset, 0) == -1L
|| read (channel, (char *) load_ave, sizeof (load_ave))
!= sizeof (load_ave))
{
close (channel);
}
}
exit (0);
}

View File

@@ -1,3 +1,7 @@
2000-11-03 Bruno Haible <haible@clisp.cons.org>
* jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
2000-11-04 Jim Meyering <meyering@lucent.com>
* regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.

View File

@@ -1,4 +1,4 @@
#serial 26
#serial 27
dnl Misc type-related macros for fileutils, sh-utils, textutils.
@@ -176,6 +176,7 @@ AC_DEFUN(jm_MACROS,
strerror \
strrchr \
sysinfo \
wcrtomb \
tzset \
)

View File

@@ -27,7 +27,7 @@ use Text::Tabs qw(expand);
use POSIX qw(strftime setlocale LC_TIME);
my $this_program = 'help2man';
my $this_version = '1.022';
my $this_version = '1.23';
my $version_info = <<EOT;
GNU $this_program $this_version
@@ -269,9 +269,11 @@ s/^\n+//;
s/\n*$/\n/;
s/\n\n+/\n\n/g;
# Temporarily exchange leading dots and backslashes for tokens.
# Temporarily exchange leading dots, apostrophes and backslashes for
# tokens.
s/^\./\x80/mg;
s/\\/\x81/g;
s/^'/\x81/mg;
s/\\/\x82/g;
# Start a new paragraph (if required) for these.
s/([^\n])\n(Report +bugs|Email +bug +reports +to|Written +by)/$1\n\n$2/g;
@@ -366,7 +368,7 @@ while (length)
{
$matched .= $& if %append;
$indent = length ($4 || "$1$3");
$content = ".TP\n\x82$2\n\x82$5\n";
$content = ".TP\n\x83$2\n\x83$5\n";
unless ($4)
{
# Indent may be different on second line.
@@ -378,7 +380,7 @@ while (length)
elsif (s/^ {1,10}([+-]\S.*)\n//)
{
$matched .= $& if %append;
$content = ".HP\n\x82$1\n";
$content = ".HP\n\x83$1\n";
$indent = 80; # not continued
}
@@ -387,7 +389,7 @@ while (length)
{
$matched .= $& if %append;
$indent = length $1;
$content = ".TP\n\x82$2\n\x82$3\n";
$content = ".TP\n\x83$2\n\x83$3\n";
}
# Indented paragraph.
@@ -395,7 +397,7 @@ while (length)
{
$matched .= $& if %append;
$indent = length $1;
$content = ".IP\n\x82$2\n";
$content = ".IP\n\x83$2\n";
}
# Left justified paragraph.
@@ -411,7 +413,7 @@ while (length)
while (s/^ {$indent}(\S.*)\n//)
{
$matched .= $& if %append;
$content .= "\x82$1\n"
$content .= "\x83$1\n"
}
# Move to next paragraph.
@@ -419,9 +421,10 @@ while (length)
for ($content)
{
# Leading dot protection.
s/\x82\./\x80/g;
s/\x82//g;
# Leading dot and apostrophe protection.
s/\x83\./\x80/g;
s/\x83'/\x81/g;
s/\x83//g;
# Convert options.
s/(^| )(-[][\w=-]+)/$1 . convert_option $2/mge;
@@ -485,9 +488,10 @@ for (@pre, (grep ! /^($filter)$/o, @include), @post)
for ($include{$_})
{
# Replace leading dot an backslash tokens.
# Replace leading dot, apostrophe and backslash tokens.
s/\x80/\\&./g;
s/\x81/\\e/g;
s/\x81/\\&'/g;
s/\x82/\\e/g;
print;
}
}

View File

@@ -1,3 +1,58 @@
2000-11-11 Jim Meyering <meyering@lucent.com>
* Version 4.0.32.
* Makefile.maint (GZIP_ENV): Define to --no-name, so the timestamp
is not included in the .tar.gz file.
* tests/mkdir/perm (tests): Use `empty' (instead of just blanks) to
indicate no `-m' option. Using just blanks wasn't portable to
Solaris2.5.1's /bin/sh.
* tests/mkdir/perm: Don't put a newline in IFS; that's not portable to
NetBSD's /bin/sh. Instead, filter newlines and leading/trailing blanks
out of `tests' before the `set -'.
* Makefile.maint (announcement): Limit depth of ChangeLog `find' to 2.
* src/ls.c (print_long_format): Wrap the `--full-time' date format
string in _(...), so it too may be internationalized.
Suggestion from Jungshik Shin.
2000-11-10 Jim Meyering <meyering@lucent.com>
* src/touch.c (main): Interpret a lone numeric argument of 8 or 10
digits as a file name, rather than as a date/time in the obsolescent
`MMDDhhmm[YY]' format. Reported by Wenjun Zheng.
* tests/touch/obsolescent: New test for this.
* tests/touch/Makefile.am (TESTS): Add obsolescent.
2000-11-06 Jim Meyering <meyering@lucent.com>
* tests/cp/cp-parents: Move mkdir tests into ../mkdir.
* doc/fileutils.texi: Use Free Documentation Licence.
Change GNU to @sc{gnu} in many places.
* doc/texinfo.tex: Update from master repository.
* config.sub: Likewise.
* config.guess: Likewise.
* man/help2man: Update from latest version: 1.23.
* src/mkdir.c: Do not set the permissions of the final directory
component if it was not just created.
Based on a patch from Volker Borchert.
* tests/rwx-to-mode: New file.
* tests/Makefile.am (EXTRA_DIST): Add rwx-to-mode.
* tests/mkdir/parents: New test for the above mkdir.c fix.
* tests/mkdir/Makefile.am (TESTS): Add parents.
(TESTS_ENVIRONMENT): Define srcdir=$(srcdir).
2000-11-02 Won-kyu Park <wkpark@chem.skku.ac.kr>
* src/df.c (print_header): Mark strings for translation.
2000-11-05 Jim Meyering <meyering@lucent.com>
* Version 4.0.31.

View File

@@ -1,4 +1,10 @@
Changes in release 4.01:
[4.0.32]
* touch now interprets a lone numeric argument of 8 or 10 digits as a file name,
rather than as a date/time in the obsolescent `MMDDhhmm[YY]' format.
* mkdir no longer sets the permissions of the final directory component
if it already exists (this bug, too, was introduced recently)
* ls's --full-time format string is now local dependent
[4.0.31]
* mkdir: fix a bug introduced in 4.0.30 whereby `mkdir existing-dir' would
succeed. Now it fails, as it should (and used to).

View File

@@ -1,3 +1,7 @@
2000-11-06 Paul Eggert <eggert@twinsun.com>
* src/od.c (skip): st_size is not defined for directories.
2000-11-03 Jim Meyering <meyering@lucent.com>
* tests/sha1sum/sample-vec: New file, with tests derived from

View File

@@ -149,19 +149,19 @@ static struct option const long_options[] =
static void
print_header (void)
{
printf ("Filesystem ");
printf (_("Filesystem "));
if (print_type)
printf (" Type");
printf (_(" Type"));
else
printf (" ");
if (inode_format)
printf (" Inodes IUsed IFree IUse%%");
printf (_(" Inodes IUsed IFree IUse%%"));
else if (output_block_size < 0)
printf (" Size Used Avail Use%%");
printf (_(" Size Used Avail Use%%"));
else if (posix_format)
printf (" %4d-blocks Used Available Capacity", output_block_size);
printf (_(" %4d-blocks Used Available Capacity"), output_block_size);
else
{
char buf[LONGEST_HUMAN_READABLE + 1];
@@ -172,10 +172,10 @@ print_header (void)
if (3 <= plen && strncmp (p + plen - 3, ".0", 2) == 0)
strcpy (p + plen - 3, p + plen - 1);
printf (" %4s-blocks Used Available Use%%", p);
printf (_(" %4s-blocks Used Available Use%%"), p);
}
printf (" Mounted on\n");
printf (_(" Mounted on\n"));
}
/* If FSTYPE is a type of filesystem that should be listed,

View File

@@ -2370,7 +2370,7 @@ print_long_format (const struct fileinfo *f)
if (full_time)
{
fmt = "%a %b %d %H:%M:%S %Y";
fmt = _("%a %b %d %H:%M:%S %Y");
}
else
{

View File

@@ -174,7 +174,10 @@ main (int argc, char **argv)
This extra step is necessary in some cases when the containing
directory has a default ACL. */
if (fail == 0 && specified_mode)
/* Set the permissions only if this directory has just
been created. */
if (fail == 0 && specified_mode && dir_created)
{
fail = chmod (dir, newmode);
if (fail)

View File

@@ -1003,12 +1003,12 @@ skip (off_t n_skip)
continue;
}
/* The st_size field is valid only for regular files and
directories. FIXME: is the preceding true?
/* The st_size field is valid only for regular files
(and for symbolic links, which cannot occur here).
If the number of bytes left to skip is at least as large as
the size of the current file, we can decrement
n_skip and go on to the next file. */
if (S_ISREG (file_stats.st_mode) || S_ISDIR (file_stats.st_mode))
if (S_ISREG (file_stats.st_mode))
{
if (n_skip >= file_stats.st_size)
{

View File

@@ -334,7 +334,9 @@ main (int argc, char **argv)
date_set++;
}
if (!date_set && optind < argc && !STREQ (argv[optind - 1], "--"))
/* The obsolescent `MMDDhhmm[YY]' form is valid IFF there are
two or more non-option arguments. */
if (!date_set && 2 <= argc - optind && !STREQ (argv[optind - 1], "--"))
{
newtime = posixtime (argv[optind], PDS_TRAILING_YEAR);
if (newtime != (time_t) -1)

View File

@@ -20,7 +20,7 @@ framework_failure=0
mkdir $tmp || framework_failure=1
cd $tmp || framework_failure=1
mkdir foo bar || framework_failure=1
mkdir -p a/b/c d e e-dir || framework_failure=1
mkdir -p a/b/c d e || framework_failure=1
if test $framework_failure = 1; then
echo 'failure in testing framework'
@@ -45,9 +45,4 @@ p=`ls -ld e/d|sed 's/ .*//'`; case $p in drwxr-xr-x);; *) fail=1;; esac
p=`ls -ld e/d/a|sed 's/ .*//'`; case $p in drwx-w--w-);; *) fail=1;; esac
p=`ls -ld e/d/a/b/c|sed 's/ .*//'`; case $p in drwxr-xr-x);; *) fail=1;; esac
# Make sure `mkdir -p existing-dir' succeeds
# and that `mkdir existing-dir' fails.
mkdir -p e-dir || fail=1
mkdir e-dir > /dev/null 2>&1 && fail=1
(exit $fail); exit

View File

@@ -7,5 +7,5 @@ environment variable set to yes. E.g.,
env RUN_EXPENSIVE_TESTS=yes make check
EOF
exit 77
(exit 77); exit
fi

View File

@@ -1,7 +1,8 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*-.
AUTOMAKE_OPTIONS = 1.1 gnits
TESTS = p-1 p-2 special-1 perm
TESTS = p-1 p-2 special-1 perm parents
EXTRA_DIST = $(TESTS)
TESTS_ENVIRONMENT = \
srcdir=$(srcdir) \
PATH=`pwd`/../../src:$$PATH

View File

@@ -118,9 +118,10 @@ l = @l@
AUTOMAKE_OPTIONS = 1.1 gnits
TESTS = p-1 p-2 special-1 perm
TESTS = p-1 p-2 special-1 perm parents
EXTRA_DIST = $(TESTS)
TESTS_ENVIRONMENT = \
srcdir=$(srcdir) \
PATH=`pwd`/../../src:$$PATH
subdir = tests/mkdir

67
tests/mkdir/parents Executable file
View File

@@ -0,0 +1,67 @@
#!/bin/sh
# make sure mkdir's -p options works properly
if test "$VERBOSE" = yes; then
set -x
mkdir --version
fi
pwd=`pwd`
tmp=parents-$$
trap 'status=$?; cd $pwd; rm -rf $tmp && exit $status' 0
trap '(exit $?); exit' 1 2 13 15
framework_failure=0
# Record absolute path of srcdir.
cd $srcdir || framework_failure=1
abs_srcdir=`pwd`
cd $pwd || framework_failure=1
mkdir $tmp || framework_failure=1
cd $tmp || framework_failure=1
mkdir -m 700 e-dir || framework_failure=1
if test $framework_failure = 1; then
echo 'failure in testing framework'
(exit 1); exit
fi
fail=0
p=`ls -ld e-dir|sed 's/ .*//'`
case $p in drwx------);; *) fail=1;; esac
if test $fail = 1; then
cat <<EOF >&2
$0: Since it looks like you're running this test in a directory with
the sticky bit set, we're skipping this test.
EOF
(exit 77); exit
fi
# Make sure `mkdir -p existing-dir' succeeds
# and that `mkdir existing-dir' fails.
mkdir -p e-dir || fail=1
mkdir e-dir > /dev/null 2>&1 && fail=1
# Create an existing directory.
umask 077
mode_str=drwxr-x-wx
mode_arg=`$abs_srcdir/../rwx-to-mode $mode_str`
mkdir -m $mode_arg a || fail=1
# this `mkdir -p ...' shouldn't change perms of existing dir `a'.
d_mode_str=drwx-w--wx
d_mode_arg=`$abs_srcdir/../rwx-to-mode $d_mode_str`
mkdir -p -m $d_mode_arg a/b/c/d
# Make sure the permissions of `a' haven't been changed.
p=`ls -ld a|sed 's/ .*//'`; case $p in $mode_str);; *) fail=1;; esac
# `b's and `c's should reflect the umask
p=`ls -ld a/b|sed 's/ .*//'`; case $p in drwx------);; *) fail=1;; esac
p=`ls -ld a/b/c|sed 's/ .*//'`; case $p in drwx------);; *) fail=1;; esac
# `d's perms are determined by the -m argument.
p=`ls -ld a/b/c/d|sed 's/ .*//'`; case $p in $d_mode_str);; *) fail=1;; esac
(exit $fail); exit

View File

@@ -9,7 +9,7 @@ fi
pwd=`pwd`
tmp=perm.$$
trap 'status=$?; cd $pwd; rm -rf $tmp && exit $status' 0
trap 'status=$?; cd $pwd; chmod -R u+rwx $tmp; rm -rf $tmp && exit $status' 0
trap '(exit $?); exit' 1 2 13 15
framework_failure=0
@@ -26,27 +26,27 @@ fail=0
# parent parent/dir
# umask -m option resulting perm resulting perm
tests='
000 : :drwxrwxrwx:drwxrwxrwx:
000 : -m 016 :drwxrwxrwx:d-----xrw-:
077 : :drwx------:drwx------:
050 : :drwx-w-rwx:drwx-w-rwx:
050 : -m 312 :drwx-w-rwx:d-wx--x-w-:
160 : :drwx--xrwx:drw---xrwx:
160 : -m 743 :drwx--xrwx:drwxr---wx:
- : - :last:last:
000 : empty : drwxrwxrwx : drwxrwxrwx :
000 : -m 016 : drwxrwxrwx : d-----xrw- :
077 : empty : drwx------ : drwx------ :
050 : empty : drwx-w-rwx : drwx-w-rwx :
050 : -m 312 : drwx-w-rwx : d-wx--x-w- :
160 : empty : drwx--xrwx : drw---xrwx :
160 : -m 743 : drwx--xrwx : drwxr---wx :
- : - : last : last :
'
for p in empty -p; do
test _$p = _empty && p=
old_IFS=$IFS
IFS=':
'
set - $tests
IFS=':'
set - `echo "$tests"|tr -d '\012'|sed 's/^ *//;s/ *:/:/g;s/: */:/g'`
IFS=$old_IFS
while :; do
test "$VERBOSE" = yes && set -x
umask=$1 mode=$2 parent_perms=$3 sub_perms=$4
test "_$mode" = _empty && mode=
test $sub_perms = last && break
# echo p=$p umask=$1 mode=$2 parent_perms=$3 sub_perms=$4
shift; shift; shift; shift

31
tests/rwx-to-mode Executable file
View File

@@ -0,0 +1,31 @@
#!/bin/sh
# Convert an ls-style permission string, like drwxr----x and -rw-r-x-wx
# to the equivalent chmod --mode (-m) argument, (=,u=rwx,g=r,o=x and
# =,u=rw,g=rx,o=wx).
case $# in
1) rwx=$1;;
*) echo "$0: wrong number of arguments" 1>&2
echo "Usage: $0 ls-style-mode-string" 1>&2
exit 1;;
esac
case $rwx in
[ld-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxsS-][rwx-][rwx-][rwxtT-]) ;;
*) echo "$0: invalid mode string: $rwx" 1>&2; exit 1;;
esac
# Perform these conversions:
# S s
# s xs
# T t
# t xt
# The `T' and `t' ones are only valid for `other'.
s='s/S/@/;s/s/x@/;s/@/s/'
t='s/T/@/;s/t/x@/;s/@/t/'
u=`echo $rwx|sed 's/^.\(...\).*/,u=\1/;s/-//g;s/^,u=$//;'$s`
g=`echo $rwx|sed 's/^....\(...\).*/,g=\1/;s/-//g;s/^,g=$//;'$s`
o=`echo $rwx|sed 's/^.......\(...\).*/,o=\1/;s/-//g;s/^,o=$//;'$s';'$t`
echo "=$u$g$o"
exit 0

View File

@@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*-.
AUTOMAKE_OPTIONS = 1.3 gnits
TESTS = dir-1 dangling-symlink empty-file fifo no-rights
TESTS = dir-1 dangling-symlink empty-file fifo no-rights obsolescent
EXTRA_DIST = $(TESTS)
TESTS_ENVIRONMENT = \
host_triplet=$(host_triplet) \

View File

@@ -118,7 +118,7 @@ l = @l@
AUTOMAKE_OPTIONS = 1.3 gnits
TESTS = dir-1 dangling-symlink empty-file fifo no-rights
TESTS = dir-1 dangling-symlink empty-file fifo no-rights obsolescent
EXTRA_DIST = $(TESTS)
TESTS_ENVIRONMENT = \
host_triplet=$(host_triplet) \

30
tests/touch/obsolescent Executable file
View File

@@ -0,0 +1,30 @@
#!/bin/sh
# make sure touch succeeds with a single 8- or 10-digit file name argument
if test "$VERBOSE" = yes; then
set -x
touch --version
fi
pwd=`pwd`
tmp=obsol.$$
trap 'status=$?; cd $pwd; rm -rf $tmp && exit $status' 0
trap '(exit $?); exit' 1 2 13 15
framework_failure=0
mkdir $tmp || framework_failure=1
cd $tmp || framework_failure=1
if test $framework_failure = 1; then
echo 'failure in testing framework'
(exit 1); exit
fi
fail=0
for ones in 11111111 1111111111; do
touch $ones || fail=1
test -f $ones || fail=1
done
(exit $fail); exit