Patches 10513, 10516 (Alexandre), 10519 (Oliver), 10524

This commit is contained in:
Peter Stephenson 2000-04-05 19:28:07 +00:00
parent 80ac43783a
commit 3acc9f80ef
8 changed files with 1188 additions and 1321 deletions

View file

@ -1,6 +1,6 @@
DISTFILES_SRC='
.cvsignore .distfiles Makefile.in
ChangeLog ChangeLog.3.0 INSTALL META-FAQ README
.cvsignore .distfiles .preconfig Makefile.in
ChangeLog ChangeLog.3.0 INSTALL LICENCE META-FAQ README
acconfig.h aclocal.m4 aczsh.m4 configure.in
configure config.h.in stamp-h.in
config.guess config.sub install-sh mkinstalldirs

View file

@ -1,3 +1,16 @@
2000-04-05 Peter Stephenson <pws@pwstephenson.fsnet.co.uk>
* 10524: Util/mkdisttree.sh: always copy files to tarred tree;
chmod g-s.
* Oliver: 10519: Src/utils.c, Doc/Zsh/compsys.yo: AIX dependencies
and minor typo in docs.
* Alexandre: 10516: Completion/User/_prcs: diff options behaviour.
* 10513: Src/glob.c, Doc/Zsh/expn.yo: glob order qualifier (od)
implements depth-first ordering.
2000-04-05 Bart Schaefer <schaefer@zsh.org>
* 10499: Makefile.in: Dependencies relative to $(sdir).

View file

@ -5,7 +5,7 @@
(( $+functions[_prcs_projects] )) ||
_prcs_projects() {
compadd $@ - ${opt_args[-R]:-${opt_args[--repository]:-${PRCS_REPOSITORY:-$HOME/PRCS}}}/*(/:t)
compadd $@ - ${~opt_args[-R]:-${opt_args[--repository]:-${PRCS_REPOSITORY:-$HOME/PRCS}}}/*(/:t)
}
# standard options for all subcommands
@ -65,6 +65,7 @@ else
compress\:"instruct PRCS to save disk space for project"
init\:"create a repository entry"
pdelete\:"delete a repository entry"
pinfo\:"list all projects in the repository"
prename\:"rename a repository entry"
rebuild\:"reconstruct PRCS data files in the repository"
uncompress\:"instruct PRCS to save time in processing project"))'
@ -75,11 +76,17 @@ else
access|compress|init|pdelete|prename|rebuild)
_prcs_arguments ':project name:_prcs_projects'
;;
pinfo)
_prcs_arguments
;;
uncompress)
_prcs_arguments \
'-i[expand the entire project immediately]' \
':project name:_prcs_projects'
;;
*)
_message "unknown prcs administrative subfunction: $words[1]"
;;
esac
fi
;;
@ -120,11 +127,6 @@ else
'*:file or directory:_files'
;;
diff)
#
# FIXME: when there will be a _diff completion function,
# we should complete with diff options after `--' :
# prcs diff [OPTION ...] [PROJECT [FILE-OR-DIR ...]] [-- [DIFF-OPTION ...]]
#
_prcs_arguments \
'*--revison=[version of the project]:revision:' \
'*-r[version of the project]:revision:' \
@ -134,6 +136,7 @@ else
'(--new)-N[compare new files against empty files]' \
"(-P)--exclude-project-file[don't diff the project file]" \
"(--exclude-project-file)-P[don't diff the project file]" \
'--[introduce diff options]:*::diff options:= _diff_options ${PRCS_DIFF_COMMAND:-diff}' \
':project name:_prcs_projects' \
'*:file or directory:_files'
;;
@ -197,7 +200,7 @@ else
':project name:_prcs_projects'
;;
*)
_message "unknown prcs command: $words[2]"
_message "unknown prcs command: $words[1]"
;;
esac
fi

View file

@ -2794,7 +2794,7 @@ are taken from the array parameter tt(expl) which will be set up
before executing the var(action) and hence may be used in it (normally
in an expansion like `tt($expl[@])').
If the var(action) starts with `tt(= )' (a equal sign followed by a
If the var(action) starts with `tt(= )' (an equals sign followed by a
space), tt(_arguments) will insert the contents of the var(argument)
field of the current context as the new first element in the tt(words)
special array and increments the value of the tt(CURRENT) special

View file

@ -1619,19 +1619,24 @@ pindex(NUMERIC_GLOB_SORT, setting in pattern)
)
item(tt(o)var(c))(
specifies how the names of the files should be sorted. If var(c) is
tt(n) they are sorted by name (the default), if it is tt(L) they
are sorted depending on the size (length) of the files, if tt(l)
they are sorted by the number of links, and if tt(a), tt(m), and tt(c)
tt(n) they are sorted by name (the default); if it is tt(L) they
are sorted depending on the size (length) of the files; if tt(l)
they are sorted by the number of links; if tt(a), tt(m), or tt(c)
they are sorted by the time of the last access, modification, or
inode change respectively. Note that tt(a), tt(m), and tt(c) compare
the age against the current time, hence the first name in the list is the
the youngest file. Also note that the modifiers tt(^) and tt(-) are
used, so `tt(*(^-oL))' gives a list of all files sorted by file size in
descending order, following any symbolic links.
inode change respectively; if var(d), files in subdirectories appear before
those in the current directory at each level of the search --- this is best
combined with other criteria, for example `tt(odon)' to sort on names for
files within the same directory. Note that tt(a), tt(m), and tt(c) compare
the age against the current time, hence the first name in the list is the
the youngest file. Also note that the modifiers tt(^) and tt(-) are used,
so `tt(*(^-oL))' gives a list of all files sorted by file size in descending
order, following any symbolic links.
)
item(tt(O)var(c))(
like `tt(o)', but sorts in descending order; i.e. `tt(*(^oc))' is the
same as `tt(*(Oc))' and `tt(*(^Oc))' is the same as `tt(*(oc))'
same as `tt(*(Oc))' and `tt(*(^Oc))' is the same as `tt(*(oc))'; `tt(OD)'
puts files in the current directory before those in subdirectories at each
level of the search.
)
item(tt([)var(beg)[tt(,)var(end)]tt(]))(
specifies which of the matched filenames should be included in the

2423
Src/glob.c

File diff suppressed because it is too large Load diff

View file

@ -2681,7 +2681,7 @@ niceztrdup(char const *s)
}
/**/
char *
mod_export char *
nicedupstring(char const *s)
{
return nicedup(s, 1);

View file

@ -42,10 +42,13 @@ sed_separate='
s/;;*/;/g
'
filelist=filelist$$
trap 'rm -f $filelist; rm -rf $disttree; exit 1' 1 2 15
(
cd $sdir_top
find . \( -name '*.*' -prune -false \) -o \( -name .distfiles -print \)
) | while read dfn; do
find . -name '*.*' -prune -o -name .distfiles -print
) > $filelist
( while read dfn; do
subdir=`echo $dfn | sed 's,/\.distfiles$,,'`
echo >&2 "Processing directory $subdir..."
eval "DISTFILES_$type="
@ -55,15 +58,15 @@ sed_separate='
cmds=`echo "$distfiles" | sed -e "$sed_separate"`
eval "$cmds"
if test -n "$deplist" && test -f $dir_top/$subdir/Makefile; then
( cd $dir_top/$subdir && "$@" $deplist ) || exit 1
( trap '' 1 2 15; cd $dir_top/$subdir && "$@" $deplist ) || exit 1
fi
$sdir_top/mkinstalldirs $disttree/$subdir || exit 1
for f in $deplist `test -z "$globlist" || ( cd $dir_top/$subdir && eval "echo $globlist")`; do
if test -f $dir_top/$subdir/$f; then
ln $dir_top/$subdir/$f $disttree/$subdir/$f || \
# ln $dir_top/$subdir/$f $disttree/$subdir/$f || \
cp -p $dir_top/$subdir/$f $disttree/$subdir/$f || exit 1
elif test -f $sdir_top/$subdir/$f; then
ln $sdir_top/$subdir/$f $disttree/$subdir/$f || \
# ln $sdir_top/$subdir/$f $disttree/$subdir/$f || \
cp -p $sdir_top/$subdir/$f $disttree/$subdir/$f || exit 1
else
echo >&2 "$0: can't find file $subdir/$f"
@ -71,6 +74,14 @@ sed_separate='
fi
done
fi
done
done ) < $filelist
exec chmod -R a+rX,u+w,go-w $disttree
status=$?
rm -f $filelist
trap '' 1 2 15
if test $status -ne 0; then
rm -rf $disttree
exit $status
fi
exec chmod -R a+rX,u+w,g-s,go-w $disttree