This commit is contained in:
parent
19400db04b
commit
0634d42bec
@ -14,13 +14,13 @@
|
|||||||
set noglob
|
set noglob
|
||||||
#
|
#
|
||||||
set hosts
|
set hosts
|
||||||
foreach _f ($HOME/.hosts /etc/csh.hosts $HOME/.rhosts /etc/hosts.equiv)
|
foreach _f ("$HOME/.hosts" /etc/csh.hosts "$HOME/.rhosts" /etc/hosts.equiv)
|
||||||
if ( -r $_f ) then
|
if ( -r $_f ) then
|
||||||
set hosts=($hosts `grep -E -shv '^#|\+' $_f |awk '{ print $1 }'`)
|
set hosts=($hosts `grep -E -shv '^#|\+' $_f |awk '{ print $1 }'`)
|
||||||
endif
|
endif
|
||||||
end
|
end
|
||||||
if ( -r $HOME/.netrc ) then
|
if ( -r "$HOME/.netrc" ) then
|
||||||
set _f=`awk '/machine/ { print $2 }' < $HOME/.netrc` >& /dev/null
|
set _f=`awk '/machine/ { print $2 }' < "$HOME/.netrc"` >& /dev/null
|
||||||
set hosts=($hosts $_f)
|
set hosts=($hosts $_f)
|
||||||
endif
|
endif
|
||||||
set hosts=(`echo $hosts localhost $HOSTNAME|tr ' ' '\n'|sort -u -t '.'`)
|
set hosts=(`echo $hosts localhost $HOSTNAME|tr ' ' '\n'|sort -u -t '.'`)
|
||||||
@ -37,7 +37,7 @@
|
|||||||
complete ispell c/-/"(a A b B C d D e ee f L m M p s S T v vv w W)"/ \
|
complete ispell c/-/"(a A b B C d D e ee f L m M p s S T v vv w W)"/ \
|
||||||
n/-d/"(english deutsch)"/ \
|
n/-d/"(english deutsch)"/ \
|
||||||
n/-T/"(tex plaintex nroff latin1 ascii atari)"/ \
|
n/-T/"(tex plaintex nroff latin1 ascii atari)"/ \
|
||||||
n@-p@'`ls -1 $HOME/.ispell_*`'@ \
|
n@-p@'`ls -1 "$HOME"/.ispell_*`'@ \
|
||||||
n/-W/"(1 2 3 4 5)"/ \
|
n/-W/"(1 2 3 4 5)"/ \
|
||||||
n/-L/x:'ispell -L <number>'/ \
|
n/-L/x:'ispell -L <number>'/ \
|
||||||
n/-f/t/ n/*/f:^*.{dvi,ps,a,o,gz,z,Z}/
|
n/-f/t/ n/*/f:^*.{dvi,ps,a,o,gz,z,Z}/
|
||||||
@ -191,7 +191,7 @@
|
|||||||
|
|
||||||
# these should be merged with the MH completion hacks below - jgotts
|
# these should be merged with the MH completion hacks below - jgotts
|
||||||
complete {sprev,snext} \
|
complete {sprev,snext} \
|
||||||
c@+@F:$HOME/Mail/@
|
c@+@F:"$HOME/Mail/"@
|
||||||
|
|
||||||
# these and interrupt handling from Jaap Vermeulen <jaap@sequent.com>
|
# these and interrupt handling from Jaap Vermeulen <jaap@sequent.com>
|
||||||
complete {rexec,rxexec,rxterm,rmterm} \
|
complete {rexec,rxexec,rxterm,rmterm} \
|
||||||
@ -239,10 +239,10 @@
|
|||||||
if ( $?SKIP_MH ) goto skip_mh
|
if ( $?SKIP_MH ) goto skip_mh
|
||||||
|
|
||||||
# Do not be fooled by asking MH tools
|
# Do not be fooled by asking MH tools
|
||||||
if ( ! -r $HOME/.mh_profile ) goto skip_mh
|
if ( ! -r "$HOME/.mh_profile" ) goto skip_mh
|
||||||
|
|
||||||
# Do not be fooled by broken MH profile
|
# Do not be fooled by broken MH profile
|
||||||
if ( ! `grep -cE '^Path:' $HOME/.mh_profile` ) goto skip_mh
|
if ( ! `grep -cE '^Path:' "$HOME/.mh_profile"` ) goto skip_mh
|
||||||
|
|
||||||
if ( ! $?FOLDERS ) then
|
if ( ! $?FOLDERS ) then
|
||||||
which folders >& /dev/null
|
which folders >& /dev/null
|
||||||
@ -557,7 +557,7 @@ skip_mh:
|
|||||||
kill password ping processlist reload refresh \
|
kill password ping processlist reload refresh \
|
||||||
shutdown status variables version)/'
|
shutdown status variables version)/'
|
||||||
set _muttalias=/dev/null
|
set _muttalias=/dev/null
|
||||||
foreach _f ($HOME/.muttrc-alias $HOME/.muttalias)
|
foreach _f ("$HOME/.muttrc-alias" "$HOME/.muttalias")
|
||||||
if ( -r $_f ) then
|
if ( -r $_f ) then
|
||||||
set _muttalias=$_f
|
set _muttalias=$_f
|
||||||
break
|
break
|
||||||
@ -667,14 +667,14 @@ skip_mh:
|
|||||||
endif
|
endif
|
||||||
complete unsetenv n/*/e/
|
complete unsetenv n/*/e/
|
||||||
|
|
||||||
if (-r $HOME/.mailrc) then
|
if (-r "$HOME/.mailrc") then
|
||||||
complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \
|
complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \
|
||||||
c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \
|
c@+@F:"$HOME/Mail"@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \
|
||||||
n@-u@T:$_maildir@ n/-f/f/ \
|
n@-u@T:$_maildir@ n/-f/f/ \
|
||||||
n@*@'`sed -n s/alias//p $HOME/.mailrc | tr -s " " "\t" | cut -f 2`'@
|
n@*@'`sed -n s/alias//p "$HOME/.mailrc" | tr -s " " "\t" | cut -f 2`'@
|
||||||
else
|
else
|
||||||
complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \
|
complete mail c/-/"(e i f n s u v)"/ c/*@/\$hosts/ \
|
||||||
c@+@F:$HOME/Mail@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \
|
c@+@F:"$HOME/Mail"@ C@[./\$~]@f@ n/-s/x:'<subject>'/ \
|
||||||
n@-u@T:$_maildir@ n/-f/f/ n/*/u/
|
n@-u@T:$_maildir@ n/-f/f/ n/*/u/
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:66129f5c288432741419c2bf6cf7567f7349b453acd25bbfc4bea0fd3d81a165
|
|
||||||
size 727440
|
|
94
tcsh-6.16.00-grabpgrp.dif
Normal file
94
tcsh-6.16.00-grabpgrp.dif
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
--- sh.c
|
||||||
|
+++ sh.c 25 Feb 2009 22:53:47 -0000
|
||||||
|
@@ -1103,17 +1103,7 @@
|
||||||
|
}
|
||||||
|
#endif /* NeXT */
|
||||||
|
#ifdef BSDJOBS /* if we have tty job control */
|
||||||
|
- retry:
|
||||||
|
- if ((tpgrp = tcgetpgrp(f)) != -1) {
|
||||||
|
- if (tpgrp != shpgrp) {
|
||||||
|
- struct sigaction old;
|
||||||
|
-
|
||||||
|
- sigaction(SIGTTIN, NULL, &old);
|
||||||
|
- signal(SIGTTIN, SIG_DFL);
|
||||||
|
- (void) kill(0, SIGTTIN);
|
||||||
|
- sigaction(SIGTTIN, &old, NULL);
|
||||||
|
- goto retry;
|
||||||
|
- }
|
||||||
|
+ if (grabpgrp(f, shpgrp) != -1) {
|
||||||
|
/*
|
||||||
|
* Thanks to Matt Day for the POSIX references, and to
|
||||||
|
* Paul Close for the SGI clarification.
|
||||||
|
@@ -2356,3 +2346,28 @@
|
||||||
|
rechist(NULL, adrof(STRsavehist) != NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * Grab the tty repeatedly, and give up if we are not in the correct
|
||||||
|
+ * tty process group.
|
||||||
|
+ */
|
||||||
|
+int
|
||||||
|
+grabpgrp(int fd, pid_t desired)
|
||||||
|
+{
|
||||||
|
+ struct sigaction old;
|
||||||
|
+ pid_t pgrp;
|
||||||
|
+ size_t i;
|
||||||
|
+
|
||||||
|
+ for (i = 0; i < 100; i++) {
|
||||||
|
+ if ((pgrp = tcgetpgrp(fd)) == -1)
|
||||||
|
+ return -1;
|
||||||
|
+ if (pgrp == desired)
|
||||||
|
+ return 0;
|
||||||
|
+ (void)sigaction(SIGTTIN, NULL, &old);
|
||||||
|
+ (void)signal(SIGTTIN, SIG_DFL);
|
||||||
|
+ (void)kill(0, SIGTTIN);
|
||||||
|
+ (void)sigaction(SIGTTIN, &old, NULL);
|
||||||
|
+ }
|
||||||
|
+ errno = EPERM;
|
||||||
|
+ return -1;
|
||||||
|
+}
|
||||||
|
--- sh.decls.h
|
||||||
|
+++ sh.decls.h 25 Feb 2009 22:53:47 -0000
|
||||||
|
@@ -52,6 +52,7 @@
|
||||||
|
#else
|
||||||
|
extern void xexit (int);
|
||||||
|
#endif
|
||||||
|
+extern int grabpgrp (int, pid_t);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* sh.dir.c
|
||||||
|
--- sh.func.c
|
||||||
|
+++ sh.func.c 25 Feb 2009 22:53:47 -0000
|
||||||
|
@@ -2272,10 +2272,9 @@
|
||||||
|
dosuspend(Char **v, struct command *c)
|
||||||
|
{
|
||||||
|
#ifdef BSDJOBS
|
||||||
|
- int ctpgrp;
|
||||||
|
struct sigaction old;
|
||||||
|
#endif /* BSDJOBS */
|
||||||
|
-
|
||||||
|
+
|
||||||
|
USE(c);
|
||||||
|
USE(v);
|
||||||
|
|
||||||
|
@@ -2295,17 +2294,8 @@
|
||||||
|
|
||||||
|
#ifdef BSDJOBS
|
||||||
|
if (tpgrp != -1) {
|
||||||
|
-retry:
|
||||||
|
- ctpgrp = tcgetpgrp(FSHTTY);
|
||||||
|
- if (ctpgrp == -1)
|
||||||
|
+ if (grabpgrp(FSHTTY, opgrp) == -1)
|
||||||
|
stderror(ERR_SYSTEM, "tcgetpgrp", strerror(errno));
|
||||||
|
- if (ctpgrp != opgrp) {
|
||||||
|
- sigaction(SIGTTIN, NULL, &old);
|
||||||
|
- signal(SIGTTIN, SIG_DFL);
|
||||||
|
- (void) kill(0, SIGTTIN);
|
||||||
|
- sigaction(SIGTTIN, &old, NULL);
|
||||||
|
- goto retry;
|
||||||
|
- }
|
||||||
|
(void) setpgid(0, shpgrp);
|
||||||
|
(void) tcsetpgrp(FSHTTY, shpgrp);
|
||||||
|
}
|
||||||
|
|
@ -10,7 +10,7 @@
|
|||||||
void
|
void
|
||||||
pintr(void)
|
pintr(void)
|
||||||
--- sh.err.c
|
--- sh.err.c
|
||||||
+++ sh.err.c 2007-10-15 11:53:17.760845847 +0200
|
+++ sh.err.c 2009-03-25 11:35:16.552001834 +0100
|
||||||
@@ -51,6 +51,7 @@ char *seterr = NULL; /* Holds last err
|
@@ -51,6 +51,7 @@ char *seterr = NULL; /* Holds last err
|
||||||
#define ERR_NAME 0x10000000
|
#define ERR_NAME 0x10000000
|
||||||
#define ERR_SILENT 0x20000000
|
#define ERR_SILENT 0x20000000
|
||||||
@ -19,17 +19,17 @@
|
|||||||
|
|
||||||
#define ERR_SYNTAX 0
|
#define ERR_SYNTAX 0
|
||||||
#define ERR_NOTALLOWED 1
|
#define ERR_NOTALLOWED 1
|
||||||
@@ -600,7 +601,8 @@ stderror(unsigned int id, ...)
|
@@ -609,7 +610,8 @@ stderror(unsigned int id, ...)
|
||||||
* else to FSHOUT/FSHDIAG. See flush in sh.print.c.
|
* sh.print.c.
|
||||||
*/
|
*/
|
||||||
flush();/*FIXRESET*/
|
flush();/*FIXRESET*/
|
||||||
- haderr = 1; /* Now to diagnostic output */
|
- haderr = 1; /* Now to diagnostic output */
|
||||||
+ if (!(flags & ERR_INTERRUPT))
|
+ if (!(flags & ERR_INTERRUPT))
|
||||||
+ haderr = 1; /* Now to diagnostic output */
|
+ haderr = 1; /* Now to diagnostic output */
|
||||||
|
|
||||||
if (!(flags & ERR_SILENT)) {
|
|
||||||
if (flags & ERR_NAME)
|
if (flags & ERR_NAME)
|
||||||
@@ -643,5 +645,6 @@ stderror(unsigned int id, ...)
|
xprintf("%s: ", bname);/*FIXRESET*/
|
||||||
|
if ((flags & ERR_OLD)) {
|
||||||
|
@@ -650,5 +652,6 @@ stderror(unsigned int id, ...)
|
||||||
if (tpgrp > 0)
|
if (tpgrp > 0)
|
||||||
(void) tcsetpgrp(FSHTTY, tpgrp);
|
(void) tcsetpgrp(FSHTTY, tpgrp);
|
||||||
#endif
|
#endif
|
@ -34,14 +34,3 @@
|
|||||||
f->name = NULL;
|
f->name = NULL;
|
||||||
f->func = 0;
|
f->func = 0;
|
||||||
f->desc = NULL;
|
f->desc = NULL;
|
||||||
--- tw.parse.c
|
|
||||||
+++ tw.parse.c 2007-08-28 12:03:41.288831024 +0200
|
|
||||||
@@ -433,7 +433,7 @@ tenematch(Char *inputline, int num_read,
|
|
||||||
Char *p;
|
|
||||||
int found;
|
|
||||||
|
|
||||||
- found = !cmd_expand(qline.s + wordp, &p);
|
|
||||||
+ found = cmd_expand(qline.s + wordp, &p);
|
|
||||||
|
|
||||||
if (!found) {
|
|
||||||
xfree(p);
|
|
@ -190,18 +190,18 @@
|
|||||||
#endif /* _CRAYCOM && !_PATH_TCSHELL */
|
#endif /* _CRAYCOM && !_PATH_TCSHELL */
|
||||||
|
|
||||||
--- sh.c
|
--- sh.c
|
||||||
+++ sh.c 2006-04-25 14:58:31.000000000 +0200
|
+++ sh.c 2009-03-25 11:45:13.676501240 +0100
|
||||||
@@ -456,7 +456,8 @@ main(int argc, char **argv)
|
@@ -454,7 +454,8 @@ main(int argc, char **argv)
|
||||||
if (loginsh || (uid == 0)) {
|
if (loginsh || (uid == 0)) {
|
||||||
if (*cp) {
|
if (*cp) {
|
||||||
/* only for login shells or root and we must have a tty */
|
/* only for login shells or root and we must have a tty */
|
||||||
- if ((cp2 = Strrchr(cp, (Char) '/')) != NULL) {
|
- if ((cp2 = Strrchr(cp, (Char) '/')) != NULL) {
|
||||||
+ if (((cp2 = Strrchr(cp, (Char) '/')) != NULL) &&
|
+ if (((cp2 = Strrchr(cp, (Char) '/')) != NULL) &&
|
||||||
+ (Strncmp(cp, STRpts, 3) != 0)) {
|
+ (Strncmp(cp, &STRslptssl[1], 3) != 0)) {
|
||||||
cp = cp2 + 1;
|
cp2 = cp2 + 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -717,7 +718,16 @@ main(int argc, char **argv)
|
@@ -715,7 +716,16 @@ main(int argc, char **argv)
|
||||||
xfree(tmp2);
|
xfree(tmp2);
|
||||||
}
|
}
|
||||||
#else /* !WINNT_NATIVE */
|
#else /* !WINNT_NATIVE */
|
||||||
@ -218,7 +218,7 @@
|
|||||||
#endif /* WINNT_NATIVE */
|
#endif /* WINNT_NATIVE */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -741,9 +751,9 @@ main(int argc, char **argv)
|
@@ -739,9 +749,9 @@ main(int argc, char **argv)
|
||||||
/* PATCH IDEA FROM Issei.Suzuki VERY THANKS */
|
/* PATCH IDEA FROM Issei.Suzuki VERY THANKS */
|
||||||
#if defined(DSPMBYTE)
|
#if defined(DSPMBYTE)
|
||||||
#if defined(NLS) && defined(LC_CTYPE)
|
#if defined(NLS) && defined(LC_CTYPE)
|
||||||
@ -230,7 +230,7 @@
|
|||||||
#endif
|
#endif
|
||||||
autoset_dspmbyte(str2short(tcp));
|
autoset_dspmbyte(str2short(tcp));
|
||||||
}
|
}
|
||||||
@@ -1252,6 +1262,9 @@ main(int argc, char **argv)
|
@@ -1247,6 +1257,9 @@ main(int argc, char **argv)
|
||||||
setintr = osetintr;
|
setintr = osetintr;
|
||||||
parintr = oparintr;
|
parintr = oparintr;
|
||||||
}
|
}
|
3
tcsh-6.16.00.tar.bz2
Normal file
3
tcsh-6.16.00.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:79f7f2bb036fadaf0636c254c501f316425cfbaaafce54ddae5c8fd9d2e8392a
|
||||||
|
size 738912
|
@ -1,3 +1,10 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 25 12:23:46 CET 2009 - werner@suse.de
|
||||||
|
|
||||||
|
- Update to tcsh version V6.16.00
|
||||||
|
- Add patch to avoid endless loop due incorrect tty process group
|
||||||
|
(bnc#472866)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Jan 21 15:00:49 CET 2009 - werner@suse.de
|
Wed Jan 21 15:00:49 CET 2009 - werner@suse.de
|
||||||
|
|
||||||
|
19
tcsh.spec
19
tcsh.spec
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file for package tcsh (Version 6.15.00)
|
# spec file for package tcsh (Version 6.16.00)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
@ -25,22 +25,23 @@ License: BSD 3-Clause
|
|||||||
Group: System/Shells
|
Group: System/Shells
|
||||||
Requires: gawk textutils
|
Requires: gawk textutils
|
||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
Version: 6.15.00
|
Version: 6.16.00
|
||||||
Release: 94
|
Release: 1
|
||||||
Summary: The C SHell
|
Summary: The C SHell
|
||||||
Source: ftp.astron.com:/pub/tcsh/tcsh-6.15.00.tar.bz2
|
Source: ftp.astron.com:/pub/tcsh/tcsh-6.16.00.tar.bz2
|
||||||
Source1: nls-iconv
|
Source1: nls-iconv
|
||||||
Source2: bindkey.tcsh
|
Source2: bindkey.tcsh
|
||||||
Source3: complete.tcsh
|
Source3: complete.tcsh
|
||||||
Patch: tcsh-6.15.00.dif
|
Patch: tcsh-6.16.00.dif
|
||||||
Patch1: tcsh-6.15.00-spelling.dif
|
Patch1: tcsh-6.15.00-spelling.dif
|
||||||
Patch2: tcsh-6.15.00-utf8.dif
|
Patch2: tcsh-6.15.00-utf8.dif
|
||||||
Patch3: tcsh-6.15.00-pipe.dif
|
Patch3: tcsh-6.15.00-pipe.dif
|
||||||
Patch4: tcsh-6.15.00-longjmp.dif
|
Patch4: tcsh-6.15.00-longjmp.dif
|
||||||
Patch5: tcsh-6.15.00-norm-cmd.dif
|
Patch5: tcsh-6.16.00-norm-cmd.dif
|
||||||
Patch6: tcsh-6.15.00-history.dif
|
Patch6: tcsh-6.16.00-history.dif
|
||||||
Patch7: tcsh-6.15.00-blanks.dif
|
Patch7: tcsh-6.15.00-blanks.dif
|
||||||
Patch8: tcsh-6.15.00-fullpath.dif
|
Patch8: tcsh-6.15.00-fullpath.dif
|
||||||
|
Patch9: tcsh-6.16.00-grabpgrp.dif
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -150,6 +151,10 @@ Authors:
|
|||||||
%{_datadir}/locale/*/LC_MESSAGES/tcsh
|
%{_datadir}/locale/*/LC_MESSAGES/tcsh
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 25 2009 werner@suse.de
|
||||||
|
- Update to tcsh version V6.16.00
|
||||||
|
- Add patch to avoid endless loop due incorrect tty process group
|
||||||
|
(bnc#472866)
|
||||||
* Wed Jan 21 2009 werner@suse.de
|
* Wed Jan 21 2009 werner@suse.de
|
||||||
- Reenable Alt-BackSpace for delete word in XTerm in UTF-8 mode
|
- Reenable Alt-BackSpace for delete word in XTerm in UTF-8 mode
|
||||||
* Wed Nov 26 2008 werner@suse.de
|
* Wed Nov 26 2008 werner@suse.de
|
||||||
|
Loading…
Reference in New Issue
Block a user