Hello community, here is the log from the commit of package tcsh for openSUSE:Factory checked in at 2019-05-14 13:29:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/tcsh (Old) and /work/SRC/openSUSE:Factory/.tcsh.new.5148 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tcsh" Tue May 14 13:29:28 2019 rev:63 rq:701745 version:6.21.00 Changes: -------- --- /work/SRC/openSUSE:Factory/tcsh/tcsh.changes 2017-08-08 11:57:47.124312527 +0200 +++ /work/SRC/openSUSE:Factory/.tcsh.new.5148/tcsh.changes 2019-05-14 13:29:29.987205212 +0200 @@ -1,0 +2,41 @@ +Thu May 9 08:50:56 UTC 2019 - Dr. Werner Fink <[email protected]> + +- Update to tcsh bug fix version V6.21.00 - 20190508 + *. Abort history loading on words and lines too long + https://bugzilla.redhat.com/show_bug.cgi?id=1598502 + * Introduce GetCmdChar() to avoid open coding array access. + * make closem() not close sockets so as not to affect nss_ldap. + tcsh never creates sockets so that's ok (Miloslav Trmac) + * Make rmstar work with aliased rm + * convert match() from recursive to backtracking. + * Handle 8 bit characters in bindkey (Werner Fink) + * Look for tgetent in libtinfo as well (Werner Fink) + * Don't play pointer tricks that are undefined in modern c (Brooks Davis) + * Fix out of bounds read (Brooks Davis) + * Fix type of read in prompt confirmation (eg. rmstar) (David Kaspar) + * Delay arginp parsing +- Drop patches now upstream + * tcsh-6.20-ptr-update.patch + * tcsh-6.20-rmstar.patch + * tcsh-6.20.00-8bit-cmdkeys.patch + * tcsh-6.20.00-postcmd.patch + * tcsh-closem.patch +- Port patches + * tcsh-6.15.00-pipe.dif + * tcsh-6.16.00-norm-cmd.dif + * tcsh-6.17.06-dspmbyte.dif + * tcsh-6.18.03-catalogs.dif + * tcsh-6.18.03-colorls.dif + * tcsh-6.18.03-history-file-locking.patch + * tcsh-6.18.03-history-merge.dif + * tcsh-6.19.00-history-file-locking-order.patch + * tcsh-6.20.00-avoid-dotlock-for-fcntl.patch +- Rename patch tcsh-6.20.00.dif which now becomes tcsh-6.21.00.dif + +------------------------------------------------------------------- +Tue Apr 9 07:26:37 UTC 2019 - Dr. Werner Fink <[email protected]> + +- Add patch tcsh-6.20.00-postcmd.patch as workaround for bsc#1129112 +- Modify tcsh-6.20.00.dif to fix sed syntax for test case lexical.at + +------------------------------------------------------------------- Old: ---- tcsh-6.20-ptr-update.patch tcsh-6.20-rmstar.patch tcsh-6.20.00-8bit-cmdkeys.patch tcsh-6.20.00.dif tcsh-6.20.00.tar.gz tcsh-closem.patch New: ---- tcsh-6.21.00.dif tcsh-6.21.00.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ tcsh.spec ++++++ --- /var/tmp/diff_new_pack.EPsDkW/_old 2019-05-14 13:29:30.931207744 +0200 +++ /var/tmp/diff_new_pack.EPsDkW/_new 2019-05-14 13:29:30.931207744 +0200 @@ -1,7 +1,7 @@ # # spec file for package tcsh # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,21 +12,21 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: tcsh -Version: 6.20.00 +Version: 6.21.00 Release: 0 Summary: The C SHell License: BSD-3-Clause Group: System/Shells Url: http://www.tcsh.org/ -Source: ftp.astron.com:/pub/tcsh/tcsh-6.20.00.tar.gz +Source: ftp.astron.com:/pub/tcsh/tcsh-6.21.00.tar.gz Source2: bindkey.tcsh Source3: complete.tcsh -Patch0: tcsh-6.20.00.dif +Patch0: tcsh-6.21.00.dif Patch1: tcsh-6.15.00-pipe.dif Patch2: tcsh-6.16.00-norm-cmd.dif Patch4: tcsh-6.18.03-colorls.dif @@ -37,16 +37,8 @@ Patch10: tcsh-6.18.03-history-merge.dif # PATCH-FIX-SUSE fix history file locking: first unlock then close Patch11: tcsh-6.19.00-history-file-locking-order.patch -# PATCH-FIX-COMUNITY fix handling of rmstar -Patch12: tcsh-6.20-rmstar.patch -# PATCH-FIX-COMUNITY fix updating pointers to a reallocated buffer of linked list elements -Patch13: tcsh-6.20-ptr-update.patch -# PATCH-FIX-SUSE Do not convert current used control bytes into wide characters -Patch14: tcsh-6.20.00-8bit-cmdkeys.patch -# PATCH-FIX-COMMUNITY Slightly less drastic closem() -- bsc#1028864 -Patch15: tcsh-closem.patch # PATCH-FIX-SUSE Aoid dot locking as patch 9 and 11 do the job better -Patch16: tcsh-6.20.00-avoid-dotlock-for-fcntl.patch +Patch12: tcsh-6.20.00-avoid-dotlock-for-fcntl.patch BuildRequires: autoconf BuildRequires: fdupes BuildRequires: ncurses-devel @@ -75,11 +67,7 @@ %patch9 -b .histlock %patch10 -b .histmerg %patch11 -b .histlckord -%patch12 -p1 -b .rmstar -%patch13 -p0 -b .ptrbuf -%patch14 -p0 -b .8bit -%patch15 -p0 -b .nss -%patch16 -p0 -b .nodtlck +%patch12 -p0 -b .nodtlck %patch0 -b .0 %build @@ -161,6 +149,11 @@ sleep 1 kill -TERM $pid rm -rf $SCREENDIR $TMPDIR + if grep -iq failed testsuite.log + then + echo FAILED + exit 127 + fi %install for nls in nls/*.cat ; do @@ -188,7 +181,8 @@ find %{buildroot}%{_datadir}/locale -name tcsh | xargs chmod 0644 %fdupes -s %{buildroot}%{_datadir}/locale mkdir -p %{buildroot}%{_docdir}/tcsh - install -m 0444 FAQ %{buildroot}%{_docdir}/tcsh/FAQ.tcsh + install -m 0644 FAQ %{buildroot}%{_docdir}/tcsh/FAQ.tcsh + install -m 0644 Copyright %{buildroot}%{_docdir}/tcsh/Copyright mkdir -p %{buildroot}%{_sysconfdir}/profile.d/ mkdir -p %{buildroot}%{_prefix}/bin install -m 644 $RPM_SOURCE_DIR/bindkey.tcsh %{buildroot}%{_sysconfdir}/profile.d/ @@ -212,6 +206,7 @@ %config %{_sysconfdir}/profile.d/complete.tcsh %{_bindir}/csh %{_bindir}/tcsh +%doc %{_docdir}/tcsh/Copyright %doc %{_docdir}/tcsh/FAQ.tcsh %doc %{_mandir}/man1/csh.1.gz %doc %{_mandir}/man1/tcsh.1.gz ++++++ complete.tcsh ++++++ --- /var/tmp/diff_new_pack.EPsDkW/_old 2019-05-14 13:29:30.975207861 +0200 +++ /var/tmp/diff_new_pack.EPsDkW/_new 2019-05-14 13:29:30.975207861 +0200 @@ -78,6 +78,8 @@ complete dvips n/*/f:*.dvi/ complete tex n/*/f:*.{tex,TEX}/ # Only files that match *.tex complete latex n/*/f:*.{tex,TEX,texi,latex,ltx}/ + complete pdftex n/*/f:*.{tex,TEX}/ # Only files that match *.tex + complete pdflatex n/*/f:*.{tex,TEX,texi,latex,ltx}/ complete slitex n/*/f:*.{tex,TEX,latex,ltx}/ complete su c/--/"(login fast preserve-environment command shell \ help version)"/ c/-/"(f l m p c s -)"/ \ @@ -442,6 +444,8 @@ complete acroread 'p/*/f:*.{pdf,fdf,PDF,FDF}/' complete xpdf 'p/*/f:*.{pdf,fdf,PDF,FDF}/' complete kpdf 'p/*/f:*.{pdf,fdf,PDF,FDF}/' + complete qpdf 'p/*/f:*.{pdf,fdf,PDF,FDF}/' + complete evince 'p/*/f:*.{pdf,fdf,PDF,FDF}/' complete apachectl 'c/*/(start stop restart fullstatus status graceful \ configtest help)/' complete appletviewer 'p/*/f:*.class/' ++++++ tcsh-6.15.00-pipe.dif ++++++ --- /var/tmp/diff_new_pack.EPsDkW/_old 2019-05-14 13:29:30.983207883 +0200 +++ /var/tmp/diff_new_pack.EPsDkW/_new 2019-05-14 13:29:30.983207883 +0200 @@ -4,7 +4,7 @@ --- sh.dol.c +++ sh.dol.c 2016-11-25 08:00:30.455106978 +0000 -@@ -429,6 +429,8 @@ Dgetdol(void) +@@ -426,6 +426,8 @@ Dgetdol(void) size_t cbp = 0; int old_pintr_disabled; ++++++ tcsh-6.16.00-norm-cmd.dif ++++++ --- /var/tmp/diff_new_pack.EPsDkW/_old 2019-05-14 13:29:30.987207894 +0200 +++ /var/tmp/diff_new_pack.EPsDkW/_new 2019-05-14 13:29:30.987207894 +0200 @@ -1,6 +1,6 @@ --- ed.defns.c +++ ed.defns.c 2007-08-28 10:02:42.862588122 +0000 -@@ -1412,16 +1412,6 @@ editinit(void) +@@ -1404,16 +1404,6 @@ editinit(void) f->desc = CSAVS(3, 52, "Execute command"); f++; @@ -17,7 +17,7 @@ f->name = "normalize-path"; f->func = F_PATH_NORM; f->desc = CSAVS(3, 53, -@@ -1788,6 +1778,16 @@ editinit(void) +@@ -1768,6 +1758,16 @@ editinit(void) f->desc = CSAVS(3, 121, "(WIN32 only) Page visible console window down"); f++; ++++++ tcsh-6.17.06-dspmbyte.dif ++++++ --- /var/tmp/diff_new_pack.EPsDkW/_old 2019-05-14 13:29:30.995207915 +0200 +++ /var/tmp/diff_new_pack.EPsDkW/_new 2019-05-14 13:29:30.995207915 +0200 @@ -7,7 +7,7 @@ --- sh.c +++ sh.c 2016-11-25 08:02:39.616478025 +0000 -@@ -864,9 +864,9 @@ main(int argc, char **argv) +@@ -862,9 +862,9 @@ main(int argc, char **argv) /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */ #if defined(DSPMBYTE) #if defined(NLS) && defined(LC_CTYPE) @@ -21,7 +21,7 @@ autoset_dspmbyte(str2short(tcp)); --- sh.func.c +++ sh.func.c 2016-11-25 08:02:39.616478025 +0000 -@@ -1424,14 +1424,6 @@ dosetenv(Char **v, struct command *c) +@@ -1420,14 +1420,6 @@ dosetenv(Char **v, struct command *c) } #endif /* apollo */ @@ -36,7 +36,7 @@ if (islocale_var(vp)) { #ifdef NLS int k; -@@ -1456,6 +1448,13 @@ dosetenv(Char **v, struct command *c) +@@ -1452,6 +1444,13 @@ dosetenv(Char **v, struct command *c) nlsclose(); nlsinit(); # endif /* NLS_CATALOGS */ @@ -52,7 +52,7 @@ # endif /* SETLOCALEBUG */ --- sh.set.c +++ sh.set.c 2016-11-25 08:02:39.616478025 +0000 -@@ -1168,11 +1168,11 @@ update_dspmbyte_vars(void) +@@ -1164,11 +1164,11 @@ update_dspmbyte_vars(void) dstr1 = vp->vec[0]; if(eq (dstr1, STRsjis)) iskcode = 1; @@ -66,7 +66,7 @@ iskcode = 4; else if ((dstr1[0] - '0') >= 0 && (dstr1[0] - '0') <= 3) { iskcode = 0; -@@ -1256,7 +1256,7 @@ update_dspmbyte_vars(void) +@@ -1252,7 +1252,7 @@ update_dspmbyte_vars(void) _enable_mbdisp = 0; dspmbyte_ls = 0; } @@ -75,7 +75,7 @@ { Char mbmapstr[300]; for (lp = 0; lp < 256; lp++) -@@ -1264,7 +1264,7 @@ update_dspmbyte_vars(void) +@@ -1260,7 +1260,7 @@ update_dspmbyte_vars(void) mbmapstr[lp] = 0; setcopy(STRmbytemap, mbmapstr, VAR_READWRITE); } @@ -84,7 +84,7 @@ } /* dspkanji/dspmbyte autosetting */ -@@ -1273,6 +1273,7 @@ void +@@ -1269,6 +1269,7 @@ void autoset_dspmbyte(const Char *pcp) { int i; @@ -92,7 +92,7 @@ static const struct dspm_autoset_Table { Char *n; Char *v; -@@ -1295,13 +1296,18 @@ autoset_dspmbyte(const Char *pcp) +@@ -1291,13 +1292,18 @@ autoset_dspmbyte(const Char *pcp) #if defined(HAVE_NL_LANGINFO) && defined(CODESET) static const struct dspm_autoset_Table dspmc[] = { { STRstarutfstar8, STRutf8 }, @@ -113,7 +113,7 @@ for (i = 0; dspmc[i].n; i++) { --- tc.const.c +++ tc.const.c 2016-11-25 08:02:39.616478025 +0000 -@@ -133,10 +133,12 @@ Char STRmmliteral[] = { '-', 'G', '\0' } +@@ -130,10 +130,12 @@ Char STRmmliteral[] = { '-', 'G', '\0' } Char STRmmliteral[] = { '-', '-', 'l', 'i', 't', 'e', 'r', 'a', 'l', '\0' }; # endif Char STReuc[] = { 'e', 'u', 'c', '\0' }; @@ -126,7 +126,7 @@ Char STRGB2312[] = { 'g', 'b', '2', '3', '1', '2', '\0' }; # ifdef MBYTEDEBUG /* Sorry, use for beta testing */ Char STRmbytemap[] = { 'm', 'b', 'y', 't', 'e', 'm', 'a', 'p', '\0' }; -@@ -443,7 +445,7 @@ Char STRkilldup[] = { 'k', 'i', 'l', 'l +@@ -440,7 +442,7 @@ Char STRkilldup[] = { 'k', 'i', 'l', 'l Char STRshlvl[] = { 's', 'h', 'l', 'v', 'l', '\0' }; Char STRKSHLVL[] = { 'S', 'H', 'L', 'V', 'L', '\0' }; Char STRLANG[] = { 'L', 'A', 'N', 'G', '\0' }; ++++++ tcsh-6.18.03-catalogs.dif ++++++ --- /var/tmp/diff_new_pack.EPsDkW/_old 2019-05-14 13:29:31.003207937 +0200 +++ /var/tmp/diff_new_pack.EPsDkW/_new 2019-05-14 13:29:31.003207937 +0200 @@ -128,7 +128,7 @@ --- sh.c +++ sh.c 2011-11-17 08:28:47.000000000 +0000 -@@ -169,8 +169,8 @@ static void st_restore (void *); +@@ -166,8 +166,8 @@ static void st_restore (void *); static void add_localedir_to_nlspath(const char *path) { @@ -139,7 +139,7 @@ char *old; char *new, *new_p; size_t len; -@@ -182,7 +182,7 @@ add_localedir_to_nlspath(const char *pat +@@ -179,7 +179,7 @@ add_localedir_to_nlspath(const char *pat if (path == NULL) return; ++++++ tcsh-6.18.03-colorls.dif ++++++ --- /var/tmp/diff_new_pack.EPsDkW/_old 2019-05-14 13:29:31.011207958 +0200 +++ /var/tmp/diff_new_pack.EPsDkW/_new 2019-05-14 13:29:31.011207958 +0200 @@ -4,7 +4,7 @@ --- tw.color.c +++ tw.color.c 2016-11-25 08:02:01.645250915 +0000 -@@ -89,6 +89,7 @@ static Variable variables[] = { +@@ -85,6 +85,7 @@ static Variable variables[] = { VAR(NOS, "hl", "44;37"), /* Reg file extra hard links, obsolete? */ VAR(NOS, "mh", "44;37"), /* Reg file extra hard links */ VAR(NOS, "ca", "30;41"), /* File with capability */ @@ -12,7 +12,7 @@ }; #define nvariables (sizeof(variables)/sizeof(variables[0])) -@@ -325,7 +326,7 @@ parseLS_COLORS(const Char *value) +@@ -321,7 +322,7 @@ parseLS_COLORS(const Char *value) size_t i, len; const Char *v; /* pointer in value */ char *c; /* pointer in colors */ @@ -21,7 +21,7 @@ jmp_buf_t osetexit; size_t omark; -@@ -382,13 +383,10 @@ parseLS_COLORS(const Char *value) +@@ -378,13 +379,10 @@ parseLS_COLORS(const Char *value) if ((Char)variables[i].variable[0] == (v[0] & CHAR) && (Char)variables[i].variable[1] == (v[1] & CHAR)) break; @@ -38,7 +38,7 @@ } break; } -@@ -447,12 +445,13 @@ print_color(const Char *fname, size_t le +@@ -443,12 +441,13 @@ print_color(const Char *fname, size_t le break; } if (i == nvariables) { ++++++ tcsh-6.18.03-history-file-locking.patch ++++++ --- /var/tmp/diff_new_pack.EPsDkW/_old 2019-05-14 13:29:31.015207969 +0200 +++ /var/tmp/diff_new_pack.EPsDkW/_new 2019-05-14 13:29:31.019207980 +0200 @@ -14,19 +14,19 @@ Changes by Fridolin Pokorny <[email protected]> --- - sh.c | 102 +++++++++++++++++++++++++++++++++++++-------------- - sh.decls.h | 4 +- - sh.dol.c | 2 - - sh.err.c | 16 ++++++++ - sh.h | 18 +++++++++ - sh.hist.c | 122 ++++++++++++++++++++++++++++++------------------------------- - sh.lex.c | 8 ++-- - sh.sem.c | 2 - - 8 files changed, 178 insertions(+), 96 deletions(-) + sh.c | 102 ++++++++++++++++++++++++++++++++++++------------- + sh.decls.h | 4 + + sh.dol.c | 2 + sh.err.c | 16 +++++++ + sh.h | 18 ++++++++ + sh.hist.c | 126 +++++++++++++++++++++++++++++-------------------------------- + sh.lex.c | 8 +-- + sh.sem.c | 2 + 8 files changed, 178 insertions(+), 100 deletions(-) --- sh.c -+++ sh.c 2016-11-25 08:03:43.567176291 +0000 -@@ -141,6 +141,7 @@ struct saved_state { ++++ sh.c 2019-05-09 08:16:41.673852638 +0000 +@@ -138,6 +138,7 @@ struct saved_state { int cantell; struct Bin B; int justpr; @@ -34,7 +34,7 @@ }; static int srccat (Char *, Char *); -@@ -1384,7 +1385,7 @@ main(int argc, char **argv) +@@ -1359,7 +1360,7 @@ main(int argc, char **argv) /* * Source history before .login so that it is available in .login */ @@ -43,7 +43,7 @@ #ifndef LOGINFIRST if (loginsh) (void) srccat(varval(STRhome), STRsldotlogin); -@@ -1507,7 +1508,7 @@ static int +@@ -1508,7 +1509,7 @@ static int srccat(Char *cp, Char *dp) { if (cp[0] == '/' && cp[1] == '\0') @@ -52,7 +52,7 @@ else { Char *ep; char *ptr; -@@ -1523,7 +1524,7 @@ srccat(Char *cp, Char *dp) +@@ -1524,7 +1525,7 @@ srccat(Char *cp, Char *dp) cleanup_push(ep, xfree); ptr = short2str(ep); @@ -61,7 +61,7 @@ cleanup_until(ep); return rv; } -@@ -1537,20 +1538,49 @@ static int +@@ -1538,20 +1539,49 @@ static int #else int #endif /*WINNT_NATIVE*/ @@ -123,7 +123,7 @@ } -@@ -1559,7 +1589,7 @@ srcfile(const char *f, int onlyown, int +@@ -1560,7 +1590,7 @@ srcfile(const char *f, int onlyown, int * fd. */ static void @@ -132,7 +132,7 @@ { st->insource = insource; st->SHIN = SHIN; -@@ -1608,10 +1638,14 @@ st_save(struct saved_state *st, int unit +@@ -1609,10 +1639,14 @@ st_save(struct saved_state *st, int unit st->onelflg = onelflg; st->enterhist = enterhist; st->justpr = justpr; @@ -148,7 +148,7 @@ st->cantell = cantell; cpybin(st->B, B); -@@ -1650,7 +1684,7 @@ st_save(struct saved_state *st, int unit +@@ -1651,7 +1685,7 @@ st_save(struct saved_state *st, int unit evalp = 0; alvec = al; alvecp = 0; @@ -157,7 +157,7 @@ if (enterhist) HIST = '\0'; insource = 1; -@@ -1683,7 +1717,8 @@ st_restore(void *xst) +@@ -1684,7 +1718,8 @@ st_restore(void *xst) } cpybin(B, st->B); @@ -167,7 +167,7 @@ insource = st->insource; SHIN = st->SHIN; -@@ -1719,7 +1754,7 @@ st_restore(void *xst) +@@ -1720,7 +1755,7 @@ st_restore(void *xst) * we don't chance it. This occurs on ".cshrc"s and the like. */ static void @@ -176,7 +176,7 @@ { struct saved_state st; -@@ -1745,7 +1780,7 @@ srcunit(int unit, int onlyown, int hflg, +@@ -1746,7 +1781,7 @@ srcunit(int unit, int onlyown, int hflg, } /* Save the current state and move us to a new state */ @@ -185,7 +185,7 @@ /* * Now if we are allowing commands to be interrupted, we let ourselves be -@@ -2087,7 +2122,7 @@ process(int catch) +@@ -2088,7 +2123,7 @@ process(int catch) * elsewhere... */ if (enterhist || (catch && intty && !whyles && !tellwhat && !arun)) @@ -194,7 +194,7 @@ if (Expand && seterr) Expand = 0; -@@ -2174,21 +2209,28 @@ process(int catch) +@@ -2175,21 +2210,28 @@ process(int catch) void dosource(Char **t, struct command *c) { @@ -226,7 +226,7 @@ } f = globone(*t++, G_ERROR); -@@ -2197,9 +2239,15 @@ dosource(Char **t, struct command *c) +@@ -2198,9 +2240,15 @@ dosource(Char **t, struct command *c) xfree(f); t = glob_all_or_error(t); cleanup_push(t, blk_cleanup); @@ -245,8 +245,8 @@ /* --- sh.decls.h -+++ sh.decls.h 2016-11-25 08:03:43.567176291 +0000 -@@ -38,6 +38,7 @@ ++++ sh.decls.h 2019-05-09 08:16:41.673852638 +0000 +@@ -37,6 +37,7 @@ */ extern Char *gethdir (const Char *); extern void dosource (Char **, struct command *); @@ -254,7 +254,7 @@ extern void exitstat (void); extern void goodbye (Char **, struct command *); extern void importpath (Char *); -@@ -99,6 +100,7 @@ extern void cleanup_until_mark(void); +@@ -98,6 +99,7 @@ extern void cleanup_until_mark(void); extern size_t cleanup_push_mark(void); extern void cleanup_pop_mark(size_t); extern void open_cleanup(void *); @@ -262,7 +262,7 @@ extern void opendir_cleanup(void *); extern void sigint_cleanup(void *); extern void sigprocmask_cleanup(void *); -@@ -221,7 +223,7 @@ extern struct Hist *enthist (int, str +@@ -220,7 +222,7 @@ extern struct Hist *enthist (int, str extern void savehist (struct wordent *, int); extern char *fmthist (int, ptr_t); extern void rechist (Char *, int); @@ -272,8 +272,8 @@ extern void sethistory (int); --- sh.dol.c -+++ sh.dol.c 2016-11-25 08:03:43.571176209 +0000 -@@ -1120,6 +1120,6 @@ again: ++++ sh.dol.c 2019-05-09 08:16:41.673852638 +0000 +@@ -1117,6 +1117,6 @@ again: *obp = 0; tmp = short2str(obuf); (void) xwrite(0, tmp, strlen (tmp)); @@ -282,8 +282,8 @@ cleanup_until(&inheredoc); } --- sh.err.c -+++ sh.err.c 2016-11-25 08:03:43.571176209 +0000 -@@ -514,6 +514,22 @@ open_cleanup(void *xptr) ++++ sh.err.c 2019-05-09 08:16:41.677852563 +0000 +@@ -511,6 +511,22 @@ open_cleanup(void *xptr) } void @@ -307,8 +307,8 @@ { DIR *dir; --- sh.h -+++ sh.h 2016-11-25 08:03:43.571176209 +0000 -@@ -50,6 +50,24 @@ ++++ sh.h 2019-05-09 08:16:41.677852563 +0000 +@@ -49,6 +49,24 @@ # include <inttypes.h> #endif @@ -334,9 +334,9 @@ typedef unsigned long intptr_t; #endif --- sh.hist.c -+++ sh.hist.c 2016-11-25 08:03:43.571176209 +0000 -@@ -36,6 +36,8 @@ RCSID("$tcsh: sh.hist.c,v 3.61 2015/06/0 - ++++ sh.hist.c 2019-05-09 08:36:00.679789483 +0000 +@@ -32,6 +32,8 @@ + #include "sh.h" #include <stdio.h> /* for rename(2), grr. */ #include <assert.h> +#include <unistd.h> @@ -344,7 +344,7 @@ #include "tc.h" #include "dotlock.h" -@@ -46,14 +48,6 @@ Char HistLit = 0; +@@ -42,14 +44,6 @@ Char HistLit = 0; static int heq (const struct wordent *, const struct wordent *); static void hfree (struct Hist *); @@ -359,7 +359,7 @@ /* * C shell */ -@@ -145,13 +139,13 @@ discardExcess(int hlen) +@@ -141,13 +135,13 @@ discardExcess(int hlen) void savehist( struct wordent *sp, @@ -375,7 +375,7 @@ discardExcess(histlen); } -@@ -923,7 +917,7 @@ enthist( +@@ -919,7 +913,7 @@ enthist( int event, /* newly incremented global eventno */ struct wordent *lp, int docopy, @@ -384,7 +384,7 @@ int hlen) /* -1 if unknown */ { struct Hist *p = NULL, *pp = &Histlist, *pTime = NULL; -@@ -943,7 +937,7 @@ enthist( +@@ -939,7 +933,7 @@ enthist( Htime = p->Htime; /* If we are merging, and the old entry is at the place we want * to insert the new entry, then remember the place. */ @@ -393,7 +393,7 @@ pTime = p->Hprev; if (!fastMergeErase) renumberHist(p); /* Reset Href of subsequent entries */ -@@ -1002,7 +996,7 @@ enthist( +@@ -998,7 +992,7 @@ enthist( /* The head of history list is the default insertion point. If merging, advance insertion point, in pp, according to Htime. */ /* XXX -- In histdup=all, Htime values can be non-monotonic. */ @@ -402,7 +402,7 @@ pp = mergeInsertionPoint(np, pTime); for (p = pp->Hnext; p && p->Htime == np->Htime; pp = p, p = p->Hnext) { if (heq(&p->Hlex, &np->Hlex)) { -@@ -1041,11 +1035,11 @@ hfree(struct Hist *hp) +@@ -1037,11 +1031,11 @@ hfree(struct Hist *hp) } PG_STATIC void @@ -416,7 +416,7 @@ int old_output_raw; /* -@@ -1057,7 +1051,7 @@ phist(struct Hist *hp, int hflg) +@@ -1053,7 +1047,7 @@ phist(struct Hist *hp, int hflg) old_output_raw = output_raw; output_raw = 1; cleanup_push(&old_output_raw, output_raw_restore); @@ -425,7 +425,7 @@ /* * Make file entry with history time in format: * "+NNNNNNNNNN" (10 digits, left padded with ascii '0') -@@ -1088,7 +1082,7 @@ phist(struct Hist *hp, int hflg) +@@ -1084,7 +1078,7 @@ phist(struct Hist *hp, int hflg) } PG_STATIC void @@ -434,7 +434,7 @@ { struct Hist *hp; if (setintr) { -@@ -1097,7 +1091,7 @@ dophist(int n, int hflg) +@@ -1093,7 +1087,7 @@ dophist(int n, int hflg) pintr_push_enable(&old_pintr_disabled); cleanup_until(&old_pintr_disabled); } @@ -443,7 +443,7 @@ /* Since the history list is stored most recent first, non-reversing * print needs to print (backwards) up the list. */ if ((unsigned)n >= histCount) -@@ -1111,10 +1105,10 @@ dophist(int n, int hflg) +@@ -1107,10 +1101,10 @@ dophist(int n, int hflg) if (hp == NULL) return; /* nothing to print */ for (; hp != &Histlist; hp = hp->Hprev) @@ -456,7 +456,7 @@ } } -@@ -1122,7 +1116,7 @@ dophist(int n, int hflg) +@@ -1118,7 +1112,7 @@ dophist(int n, int hflg) void dohist(Char **vp, struct command *c) { @@ -465,7 +465,7 @@ USE(c); if (getn(varval(STRhistory)) == 0) -@@ -1133,40 +1127,40 @@ dohist(Char **vp, struct command *c) +@@ -1129,40 +1123,40 @@ dohist(Char **vp, struct command *c) while (*++vp2) switch (*vp2) { case 'c': @@ -517,7 +517,7 @@ rechist(*vp, 1); else { if (*vp) -@@ -1174,7 +1168,7 @@ dohist(Char **vp, struct command *c) +@@ -1170,7 +1164,7 @@ dohist(Char **vp, struct command *c) else { n = getn(varval(STRhistory)); } @@ -526,7 +526,7 @@ } } -@@ -1222,10 +1216,9 @@ dotlock_cleanup(void* lockpath) +@@ -1218,10 +1212,9 @@ dotlock_cleanup(void* lockpath) void rechist(Char *fname, int ref) { @@ -539,7 +539,7 @@ struct stat st; static Char *dumphist[] = {STRhistory, STRmhT, 0, 0}; -@@ -1294,46 +1287,49 @@ rechist(Char *fname, int ref) +@@ -1290,50 +1283,49 @@ rechist(Char *fname, int ref) cleanup_push(lockpath, dotlock_cleanup); #endif } @@ -593,7 +593,11 @@ + SHOUT = ftmp; + } didfds = oldidfds; +-#ifndef WINNT_NATIVE - (void)rename(path, short2str(fname)); +-#else +- (void)ReplaceFile( short2str(fname),path,NULL,0,NULL,NULL); +-#endif cleanup_until(fname); } @@ -611,7 +615,7 @@ if (fname != NULL) loadhist_cmd[2] = fname; -@@ -1342,17 +1338,19 @@ loadhist(Char *fname, int mflg) +@@ -1342,17 +1334,19 @@ loadhist(Char *fname, int mflg) else loadhist_cmd[2] = STRtildothist; @@ -636,8 +640,8 @@ void --- sh.lex.c -+++ sh.lex.c 2016-11-25 08:03:43.571176209 +0000 -@@ -1602,7 +1602,7 @@ wide_read(int fildes, Char *buf, size_t ++++ sh.lex.c 2019-05-09 08:16:41.677852563 +0000 +@@ -1608,7 +1608,7 @@ wide_read(int fildes, Char *buf, size_t /* Throwing away possible partial multibyte characters on error if the stream is not seekable */ err = errno; @@ -646,7 +650,7 @@ errno = err; return res != 0 ? res : r; } -@@ -1617,7 +1617,7 @@ bgetc(void) +@@ -1623,7 +1623,7 @@ bgetc(void) if (cantell) { if (fseekp < fbobp || fseekp > feobp) { fbobp = feobp = fseekp; @@ -655,7 +659,7 @@ } if (fseekp == feobp) { #ifdef WIDE_STRINGS -@@ -1821,7 +1821,7 @@ btell(struct Ain *l) +@@ -1827,7 +1827,7 @@ btell(struct Ain *l) void btoeof(void) { @@ -664,7 +668,7 @@ aret = TCSH_F_SEEK; fseekp = feobp; alvec = NULL; -@@ -1839,7 +1839,7 @@ settell(void) +@@ -1845,7 +1845,7 @@ settell(void) cantell = 0; if (arginp || onelflg || intty) return; @@ -674,8 +678,8 @@ fbuf = xcalloc(2, sizeof(Char **)); fblocks = 1; --- sh.sem.c -+++ sh.sem.c 2016-11-25 08:03:43.571176209 +0000 -@@ -909,7 +909,7 @@ doio(struct command *t, int *pipein, int ++++ sh.sem.c 2019-05-09 08:16:41.677852563 +0000 +@@ -905,7 +905,7 @@ doio(struct command *t, int *pipein, int fd = xopen(tmp, O_WRONLY|O_APPEND|O_LARGEFILE); #else /* !O_APPEND */ fd = xopen(tmp, O_WRONLY|O_LARGEFILE); ++++++ tcsh-6.18.03-history-merge.dif ++++++ --- /var/tmp/diff_new_pack.EPsDkW/_old 2019-05-14 13:29:31.023207990 +0200 +++ /var/tmp/diff_new_pack.EPsDkW/_new 2019-05-14 13:29:31.023207990 +0200 @@ -4,7 +4,7 @@ --- sh.hist.c +++ sh.hist.c 2015-05-05 07:16:26.382084939 +0000 -@@ -103,7 +103,7 @@ hremove(struct Hist *hp) +@@ -99,7 +99,7 @@ hremove(struct Hist *hp) /* Prune length of history list to specified size by history variable. */ PG_STATIC void @@ -13,7 +13,7 @@ { struct Hist *hp, *np; if (histTail == NULL) { -@@ -114,7 +114,7 @@ discardExcess(int hlen) +@@ -110,7 +110,7 @@ discardExcess(int hlen) * the list is still too long scan the whole list as before. But only do a * full scan if the list is more than 6% (1/16th) too long. */ while (histCount > (unsigned)hlen && (np = Histlist.Hnext)) { @@ -22,7 +22,7 @@ hremove(np), hfree(np); else break; -@@ -129,7 +129,7 @@ discardExcess(int hlen) +@@ -125,7 +125,7 @@ discardExcess(int hlen) return; /* don't bother doing the full scan */ for (hp = &Histlist; histCount > (unsigned)hlen && (np = hp->Hnext) != NULL;) @@ -31,7 +31,7 @@ hremove(np), hfree(np); else hp = np; -@@ -146,7 +146,7 @@ savehist( +@@ -142,7 +142,7 @@ savehist( return; if (sp) (void) enthist(++eventno, sp, 1, flg, histlen); @@ -40,7 +40,7 @@ } #define USE_JENKINS_HASH 1 -@@ -1357,5 +1357,16 @@ void +@@ -1353,5 +1353,16 @@ void sethistory(int n) { histlen = n; ++++++ tcsh-6.19.00-history-file-locking-order.patch ++++++ --- /var/tmp/diff_new_pack.EPsDkW/_old 2019-05-14 13:29:31.031208012 +0200 +++ /var/tmp/diff_new_pack.EPsDkW/_new 2019-05-14 13:29:31.031208012 +0200 @@ -4,7 +4,7 @@ --- sh.c +++ sh.c 2016-11-25 08:05:00.501610199 +0000 -@@ -1540,18 +1540,18 @@ int +@@ -1541,18 +1541,18 @@ int #endif /*WINNT_NATIVE*/ srcfile(const char *f, int onlyown, int flg, Char **av) { @@ -31,7 +31,7 @@ if (flg & (HIST_FILE_WRLCK | HIST_FILE_RDLCK)) { struct flock fl; -@@ -1561,26 +1561,35 @@ srcfile(const char *f, int onlyown, int +@@ -1562,26 +1562,35 @@ srcfile(const char *f, int onlyown, int fl.l_start = 0; fl.l_len = 0; ++++++ tcsh-6.20.00-avoid-dotlock-for-fcntl.patch ++++++ --- /var/tmp/diff_new_pack.EPsDkW/_old 2019-05-14 13:29:31.039208033 +0200 +++ /var/tmp/diff_new_pack.EPsDkW/_new 2019-05-14 13:29:31.039208033 +0200 @@ -4,7 +4,7 @@ --- sh.hist.c +++ sh.hist.c 2017-07-19 10:01:20.795354927 +0000 -@@ -1278,6 +1278,11 @@ rechist(Char *fname, int ref) +@@ -1274,6 +1274,11 @@ rechist(Char *fname, int ref) } if (merge) { @@ -16,7 +16,7 @@ if (lock) { #ifndef WINNT_NATIVE char *lockpath = strsave(short2str(fname)); -@@ -1287,6 +1292,7 @@ rechist(Char *fname, int ref) +@@ -1283,6 +1288,7 @@ rechist(Char *fname, int ref) cleanup_push(lockpath, dotlock_cleanup); #endif } ++++++ tcsh-6.20.00.dif -> tcsh-6.21.00.dif ++++++ --- /work/SRC/openSUSE:Factory/tcsh/tcsh-6.20.00.dif 2016-12-02 16:36:38.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.tcsh.new.5148/tcsh-6.21.00.dif 2019-05-14 13:29:29.911205008 +0200 @@ -1,8 +1,6 @@ --- config/linux | 10 ++++++++++ - config_f.h | 11 ++++++++--- - configure | 2 +- - configure.ac | 2 +- + config_f.h | 9 +++++++-- glob.h | 3 ++- pathnames.h | 2 +- sh.c | 3 +++ @@ -12,10 +10,10 @@ tc.who.c | 3 +++ tcsh.man | 2 +- tw.h | 4 ++++ - 13 files changed, 47 insertions(+), 15 deletions(-) + 11 files changed, 44 insertions(+), 12 deletions(-) --- config/linux -+++ config/linux 2016-11-25 09:07:12.893851835 +0000 ++++ config/linux 2019-05-09 08:41:54.237060106 +0000 @@ -92,6 +92,9 @@ #ifndef _SVID_SOURCE # define _SVID_SOURCE @@ -39,8 +37,8 @@ + #endif /* _h_config */ --- config_f.h -+++ config_f.h 2016-11-25 08:18:00.925719793 +0000 -@@ -64,7 +64,12 @@ ++++ config_f.h 2019-05-09 08:41:54.237060106 +0000 +@@ -63,7 +63,12 @@ /* * LOGINFIRST Source ~/.login before ~/.cshrc */ @@ -54,7 +52,7 @@ /* * VIDEFAULT Make the VI mode editor the default -@@ -158,7 +163,7 @@ +@@ -157,7 +162,7 @@ * successful, set $REMOTEHOST to the name or address of the * host */ @@ -63,39 +61,8 @@ /* * COLOR_LS_F Do you want to use builtin color ls-F ? -@@ -181,7 +186,7 @@ - * RCSID This defines if we want rcs strings in the binary or not - * - */ --#if !defined(lint) && !defined(SABER) && !defined(__CLCC__) -+#if !defined(lint) && !defined(SABER) && !defined(__CLCC__) && !defined(__linux__) - # ifndef __GNUC__ - # define RCSID(id) static char *rcsid = (id); - # else ---- configure -+++ configure 2016-11-25 08:18:00.925719793 +0000 -@@ -4284,7 +4284,7 @@ return tgetent (); - return 0; - } - _ACEOF --for ac_lib in '' termlib termcap curses ncurses; do -+for ac_lib in '' termlib termcap tinfo curses ncurses; do - if test -z "$ac_lib"; then - ac_res="none required" - else ---- configure.ac -+++ configure.ac 2016-11-25 08:20:19.034907025 +0000 -@@ -317,7 +317,7 @@ esac - dnl Checks for libraries - AC_SEARCH_LIBS(crypt, crypt) - AC_SEARCH_LIBS(getspnam, sec) --AC_SEARCH_LIBS([tgetent], [termlib termcap curses ncurses], [], [ -+AC_SEARCH_LIBS([tgetent], [termlib termcap tinfo curses ncurses], [], [ - AC_MSG_ERROR([unable to find the tgetent() function]) - ]) - AC_SEARCH_LIBS(gethostbyname, nsl) --- glob.h -+++ glob.h 2016-11-25 08:18:00.925719793 +0000 ++++ glob.h 2019-05-09 08:41:54.237060106 +0000 @@ -72,6 +72,7 @@ typedef struct { #define GLOB_NOSYS (-4) /* Implementation does not support function. */ @@ -114,8 +81,8 @@ int glob (const char *, int, int (*)(const char *, int), glob_t *); void globfree (glob_t *); --- pathnames.h -+++ pathnames.h 2016-11-25 08:18:00.925719793 +0000 -@@ -84,7 +84,7 @@ ++++ pathnames.h 2019-05-09 08:41:54.237060106 +0000 +@@ -83,7 +83,7 @@ # endif /* !_PATH_DOTLOGIN */ #endif /* sgi || OREO || cray || AMIX || CDC */ @@ -125,8 +92,8 @@ #endif /* _CRAYCOM && !_PATH_TCSHELL */ --- sh.c -+++ sh.c 2016-11-25 08:18:00.925719793 +0000 -@@ -1371,6 +1371,9 @@ main(int argc, char **argv) ++++ sh.c 2019-05-09 08:41:54.237060106 +0000 +@@ -1346,6 +1346,9 @@ main(int argc, char **argv) setintr = osetintr; parintr = oparintr; } @@ -137,8 +104,8 @@ if (loginsh) (void) srccat(varval(STRhome), STRsldotlogin); --- tc.alloc.c -+++ tc.alloc.c 2016-11-25 08:18:00.929719710 +0000 -@@ -521,7 +521,7 @@ smalloc(size_t n) ++++ tc.alloc.c 2019-05-09 08:41:54.237060106 +0000 +@@ -518,7 +518,7 @@ smalloc(size_t n) { ptr_t ptr; @@ -147,7 +114,7 @@ #ifdef USE_SBRK if (membot == NULL) -@@ -544,7 +544,7 @@ srealloc(ptr_t p, size_t n) +@@ -541,7 +541,7 @@ srealloc(ptr_t p, size_t n) { ptr_t ptr; @@ -156,7 +123,7 @@ #ifdef USE_SBRK if (membot == NULL) -@@ -568,7 +568,7 @@ scalloc(size_t s, size_t n) +@@ -565,7 +565,7 @@ scalloc(size_t s, size_t n) ptr_t ptr; n *= s; @@ -165,7 +132,7 @@ #ifdef USE_SBRK if (membot == NULL) -@@ -593,8 +593,10 @@ scalloc(size_t s, size_t n) +@@ -590,8 +590,10 @@ scalloc(size_t s, size_t n) void sfree(ptr_t p) { @@ -178,8 +145,8 @@ #endif /* SYSMALLOC */ --- tc.func.c -+++ tc.func.c 2016-11-25 08:18:00.929719710 +0000 -@@ -725,9 +725,13 @@ auto_lock(void) ++++ tc.func.c 2019-05-09 08:41:54.237060106 +0000 +@@ -721,9 +721,13 @@ auto_lock(void) handle_pending_signals(); errno = 0; } @@ -194,7 +161,7 @@ #else -@@ -1934,7 +1938,7 @@ getremotehost(int dest_fd) +@@ -1937,7 +1941,7 @@ getremotehost(int dest_fd) * have not caught up yet. */ addr.s_addr = inet_addr(name); @@ -204,8 +171,8 @@ else { if (sptr != name) { --- tc.str.c -+++ tc.str.c 2016-11-25 08:18:00.929719710 +0000 -@@ -350,7 +350,7 @@ s_strlen(const Char *str) ++++ tc.str.c 2019-05-09 08:41:54.241060031 +0000 +@@ -347,7 +347,7 @@ s_strlen(const Char *str) { size_t n; @@ -215,8 +182,8 @@ return (n); } --- tc.who.c -+++ tc.who.c 2016-11-25 08:18:00.929719710 +0000 -@@ -280,6 +280,9 @@ watch_login(int force) ++++ tc.who.c 2019-05-09 08:41:54.241060031 +0000 +@@ -259,6 +259,9 @@ watch_login(int force) } stlast = sta.st_mtime; #if defined(HAVE_GETUTENT) || defined(HAVE_GETUTXENT) @@ -227,8 +194,8 @@ #else if ((utmpfd = xopen(TCSH_PATH_UTMP, O_RDONLY|O_LARGEFILE)) < 0) { --- tcsh.man -+++ tcsh.man 2016-11-25 08:21:43.605184550 +0000 -@@ -603,7 +603,7 @@ Repeating \fIdabbrev-expand\fR without a ++++ tcsh.man 2019-05-09 08:41:54.241060031 +0000 +@@ -602,7 +602,7 @@ Repeating \fIdabbrev-expand\fR without a changes to the next previous word etc., skipping identical matches much like \fIhistory-search-backward\fR does. .TP 8 @@ -238,8 +205,8 @@ See also \fIdelete-char-or-list-or-eof\fR. Cursor behavior modified by \fBvimode\fR. --- tw.h -+++ tw.h 2016-11-25 08:18:00.929719710 +0000 -@@ -33,6 +33,10 @@ ++++ tw.h 2019-05-09 08:41:54.241060031 +0000 +@@ -32,6 +32,10 @@ #ifndef _h_tw #define _h_tw ++++++ tcsh-6.20.00.tar.gz -> tcsh-6.21.00.tar.gz ++++++ ++++ 7984 lines of diff (skipped)
