.
OBS-URL: https://build.opensuse.org/package/show/shells/tcsh?expand=0&rev=31
This commit is contained in:
parent
02ddb26d49
commit
fdcb383258
30
nls-iconv
30
nls-iconv
@ -1,30 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
iconv_files () {
|
|
||||||
FROM=$1
|
|
||||||
shift
|
|
||||||
for i in $*
|
|
||||||
do
|
|
||||||
iconv --from $FROM --to UTF-8 < $i > $i.tmp
|
|
||||||
mv $i.tmp $i
|
|
||||||
perl -pi -e 's/codeset *= *[^[:space:]]*/codeset=UTF-8/' $i
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
iconv_files ISO-8859-1 nls/C/set*
|
|
||||||
iconv_files ISO-8859-1 nls/et/set*
|
|
||||||
iconv_files ISO-8859-1 nls/finnish/set*
|
|
||||||
iconv_files ISO-8859-1 nls/french/set*
|
|
||||||
iconv_files ISO-8859-1 nls/german/set*
|
|
||||||
iconv_files ISO-8859-7 nls/greek/set*
|
|
||||||
iconv_files ISO-8859-1 nls/italian/set*
|
|
||||||
iconv_files EUC-JP nls/ja/set*
|
|
||||||
iconv_files ISO-8859-2 nls/pl/set*
|
|
||||||
iconv_files KOI8-R nls/russian/set*
|
|
||||||
iconv_files ISO-8859-1 nls/spanish/set*
|
|
||||||
iconv_files KOI8-U nls/ukrainian/set*
|
|
||||||
|
|
||||||
for i in nls/*/charset ; do
|
|
||||||
perl -pi -e 's/codeset *= *[^[:space:]]*/codeset=UTF-8/' $i
|
|
||||||
perl -pi -e 's/1 *[^[:space:]]*/1 UTF-8/' $i
|
|
||||||
done
|
|
@ -1,22 +0,0 @@
|
|||||||
--- tw.parse.c
|
|
||||||
+++ tw.parse.c 2008-11-26 17:52:07.190195106 +0000
|
|
||||||
@@ -347,9 +347,19 @@ tenematch(Char *inputline, int num_read,
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+
|
|
||||||
Strbuf_append(&wordbuf, qline.s + wordp);
|
|
||||||
Strbuf_terminate(&wordbuf);
|
|
||||||
cleanup_push(&wordbuf, Strbuf_cleanup);
|
|
||||||
+
|
|
||||||
+ if ((looking == TW_COMMAND) && (*wordbuf.s == '/')) {
|
|
||||||
+ if (executable((Char*)0, wordbuf.s, 0)) {
|
|
||||||
+ cleanup_until(&wordbuf);
|
|
||||||
+ search_ret = 0;
|
|
||||||
+ goto end;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
search_ret = spell_me(&wordbuf, looking, pat, suf);
|
|
||||||
qline.len = wordp;
|
|
||||||
Strbuf_append(&qline, wordbuf.s);
|
|
@ -1,13 +0,0 @@
|
|||||||
--- sh.func.c
|
|
||||||
+++ sh.func.c 2007-07-13 10:36:10.233075909 +0000
|
|
||||||
@@ -2416,9 +2416,7 @@ nlsinit(void)
|
|
||||||
if (catalog != default_catalog)
|
|
||||||
xfree(catalog);
|
|
||||||
#if defined(HAVE_ICONV) && defined(HAVE_NL_LANGINFO)
|
|
||||||
- /* xcatgets (), not CGETS, the charset name should be in ASCII anyway. */
|
|
||||||
- catgets_iconv = iconv_open (nl_langinfo (CODESET),
|
|
||||||
- xcatgets(catd, 255, 1, "ASCII"));
|
|
||||||
+ catgets_iconv = iconv_open (nl_langinfo (CODESET), "UTF-8");
|
|
||||||
#endif /* HAVE_ICONV && HAVE_NL_LANGINFO */
|
|
||||||
#endif /* NLS_CATALOGS */
|
|
||||||
#ifdef WINNT_NATIVE
|
|
@ -1,10 +0,0 @@
|
|||||||
--- sh.c
|
|
||||||
+++ sh.c 2009-08-14 08:27:58.129901841 +0000
|
|
||||||
@@ -2153,6 +2153,7 @@ mailchk(void)
|
|
||||||
|
|
||||||
while (readdir(mailbox))
|
|
||||||
mailcount++;
|
|
||||||
+ closedir(mailbox);
|
|
||||||
|
|
||||||
if (mailcount == 0)
|
|
||||||
continue;
|
|
@ -1,77 +0,0 @@
|
|||||||
--- sh.h
|
|
||||||
+++ sh.h 2007-07-23 10:01:10.230408643 +0000
|
|
||||||
@@ -640,7 +640,7 @@ EXTERN int SHDIAG IZERO; /* Diagnostic
|
|
||||||
EXTERN int OLDSTD IZERO; /* Old standard input (def for cmds) */
|
|
||||||
|
|
||||||
|
|
||||||
-#if SYSVREL == 4 && defined(_UTS)
|
|
||||||
+#if (SYSVREL == 4 && defined(_UTS)) || defined(__linux__)
|
|
||||||
/*
|
|
||||||
* From: fadden@uts.amdahl.com (Andy McFadden)
|
|
||||||
* we need sigsetjmp for UTS4, but not UTS2.1
|
|
||||||
@@ -658,7 +658,7 @@ EXTERN int OLDSTD IZERO; /* Old standa
|
|
||||||
|
|
||||||
#ifdef SIGSETJMP
|
|
||||||
typedef struct { sigjmp_buf j; } jmp_buf_t;
|
|
||||||
-# define setexit() sigsetjmp(reslab.j)
|
|
||||||
+# define setexit() sigsetjmp(reslab.j, 1)
|
|
||||||
# define _reset() siglongjmp(reslab.j, 1)
|
|
||||||
#else
|
|
||||||
typedef struct { jmp_buf j; } jmp_buf_t;
|
|
||||||
--- sh.c
|
|
||||||
+++ sh.c 2007-07-23 10:02:41.640206073 +0000
|
|
||||||
@@ -78,7 +78,7 @@ extern int NLSMapsAreInited;
|
|
||||||
* ported to Apple Unix (TM) (OREO) 26 -- 29 Jun 1987
|
|
||||||
*/
|
|
||||||
|
|
||||||
-jmp_buf_t reslab INIT_ZERO_STRUCT;
|
|
||||||
+jmp_buf_t reslab;
|
|
||||||
|
|
||||||
static const char tcshstr[] = "tcsh";
|
|
||||||
|
|
||||||
@@ -178,6 +178,8 @@ main(int argc, char **argv)
|
|
||||||
int osetintr;
|
|
||||||
struct sigaction oparintr;
|
|
||||||
|
|
||||||
+ memset(&reslab, 0, sizeof(reslab));
|
|
||||||
+
|
|
||||||
#ifdef WINNT_NATIVE
|
|
||||||
nt_init();
|
|
||||||
#endif /* WINNT_NATIVE */
|
|
||||||
@@ -2013,7 +2015,10 @@ process(int catch)
|
|
||||||
#endif /* SIG_WINDOW */
|
|
||||||
setcopy(STR_, InputBuf, VAR_READWRITE | VAR_NOGLOB);
|
|
||||||
cmd_done:
|
|
||||||
- cleanup_until(¶ml);
|
|
||||||
+ if (cleanup_reset())
|
|
||||||
+ cleanup_until(¶ml);
|
|
||||||
+ else
|
|
||||||
+ haderr = 1;
|
|
||||||
}
|
|
||||||
cleanup_pop_mark(omark);
|
|
||||||
resexit(osetexit);
|
|
||||||
--- sh.decls.h
|
|
||||||
+++ sh.decls.h 2007-07-23 13:37:27.493023737 +0000
|
|
||||||
@@ -90,6 +90,7 @@ extern void cleanup_push_internal(voi
|
|
||||||
#define cleanup_push(v, f) cleanup_push_internal(v, f)
|
|
||||||
#endif
|
|
||||||
);
|
|
||||||
+extern int cleanup_reset (void);
|
|
||||||
extern void cleanup_ignore(void *);
|
|
||||||
extern void cleanup_until (void *);
|
|
||||||
extern void cleanup_until_mark(void);
|
|
||||||
--- sh.err.c
|
|
||||||
+++ sh.err.c 2007-07-23 13:39:48.944172212 +0000
|
|
||||||
@@ -448,6 +448,12 @@ cleanup_until(void *last_var)
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
|
|
||||||
+int
|
|
||||||
+cleanup_reset(void)
|
|
||||||
+{
|
|
||||||
+ return (cleanup_sp > cleanup_mark);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
void
|
|
||||||
cleanup_until_mark(void)
|
|
||||||
{
|
|
@ -1,27 +0,0 @@
|
|||||||
Author: christos <christos>
|
|
||||||
Date: Thu May 13 18:39:02 2010 +0000
|
|
||||||
|
|
||||||
add a rule to make catalogs and propagate ${MAKE} instead of hard-coding make.
|
|
||||||
|
|
||||||
--- a/Makefile.in
|
|
||||||
+++ b/Makefile.in
|
|
||||||
@@ -687,7 +687,7 @@ shar:
|
|
||||||
rm -rf tcsh-${VERSION}
|
|
||||||
|
|
||||||
catalogs:
|
|
||||||
- @(cd nls; make catalogs)
|
|
||||||
+ @(cd nls; ${MAKE})
|
|
||||||
|
|
||||||
tcsh-${VERSION}.tar.Z:
|
|
||||||
rm -rf tcsh-${VERSION}
|
|
||||||
--- a/nls/Makefile.in
|
|
||||||
+++ b/nls/Makefile.in
|
|
||||||
@@ -18,7 +18,7 @@ install: $(INSTALLED)
|
|
||||||
$(INSTALL) $< $@
|
|
||||||
|
|
||||||
%.cat:
|
|
||||||
- $(GENCAT) $@ $(@:%.cat=%)/*set*
|
|
||||||
+ cat $(@:%.cat=%)/charset $(@:%.cat=%)/set* | $(GENCAT) $@
|
|
||||||
|
|
||||||
clean:
|
|
||||||
$(RM) $(CATALOGS)
|
|
@ -1,27 +0,0 @@
|
|||||||
--- tw.color.c
|
|
||||||
+++ tw.color.c 2010-12-10 16:07:59.151926218 +0000
|
|
||||||
@@ -88,6 +88,7 @@ static Variable variables[] = {
|
|
||||||
VAR(NOS, "rs", "0"), /* Reset to normal color */
|
|
||||||
VAR(NOS, "hl", "44;37"), /* Reg file extra hard links */
|
|
||||||
VAR(NOS, "ca", "30;41"), /* File with capability */
|
|
||||||
+ VAR(NOS, "cl", ""), /* CLRTOEOL */
|
|
||||||
};
|
|
||||||
|
|
||||||
enum FileType {
|
|
||||||
@@ -239,13 +240,10 @@ parseLS_COLORS(const Char *value)
|
|
||||||
if ((Char)variables[i].variable[0] == (v[0] & CHAR) &&
|
|
||||||
(Char)variables[i].variable[1] == (v[1] & CHAR))
|
|
||||||
break;
|
|
||||||
- if (i < nvariables) {
|
|
||||||
- v += 3;
|
|
||||||
+ v += 3;
|
|
||||||
+ if (i < nvariables)
|
|
||||||
getstring(&c, &v, &variables[i].color, ':');
|
|
||||||
- continue;
|
|
||||||
- }
|
|
||||||
- else
|
|
||||||
- stderror(ERR_BADCOLORVAR, v[0], v[1]);
|
|
||||||
+ continue;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
@ -1,153 +0,0 @@
|
|||||||
--- sh.c
|
|
||||||
+++ sh.c 2007-10-15 10:03:11.000000000 +0000
|
|
||||||
@@ -1811,7 +1811,7 @@ static Char *jobargv[2] = {STRjobs, 0}
|
|
||||||
* and finally go through the normal error mechanism, which
|
|
||||||
* gets a chance to make the shell go away.
|
|
||||||
*/
|
|
||||||
-int just_signaled; /* bugfix by Michael Bloom (mg@ttidca.TTI.COM) */
|
|
||||||
+int just_signaled = 0; /* bugfix by Michael Bloom (mg@ttidca.TTI.COM) */
|
|
||||||
|
|
||||||
void
|
|
||||||
pintr(void)
|
|
||||||
--- sh.err.c
|
|
||||||
+++ sh.err.c 2009-03-25 10:35:17.000000000 +0000
|
|
||||||
@@ -51,6 +51,7 @@ char *seterr = NULL; /* Holds last err
|
|
||||||
#define ERR_NAME 0x10000000
|
|
||||||
#define ERR_SILENT 0x20000000
|
|
||||||
#define ERR_OLD 0x40000000
|
|
||||||
+#define ERR_INTERRUPT 0x80000000
|
|
||||||
|
|
||||||
#define ERR_SYNTAX 0
|
|
||||||
#define ERR_NOTALLOWED 1
|
|
||||||
@@ -608,7 +609,8 @@ stderror(unsigned int id, ...)
|
|
||||||
* will go to 1/2 else to FSHOUT/FSHDIAG. See flush in sh.print.c.
|
|
||||||
*/
|
|
||||||
flush();/*FIXRESET*/
|
|
||||||
- haderr = 1; /* Now to diagnostic output */
|
|
||||||
+ if (!(flags & ERR_INTERRUPT))
|
|
||||||
+ haderr = 1; /* Now to diagnostic output */
|
|
||||||
if (flags & ERR_NAME)
|
|
||||||
xprintf("%s: ", bname);/*FIXRESET*/
|
|
||||||
if ((flags & ERR_OLD)) {
|
|
||||||
@@ -649,5 +651,6 @@ stderror(unsigned int id, ...)
|
|
||||||
if (tpgrp > 0)
|
|
||||||
(void) tcsetpgrp(FSHTTY, tpgrp);
|
|
||||||
#endif
|
|
||||||
- reset(); /* Unwind */
|
|
||||||
+ if (!(flags & ERR_INTERRUPT))
|
|
||||||
+ reset(); /* Unwind */
|
|
||||||
}
|
|
||||||
--- sh.h
|
|
||||||
+++ sh.h 2007-10-11 22:00:00.000000000 +0000
|
|
||||||
@@ -565,6 +565,7 @@ EXTERN int neednote IZERO; /* Need to
|
|
||||||
EXTERN int noexec IZERO; /* Don't execute, just syntax check */
|
|
||||||
EXTERN int pjobs IZERO; /* want to print jobs if interrupted */
|
|
||||||
EXTERN int setintr IZERO; /* Set interrupts on/off -> Wait intr... */
|
|
||||||
+EXTERN int handle_intr IZERO;/* Set interrupts on/off -> Wait intr... */
|
|
||||||
EXTERN int havhash IZERO; /* path hashing is available */
|
|
||||||
EXTERN int editing IZERO; /* doing filename expansion and line editing */
|
|
||||||
EXTERN int noediting IZERO; /* initial $term defaulted to noedit */
|
|
||||||
--- sh.hist.c
|
|
||||||
+++ sh.hist.c 2007-10-11 22:00:00.000000000 +0000
|
|
||||||
@@ -1279,9 +1279,9 @@ rechist(Char *fname, int ref)
|
|
||||||
setv(STRverbose, verb, VAR_READWRITE);
|
|
||||||
}
|
|
||||||
fp = xcreat(short2str(fname), 0600);
|
|
||||||
+ cleanup_until(fname);
|
|
||||||
if (fp == -1) {
|
|
||||||
didfds = oldidfds;
|
|
||||||
- cleanup_until(fname);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ftmp = SHOUT;
|
|
||||||
@@ -1291,7 +1291,6 @@ rechist(Char *fname, int ref)
|
|
||||||
xclose(fp);
|
|
||||||
SHOUT = ftmp;
|
|
||||||
didfds = oldidfds;
|
|
||||||
- cleanup_until(fname);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
--- sh.print.c
|
|
||||||
+++ sh.print.c 2007-10-15 10:09:16.000000000 +0000
|
|
||||||
@@ -222,7 +222,8 @@ drainoline(void)
|
|
||||||
void
|
|
||||||
flush(void)
|
|
||||||
{
|
|
||||||
- int unit;
|
|
||||||
+ int unit, oldexitset = exitset;
|
|
||||||
+ unsigned int errid = ERR_SILENT;
|
|
||||||
static int interrupted = 0;
|
|
||||||
|
|
||||||
/* int lmode; */
|
|
||||||
@@ -231,10 +232,14 @@ flush(void)
|
|
||||||
return;
|
|
||||||
if (GettingInput && !Tty_raw_mode && linp < &linbuf[sizeof linbuf - 10])
|
|
||||||
return;
|
|
||||||
+ if (handle_intr) {
|
|
||||||
+ errid |= ERR_INTERRUPT;
|
|
||||||
+ exitset = 1;
|
|
||||||
+ }
|
|
||||||
if (interrupted) {
|
|
||||||
interrupted = 0;
|
|
||||||
linp = linbuf; /* avoid recursion as stderror calls flush */
|
|
||||||
- stderror(ERR_SILENT);
|
|
||||||
+ stderror(errid);
|
|
||||||
}
|
|
||||||
interrupted = 1;
|
|
||||||
if (haderr)
|
|
||||||
@@ -286,13 +291,14 @@ flush(void)
|
|
||||||
case EDQUOT:
|
|
||||||
#endif
|
|
||||||
/* Nothing to do, but die */
|
|
||||||
- xexit(1);
|
|
||||||
- break;
|
|
||||||
+ if (handle_intr == 0)
|
|
||||||
+ xexit(1);
|
|
||||||
default:
|
|
||||||
- stderror(ERR_SILENT);
|
|
||||||
+ stderror(errid);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ exitset = oldexitset;
|
|
||||||
linp = linbuf;
|
|
||||||
interrupted = 0;
|
|
||||||
}
|
|
||||||
--- tc.sig.c
|
|
||||||
+++ tc.sig.c 2007-10-11 22:00:00.000000000 +0000
|
|
||||||
@@ -60,25 +60,34 @@ int alrmcatch_disabled; /* = 0; */
|
|
||||||
int phup_disabled; /* = 0; */
|
|
||||||
int pchild_disabled; /* = 0; */
|
|
||||||
int pintr_disabled; /* = 0; */
|
|
||||||
+int handle_intr = 0;
|
|
||||||
|
|
||||||
void
|
|
||||||
handle_pending_signals(void)
|
|
||||||
{
|
|
||||||
if (!phup_disabled && phup_pending) {
|
|
||||||
phup_pending = 0;
|
|
||||||
+ handle_intr++;
|
|
||||||
phup();
|
|
||||||
+ handle_intr--;
|
|
||||||
}
|
|
||||||
if (!pintr_disabled && pintr_pending) {
|
|
||||||
pintr_pending = 0;
|
|
||||||
+ handle_intr++;
|
|
||||||
pintr();
|
|
||||||
+ handle_intr--;
|
|
||||||
}
|
|
||||||
if (!pchild_disabled && pchild_pending) {
|
|
||||||
pchild_pending = 0;
|
|
||||||
+ handle_intr++;
|
|
||||||
pchild();
|
|
||||||
+ handle_intr--;
|
|
||||||
}
|
|
||||||
if (!alrmcatch_disabled && alrmcatch_pending) {
|
|
||||||
alrmcatch_pending = 0;
|
|
||||||
+ handle_intr++;
|
|
||||||
alrmcatch();
|
|
||||||
+ handle_intr--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,132 +0,0 @@
|
|||||||
--- ed.inputl.c
|
|
||||||
+++ ed.inputl.c 2010-12-09 10:01:31.000000000 +0000
|
|
||||||
@@ -683,7 +683,7 @@ GetNextCommand(KEYCMD *cmdnum, Char *ch)
|
|
||||||
#ifdef DSPMBYTE
|
|
||||||
_enable_mbdisp &&
|
|
||||||
#else
|
|
||||||
- MB_LEN_MAX == 1 &&
|
|
||||||
+ MB_CUR_MAX == 1 &&
|
|
||||||
#endif
|
|
||||||
!adrof(STRnokanji) && (*ch & META)) {
|
|
||||||
MetaNext = 0;
|
|
||||||
--- sh.c
|
|
||||||
+++ sh.c 2010-12-10 16:10:45.000000000 +0000
|
|
||||||
@@ -804,6 +804,18 @@ main(int argc, char **argv)
|
|
||||||
nt_autoset_dspmbyte();
|
|
||||||
#endif /* WINNT_NATIVE */
|
|
||||||
#endif
|
|
||||||
+#if defined(KANJI)
|
|
||||||
+#if defined(WIDE_STRINGS) && defined(HAVE_NL_LANGINFO) && defined(CODESET)
|
|
||||||
+#if defined(NLS) && defined(LC_CTYPE)
|
|
||||||
+ if (setlocale(LC_CTYPE, NULL) != NULL || getenv("LANG") != NULL)
|
|
||||||
+#else
|
|
||||||
+ if (getenv("LANG") != NULL)
|
|
||||||
+#endif
|
|
||||||
+ {
|
|
||||||
+ autoset_kanji();
|
|
||||||
+ }
|
|
||||||
+#endif
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
fix_version(); /* publish the shell version */
|
|
||||||
|
|
||||||
--- sh.decls.h
|
|
||||||
+++ sh.decls.h 2010-12-07 10:09:50.000000000 +0000
|
|
||||||
@@ -392,6 +392,11 @@ extern Char *unparse (struct command *
|
|
||||||
extern void update_dspmbyte_vars (void);
|
|
||||||
extern void autoset_dspmbyte (const Char *);
|
|
||||||
#endif
|
|
||||||
+#if defined(KANJI)
|
|
||||||
+#if defined(WIDE_STRINGS) && defined(HAVE_NL_LANGINFO) && defined(CODESET)
|
|
||||||
+extern void autoset_kanji (void);
|
|
||||||
+#endif
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* sh.time.c
|
|
||||||
--- sh.func.c
|
|
||||||
+++ sh.func.c 2010-12-09 09:15:06.000000000 +0000
|
|
||||||
@@ -1422,6 +1422,10 @@ dosetenv(Char **v, struct command *c)
|
|
||||||
# endif
|
|
||||||
# ifdef LC_CTYPE
|
|
||||||
(void) setlocale(LC_CTYPE, ""); /* for iscntrl */
|
|
||||||
+# if defined(KANJI) && defined(WIDE_STRINGS) && defined(HAVE_NL_LANGINFO) && defined(CODESET)
|
|
||||||
+ autoset_kanji();
|
|
||||||
+# endif
|
|
||||||
+
|
|
||||||
# endif /* LC_CTYPE */
|
|
||||||
# ifdef NLS_CATALOGS
|
|
||||||
# ifdef LC_MESSAGES
|
|
||||||
--- sh.set.c
|
|
||||||
+++ sh.set.c 2010-12-09 11:07:56.000000000 +0000
|
|
||||||
@@ -1098,7 +1098,8 @@ x:
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-#if defined(KANJI) && defined(SHORT_STRINGS) && defined(DSPMBYTE)
|
|
||||||
+#if defined(KANJI)
|
|
||||||
+#if defined(SHORT_STRINGS) && defined(DSPMBYTE)
|
|
||||||
extern int dspmbyte_ls;
|
|
||||||
|
|
||||||
void
|
|
||||||
@@ -1273,4 +1274,26 @@ autoset_dspmbyte(const Char *pcp)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+#elif defined(WIDE_STRINGS) && defined(HAVE_NL_LANGINFO) && defined(CODESET)
|
|
||||||
+void
|
|
||||||
+autoset_kanji(void)
|
|
||||||
+{
|
|
||||||
+ char *codeset = nl_langinfo(CODESET);
|
|
||||||
+
|
|
||||||
+ if (*codeset == '\0') {
|
|
||||||
+ if (adrof(STRnokanji) == NULL)
|
|
||||||
+ setNS(STRnokanji);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (strcasestr(codeset, "SHIFT_JIS") == (char*)0) {
|
|
||||||
+ if (adrof(STRnokanji) == NULL)
|
|
||||||
+ setNS(STRnokanji);
|
|
||||||
+ return;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (adrof(STRnokanji) != NULL)
|
|
||||||
+ unsetv(STRnokanji);
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
#endif
|
|
||||||
--- tc.str.c
|
|
||||||
+++ tc.str.c 2010-12-14 16:47:24.383925459 +0000
|
|
||||||
@@ -94,13 +94,31 @@ one_wctomb(char *s, Char wchar)
|
|
||||||
return len;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if defined(KANJI) && defined(WIDE_STRINGS) && defined(HAVE_NL_LANGINFO) && defined(CODESET)
|
|
||||||
+static mbstate_t mb_zero;
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
int
|
|
||||||
rt_mbtowc(Char *pwc, const char *s, size_t n)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
char back[MB_LEN_MAX];
|
|
||||||
wchar_t tmp;
|
|
||||||
+#if defined(KANJI) && defined(WIDE_STRINGS) && defined(HAVE_NL_LANGINFO) && defined(CODESET)
|
|
||||||
+ static mbstate_t mb;
|
|
||||||
+
|
|
||||||
+ /*
|
|
||||||
+ * Workaround the Shift-JIS endcoding that translates unshifted 7 bit ASCII!
|
|
||||||
+ */
|
|
||||||
+ if (!adrof(STRnokanji) && n && pwc && s && (*s == '\\' || *s == '~') &&
|
|
||||||
+ !memcmp(&mb, &mb_zero, sizeof(mb)))
|
|
||||||
+ {
|
|
||||||
+ *pwc = *s;
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
+#else
|
|
||||||
mbstate_t mb;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
memset (&mb, 0, sizeof mb);
|
|
||||||
ret = mbrtowc(&tmp, s, n, &mb);
|
|
@ -1,16 +0,0 @@
|
|||||||
Author: Jean-Luc Leger <reiga@dspnet.fr.eu.org>
|
|
||||||
Description: fix broken globbing expansion
|
|
||||||
Debian-Bug: #603545
|
|
||||||
--- a/tc.str.c
|
|
||||||
+++ b/tc.str.c
|
|
||||||
@@ -104,8 +104,9 @@ rt_mbtowc(Char *pwc, const char *s, size_t n)
|
|
||||||
|
|
||||||
memset (&mb, 0, sizeof mb);
|
|
||||||
ret = mbrtowc(&tmp, s, n, &mb);
|
|
||||||
- if (ret > 0) {
|
|
||||||
+ if (ret >= 0)
|
|
||||||
*pwc = tmp;
|
|
||||||
+ if (ret > 0) {
|
|
||||||
#ifdef UTF16_STRINGS
|
|
||||||
if (tmp >= 0xd800 && tmp <= 0xdbff) {
|
|
||||||
/* UTF-16 surrogate pair. Fetch second half and compute
|
|
@ -1,24 +0,0 @@
|
|||||||
--- nls/Makefile.in
|
|
||||||
+++ nls/Makefile.in 2010-12-10 16:05:57.967928042 +0000
|
|
||||||
@@ -2,7 +2,7 @@
|
|
||||||
|
|
||||||
LOCALES= C et finnish french german greek italian ja pl russian \
|
|
||||||
spanish ukrainian
|
|
||||||
-GENCAT= gencat
|
|
||||||
+GENCAT= gencat --new
|
|
||||||
INSTALL= ginstall
|
|
||||||
|
|
||||||
datarootdir=@datarootdir@
|
|
||||||
--- nls/german/set6
|
|
||||||
+++ nls/german/set6 2005-08-17 12:12:36.000000000 +0000
|
|
||||||
@@ -3,8 +3,8 @@ $ ed.inputl.c
|
|
||||||
$set 6
|
|
||||||
1 FEHLER: Illegaler Befehl von Taste 0%o\r\n
|
|
||||||
2 ja\n
|
|
||||||
-3 ediere\n
|
|
||||||
-4 brich ab\n
|
|
||||||
+3 editieren\n
|
|
||||||
+4 abbrechen\n
|
|
||||||
5 nein\n
|
|
||||||
6 Kein entsprechender Befehl\n
|
|
||||||
7 Mehrdeutiger Befehl\n
|
|
830
tcsh-6.17.02.dif
830
tcsh-6.17.02.dif
@ -1,830 +0,0 @@
|
|||||||
--- Makefile.in
|
|
||||||
+++ Makefile.in 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -591,12 +591,12 @@ vgrind:
|
|
||||||
@vgrind -t -x -h Index index >/crp/bill/csh/index.t
|
|
||||||
|
|
||||||
install-strip: install
|
|
||||||
+ -strip ${DESTBIN}/tcsh$(EXEEXT)
|
|
||||||
|
|
||||||
install: tcsh$(EXEEXT)
|
|
||||||
-mkdir -p ${DESTBIN}
|
|
||||||
-mv -f ${DESTBIN}/tcsh$(EXEEXT) ${DESTBIN}/tcsh.old
|
|
||||||
cp tcsh$(EXEEXT) ${DESTBIN}/tcsh$(EXEEXT)
|
|
||||||
- -strip ${DESTBIN}/tcsh$(EXEEXT)
|
|
||||||
chmod 755 ${DESTBIN}/tcsh$(EXEEXT)
|
|
||||||
|
|
||||||
install.man: tcsh.man
|
|
||||||
--- config/linux
|
|
||||||
+++ config/linux 2007-07-13 11:22:07.000000000 +0000
|
|
||||||
@@ -70,7 +70,7 @@
|
|
||||||
*
|
|
||||||
* Note: Linux should work with any SYSVREL < 3.
|
|
||||||
*/
|
|
||||||
-#define SYSVREL 0
|
|
||||||
+#define SYSVREL 2
|
|
||||||
|
|
||||||
/*
|
|
||||||
* YPBUGS Work around Sun YP bugs that cause expansion of ~username
|
|
||||||
@@ -86,21 +86,40 @@
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define __STRICT_ANSI__
|
|
||||||
-#define _BSD_SOURCE
|
|
||||||
-#define _SVID_SOURCE
|
|
||||||
-#define _POSIX_SOURCE
|
|
||||||
-#define _XOPEN_SOURCE 500
|
|
||||||
-#define _GNU_SOURCE
|
|
||||||
+#ifndef _BSD_SOURCE
|
|
||||||
+# define _BSD_SOURCE
|
|
||||||
+#endif
|
|
||||||
+#ifndef _SVID_SOURCE
|
|
||||||
+# define _SVID_SOURCE
|
|
||||||
+#endif
|
|
||||||
+#ifndef _POSIX_SOURCE
|
|
||||||
+# define _POSIX_SOURCE
|
|
||||||
+#endif
|
|
||||||
+#ifndef _XOPEN_SOURCE
|
|
||||||
+# define _XOPEN_SOURCE 500
|
|
||||||
+#endif
|
|
||||||
+#ifndef _GNU_SOURCE
|
|
||||||
+# define _GNU_SOURCE
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Large file support from <features.h>
|
|
||||||
*/
|
|
||||||
|
|
||||||
-#define _LARGEFILE_SOURCE
|
|
||||||
-#define _LARGEFILE64_SOURCE
|
|
||||||
-#define _FILE_OFFSET_BITS 64
|
|
||||||
+#ifndef _LARGEFILE_SOURCE
|
|
||||||
+# define _LARGEFILE_SOURCE
|
|
||||||
+#endif
|
|
||||||
+#ifndef _LARGEFILE64_SOURCE
|
|
||||||
+# define _LARGEFILE64_SOURCE
|
|
||||||
+#endif
|
|
||||||
+#ifndef _FILE_OFFSET_BITS
|
|
||||||
+# define _FILE_OFFSET_BITS 64
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/****************** local defines *********************/
|
|
||||||
+#if !defined(PW_SHADOW)
|
|
||||||
+# define PW_SHADOW
|
|
||||||
+#endif
|
|
||||||
#ifndef _PATH_TCSHELL
|
|
||||||
#define _PATH_TCSHELL "/bin/tcsh"
|
|
||||||
#endif
|
|
||||||
@@ -108,4 +127,17 @@
|
|
||||||
|
|
||||||
#define NLS_CATALOGS
|
|
||||||
|
|
||||||
+#if !defined(SYSMALLOC)
|
|
||||||
+# define SYSMALLOC
|
|
||||||
+#endif
|
|
||||||
+#if !defined(NISPLUS)
|
|
||||||
+# define NISPLUS
|
|
||||||
+#endif
|
|
||||||
+#if !defined(POSIX)
|
|
||||||
+# define POSIX
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#define SuSE
|
|
||||||
+#define MCLoadBySet NL_CAT_LOCALE
|
|
||||||
+
|
|
||||||
#endif /* _h_config */
|
|
||||||
--- config_f.h
|
|
||||||
+++ config_f.h 2007-07-13 10:47:30.000000000 +0000
|
|
||||||
@@ -37,7 +37,7 @@
|
|
||||||
*/
|
|
||||||
#ifndef _h_config_f
|
|
||||||
#define _h_config_f
|
|
||||||
-
|
|
||||||
+#include <features.h>
|
|
||||||
/*
|
|
||||||
* SHORT_STRINGS Use at least 16 bit characters instead of 8 bit chars
|
|
||||||
* This fixes up quoting problems and eases implementation
|
|
||||||
@@ -66,12 +66,19 @@
|
|
||||||
*/
|
|
||||||
#if defined (NLS) && defined (HAVE_CATGETS)
|
|
||||||
# define NLS_CATALOGS
|
|
||||||
+#else
|
|
||||||
+# error No NLS Catalogs
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* LOGINFIRST Source ~/.login before ~/.cshrc
|
|
||||||
*/
|
|
||||||
-#undef LOGINFIRST
|
|
||||||
+#define LOGINFIRST
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * USERLOGINFIRST Source ~/.login before ~/.cshrc
|
|
||||||
+ */
|
|
||||||
+#undef USERLOGINFIRST
|
|
||||||
|
|
||||||
/*
|
|
||||||
* VIDEFAULT Make the VI mode editor the default
|
|
||||||
@@ -146,7 +153,7 @@
|
|
||||||
* This can be much slower and no memory statistics will be
|
|
||||||
* provided.
|
|
||||||
*/
|
|
||||||
-#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__)
|
|
||||||
+#if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined(__GLIBC__)
|
|
||||||
# define SYSMALLOC
|
|
||||||
#else
|
|
||||||
# undef SYSMALLOC
|
|
||||||
@@ -165,7 +172,7 @@
|
|
||||||
* successful, set $REMOTEHOST to the name or address of the
|
|
||||||
* host
|
|
||||||
*/
|
|
||||||
-#define REMOTEHOST
|
|
||||||
+#undef REMOTEHOST
|
|
||||||
|
|
||||||
/*
|
|
||||||
* COLOR_LS_F Do you want to use builtin color ls-F ?
|
|
||||||
@@ -188,7 +195,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 2011-11-16 10:49:20.000000000 +0000
|
|
||||||
@@ -3654,7 +3654,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.in
|
|
||||||
+++ configure.in 2011-11-16 10:49:09.000000000 +0000
|
|
||||||
@@ -281,7 +281,7 @@ fi
|
|
||||||
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_SEARCH_LIBS(gethostbyname, nsl)
|
|
||||||
AC_SEARCH_LIBS(connect, socket)
|
|
||||||
AM_ICONV
|
|
||||||
--- glob.h
|
|
||||||
+++ glob.h 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -72,6 +72,7 @@ typedef struct {
|
|
||||||
#define GLOB_NOSYS (-4) /* Implementation does not support function. */
|
|
||||||
|
|
||||||
/* #if !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE) */
|
|
||||||
+#if (!defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _BSD_SOURCE || defined _GNU_SOURCE)
|
|
||||||
#define GLOB_ALTDIRFUNC 0x0040 /* Use alternately specified directory funcs. */
|
|
||||||
#define GLOB_BRACE 0x0080 /* Expand braces ala csh. */
|
|
||||||
#define GLOB_MAGCHAR 0x0100 /* Pattern had globbing characters. */
|
|
||||||
@@ -84,7 +85,7 @@ typedef struct {
|
|
||||||
#define GLOB_DOT 0x8000 /* don't skip dotfiles (except . and ..) */
|
|
||||||
|
|
||||||
#define GLOB_ABEND GLOB_ABORTED /* source compatibility */
|
|
||||||
-/* #endif */
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
int glob (const char *, int, int (*)(const char *, int), glob_t *);
|
|
||||||
void globfree (glob_t *);
|
|
||||||
--- host.defs
|
|
||||||
+++ host.defs 2007-07-13 12:05:58.000000000 +0000
|
|
||||||
@@ -110,7 +110,7 @@ newcode :
|
|
||||||
/*
|
|
||||||
* On convex, find the current machine type via the getsysinfo() syscall
|
|
||||||
*/
|
|
||||||
-#include <sys/sysinfo.h>
|
|
||||||
+# include <sys/sysinfo.h>
|
|
||||||
|
|
||||||
/* From: fox@convex.com (David DeSimone) */
|
|
||||||
static char *
|
|
||||||
@@ -168,6 +168,30 @@ getconvex(void)
|
|
||||||
endcode :
|
|
||||||
enddef :
|
|
||||||
|
|
||||||
+newdef : defined(linux) || defined(__GNU__) || defined(__GLIBC__)
|
|
||||||
+comment : Linus Torvalds's linux
|
|
||||||
+newcode :
|
|
||||||
+# include <sys/utsname.h>
|
|
||||||
+char * getmach(void)
|
|
||||||
+{
|
|
||||||
+ static char* mach = "unknown";
|
|
||||||
+ struct utsname uts;
|
|
||||||
+ if (uname(&uts) == 0)
|
|
||||||
+ mach = uts.machine;
|
|
||||||
+ return mach;
|
|
||||||
+}
|
|
||||||
+char * gethost(void)
|
|
||||||
+{
|
|
||||||
+ static char host[256];
|
|
||||||
+ struct utsname uts;
|
|
||||||
+ if (uname(&uts) == 0)
|
|
||||||
+ xsnprintf(host, sizeof(host), "%s-linux", uts.machine);
|
|
||||||
+ else
|
|
||||||
+ xsnprintf(host, sizeof(host), "unknown-linux");
|
|
||||||
+ return host;
|
|
||||||
+}
|
|
||||||
+endcode :
|
|
||||||
+enddef :
|
|
||||||
|
|
||||||
newcode :
|
|
||||||
void
|
|
||||||
@@ -450,26 +474,29 @@ machtype: defined(M_i386) : "i386-pc-
|
|
||||||
enddef :
|
|
||||||
|
|
||||||
|
|
||||||
-newdef : defined(linux) || defined(__GNU__) || defined(__GLIBC__)
|
|
||||||
-comment : Linus Torvalds's linux
|
|
||||||
+vendor : defined(SuSE) : "suse"
|
|
||||||
vendor : defined(M_intel) : "intel"
|
|
||||||
hosttype: defined(__ia64__) : "ia64-linux"
|
|
||||||
hosttype: defined(__powerpc64__) : "powerpc64-linux"
|
|
||||||
hosttype: defined(__s390x__) : "s390x-linux"
|
|
||||||
hosttype: defined(__s390__) : "s390-linux"
|
|
||||||
hosttype: defined(__x86_64__) : "x86_64-linux"
|
|
||||||
-hosttype: defined(M_i586) : "i586-linux"
|
|
||||||
-hosttype: defined(M_i486) : "i486-linux"
|
|
||||||
+hosttype: defined(M_i686) : "i686-linux"
|
|
||||||
+hosttype: defined(M_i586) : "i586-linux"
|
|
||||||
+hosttype: defined(M_i486) : "i486-linux"
|
|
||||||
hosttype: defined(M_i386) : "i386-linux"
|
|
||||||
+hosttype: : gethost()
|
|
||||||
ostype : : "linux"
|
|
||||||
machtype: defined(__ia64__) : "ia64"
|
|
||||||
machtype: defined(__powerpc64__) : "powerpc64"
|
|
||||||
machtype: defined(__s390x__) : "s390x"
|
|
||||||
machtype: defined(__s390__) : "s390"
|
|
||||||
machtype: defined(__x86_64__) : "x86_64"
|
|
||||||
-machtype: defined(M_i586) : "i586"
|
|
||||||
-machtype: defined(M_i486) : "i486"
|
|
||||||
+machtype: defined(M_i686) : "i686"
|
|
||||||
+machtype: defined(M_i586) : "i586"
|
|
||||||
+machtype: defined(M_i486) : "i486"
|
|
||||||
machtype: defined(M_i386) : "i386"
|
|
||||||
+machtype: : getmach()
|
|
||||||
vendor : defined(__alpha) : "dec"
|
|
||||||
vendor : defined(PPC) : "apple"
|
|
||||||
hosttype: defined(__alpha) : "alpha"
|
|
||||||
@@ -480,6 +507,7 @@ machtype: defined(M_mipsel) : "mipsel
|
|
||||||
machtype: defined(M_mipseb) : "mipseb"
|
|
||||||
machtype: defined(M_mips64el) : "mips64el"
|
|
||||||
machtype: defined(M_mips64eb) : "mips64eb"
|
|
||||||
+machtype: : getmach()
|
|
||||||
enddef :
|
|
||||||
|
|
||||||
|
|
||||||
--- nls/C/set1
|
|
||||||
+++ nls/C/set1 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
$ $tcsh: set1,v 1.6 2006/03/02 18:46:45 christos Exp $
|
|
||||||
$ Error messages
|
|
||||||
+$ codeset=ANSI_X3.4-1968
|
|
||||||
$set 1
|
|
||||||
1 Syntax Error
|
|
||||||
2 %s is not allowed
|
|
||||||
--- nls/et/set1
|
|
||||||
+++ nls/et/set1 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
$ $tcsh: set1,v 1.3 2006/03/02 18:46:45 christos Exp $
|
|
||||||
$ Error messages
|
|
||||||
+$ codeset=ISO-8859-1
|
|
||||||
$set 1
|
|
||||||
1 Süntaksi viga
|
|
||||||
2 %s ei ole lubatud
|
|
||||||
--- nls/finnish/set1
|
|
||||||
+++ nls/finnish/set1 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
$ $tcsh: set1,v 1.3 2006/03/02 18:46:46 christos Exp $
|
|
||||||
$ Error messages
|
|
||||||
+$ codeset=ISO-8859-1
|
|
||||||
$set 1
|
|
||||||
1 Kielioppivirhe
|
|
||||||
2 %s ei ole sallittu
|
|
||||||
--- nls/french/set1
|
|
||||||
+++ nls/french/set1 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
$ $tcsh: set1,v 1.4 2006/03/02 18:46:46 christos Exp $
|
|
||||||
$ Messages d 'erreur
|
|
||||||
+$ codeset=ISO-8859-1
|
|
||||||
$set 1
|
|
||||||
1 Erreur de syntaxe
|
|
||||||
2 %s n'est pas autorisé
|
|
||||||
--- nls/german/set1
|
|
||||||
+++ nls/german/set1 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
$ $tcsh: set1,v 1.6 2006/03/02 18:46:46 christos Exp $
|
|
||||||
$ Error messages
|
|
||||||
+$ codeset=ISO-8859-1
|
|
||||||
$set 1
|
|
||||||
1 Syntaxfehler
|
|
||||||
2 %s nicht erlaubt
|
|
||||||
--- nls/greek/set1
|
|
||||||
+++ nls/greek/set1 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
$ $tcsh: set1,v 1.4 2006/03/02 18:46:46 christos Exp $
|
|
||||||
$ Error messages
|
|
||||||
+$ codeset=ISO-8859-7
|
|
||||||
$set 1
|
|
||||||
1 ËÜèïò óýíôáîç
|
|
||||||
2 Tï %s äåí åðéôñÝðåôáé
|
|
||||||
--- nls/italian/set1
|
|
||||||
+++ nls/italian/set1 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
$ $tcsh: set1,v 1.2 2006/03/02 18:46:47 christos Exp $
|
|
||||||
$ Error messages
|
|
||||||
+$ codeset=ISO-8859-1
|
|
||||||
$set 1
|
|
||||||
1 Errore di Sintassi
|
|
||||||
2 %s non è permesso
|
|
||||||
--- nls/ja/set1
|
|
||||||
+++ nls/ja/set1 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
$ $tcsh: set1,v 1.5 2006/03/02 18:46:47 christos Exp $
|
|
||||||
$ Error messages
|
|
||||||
+$ codeset=EUC-JP
|
|
||||||
$set 1
|
|
||||||
1 ʸˡ¤¬´Ö°ã¤Ã¤Æ¤¤¤Þ¤¹
|
|
||||||
2 %s ¤Ï³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤»¤ó
|
|
||||||
--- nls/pl/set1
|
|
||||||
+++ nls/pl/set1 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
$ $tcsh: set1,v 1.5 1998/06/27 12:27:55 christos Exp $
|
|
||||||
$ Error messages
|
|
||||||
+$ codeset=ISO-8859-2
|
|
||||||
$set 1
|
|
||||||
1 B³±d sk³adni
|
|
||||||
2 %s jest niedozwolone
|
|
||||||
--- nls/russian/set1
|
|
||||||
+++ nls/russian/set1 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
$ $tcsh: set1,v 1.4 2006/03/02 18:46:47 christos Exp $
|
|
||||||
$ Error messages
|
|
||||||
+$ codeset=KOI8-R
|
|
||||||
$set 1
|
|
||||||
1 óÉÎÔÁËÓÉÞÅÓËÁÑ ÏÛÉÂËÁ
|
|
||||||
2 %s ÎÅÄÏÐÕÓÔÉÍÏ
|
|
||||||
--- nls/spanish/set1
|
|
||||||
+++ nls/spanish/set1 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
$ $tcsh: set1,v 1.3 2006/03/02 18:46:48 christos Exp $
|
|
||||||
$ Mensajes de Error
|
|
||||||
+$ codeset=ISO-8859-1
|
|
||||||
$set 1
|
|
||||||
1 Error de sintaxis
|
|
||||||
2 %s no está permitido
|
|
||||||
--- nls/ukrainian/set1
|
|
||||||
+++ nls/ukrainian/set1 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -1,5 +1,6 @@
|
|
||||||
$ $tcsh: set1,v 1.3 2006/03/02 18:46:48 christos Exp $
|
|
||||||
$ Error messages
|
|
||||||
+$ codeset=KOI8-U
|
|
||||||
$set 1
|
|
||||||
1 óÉÎÔÁËÓÉÞÎÁ ÐÏÍÉÌËÁ
|
|
||||||
2 %s ÎÅ ÄÏÚ×ÏÌѤÔØÓÑ
|
|
||||||
--- pathnames.h
|
|
||||||
+++ pathnames.h 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -33,7 +33,7 @@
|
|
||||||
#ifndef _h_pathnames
|
|
||||||
#define _h_pathnames
|
|
||||||
|
|
||||||
-#ifdef BSD4_4
|
|
||||||
+#if defined(BSD4_4) || defined(linux)
|
|
||||||
# include <paths.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@
|
|
||||||
# endif /* !_PATH_DOTLOGIN */
|
|
||||||
#endif /* sgi || OREO || cray || AMIX || CDC */
|
|
||||||
|
|
||||||
-#if (defined(_CRAYCOM) || defined(Lynx)) && !defined(_PATH_TCSHELL)
|
|
||||||
+#if (defined(_CRAYCOM) || defined(Lynx) || defined(linux)) && !defined(_PATH_TCSHELL)
|
|
||||||
# define _PATH_TCSHELL "/bin/tcsh" /* 1st class shell */
|
|
||||||
#endif /* _CRAYCOM && !_PATH_TCSHELL */
|
|
||||||
|
|
||||||
--- sh.c
|
|
||||||
+++ sh.c 2010-12-10 16:10:45.000000000 +0000
|
|
||||||
@@ -501,7 +501,8 @@ main(int argc, char **argv)
|
|
||||||
if (loginsh || (uid == 0)) {
|
|
||||||
if (*cp) {
|
|
||||||
/* only for login shells or root and we must have a tty */
|
|
||||||
- if ((cp2 = Strrchr(cp, (Char) '/')) != NULL) {
|
|
||||||
+ if (((cp2 = Strrchr(cp, (Char) '/')) != NULL) &&
|
|
||||||
+ (Strncmp(cp, STRptssl, 3) != 0)) {
|
|
||||||
cp2 = cp2 + 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
@@ -768,7 +769,16 @@ main(int argc, char **argv)
|
|
||||||
xfree(tmp2);
|
|
||||||
}
|
|
||||||
#else /* !WINNT_NATIVE */
|
|
||||||
+#if defined(__GLIBC__) && __GLIBC__ >= 2
|
|
||||||
+ {
|
|
||||||
+ char *tmpdir = getenv ("TMPDIR");
|
|
||||||
+ if (!tmpdir)
|
|
||||||
+ tmpdir = "/tmp";
|
|
||||||
+ shtemp = Strspl(SAVE(tmpdir), SAVE("/sh.XXXXXX")); /* For << */
|
|
||||||
+ }
|
|
||||||
+#else
|
|
||||||
shtemp = Strspl(STRtmpsh, doldol); /* For << */
|
|
||||||
+#endif /* __GLIBC__ */
|
|
||||||
#endif /* WINNT_NATIVE */
|
|
||||||
|
|
||||||
/*
|
|
||||||
@@ -792,9 +802,9 @@ main(int argc, char **argv)
|
|
||||||
/* PATCH IDEA FROM Issei.Suzuki VERY THANKS */
|
|
||||||
#if defined(DSPMBYTE)
|
|
||||||
#if defined(NLS) && defined(LC_CTYPE)
|
|
||||||
- if (((tcp = setlocale(LC_CTYPE, NULL)) != NULL || (tcp = getenv("LANG")) != NULL) && !adrof(CHECK_MBYTEVAR))
|
|
||||||
+ if (((tcp = setlocale(LC_CTYPE, NULL)) != NULL || (tcp = getenv("LANG")) != NULL))
|
|
||||||
#else
|
|
||||||
- if ((tcp = getenv("LANG")) != NULL && !adrof(CHECK_MBYTEVAR))
|
|
||||||
+ if ((tcp = getenv("LANG")) != NULL)
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
autoset_dspmbyte(str2short(tcp));
|
|
||||||
@@ -1303,6 +1313,9 @@ main(int argc, char **argv)
|
|
||||||
setintr = osetintr;
|
|
||||||
parintr = oparintr;
|
|
||||||
}
|
|
||||||
+#ifndef USERLOGINFIRST
|
|
||||||
+# undef LOGINFIRST
|
|
||||||
+#endif
|
|
||||||
#ifdef LOGINFIRST
|
|
||||||
if (loginsh)
|
|
||||||
(void) srccat(varval(STRhome), STRsldotlogin);
|
|
||||||
--- sh.dol.c
|
|
||||||
+++ sh.dol.c 2007-07-13 11:51:58.000000000 +0000
|
|
||||||
@@ -30,6 +30,7 @@
|
|
||||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
||||||
* SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
+#include <features.h>
|
|
||||||
#include "sh.h"
|
|
||||||
|
|
||||||
RCSID("$tcsh: sh.dol.c,v 3.80 2010/05/12 15:02:47 christos Exp $")
|
|
||||||
@@ -938,6 +939,31 @@ heredoc(Char *term)
|
|
||||||
Char *lbp, *obp, *mbp;
|
|
||||||
Char **vp;
|
|
||||||
int quoted;
|
|
||||||
+//#undef __GLIBC__
|
|
||||||
+#if defined(__GLIBC__) && __GLIBC__ >= 2
|
|
||||||
+ char *tmp = short2str(shtemp);
|
|
||||||
+ char *dot = strrchr(tmp, '.');
|
|
||||||
+ int fd;
|
|
||||||
+
|
|
||||||
+ if (!dot)
|
|
||||||
+ stderror(ERR_NAME | ERR_NOMATCH);
|
|
||||||
+ strcpy(dot, ".XXXXXX");
|
|
||||||
+
|
|
||||||
+ if ((fd = mkstemp(tmp)) < 0)
|
|
||||||
+ stderror(ERR_SYSTEM, tmp, strerror(errno));
|
|
||||||
+ xclose(fd);
|
|
||||||
+
|
|
||||||
+# ifndef O_TEMPORARY
|
|
||||||
+# define O_TEMPORARY 0
|
|
||||||
+# endif
|
|
||||||
+ xclose(0);
|
|
||||||
+ if (xopen(tmp, O_RDWR|O_TEMPORARY) == -1) {
|
|
||||||
+ int oerrno = errno;
|
|
||||||
+ (void) unlink(tmp);
|
|
||||||
+ errno = oerrno;
|
|
||||||
+ stderror(ERR_SYSTEM, tmp, strerror(errno));
|
|
||||||
+ }
|
|
||||||
+#else /* !__GLIBC__ */
|
|
||||||
char *tmp;
|
|
||||||
#ifndef WINNT_NATIVE
|
|
||||||
struct timeval tv;
|
|
||||||
@@ -978,6 +1004,7 @@ again:
|
|
||||||
errno = oerrno;
|
|
||||||
stderror(ERR_SYSTEM, tmp, strerror(errno));
|
|
||||||
}
|
|
||||||
+#endif /* !__GLIBC__ */
|
|
||||||
(void) unlink(tmp); /* 0 0 inode! */
|
|
||||||
Dv[0] = term;
|
|
||||||
Dv[1] = NULL;
|
|
||||||
--- sh.func.c
|
|
||||||
+++ sh.func.c 2010-12-09 09:15:06.000000000 +0000
|
|
||||||
@@ -1401,14 +1401,6 @@ dosetenv(Char **v, struct command *c)
|
|
||||||
}
|
|
||||||
#endif /* apollo */
|
|
||||||
|
|
||||||
- /* dspkanji/dspmbyte autosetting */
|
|
||||||
- /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */
|
|
||||||
-#if defined(DSPMBYTE)
|
|
||||||
- if(eq(vp, STRLANG) && !adrof(CHECK_MBYTEVAR)) {
|
|
||||||
- autoset_dspmbyte(lp);
|
|
||||||
- }
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
if (islocale_var(vp)) {
|
|
||||||
#ifdef NLS
|
|
||||||
int k;
|
|
||||||
@@ -1434,6 +1426,13 @@ dosetenv(Char **v, struct command *c)
|
|
||||||
nlsclose();
|
|
||||||
nlsinit();
|
|
||||||
# endif /* NLS_CATALOGS */
|
|
||||||
+# if defined(DSPMBYTE)
|
|
||||||
+ /* dspkanji/dspmbyte autosetting */
|
|
||||||
+ /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */
|
|
||||||
+ if (eq(vp, STRLANG)) {
|
|
||||||
+ autoset_dspmbyte(lp);
|
|
||||||
+ }
|
|
||||||
+# endif
|
|
||||||
# ifdef SETLOCALEBUG
|
|
||||||
dont_free = 0;
|
|
||||||
# endif /* SETLOCALEBUG */
|
|
||||||
--- sh.h
|
|
||||||
+++ sh.h 2007-07-13 11:07:44.000000000 +0000
|
|
||||||
@@ -284,7 +284,7 @@ typedef long tcsh_number_t;
|
|
||||||
# else
|
|
||||||
# include <termio.h>
|
|
||||||
# endif /* _UWIN */
|
|
||||||
-# if SYSVREL > 3
|
|
||||||
+# if SYSVREL > 3 || defined(linux)
|
|
||||||
# undef TIOCGLTC /* we don't need those, since POSIX has them */
|
|
||||||
# undef TIOCSLTC
|
|
||||||
# undef CSWTCH
|
|
||||||
@@ -338,6 +338,12 @@ typedef long tcsh_number_t;
|
|
||||||
#if !((defined(SUNOS4) || defined(_MINIX) /* || defined(DECOSF1) */) && defined(TERMIO))
|
|
||||||
# if !defined(_VMS_POSIX) && !defined(WINNT_NATIVE)
|
|
||||||
# include <sys/ioctl.h>
|
|
||||||
+# if SYSVREL > 3 || defined(linux)
|
|
||||||
+# undef TIOCGLTC /* we don't need those, since POSIX has them */
|
|
||||||
+# undef TIOCSLTC
|
|
||||||
+# undef CSWTCH
|
|
||||||
+# define CSWTCH _POSIX_VDISABLE /* So job control works */
|
|
||||||
+# endif /* SYSVREL > 3 */
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1203,9 +1209,7 @@ extern char **environ;
|
|
||||||
# ifdef NLS_CATALOGS
|
|
||||||
# if defined(linux) || defined(__GNU__) || defined(__GLIBC__)
|
|
||||||
# include <locale.h>
|
|
||||||
-# ifdef notdef
|
|
||||||
-# include <localeinfo.h> /* Has this changed ? */
|
|
||||||
-# endif
|
|
||||||
+# include <langinfo.h>
|
|
||||||
# include <features.h>
|
|
||||||
# endif
|
|
||||||
# ifdef SUNOS4
|
|
||||||
--- sh.sem.c
|
|
||||||
+++ sh.sem.c 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -629,10 +629,19 @@ execute(struct command *t, volatile int
|
|
||||||
* possible stopping
|
|
||||||
*/
|
|
||||||
if (bifunc) {
|
|
||||||
- func(t, bifunc);
|
|
||||||
- if (forked)
|
|
||||||
+ if (forked) {
|
|
||||||
+ func(t, bifunc);
|
|
||||||
exitstat();
|
|
||||||
- else {
|
|
||||||
+ } else {
|
|
||||||
+ jmp_buf_t oldexit;
|
|
||||||
+ int ohaderr = haderr;
|
|
||||||
+
|
|
||||||
+ getexit(oldexit);
|
|
||||||
+ if (setexit() == 0)
|
|
||||||
+ func(t, bifunc);
|
|
||||||
+ resexit(oldexit);
|
|
||||||
+ haderr = ohaderr;
|
|
||||||
+
|
|
||||||
if (adrof(STRprintexitvalue)) {
|
|
||||||
int rv = getn(varval(STRstatus));
|
|
||||||
if (rv != 0)
|
|
||||||
--- sh.set.c
|
|
||||||
+++ sh.set.c 2010-12-09 11:07:56.000000000 +0000
|
|
||||||
@@ -1115,11 +1115,11 @@ update_dspmbyte_vars(void)
|
|
||||||
dstr1 = vp->vec[0];
|
|
||||||
if(eq (dstr1, STRsjis))
|
|
||||||
iskcode = 1;
|
|
||||||
- else if (eq(dstr1, STReuc))
|
|
||||||
+ else if (eq(dstr1, STReuc) || eq(dstr1, STReucjp) || eq(dstr1, STRGB2312))
|
|
||||||
iskcode = 2;
|
|
||||||
else if (eq(dstr1, STRbig5))
|
|
||||||
iskcode = 3;
|
|
||||||
- else if (eq(dstr1, STRutf8))
|
|
||||||
+ else if (eq(dstr1, STRutf8) || eq(dstr1, STRutfx8))
|
|
||||||
iskcode = 4;
|
|
||||||
else if ((dstr1[0] - '0') >= 0 && (dstr1[0] - '0') <= 3) {
|
|
||||||
iskcode = 0;
|
|
||||||
@@ -1203,7 +1203,7 @@ update_dspmbyte_vars(void)
|
|
||||||
_enable_mbdisp = 0;
|
|
||||||
dspmbyte_ls = 0;
|
|
||||||
}
|
|
||||||
-#ifdef MBYTEDEBUG /* Sorry, use for beta testing */
|
|
||||||
+# ifdef MBYTEDEBUG /* Sorry, use for beta testing */
|
|
||||||
{
|
|
||||||
Char mbmapstr[300];
|
|
||||||
for (lp = 0; lp < 256; lp++)
|
|
||||||
@@ -1211,7 +1211,7 @@ update_dspmbyte_vars(void)
|
|
||||||
mbmapstr[lp] = 0;
|
|
||||||
setcopy(STRmbytemap, mbmapstr, VAR_READWRITE);
|
|
||||||
}
|
|
||||||
-#endif /* MBYTEMAP */
|
|
||||||
+# endif /* MBYTEMAP */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* dspkanji/dspmbyte autosetting */
|
|
||||||
@@ -1220,6 +1220,7 @@ void
|
|
||||||
autoset_dspmbyte(const Char *pcp)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
+ struct varent *vp;
|
|
||||||
static const struct dspm_autoset_Table {
|
|
||||||
Char *n;
|
|
||||||
Char *v;
|
|
||||||
@@ -1242,13 +1243,18 @@ autoset_dspmbyte(const Char *pcp)
|
|
||||||
#if defined(HAVE_NL_LANGINFO) && defined(CODESET)
|
|
||||||
static const struct dspm_autoset_Table dspmc[] = {
|
|
||||||
{ STRstarutfstar8, STRutf8 },
|
|
||||||
+ { STRutfx8, STRutf8 },
|
|
||||||
{ STReuc, STReuc },
|
|
||||||
+ { STReucjp, STReuc },
|
|
||||||
{ STRGB2312, STReuc },
|
|
||||||
{ STRLANGBIG5, STRbig5 },
|
|
||||||
{ NULL, NULL }
|
|
||||||
};
|
|
||||||
Char *codeset;
|
|
||||||
|
|
||||||
+ if ((vp = adrof(CHECK_MBYTEVAR)))
|
|
||||||
+ unsetv1(vp);
|
|
||||||
+
|
|
||||||
codeset = str2short(nl_langinfo(CODESET));
|
|
||||||
if (*codeset != '\0') {
|
|
||||||
for (i = 0; dspmc[i].n; i++) {
|
|
||||||
--- tc.alloc.c
|
|
||||||
+++ tc.alloc.c 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -486,7 +486,7 @@ smalloc(size_t n)
|
|
||||||
{
|
|
||||||
ptr_t ptr;
|
|
||||||
|
|
||||||
- n = n ? n : 1;
|
|
||||||
+ n = n ? n+1 : 1;
|
|
||||||
|
|
||||||
#ifdef HAVE_SBRK
|
|
||||||
if (membot == NULL)
|
|
||||||
@@ -509,7 +509,7 @@ srealloc(ptr_t p, size_t n)
|
|
||||||
{
|
|
||||||
ptr_t ptr;
|
|
||||||
|
|
||||||
- n = n ? n : 1;
|
|
||||||
+ n = n ? n+1 : 1;
|
|
||||||
|
|
||||||
#ifdef HAVE_SBRK
|
|
||||||
if (membot == NULL)
|
|
||||||
@@ -533,7 +533,7 @@ scalloc(size_t s, size_t n)
|
|
||||||
ptr_t ptr;
|
|
||||||
|
|
||||||
n *= s;
|
|
||||||
- n = n ? n : 1;
|
|
||||||
+ n = n ? n+1 : 1;
|
|
||||||
|
|
||||||
#ifdef HAVE_SBRK
|
|
||||||
if (membot == NULL)
|
|
||||||
@@ -558,8 +558,10 @@ scalloc(size_t s, size_t n)
|
|
||||||
void
|
|
||||||
sfree(ptr_t p)
|
|
||||||
{
|
|
||||||
- if (p && !dont_free)
|
|
||||||
+ if (p && !dont_free) {
|
|
||||||
free(p);
|
|
||||||
+ p = (ptr_t)NULL;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* SYSMALLOC */
|
|
||||||
--- tc.const.c
|
|
||||||
+++ tc.const.c 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -129,10 +129,12 @@ Char STRmmliteral[] = { '-', 'G', '\0' }
|
|
||||||
Char STRmmliteral[] = { '-', '-', 'l', 'i', 't', 'e', 'r', 'a', 'l', '\0' };
|
|
||||||
# endif
|
|
||||||
Char STReuc[] = { 'e', 'u', 'c', '\0' };
|
|
||||||
+Char STReucjp[] = { 'e', 'u', 'c', '-', 'j', 'p', '\0' };
|
|
||||||
Char STRsjis[] = { 's', 'j', 'i', 's', '\0' };
|
|
||||||
Char STRbig5[] = { 'b', 'i', 'g', '5', '\0' };
|
|
||||||
Char STRutf8[] = { 'u', 't', 'f', '8', '\0' };
|
|
||||||
Char STRstarutfstar8[] = { '*', 'u', 't', 'f', '*', '8', '\0' };
|
|
||||||
+Char STRutfx8[] = { 'u', 't', 'f', '-', '8', '\0' };
|
|
||||||
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' };
|
|
||||||
@@ -436,7 +438,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' };
|
|
||||||
-Char STRLC_ALL[] = { 'L', 'C', '_', 'A', 'L', 'L', '\0' };
|
|
||||||
+Char STRLC_ALL[] = { 'L', 'C', '_', 'A', 'L', 'L', '\0' };
|
|
||||||
Char STRLC_CTYPE[] = { 'L', 'C', '_', 'C', 'T', 'Y', 'P', 'E' ,'\0' };
|
|
||||||
Char STRLC_NUMERIC[] = { 'L', 'C', '_', 'N', 'U', 'M', 'E', 'R', 'I',
|
|
||||||
'C', '\0' };
|
|
||||||
--- tc.func.c
|
|
||||||
+++ tc.func.c 2007-07-13 11:15:03.000000000 +0000
|
|
||||||
@@ -689,9 +689,13 @@ auto_lock(void)
|
|
||||||
handle_pending_signals();
|
|
||||||
errno = 0;
|
|
||||||
}
|
|
||||||
- if (spw != NULL) /* shadowed passwd */
|
|
||||||
+ if (spw != NULL) /* shadowed passwd */
|
|
||||||
srpp = spw->sp_pwdp;
|
|
||||||
+ else
|
|
||||||
+ srpp = pw->pw_passwd; /* nis extended passwd? */
|
|
||||||
}
|
|
||||||
+ endspent();
|
|
||||||
+ endpwent();
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
@@ -1902,7 +1906,7 @@ getremotehost(int dest_fd)
|
|
||||||
* have not caught up yet.
|
|
||||||
*/
|
|
||||||
addr.s_addr = inet_addr(name);
|
|
||||||
- if (addr.s_addr != (unsigned int)~0)
|
|
||||||
+ if (addr.s_addr != ~0U)
|
|
||||||
host = name;
|
|
||||||
else {
|
|
||||||
if (sptr != name) {
|
|
||||||
--- tc.str.c
|
|
||||||
+++ tc.str.c 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -335,7 +335,7 @@ s_strlen(const Char *str)
|
|
||||||
{
|
|
||||||
size_t n;
|
|
||||||
|
|
||||||
- for (n = 0; *str++; n++)
|
|
||||||
+ for (n = 0; str && *str; n++, str++)
|
|
||||||
continue;
|
|
||||||
return (n);
|
|
||||||
}
|
|
||||||
--- tc.who.c
|
|
||||||
+++ tc.who.c 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -260,6 +260,9 @@ watch_login(int force)
|
|
||||||
}
|
|
||||||
stlast = sta.st_mtime;
|
|
||||||
#ifdef HAVE_GETUTENT
|
|
||||||
+# ifndef HAVE_UTMPX_H
|
|
||||||
+ utmpname( _PATH_UTMP );
|
|
||||||
+# endif
|
|
||||||
setutent();
|
|
||||||
#else
|
|
||||||
if ((utmpfd = xopen(TCSH_PATH_UTMP, O_RDONLY|O_LARGEFILE)) < 0) {
|
|
||||||
--- tcsh.man
|
|
||||||
+++ tcsh.man 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -578,7 +578,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
|
|
||||||
-.B delete-char \fR(not bound)
|
|
||||||
+.B delete-char \fR(bound to `Del' if using the standard \fI/etc/csh.cshrc\fR)
|
|
||||||
Deletes the character under the cursor.
|
|
||||||
See also \fIdelete-char-or-list-or-eof\fR.
|
|
||||||
.TP 8
|
|
||||||
--- tw.color.c
|
|
||||||
+++ tw.color.c 2007-07-13 11:18:16.000000000 +0000
|
|
||||||
@@ -177,7 +177,7 @@ parseLS_COLORS(const Char *value)
|
|
||||||
size_t i, len;
|
|
||||||
const Char *v; /* pointer in value */
|
|
||||||
char *c; /* pointer in colors */
|
|
||||||
- Extension *volatile e; /* pointer in extensions */
|
|
||||||
+ static Extension *volatile e; /* pointer in extensions */
|
|
||||||
jmp_buf_t osetexit;
|
|
||||||
size_t omark;
|
|
||||||
|
|
||||||
@@ -302,12 +302,13 @@ print_color(const Char *fname, size_t le
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (i == nvariables) {
|
|
||||||
- for (i = 0; i < nextensions; i++)
|
|
||||||
- if (len >= extensions[i].extension.len
|
|
||||||
- && strncmp(last - extensions[i].extension.len,
|
|
||||||
- extensions[i].extension.s,
|
|
||||||
- extensions[i].extension.len) == 0) {
|
|
||||||
- color = &extensions[i].color;
|
|
||||||
+ int j;
|
|
||||||
+ for (j = 0; j < nextensions; j++)
|
|
||||||
+ if (len >= extensions[j].extension.len
|
|
||||||
+ && strncmp(last - extensions[j].extension.len,
|
|
||||||
+ extensions[j].extension.s,
|
|
||||||
+ extensions[j].extension.len) == 0) {
|
|
||||||
+ color = &extensions[j].color;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--- tw.h
|
|
||||||
+++ tw.h 2006-04-25 12:58:31.000000000 +0000
|
|
||||||
@@ -33,6 +33,10 @@
|
|
||||||
#ifndef _h_tw
|
|
||||||
#define _h_tw
|
|
||||||
|
|
||||||
+#ifndef _h_sh
|
|
||||||
+# include "sh.h"
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#define TW_PATH 0x1000
|
|
||||||
#define TW_ZERO 0x0fff
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:da47874562a72563ac071cabf3e1380b238987c174791c84a1a7357cc611d780
|
|
||||||
size 757076
|
|
56
tcsh-6.17.03-colorls.dif
Normal file
56
tcsh-6.17.03-colorls.dif
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
--- tw.color.c
|
||||||
|
+++ tw.color.c 2010-12-10 16:07:59.000000000 +0000
|
||||||
|
@@ -89,6 +89,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 */
|
||||||
|
+ VAR(NOS, "cl", ""), /* CLRTOEOL */
|
||||||
|
};
|
||||||
|
|
||||||
|
enum FileType {
|
||||||
|
@@ -177,7 +178,7 @@ parseLS_COLORS(const Char *value)
|
||||||
|
size_t i, len;
|
||||||
|
const Char *v; /* pointer in value */
|
||||||
|
char *c; /* pointer in colors */
|
||||||
|
- Extension *volatile e; /* pointer in extensions */
|
||||||
|
+ static Extension *volatile e; /* pointer in extensions */
|
||||||
|
jmp_buf_t osetexit;
|
||||||
|
size_t omark;
|
||||||
|
|
||||||
|
@@ -240,13 +241,10 @@ parseLS_COLORS(const Char *value)
|
||||||
|
if ((Char)variables[i].variable[0] == (v[0] & CHAR) &&
|
||||||
|
(Char)variables[i].variable[1] == (v[1] & CHAR))
|
||||||
|
break;
|
||||||
|
- if (i < nvariables) {
|
||||||
|
- v += 3;
|
||||||
|
+ v += 3;
|
||||||
|
+ if (i < nvariables)
|
||||||
|
getstring(&c, &v, &variables[i].color, ':');
|
||||||
|
- continue;
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
- stderror(ERR_BADCOLORVAR, v[0], v[1]);
|
||||||
|
+ continue;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
@@ -301,12 +303,13 @@ print_color(const Char *fname, size_t le
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (i == nvariables) {
|
||||||
|
- for (i = 0; i < nextensions; i++)
|
||||||
|
- if (len >= extensions[i].extension.len
|
||||||
|
- && strncmp(last - extensions[i].extension.len,
|
||||||
|
- extensions[i].extension.s,
|
||||||
|
- extensions[i].extension.len) == 0) {
|
||||||
|
- color = &extensions[i].color;
|
||||||
|
+ int j;
|
||||||
|
+ for (j = 0; j < nextensions; j++)
|
||||||
|
+ if (len >= extensions[j].extension.len
|
||||||
|
+ && strncmp(last - extensions[j].extension.len,
|
||||||
|
+ extensions[j].extension.s,
|
||||||
|
+ extensions[j].extension.len) == 0) {
|
||||||
|
+ color = &extensions[j].color;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
156
tcsh-6.17.06-catalogs.dif
Normal file
156
tcsh-6.17.06-catalogs.dif
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
--- sh.c
|
||||||
|
+++ sh.c 2011-11-17 08:28:47.027646998 +0000
|
||||||
|
@@ -168,8 +168,8 @@ static void st_restore (void *);
|
||||||
|
static void
|
||||||
|
add_localedir_to_nlspath(const char *path)
|
||||||
|
{
|
||||||
|
- static const char msgs_LOC[] = "/%L/LC_MESSAGES/%N.cat";
|
||||||
|
- static const char msgs_lang[] = "/%l/LC_MESSAGES/%N.cat";
|
||||||
|
+ static const char msgs_LOC[] = "/%L/LC_MESSAGES/%N";
|
||||||
|
+ static const char msgs_lang[] = "/%l/LC_MESSAGES/%N";
|
||||||
|
char *old;
|
||||||
|
char *new, *new_p;
|
||||||
|
size_t len;
|
||||||
|
@@ -181,7 +181,7 @@ add_localedir_to_nlspath(const char *pat
|
||||||
|
if (path == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
- (void) xsnprintf(trypath, sizeof(trypath), "%s/en/LC_MESSAGES/tcsh.cat",
|
||||||
|
+ (void) xsnprintf(trypath, sizeof(trypath), "%s/en/LC_MESSAGES/tcsh",
|
||||||
|
path);
|
||||||
|
if (stat(trypath, &st) == -1)
|
||||||
|
return;
|
||||||
|
--- nls/Makefile.in
|
||||||
|
+++ nls/Makefile.in 2011-11-17 08:27:22.856205243 +0000
|
||||||
|
@@ -15,8 +15,8 @@ localedir=${DESTDIR}@localedir@
|
||||||
|
all:
|
||||||
|
|
||||||
|
CATALOGS+=C.cat
|
||||||
|
-INSTALLED+=${localedir}/C/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/C/LC_MESSAGES/tcsh.cat: C.cat
|
||||||
|
+INSTALLED+=${localedir}/C/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/C/LC_MESSAGES/tcsh: C.cat
|
||||||
|
mkdir -p $(@D)
|
||||||
|
$(INSTALL) $< $@
|
||||||
|
|
||||||
|
@@ -24,8 +24,8 @@ C.cat: ${srcdir}/C/charset ${srcdir}/C/*
|
||||||
|
cat $^ $> | $(GENCAT) $@
|
||||||
|
|
||||||
|
CATALOGS+=et.cat
|
||||||
|
-INSTALLED+=${localedir}/et/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/et/LC_MESSAGES/tcsh.cat: et.cat
|
||||||
|
+INSTALLED+=${localedir}/et/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/et/LC_MESSAGES/tcsh: et.cat
|
||||||
|
mkdir -p $(@D)
|
||||||
|
$(INSTALL) $< $@
|
||||||
|
|
||||||
|
@@ -33,8 +33,8 @@ et.cat: ${srcdir}/et/charset ${srcdir}/e
|
||||||
|
cat $^ $> | $(GENCAT) $@
|
||||||
|
|
||||||
|
CATALOGS+=finnish.cat
|
||||||
|
-INSTALLED+=${localedir}/fi/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/fi/LC_MESSAGES/tcsh.cat: finnish.cat
|
||||||
|
+INSTALLED+=${localedir}/fi/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/fi/LC_MESSAGES/tcsh: finnish.cat
|
||||||
|
mkdir -p $(@D)
|
||||||
|
$(INSTALL) $< $@
|
||||||
|
|
||||||
|
@@ -42,8 +42,8 @@ finnish.cat: ${srcdir}/finnish/charset $
|
||||||
|
cat $^ $> | $(GENCAT) $@
|
||||||
|
|
||||||
|
CATALOGS+=french.cat
|
||||||
|
-INSTALLED+=${localedir}/fr/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/fr/LC_MESSAGES/tcsh.cat: french.cat
|
||||||
|
+INSTALLED+=${localedir}/fr/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/fr/LC_MESSAGES/tcsh: french.cat
|
||||||
|
mkdir -p $(@D)
|
||||||
|
$(INSTALL) $< $@
|
||||||
|
|
||||||
|
@@ -51,8 +51,8 @@ french.cat: ${srcdir}/french/charset ${s
|
||||||
|
cat $^ $> | $(GENCAT) $@
|
||||||
|
|
||||||
|
CATALOGS+=german.cat
|
||||||
|
-INSTALLED+=${localedir}/de/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/de/LC_MESSAGES/tcsh.cat: german.cat
|
||||||
|
+INSTALLED+=${localedir}/de/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/de/LC_MESSAGES/tcsh: german.cat
|
||||||
|
mkdir -p $(@D)
|
||||||
|
$(INSTALL) $< $@
|
||||||
|
|
||||||
|
@@ -60,8 +60,8 @@ german.cat: ${srcdir}/german/charset ${s
|
||||||
|
cat $^ $> | $(GENCAT) $@
|
||||||
|
|
||||||
|
CATALOGS+=greek.cat
|
||||||
|
-INSTALLED+=${localedir}/gr/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/gr/LC_MESSAGES/tcsh.cat: greek.cat
|
||||||
|
+INSTALLED+=${localedir}/el/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/el/LC_MESSAGES/tcsh: greek.cat
|
||||||
|
mkdir -p $(@D)
|
||||||
|
$(INSTALL) $< $@
|
||||||
|
|
||||||
|
@@ -69,8 +69,8 @@ greek.cat: ${srcdir}/greek/charset ${src
|
||||||
|
cat $^ $> | $(GENCAT) $@
|
||||||
|
|
||||||
|
CATALOGS+=italian.cat
|
||||||
|
-INSTALLED+=${localedir}/it/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/it/LC_MESSAGES/tcsh.cat: italian.cat
|
||||||
|
+INSTALLED+=${localedir}/it/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/it/LC_MESSAGES/tcsh: italian.cat
|
||||||
|
mkdir -p $(@D)
|
||||||
|
$(INSTALL) $< $@
|
||||||
|
|
||||||
|
@@ -78,8 +78,8 @@ italian.cat: ${srcdir}/italian/charset $
|
||||||
|
cat $^ $> | $(GENCAT) $@
|
||||||
|
|
||||||
|
CATALOGS+=ja.cat
|
||||||
|
-INSTALLED+=${localedir}/ja/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/ja/LC_MESSAGES/tcsh.cat: ja.cat
|
||||||
|
+INSTALLED+=${localedir}/ja/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/ja/LC_MESSAGES/tcsh: ja.cat
|
||||||
|
mkdir -p $(@D)
|
||||||
|
$(INSTALL) $< $@
|
||||||
|
|
||||||
|
@@ -87,8 +87,8 @@ ja.cat: ${srcdir}/ja/charset ${srcdir}/j
|
||||||
|
cat $^ $> | $(GENCAT) $@
|
||||||
|
|
||||||
|
CATALOGS+=pl.cat
|
||||||
|
-INSTALLED+=${localedir}/pl/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/pl/LC_MESSAGES/tcsh.cat: pl.cat
|
||||||
|
+INSTALLED+=${localedir}/pl/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/pl/LC_MESSAGES/tcsh: pl.cat
|
||||||
|
mkdir -p $(@D)
|
||||||
|
$(INSTALL) $< $@
|
||||||
|
|
||||||
|
@@ -96,8 +96,8 @@ pl.cat: ${srcdir}/pl/charset ${srcdir}/p
|
||||||
|
cat $^ $> | $(GENCAT) $@
|
||||||
|
|
||||||
|
CATALOGS+=russian.cat
|
||||||
|
-INSTALLED+=${localedir}/ru/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/ru/LC_MESSAGES/tcsh.cat: russian.cat
|
||||||
|
+INSTALLED+=${localedir}/ru_RU/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/ru_RU/LC_MESSAGES/tcsh: russian.cat
|
||||||
|
mkdir -p $(@D)
|
||||||
|
$(INSTALL) $< $@
|
||||||
|
|
||||||
|
@@ -105,8 +105,8 @@ russian.cat: ${srcdir}/russian/charset $
|
||||||
|
cat $^ $> | $(GENCAT) $@
|
||||||
|
|
||||||
|
CATALOGS+=spanish.cat
|
||||||
|
-INSTALLED+=${localedir}/es/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/es/LC_MESSAGES/tcsh.cat: spanish.cat
|
||||||
|
+INSTALLED+=${localedir}/es/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/es/LC_MESSAGES/tcsh: spanish.cat
|
||||||
|
mkdir -p $(@D)
|
||||||
|
$(INSTALL) $< $@
|
||||||
|
|
||||||
|
@@ -114,8 +114,8 @@ spanish.cat: ${srcdir}/spanish/charset $
|
||||||
|
cat $^ $> | $(GENCAT) $@
|
||||||
|
|
||||||
|
CATALOGS+=ukrainian.cat
|
||||||
|
-INSTALLED+=${localedir}/ru_UA.koi8u/LC_MESSAGES/tcsh.cat
|
||||||
|
-${localedir}/ru_UA.koi8u/LC_MESSAGES/tcsh.cat: ukrainian.cat
|
||||||
|
+INSTALLED+=${localedir}/uk_UA/LC_MESSAGES/tcsh
|
||||||
|
+${localedir}/uk_UA/LC_MESSAGES/tcsh: ukrainian.cat
|
||||||
|
mkdir -p $(@D)
|
||||||
|
$(INSTALL) $< $@
|
||||||
|
|
130
tcsh-6.17.06-dspmbyte.dif
Normal file
130
tcsh-6.17.06-dspmbyte.dif
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
--- sh.c
|
||||||
|
+++ sh.c 2010-12-10 16:10:45.000000000 +0000
|
||||||
|
@@ -847,9 +847,9 @@ main(int argc, char **argv)
|
||||||
|
/* PATCH IDEA FROM Issei.Suzuki VERY THANKS */
|
||||||
|
#if defined(DSPMBYTE)
|
||||||
|
#if defined(NLS) && defined(LC_CTYPE)
|
||||||
|
- if (((tcp = setlocale(LC_CTYPE, NULL)) != NULL || (tcp = getenv("LANG")) != NULL) && !adrof(CHECK_MBYTEVAR))
|
||||||
|
+ if (((tcp = setlocale(LC_CTYPE, NULL)) != NULL || (tcp = getenv("LANG")) != NULL))
|
||||||
|
#else
|
||||||
|
- if ((tcp = getenv("LANG")) != NULL && !adrof(CHECK_MBYTEVAR))
|
||||||
|
+ if ((tcp = getenv("LANG")) != NULL)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
autoset_dspmbyte(str2short(tcp));
|
||||||
|
--- sh.func.c
|
||||||
|
+++ sh.func.c 2010-12-09 09:15:06.000000000 +0000
|
||||||
|
@@ -1406,14 +1406,6 @@ dosetenv(Char **v, struct command *c)
|
||||||
|
}
|
||||||
|
#endif /* apollo */
|
||||||
|
|
||||||
|
- /* dspkanji/dspmbyte autosetting */
|
||||||
|
- /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */
|
||||||
|
-#if defined(DSPMBYTE)
|
||||||
|
- if(eq(vp, STRLANG) && !adrof(CHECK_MBYTEVAR)) {
|
||||||
|
- autoset_dspmbyte(lp);
|
||||||
|
- }
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
if (islocale_var(vp)) {
|
||||||
|
#ifdef NLS
|
||||||
|
int k;
|
||||||
|
@@ -1438,6 +1430,13 @@ dosetenv(Char **v, struct command *c)
|
||||||
|
nlsclose();
|
||||||
|
nlsinit();
|
||||||
|
# endif /* NLS_CATALOGS */
|
||||||
|
+# if defined(DSPMBYTE)
|
||||||
|
+ /* dspkanji/dspmbyte autosetting */
|
||||||
|
+ /* PATCH IDEA FROM Issei.Suzuki VERY THANKS */
|
||||||
|
+ if (eq(vp, STRLANG)) {
|
||||||
|
+ autoset_dspmbyte(lp);
|
||||||
|
+ }
|
||||||
|
+# endif
|
||||||
|
# ifdef SETLOCALEBUG
|
||||||
|
dont_free = 0;
|
||||||
|
# endif /* SETLOCALEBUG */
|
||||||
|
--- sh.set.c
|
||||||
|
+++ sh.set.c 2010-12-09 11:07:56.000000000 +0000
|
||||||
|
@@ -1119,11 +1119,11 @@ update_dspmbyte_vars(void)
|
||||||
|
dstr1 = vp->vec[0];
|
||||||
|
if(eq (dstr1, STRsjis))
|
||||||
|
iskcode = 1;
|
||||||
|
- else if (eq(dstr1, STReuc))
|
||||||
|
+ else if (eq(dstr1, STReuc) || eq(dstr1, STReucjp) || eq(dstr1, STRGB2312))
|
||||||
|
iskcode = 2;
|
||||||
|
else if (eq(dstr1, STRbig5))
|
||||||
|
iskcode = 3;
|
||||||
|
- else if (eq(dstr1, STRutf8))
|
||||||
|
+ else if (eq(dstr1, STRutf8) || eq(dstr1, STRutfx8))
|
||||||
|
iskcode = 4;
|
||||||
|
else if ((dstr1[0] - '0') >= 0 && (dstr1[0] - '0') <= 3) {
|
||||||
|
iskcode = 0;
|
||||||
|
@@ -1207,7 +1207,7 @@ update_dspmbyte_vars(void)
|
||||||
|
_enable_mbdisp = 0;
|
||||||
|
dspmbyte_ls = 0;
|
||||||
|
}
|
||||||
|
-#ifdef MBYTEDEBUG /* Sorry, use for beta testing */
|
||||||
|
+# ifdef MBYTEDEBUG /* Sorry, use for beta testing */
|
||||||
|
{
|
||||||
|
Char mbmapstr[300];
|
||||||
|
for (lp = 0; lp < 256; lp++)
|
||||||
|
@@ -1215,7 +1215,7 @@ update_dspmbyte_vars(void)
|
||||||
|
mbmapstr[lp] = 0;
|
||||||
|
setcopy(STRmbytemap, mbmapstr, VAR_READWRITE);
|
||||||
|
}
|
||||||
|
-#endif /* MBYTEMAP */
|
||||||
|
+# endif /* MBYTEMAP */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* dspkanji/dspmbyte autosetting */
|
||||||
|
@@ -1224,6 +1224,7 @@ void
|
||||||
|
autoset_dspmbyte(const Char *pcp)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
+ struct varent *vp;
|
||||||
|
static const struct dspm_autoset_Table {
|
||||||
|
Char *n;
|
||||||
|
Char *v;
|
||||||
|
@@ -1246,13 +1247,18 @@ autoset_dspmbyte(const Char *pcp)
|
||||||
|
#if defined(HAVE_NL_LANGINFO) && defined(CODESET)
|
||||||
|
static const struct dspm_autoset_Table dspmc[] = {
|
||||||
|
{ STRstarutfstar8, STRutf8 },
|
||||||
|
+ { STRutfx8, STRutf8 },
|
||||||
|
{ STReuc, STReuc },
|
||||||
|
+ { STReucjp, STReuc },
|
||||||
|
{ STRGB2312, STReuc },
|
||||||
|
{ STRLANGBIG5, STRbig5 },
|
||||||
|
{ NULL, NULL }
|
||||||
|
};
|
||||||
|
Char *codeset;
|
||||||
|
|
||||||
|
+ if ((vp = adrof(CHECK_MBYTEVAR)))
|
||||||
|
+ unsetv1(vp);
|
||||||
|
+
|
||||||
|
codeset = str2short(nl_langinfo(CODESET));
|
||||||
|
if (*codeset != '\0') {
|
||||||
|
for (i = 0; dspmc[i].n; i++) {
|
||||||
|
--- tc.const.c
|
||||||
|
+++ tc.const.c 2006-04-25 12:58:31.000000000 +0000
|
||||||
|
@@ -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' };
|
||||||
|
+Char STReucjp[] = { 'e', 'u', 'c', '-', 'j', 'p', '\0' };
|
||||||
|
Char STRsjis[] = { 's', 'j', 'i', 's', '\0' };
|
||||||
|
Char STRbig5[] = { 'b', 'i', 'g', '5', '\0' };
|
||||||
|
Char STRutf8[] = { 'u', 't', 'f', '8', '\0' };
|
||||||
|
Char STRstarutfstar8[] = { '*', 'u', 't', 'f', '*', '8', '\0' };
|
||||||
|
+Char STRutfx8[] = { 'u', 't', 'f', '-', '8', '\0' };
|
||||||
|
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' };
|
||||||
|
@@ -437,7 +439,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' };
|
||||||
|
-Char STRLC_ALL[] = { 'L', 'C', '_', 'A', 'L', 'L', '\0' };
|
||||||
|
+Char STRLC_ALL[] = { 'L', 'C', '_', 'A', 'L', 'L', '\0' };
|
||||||
|
Char STRLC_CTYPE[] = { 'L', 'C', '_', 'C', 'T', 'Y', 'P', 'E' ,'\0' };
|
||||||
|
Char STRLC_NUMERIC[] = { 'L', 'C', '_', 'N', 'U', 'M', 'E', 'R', 'I',
|
||||||
|
'C', '\0' };
|
245
tcsh-6.17.06.dif
Normal file
245
tcsh-6.17.06.dif
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
--- Makefile.in
|
||||||
|
+++ Makefile.in 2011-11-16 12:12:02.000000000 +0000
|
||||||
|
@@ -599,7 +599,6 @@ install: tcsh$(EXEEXT) install.catalogs
|
||||||
|
-mkdir -p ${DESTBIN}
|
||||||
|
-mv -f ${DESTBIN}/tcsh$(EXEEXT) ${DESTBIN}/tcsh.old
|
||||||
|
cp tcsh$(EXEEXT) ${DESTBIN}/tcsh$(EXEEXT)
|
||||||
|
- -strip ${DESTBIN}/tcsh$(EXEEXT)
|
||||||
|
chmod 755 ${DESTBIN}/tcsh$(EXEEXT)
|
||||||
|
|
||||||
|
install.catalogs:
|
||||||
|
--- config/linux
|
||||||
|
+++ config/linux 2011-11-16 12:15:09.000000000 +0000
|
||||||
|
@@ -132,4 +132,11 @@
|
||||||
|
# define POSIX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if !defined(PW_SHADOW)
|
||||||
|
+# define PW_SHADOW
|
||||||
|
+#endif
|
||||||
|
+#if !defined(SuSE)
|
||||||
|
+# define SuSE
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#endif /* _h_config */
|
||||||
|
--- config_f.h
|
||||||
|
+++ config_f.h 2011-11-16 12:17:18.000000000 +0000
|
||||||
|
@@ -37,7 +37,7 @@
|
||||||
|
*/
|
||||||
|
#ifndef _h_config_f
|
||||||
|
#define _h_config_f
|
||||||
|
-
|
||||||
|
+#include <features.h>
|
||||||
|
/*
|
||||||
|
* SHORT_STRINGS Use at least 16 bit characters instead of 8 bit chars
|
||||||
|
* This fixes up quoting problems and eases implementation
|
||||||
|
@@ -60,7 +60,12 @@
|
||||||
|
/*
|
||||||
|
* LOGINFIRST Source ~/.login before ~/.cshrc
|
||||||
|
*/
|
||||||
|
-#undef LOGINFIRST
|
||||||
|
+#define LOGINFIRST
|
||||||
|
+
|
||||||
|
+/*
|
||||||
|
+ * USERLOGINFIRST Source ~/.login before ~/.cshrc
|
||||||
|
+ */
|
||||||
|
+#undef USERLOGINFIRST
|
||||||
|
|
||||||
|
/*
|
||||||
|
* VIDEFAULT Make the VI mode editor the default
|
||||||
|
@@ -154,7 +159,7 @@
|
||||||
|
* successful, set $REMOTEHOST to the name or address of the
|
||||||
|
* host
|
||||||
|
*/
|
||||||
|
-#define REMOTEHOST
|
||||||
|
+#undef REMOTEHOST
|
||||||
|
|
||||||
|
/*
|
||||||
|
* COLOR_LS_F Do you want to use builtin color ls-F ?
|
||||||
|
@@ -177,7 +182,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 2011-11-16 10:49:20.000000000 +0000
|
||||||
|
@@ -3794,7 +3794,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.in
|
||||||
|
+++ configure.in 2011-11-16 10:49:09.000000000 +0000
|
||||||
|
@@ -298,7 +298,7 @@ fi
|
||||||
|
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_SEARCH_LIBS(gethostbyname, nsl)
|
||||||
|
AC_SEARCH_LIBS(connect, socket)
|
||||||
|
AC_SEARCH_LIBS(catgets, catgets)
|
||||||
|
--- glob.h
|
||||||
|
+++ glob.h 2006-04-25 12:58:31.000000000 +0000
|
||||||
|
@@ -72,6 +72,7 @@ typedef struct {
|
||||||
|
#define GLOB_NOSYS (-4) /* Implementation does not support function. */
|
||||||
|
|
||||||
|
/* #if !defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE) */
|
||||||
|
+#if (!defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _BSD_SOURCE || defined _GNU_SOURCE)
|
||||||
|
#define GLOB_ALTDIRFUNC 0x0040 /* Use alternately specified directory funcs. */
|
||||||
|
#define GLOB_BRACE 0x0080 /* Expand braces ala csh. */
|
||||||
|
#define GLOB_MAGCHAR 0x0100 /* Pattern had globbing characters. */
|
||||||
|
@@ -84,7 +85,7 @@ typedef struct {
|
||||||
|
#define GLOB_DOT 0x8000 /* don't skip dotfiles (except . and ..) */
|
||||||
|
|
||||||
|
#define GLOB_ABEND GLOB_ABORTED /* source compatibility */
|
||||||
|
-/* #endif */
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
int glob (const char *, int, int (*)(const char *, int), glob_t *);
|
||||||
|
void globfree (glob_t *);
|
||||||
|
--- pathnames.h
|
||||||
|
+++ pathnames.h 2006-04-25 12:58:31.000000000 +0000
|
||||||
|
@@ -84,7 +84,7 @@
|
||||||
|
# endif /* !_PATH_DOTLOGIN */
|
||||||
|
#endif /* sgi || OREO || cray || AMIX || CDC */
|
||||||
|
|
||||||
|
-#if (defined(_CRAYCOM) || defined(Lynx)) && !defined(_PATH_TCSHELL)
|
||||||
|
+#if (defined(_CRAYCOM) || defined(Lynx) || defined(linux)) && !defined(_PATH_TCSHELL)
|
||||||
|
# define _PATH_TCSHELL "/bin/tcsh" /* 1st class shell */
|
||||||
|
#endif /* _CRAYCOM && !_PATH_TCSHELL */
|
||||||
|
|
||||||
|
--- sh.c
|
||||||
|
+++ sh.c 2010-12-10 16:10:45.000000000 +0000
|
||||||
|
@@ -1353,6 +1353,9 @@ main(int argc, char **argv)
|
||||||
|
setintr = osetintr;
|
||||||
|
parintr = oparintr;
|
||||||
|
}
|
||||||
|
+#ifndef USERLOGINFIRST
|
||||||
|
+# undef LOGINFIRST
|
||||||
|
+#endif
|
||||||
|
#ifdef LOGINFIRST
|
||||||
|
if (loginsh)
|
||||||
|
(void) srccat(varval(STRhome), STRsldotlogin);
|
||||||
|
--- tc.alloc.c
|
||||||
|
+++ tc.alloc.c 2006-04-25 12:58:31.000000000 +0000
|
||||||
|
@@ -489,7 +489,7 @@ smalloc(size_t n)
|
||||||
|
{
|
||||||
|
ptr_t ptr;
|
||||||
|
|
||||||
|
- n = n ? n : 1;
|
||||||
|
+ n = n ? n+1 : 1;
|
||||||
|
|
||||||
|
#ifdef HAVE_SBRK
|
||||||
|
if (membot == NULL)
|
||||||
|
@@ -512,7 +512,7 @@ srealloc(ptr_t p, size_t n)
|
||||||
|
{
|
||||||
|
ptr_t ptr;
|
||||||
|
|
||||||
|
- n = n ? n : 1;
|
||||||
|
+ n = n ? n+1 : 1;
|
||||||
|
|
||||||
|
#ifdef HAVE_SBRK
|
||||||
|
if (membot == NULL)
|
||||||
|
@@ -536,7 +536,7 @@ scalloc(size_t s, size_t n)
|
||||||
|
ptr_t ptr;
|
||||||
|
|
||||||
|
n *= s;
|
||||||
|
- n = n ? n : 1;
|
||||||
|
+ n = n ? n+1 : 1;
|
||||||
|
|
||||||
|
#ifdef HAVE_SBRK
|
||||||
|
if (membot == NULL)
|
||||||
|
@@ -561,8 +561,10 @@ scalloc(size_t s, size_t n)
|
||||||
|
void
|
||||||
|
sfree(ptr_t p)
|
||||||
|
{
|
||||||
|
- if (p && !dont_free)
|
||||||
|
+ if (p && !dont_free) {
|
||||||
|
free(p);
|
||||||
|
+ p = (ptr_t)NULL;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* SYSMALLOC */
|
||||||
|
--- tc.func.c
|
||||||
|
+++ tc.func.c 2007-07-13 11:15:03.000000000 +0000
|
||||||
|
@@ -689,9 +689,13 @@ auto_lock(void)
|
||||||
|
handle_pending_signals();
|
||||||
|
errno = 0;
|
||||||
|
}
|
||||||
|
- if (spw != NULL) /* shadowed passwd */
|
||||||
|
+ if (spw != NULL) /* shadowed passwd */
|
||||||
|
srpp = spw->sp_pwdp;
|
||||||
|
+ else
|
||||||
|
+ srpp = pw->pw_passwd; /* nis extended passwd? */
|
||||||
|
}
|
||||||
|
+ endspent();
|
||||||
|
+ endpwent();
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
@@ -1905,7 +1909,7 @@ getremotehost(int dest_fd)
|
||||||
|
* have not caught up yet.
|
||||||
|
*/
|
||||||
|
addr.s_addr = inet_addr(name);
|
||||||
|
- if (addr.s_addr != (unsigned int)~0)
|
||||||
|
+ if (addr.s_addr != ~0U)
|
||||||
|
host = name;
|
||||||
|
else {
|
||||||
|
if (sptr != name) {
|
||||||
|
--- tc.str.c
|
||||||
|
+++ tc.str.c 2006-04-25 12:58:31.000000000 +0000
|
||||||
|
@@ -336,7 +336,7 @@ s_strlen(const Char *str)
|
||||||
|
{
|
||||||
|
size_t n;
|
||||||
|
|
||||||
|
- for (n = 0; *str++; n++)
|
||||||
|
+ for (n = 0; str && *str; n++, str++)
|
||||||
|
continue;
|
||||||
|
return (n);
|
||||||
|
}
|
||||||
|
--- tc.who.c
|
||||||
|
+++ tc.who.c 2006-04-25 12:58:31.000000000 +0000
|
||||||
|
@@ -260,6 +260,9 @@ watch_login(int force)
|
||||||
|
}
|
||||||
|
stlast = sta.st_mtime;
|
||||||
|
#ifdef HAVE_GETUTENT
|
||||||
|
+# ifndef HAVE_UTMPX_H
|
||||||
|
+ utmpname( _PATH_UTMP );
|
||||||
|
+# endif
|
||||||
|
setutent();
|
||||||
|
#else
|
||||||
|
if ((utmpfd = xopen(TCSH_PATH_UTMP, O_RDONLY|O_LARGEFILE)) < 0) {
|
||||||
|
--- tcsh.man
|
||||||
|
+++ tcsh.man 2006-04-25 12:58:31.000000000 +0000
|
||||||
|
@@ -578,7 +578,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
|
||||||
|
-.B delete-char \fR(not bound)
|
||||||
|
+.B delete-char \fR(bound to `Del' if using the standard \fI/etc/csh.cshrc\fR)
|
||||||
|
Deletes the character under the cursor.
|
||||||
|
See also \fIdelete-char-or-list-or-eof\fR.
|
||||||
|
.TP 8
|
||||||
|
--- tw.h
|
||||||
|
+++ tw.h 2006-04-25 12:58:31.000000000 +0000
|
||||||
|
@@ -33,6 +33,10 @@
|
||||||
|
#ifndef _h_tw
|
||||||
|
#define _h_tw
|
||||||
|
|
||||||
|
+#ifndef _h_sh
|
||||||
|
+# include "sh.h"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#define TW_PATH 0x1000
|
||||||
|
#define TW_ZERO 0x0fff
|
||||||
|
|
3
tcsh-6.17.06.tar.bz2
Normal file
3
tcsh-6.17.06.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:f3b07178731ebd262a8e38165795eb997b24c39008e15227fee34e999f17e406
|
||||||
|
size 764795
|
61
tcsh.changes
61
tcsh.changes
@ -1,3 +1,64 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 17 08:44:05 UTC 2011 - werner@suse.de
|
||||||
|
|
||||||
|
- Split off tcsh-lang as its own package
|
||||||
|
- Make language catalogs work that is use tcsh instead of tcsh.cat
|
||||||
|
as this is the system default
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 16 14:21:12 UTC 2011 - werner@suse.de
|
||||||
|
|
||||||
|
- Update to tcsh minor version V6.17.06
|
||||||
|
* PR/110: Add $anyerror to select behavior. Default to the new one.
|
||||||
|
* Don't try to spell commands that are correct (Rouben Rostamian)
|
||||||
|
[./tcsh -f; set path=($path 2); mkdir foo2; cd foo2; touch foo;
|
||||||
|
chmod +x foo; set correct=cmd; ./foo -> ../foo]
|
||||||
|
* Don't push the syntax struct on the cleanup stack, because on foo;bar
|
||||||
|
if foo fails, we will free bar prematurely (Ben Miller)
|
||||||
|
* Avoid infinite loop while trying to print the pid of a dying process
|
||||||
|
to a closed file (Bob Arendt)
|
||||||
|
* Handle completion of ${ variables (Anthony Mallet)
|
||||||
|
* Add --disable-nls-catalogs (Corinna Vinschen)
|
||||||
|
* convert message catalogs to UTF-8 (Werner Fink)
|
||||||
|
* check that the NLS path works before setting $NLSPATH.
|
||||||
|
* use SYSMALLOC for GLIBC (Werner Fink)
|
||||||
|
* use mallinfo for SYSMALLOC (Corinna Vinschen)
|
||||||
|
* Use mkstemp() if there for here docs (Werner Fink)
|
||||||
|
* Fix handling of errors and exit values in builtins (Werner Fink)
|
||||||
|
* Better pty name detection (Werner Fink)
|
||||||
|
* Enable NLS catalogs on Cygwin (Corinna Vinschen)
|
||||||
|
* NLSPATH handling fixes (Corinna Vinschen)
|
||||||
|
* Avoid infrequent exit when tcsh cd's into a non-existent directory
|
||||||
|
https://bugzilla.novell.com/show_bug.cgi?id=293395 (Werner Fink)
|
||||||
|
* Don't try to spell check full path binaries that are correct because
|
||||||
|
they can cause hangs when other nfs partitions are hung. (Werner Fink)
|
||||||
|
* Avoid nested interrupts when exiting causing history writing to fail
|
||||||
|
https://bugzilla.novell.com/show_bug.cgi?id=331627 (Werner Fink)
|
||||||
|
* Instead of giving an error or ignoring lines with missing eol at eof,
|
||||||
|
process them.
|
||||||
|
* Avoid leaking fd's in mail check (Werner Fink)
|
||||||
|
* Recognize i686 (Corinna Vinschen)
|
||||||
|
* Avoid double slashes in cdpath (Corinna Vinschen)
|
||||||
|
* PR/102: Complain on input files with missing trailing \n
|
||||||
|
* PR/104: If atime == mtime we don't have new mail.
|
||||||
|
* PR/113: Don't allow illegal variable names to be set.
|
||||||
|
* PR/112: don't set $REMOTEHOST on the local machine.
|
||||||
|
* Add AUTOSET_KANJI which works around the Shift-JIS encoding that
|
||||||
|
translates unshifted 7 bit ASCII (Werner Fink)
|
||||||
|
* Handle mb{r,}towc() returning 0 by setting the return value to NUL
|
||||||
|
(Jean-Luc Leger)
|
||||||
|
* PR/109: make wait interruptible (Vojtech Vitek)
|
||||||
|
* resource limit fixes: signed vs. unsigned, megabyte issue, doc issues
|
||||||
|
(Robert Byrnes)
|
||||||
|
* Don't echo history while history -L or history -M
|
||||||
|
* Check for EOS before ** from Greg Dionne
|
||||||
|
* Don't fork in backeval from Bryan Mason
|
||||||
|
* Better globstar support from Greg Dionne
|
||||||
|
* Error out when processing the last incomplete line instead of silently
|
||||||
|
ignoring it (Anders Kaseorg)
|
||||||
|
* Fix SEGV from echo ``
|
||||||
|
* Better fixes for histchars and promptchars (nargs)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Nov 16 11:12:23 UTC 2011 - werner@suse.de
|
Wed Nov 16 11:12:23 UTC 2011 - werner@suse.de
|
||||||
|
|
||||||
|
106
tcsh.spec
106
tcsh.spec
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# spec file for package tcsh
|
# spec file for package tcsh (Version 6.17.06)
|
||||||
#
|
#
|
||||||
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
@ -24,28 +24,23 @@ Url: http://www.tcsh.org/
|
|||||||
License: BSD3c(or similar)
|
License: BSD3c(or similar)
|
||||||
Group: System/Shells
|
Group: System/Shells
|
||||||
Requires: gawk textutils
|
Requires: gawk textutils
|
||||||
|
%if %suse_version > 1020
|
||||||
|
Recommends: tcsh-lang = 6.17.06
|
||||||
|
%endif
|
||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
Version: 6.17.02
|
Version: 6.17.06
|
||||||
Release: 11
|
Release: 1
|
||||||
Summary: The C SHell
|
Summary: The C SHell
|
||||||
Source: ftp.astron.com:/pub/tcsh/tcsh-6.17.02.tar.bz2
|
Source: ftp.astron.com:/pub/tcsh/tcsh-6.17.06.tar.bz2
|
||||||
Source1: nls-iconv
|
|
||||||
Source2: bindkey.tcsh
|
Source2: bindkey.tcsh
|
||||||
Source3: complete.tcsh
|
Source3: complete.tcsh
|
||||||
Patch: tcsh-6.17.02.dif
|
Patch: tcsh-6.17.06.dif
|
||||||
Patch1: tcsh-6.17.02-spelling.dif
|
Patch1: tcsh-6.15.00-pipe.dif
|
||||||
Patch2: tcsh-6.15.00-utf8.dif
|
Patch2: tcsh-6.16.00-norm-cmd.dif
|
||||||
Patch3: tcsh-6.15.00-pipe.dif
|
Patch3: tcsh-6.15.00-blanks.dif
|
||||||
Patch4: tcsh-6.17.00-longjmp.dif
|
Patch4: tcsh-6.17.03-colorls.dif
|
||||||
Patch5: tcsh-6.16.00-norm-cmd.dif
|
Patch5: tcsh-6.17.06-dspmbyte.dif
|
||||||
Patch6: tcsh-6.17.02-history.dif
|
Patch6: tcsh-6.17.06-catalogs.dif
|
||||||
Patch7: tcsh-6.15.00-blanks.dif
|
|
||||||
Patch8: tcsh-6.15.00-fullpath.dif
|
|
||||||
Patch9: tcsh-6.17.02-multibyte.patch
|
|
||||||
Patch10: tcsh-6.17.02-colorls.dif
|
|
||||||
Patch11: tcsh-6.16.00-mailbox.dif
|
|
||||||
Patch12: tcsh-6.17.02-catalogs.patch
|
|
||||||
Patch13: tcsh-6.17.02-kanji.dif
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -62,24 +57,26 @@ Authors:
|
|||||||
Christos Zoulas <christos@deshaw.com>
|
Christos Zoulas <christos@deshaw.com>
|
||||||
Scott Krotz <krotz@mot.com>
|
Scott Krotz <krotz@mot.com>
|
||||||
|
|
||||||
|
%package -n tcsh-lang
|
||||||
|
License: BSD3c(or similar)
|
||||||
|
Summary: Languages for package tcsh
|
||||||
|
Group: System/Localization
|
||||||
|
Provides: tcsh-lang = %{version}
|
||||||
|
Requires: tcsh = %{version}
|
||||||
|
|
||||||
|
%description -n tcsh-lang
|
||||||
|
Provides translations to the package tcsh
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup
|
%setup
|
||||||
%patch1 -p0 -b .spell
|
%patch1 -p0 -b .pipe
|
||||||
%patch2 -p0 -b .utf8
|
%patch2 -p0 -b .normcmd
|
||||||
%patch3 -p0 -b .pipe
|
|
||||||
%patch4 -p0 -b .longjmp
|
|
||||||
%patch5 -p0 -b .normcmd
|
|
||||||
%patch6 -p0 -b .history
|
|
||||||
### disabled for know, should work on os11.1 without
|
### disabled for know, should work on os11.1 without
|
||||||
### %patch7 -p0 -b .blanks
|
### %patch3 -p0 -b .blanks
|
||||||
%patch8 -p0 -b .fullpath
|
%patch4 -p0 -b .colorls
|
||||||
%patch9 -p1 -b .mb
|
%patch5 -p0 -b .dspmbyte
|
||||||
%patch10 -p0 -b .colorls
|
%patch6 -p0 -b .catalogs
|
||||||
%patch11 -p0 -b .mailbox
|
%patch -b .0
|
||||||
%patch12 -p1 -b .catalog
|
|
||||||
%patch13 -p0 -b .kanji
|
|
||||||
%patch -b .0
|
|
||||||
sh $RPM_SOURCE_DIR/nls-iconv
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
CC=gcc
|
CC=gcc
|
||||||
@ -101,12 +98,10 @@ Authors:
|
|||||||
--libexecdir=/usr/%{_lib}/tcsh \
|
--libexecdir=/usr/%{_lib}/tcsh \
|
||||||
--disable-rpath \
|
--disable-rpath \
|
||||||
--with-gnu-ld
|
--with-gnu-ld
|
||||||
make
|
make GENCAT='/usr/bin/gencat --new'
|
||||||
#
|
#
|
||||||
# requires a working terminal on stdin
|
# requires a working terminal on stdin
|
||||||
# make check
|
# make check
|
||||||
rm -vf nls/*/set[0-9]*.*
|
|
||||||
make catalogs
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
@ -115,32 +110,34 @@ Authors:
|
|||||||
nls=${nls##*/}
|
nls=${nls##*/}
|
||||||
nls=${nls%%.*}
|
nls=${nls%%.*}
|
||||||
case "${nls}" in
|
case "${nls}" in
|
||||||
fi*) nls=fi ;;
|
fi*) nls=fi ;;
|
||||||
fr*) nls=fr ;;
|
fr*) nls=fr ;;
|
||||||
ge*) nls=de ;;
|
ge*) nls=de ;;
|
||||||
gr*) nls=el ;;
|
gr*) nls=el ;;
|
||||||
it*) nls=it ;;
|
it*) nls=it ;;
|
||||||
ru*) nls=ru ;;
|
ru*) nls=ru_RU ;;
|
||||||
sp*) nls=es ;;
|
sp*) nls=es ;;
|
||||||
uk*) nls=uk_UA ;;
|
uk*) nls=uk_UA ;;
|
||||||
C) continue ;;
|
C) continue ;;
|
||||||
esac
|
esac
|
||||||
dir=$RPM_BUILD_ROOT/usr/share/locale/${nls}/LC_MESSAGES
|
dir=$RPM_BUILD_ROOT/usr/share/locale/${nls}/LC_MESSAGES
|
||||||
|
test ! -e ${dir}/tcsh || continue
|
||||||
mkdir -p -m 0755 $dir
|
mkdir -p -m 0755 $dir
|
||||||
install -m 0444 ${msg} ${dir}/tcsh
|
install -m 0444 ${msg} ${dir}/tcsh
|
||||||
done
|
done
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install
|
make DESTDIR=$RPM_BUILD_ROOT GENCAT='/usr/bin/gencat --new' install
|
||||||
make DESTDIR=$RPM_BUILD_ROOT install.man
|
make DESTDIR=$RPM_BUILD_ROOT GENCAT='/usr/bin/gencat --new' install.man
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_docdir}/tcsh
|
mkdir -p $RPM_BUILD_ROOT%{_docdir}/tcsh
|
||||||
install -m 0444 FAQ $RPM_BUILD_ROOT%{_docdir}/tcsh/FAQ.tcsh
|
install -m 0444 FAQ $RPM_BUILD_ROOT%{_docdir}/tcsh/FAQ.tcsh
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/profile.d/
|
mkdir -p $RPM_BUILD_ROOT/etc/profile.d/
|
||||||
mkdir -p $RPM_BUILD_ROOT/usr/bin
|
mkdir -p $RPM_BUILD_ROOT/usr/bin
|
||||||
install -m 644 $RPM_SOURCE_DIR/bindkey.tcsh $RPM_BUILD_ROOT/etc/profile.d/
|
install -m 644 $RPM_SOURCE_DIR/bindkey.tcsh $RPM_BUILD_ROOT/etc/profile.d/
|
||||||
install -m 644 $RPM_SOURCE_DIR/complete.tcsh $RPM_BUILD_ROOT/etc/profile.d/
|
install -m 644 $RPM_SOURCE_DIR/complete.tcsh $RPM_BUILD_ROOT/etc/profile.d/
|
||||||
rm -f $RPM_BUILD_ROOT/bin/csh
|
rm -f $RPM_BUILD_ROOT/bin/csh
|
||||||
rm -f $RPM_BUILD_ROOT/usr/bin/csh
|
rm -f $RPM_BUILD_ROOT/usr/bin/csh
|
||||||
rm -f $RPM_BUILD_ROOT/usr/bin/tcsh
|
rm -f $RPM_BUILD_ROOT/usr/bin/tcsh
|
||||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/csh.*
|
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/csh.*
|
||||||
|
rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/C
|
||||||
ln -sf tcsh $RPM_BUILD_ROOT/bin/csh
|
ln -sf tcsh $RPM_BUILD_ROOT/bin/csh
|
||||||
ln -sf tcsh.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/csh.1.gz
|
ln -sf tcsh.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/csh.1.gz
|
||||||
ln -sf ../../bin/tcsh $RPM_BUILD_ROOT/usr/bin/csh
|
ln -sf ../../bin/tcsh $RPM_BUILD_ROOT/usr/bin/csh
|
||||||
@ -161,6 +158,9 @@ Authors:
|
|||||||
%doc %{_docdir}/tcsh/FAQ.tcsh
|
%doc %{_docdir}/tcsh/FAQ.tcsh
|
||||||
%doc %{_mandir}/man1/csh.1.gz
|
%doc %{_mandir}/man1/csh.1.gz
|
||||||
%doc %{_mandir}/man1/tcsh.1.gz
|
%doc %{_mandir}/man1/tcsh.1.gz
|
||||||
%{_datadir}/locale/*/LC_MESSAGES/tcsh
|
|
||||||
|
%files -n tcsh-lang
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_datadir}/locale/*/LC_MESSAGES/tcsh*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
Loading…
Reference in New Issue
Block a user