about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-10-17 04:52:56 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-10-17 04:52:56 +0000
commit6014bbdb459e30aee0f5ec4a7e0bdfb43a264adf (patch)
treed04738e985ed498621fb5f4930ffd4ce0143ee42 /Src
parentbf23cb8fe738c1fcd2c1b8a458f4316a3b782652 (diff)
downloadzsh-6014bbdb459e30aee0f5ec4a7e0bdfb43a264adf.tar.gz
zsh-6014bbdb459e30aee0f5ec4a7e0bdfb43a264adf.tar.xz
zsh-6014bbdb459e30aee0f5ec4a7e0bdfb43a264adf.zip
zsh-3.1.6-bart-7 zsh-3.1.6-bart-7
Diffstat (limited to 'Src')
-rw-r--r--Src/Modules/mathfunc.c2
-rw-r--r--Src/Zle/.distfiles1
-rw-r--r--Src/Zle/zle_tricky.c12
-rw-r--r--Src/builtin.c3
-rw-r--r--Src/init.c4
-rw-r--r--Src/main.c3
-rw-r--r--Src/options.c1
-rw-r--r--Src/zsh.h1
8 files changed, 16 insertions, 11 deletions
diff --git a/Src/Modules/mathfunc.c b/Src/Modules/mathfunc.c
index 67d5fd7d1..770894ce8 100644
--- a/Src/Modules/mathfunc.c
+++ b/Src/Modules/mathfunc.c
@@ -78,7 +78,7 @@ MF_TAN,
 MF_TANH,
 MF_Y0,
 MF_Y1,
-MF_YN
+MF_YN,
 };
 
 /*
diff --git a/Src/Zle/.distfiles b/Src/Zle/.distfiles
index add8f8466..34ae06000 100644
--- a/Src/Zle/.distfiles
+++ b/Src/Zle/.distfiles
@@ -3,6 +3,7 @@ DISTFILES_SRC='
     comp1.mdd comp.h comp1.c comp1.export
     compctl.mdd compctl.c
     complist.mdd complist.c
+    computil.mdd computil.c
     deltochar.mdd deltochar.c
     zle.mdd iwidgets.list zle.h zle_bindings.c zle_hist.c
     zle_keymap.c zle_main.c zle_misc.c zle_move.c zle_params.c
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index 70371b41c..aa7686b64 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -811,7 +811,7 @@ check_param(char *s, int set, int test)
 		*b != '=' && *b != Equals &&
 		*b != '~' && *b != Tilde)
 		break;
-	if (*b == '#' || *b == Pound || *b == '+')
+	if (*b == '#' || *b == Pound || *b == '+' || *b == ' ')
 	    b++;
 
 	e = b;
@@ -6927,14 +6927,20 @@ makecomplistflags(Compctl cc, char *s, int incmd, int compadd)
     if (cc->mask & (CC_JOBS | CC_RUNNING | CC_STOPPED)) {
 	/* Get job names. */
 	int i;
-	char *j;
+	char *j, *jj;
 
 	for (i = 0; i < MAXJOB; i++)
 	    if ((jobtab[i].stat & STAT_INUSE) &&
 		jobtab[i].procs && jobtab[i].procs->text) {
 		int stopped = jobtab[i].stat & STAT_STOPPED;
 
-		j = dupstring(jobtab[i].procs->text);
+		j = jj = dupstring(jobtab[i].procs->text);
+		/* Find the first word. */
+		for (; *jj; jj++)
+		    if (*jj == ' ') {
+			*jj = '\0';
+			break;
+		    }
 		if ((cc->mask & CC_JOBS) ||
 		    (stopped && (cc->mask & CC_STOPPED)) ||
 		    (!stopped && (cc->mask & CC_RUNNING)))
diff --git a/Src/builtin.c b/Src/builtin.c
index 088608138..a7c03acef 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -3153,8 +3153,7 @@ zexit(int val, int from_signal)
     HEAPALLOC {
 	if (isset(MONITOR) && !stopmsg && !from_signal) {
 	    scanjobs();    /* check if jobs need printing           */
-	    if (unset(SHJOBCONTROL))
-	        checkjobs();   /* check if any jobs are running/stopped */
+	    checkjobs();   /* check if any jobs are running/stopped */
 	    if (stopmsg) {
 		stopmsg = 2;
 		LASTALLOC_RETURN;
diff --git a/Src/init.c b/Src/init.c
index f0b9803e4..00ecd3ade 100644
--- a/Src/init.c
+++ b/Src/init.c
@@ -113,8 +113,8 @@ loop(int toplevel, int justonce)
 	if (!(list = parse_event())) {	/* if we couldn't parse a list */
 	    hend();
 	    if ((tok == ENDINPUT && !errflag) ||
-		(tok == LEXERR && (!isset(SHINSTDIN) || !toplevel)) ||
-		justonce)
+		(tok == LEXERR && (!noerrexit || emulation == EMULATE_KSH)
+		 && (!isset(SHINSTDIN) || !toplevel)) || justonce)
 		break;
 	    continue;
 	}
diff --git a/Src/main.c b/Src/main.c
index 762e06b90..c0999deae 100644
--- a/Src/main.c
+++ b/Src/main.c
@@ -87,7 +87,8 @@ main(int argc, char **argv)
     for (;;) {
 	do
 	    loop(1,0);
-	while (tok != ENDINPUT && (tok != LEXERR || isset(SHINSTDIN)));
+	while (tok != ENDINPUT &&
+	       (tok != LEXERR || noerrexit || isset(SHINSTDIN)));
 	if (tok == LEXERR) {
 	    stopmsg = 1;
 	    zexit(lastval, 0);
diff --git a/Src/options.c b/Src/options.c
index 35d4e779c..878ab2247 100644
--- a/Src/options.c
+++ b/Src/options.c
@@ -186,7 +186,6 @@ static struct optname optns[] = {
 {NULL, "shinstdin",	      OPT_SPECIAL,		 SHINSTDIN},
 {NULL, "shoptionletters",     OPT_EMULATE|OPT_BOURNE,	 SHOPTIONLETTERS},
 {NULL, "shortloops",	      OPT_EMULATE|OPT_NONBOURNE, SHORTLOOPS},
-{NULL, "shjobcontrol",	      OPT_EMULATE|OPT_NONZSH,	 SHJOBCONTROL},
 {NULL, "shwordsplit",	      OPT_EMULATE|OPT_BOURNE,	 SHWORDSPLIT},
 {NULL, "singlecommand",	      OPT_SPECIAL,		 SINGLECOMMAND},
 {NULL, "singlelinezle",	      OPT_KSH,			 SINGLELINEZLE},
diff --git a/Src/zsh.h b/Src/zsh.h
index db7514d77..9a5699160 100644
--- a/Src/zsh.h
+++ b/Src/zsh.h
@@ -1360,7 +1360,6 @@ enum {
     SHINSTDIN,
     SHOPTIONLETTERS,
     SHORTLOOPS,
-    SHJOBCONTROL,
     SHWORDSPLIT,
     SINGLECOMMAND,
     SINGLELINEZLE,